SpyBara
Go Premium

Documentation 2026-09-13 21:00 UTC to 2026-09-14 22:58 UTC

48 files changed +6,946 −393. 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 −3

Details

83WSL 세션이 활성화된 후 관리 설정을 확장합니다:83WSL 세션이 활성화된 후 관리 설정을 확장합니다:

84 84 

85* HKLM 레지스트리 또는 `C:\Program Files\ClaudeCode` 파일을 통해 `wslInheritsWindowsSettings: true`를 배포하여 WSL 세션이 호스트 세션과 동일한 정책을 상속하도록 합니다.85* HKLM 레지스트리 또는 `C:\Program Files\ClaudeCode` 파일을 통해 `wslInheritsWindowsSettings: true`를 배포하여 WSL 세션이 호스트 세션과 동일한 정책을 상속하도록 합니다.

86* WSL 세션 내에서 `/status`를 실행하여 확인하고 `Setting sources` 줄을 읽습니다. Claude Code는 [선택한 관리 소스](/docs/ko/server-managed-settings#settings-precedence)만 이름을 지정하므로 줄이 알려주는 내용은 세션에 따라 다릅니다:86* WSL 세션 내에서 `/status`를 실행하여 확인하고 `Setting sources` 줄을 읽습니다. 이를 해석하려면 [/status에서 소스 읽기](/docs/ko/managed-settings#read-the-source-in-/status)를 참조하세요.

87 * **[server-managed settings를 가져오고](/docs/ko/server-managed-settings#platform-availability) 모든 키를 받는 세션에서**: `Enterprise managed settings (remote)`입니다. Claude Code가 Windows 소스보다 먼저 선택하므로 줄은 플래그가 도착했는지 여부를 표시하지 않습니다.

88 * **다른 모든 세션에서**: `Enterprise managed settings (HKLM)`은 레지스트리 배포를 확인합니다. `(file)`은 Windows 파일 또는 배포판의 자체 `/etc/claude-code/managed-settings.json`을 이름 지정하므로 배포판에 자체 관리 파일이 없을 때만 Windows 파일 배포를 확인합니다.

89 87 

90WSL 2 유틸리티 VM 내부의 프로세스는 Windows 측 엔드포인트 감지 센서에 표시되지 않습니다. 배포판 내 프로세스 및 파일 활동을 관찰하려면 엔드포인트 감지 공급업체의 WSL 지침에서 배포판 내에서 실행할 수 있는 Linux 센서와 필요한 제외 사항을 확인하세요. Claude Code의 [OpenTelemetry 도구 실행 텔레메트리](/docs/ko/monitoring-usage)는 WSL 및 네이티브 세션에 대해 동일하게 내보내집니다.88WSL 2 유틸리티 VM 내부의 프로세스는 Windows 측 엔드포인트 감지 센서에 표시되지 않습니다. 배포판 내 프로세스 및 파일 활동을 관찰하려면 엔드포인트 감지 공급업체의 WSL 지침에서 배포판 내에서 실행할 수 있는 Linux 센서와 필요한 제외 사항을 확인하세요. Claude Code의 [OpenTelemetry 도구 실행 텔레메트리](/docs/ko/monitoring-usage)는 WSL 및 네이티브 세션에 대해 동일하게 내보내집니다.

91 89 

advisor.md +10 −7

Details

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

99 99 

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

101| -------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------ |101| -------------------- | ---------------------------- | ----------------------------------------------------------------------------- |

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

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

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

105| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 5와 Opus 4.6은 동등한 기능으로 평가되므로 Opus 4.6 주 모델은 Sonnet 5 조언자를 허용합니다 |105| Opus 4.6 | Fable, Opus, Sonnet 5 | Sonnet 4.6 조언자는 거부됩니다 |

106| Opus 4.7 이상 | Fable, Opus 4.7 이상 | Opus 4.7 이상의 Opus 모델은 동등한 기능으로 평가되므로 모두 다른 하나를 조언자로 허용합니다. Opus 4.6 또는 Sonnet 5 조언자를 가진 Opus 4.7 주 모델은 거부됩니다 |106| Opus 4.7 또는 Opus 4.8 | Fable, Opus 4.7 이상 | Opus 4.6 또는 Sonnet 조언자는 거부됩니다 |

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

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

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

108 110 

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

110 112 


112 114 

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

114 116 

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

116 118 

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

120* 표에서 API 오류로 실패하는 것으로 나열된 조언자의 경우, Claude Code는 이를 첨부하고 API가 이를 거부합니다. 모든 요청이 `'<advisor model>'은(는) 요청 모델이 '<main model>'일 때 조언자로 사용될 수 없습니다`로 실패하며, `/advisor`로 조언자를 변경하거나 끌 때까지 계속됩니다.

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

119 122 

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

Details

62 * `"init"`: 실행을 위한 세션 메타데이터. `SessionStart` 또는 `Setup` hook이 세션 시작 중에 실행될 때, 해당 [hook 생명주기 메시지](/docs/ko/agent-sdk/typescript#sdkhookstartedmessage)는 `init` 메시지 이전에 도착합니다62 * `"init"`: 실행을 위한 세션 메타데이터. `SessionStart` 또는 `Setup` hook이 세션 시작 중에 실행될 때, 해당 [hook 생명주기 메시지](/docs/ko/agent-sdk/typescript#sdkhookstartedmessage)는 `init` 메시지 이전에 도착합니다

63 * `"compact_boundary"`: [압축](#automatic-compaction) 후에 발생합니다63 * `"compact_boundary"`: [압축](#automatic-compaction) 후에 발생합니다

64 * `"informational"`: 루프의 일반 텍스트 상태 배너64 * `"informational"`: 루프의 일반 텍스트 상태 배너

65 * `"worker_shutting_down"`: 호스트가 종료되거나 Remote Control이 연결 해제되어 현재 턴 후에 루프가 종료됩니다65 * `"worker_shutting_down"`: 호스트가 종료되거나 Remote Control이 연결 해제됨

66 66 

67 TypeScript에서 `"init"` 이외의 각 서브타입은 `SDKSystemMessage`의 서브타입이 아니라 [`SDKMessage` 유니온](/docs/ko/agent-sdk/typescript#sdkmessage)의 자체 타입입니다.67 TypeScript에서 `"init"` 이외의 각 서브타입은 `SDKSystemMessage`의 서브타입이 아니라 [`SDKMessage` 유니온](/docs/ko/agent-sdk/typescript#sdkmessage)의 자체 타입입니다.

68* **`AssistantMessage`:** Claude의 응답에서 최종 텍스트 전용 응답을 포함하여 각 콘텐츠 블록에 대해 생성됩니다. 각각은 텍스트 또는 도구 호출과 같은 단일 콘텐츠 블록을 전달하며, 한 응답의 메시지는 메시지 ID를 공유합니다.68* **`AssistantMessage`:** Claude의 응답에서 최종 텍스트 전용 응답을 포함하여 각 콘텐츠 블록에 대해 생성됩니다. 각각은 텍스트 또는 도구 호출과 같은 단일 콘텐츠 블록을 전달하며, 한 응답의 메시지는 메시지 ID를 공유합니다.


238| `"xhigh"` | 확장된 추론 깊이 | [지원하는 모델](/docs/ko/model-config#adjust-effort-level)에서의 코딩 및 에이전트 작업 |238| `"xhigh"` | 확장된 추론 깊이 | [지원하는 모델](/docs/ko/model-config#adjust-effort-level)에서의 코딩 및 에이전트 작업 |

239| `"max"` | 최대 추론 깊이 | 깊은 분석이 필요한 다단계 문제 |239| `"max"` | 최대 추론 깊이 | 깊은 분석이 필요한 다단계 문제 |

240 240 

241`effort`를 설정하지 않으면 두 SDK 모두 매개변수를 설정하지 않은 상태로 두고 모델의 기본 동작으로 미룹니다.241`effort`를 설정하지 않으면 Claude Code는 노력 수준을 자체적으로 해결하며, [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)에서 설명하는 순서대로 진행합니다.

242 242 

243<Note>243<Note>

244 `effort`는 각 응답 내에서 추론 깊이에 대한 지연 시간과 토큰 비용을 교환합니다. [확장 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)는 출력에서 `thinking` 블록을 생성하는 별도의 기능이며, [Python](/docs/ko/agent-sdk/python#thinkingconfig) 또는 [TypeScript](/docs/ko/agent-sdk/typescript#thinkingconfig)의 `ThinkingConfig`에 있는 `display` 필드는 해당 텍스트를 받을지 여부를 제어합니다. 이들은 독립적입니다: `effort: "low"`를 확장 사고 활성화로 설정하거나, `effort: "max"`를 비활성화로 설정할 수 있습니다.244 `effort`는 각 응답 내에서 추론 깊이에 대한 지연 시간과 토큰 비용을 교환합니다. [확장 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)는 출력에서 `thinking` 블록을 생성하는 별도의 기능이며, [Python](/docs/ko/agent-sdk/python#thinkingconfig) 또는 [TypeScript](/docs/ko/agent-sdk/typescript#thinkingconfig)의 `ThinkingConfig`에 있는 `display` 필드는 해당 텍스트를 받을지 여부를 제어합니다. 이들은 독립적입니다: `effort: "low"`를 확장 사고 활성화로 설정하거나, `effort: "max"`를 비활성화로 설정할 수 있습니다.


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

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

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

360| `error_during_execution` | 오류가 루프를 중단했습니다(예: API 실패 또는 취소된 요청) | 아니오 |360| `error_during_execution` | 오류가 루프를 중단했습니다(예: 취소된 요청) | 아니오 |

361| `error_max_structured_output_retries` | 구성된 재시도 제한 내에서 유효한 구조화된 출력이 생성되지 않았습니다: 모든 시도가 검증에 실패했거나, 모델 폴백이 성공적인 재시도 없이 완료된 출력을 취소했습니다 | 아니오 |361| `error_max_structured_output_retries` | 구성된 재시도 제한 내에서 유효한 구조화된 출력이 생성되지 않았습니다: 모든 시도가 검증에 실패했거나, 모델 폴백이 성공적인 재시도 없이 완료된 출력을 취소했습니다 | 아니오 |

362 362 

363`result` 필드는 최종 텍스트 출력을 보유하며 `success` 변형에만 존재하므로 항상 읽기 전에 서브타입을 확인합니다.363`result` 필드는 최종 텍스트 출력을 보유하며 `success` 변형에만 존재하므로 항상 읽기 전에 서브타입을 확인합니다.

Details

196* **파일시스템 훅:** `settings.json`에 정의된 셸 명령, `settingSources`에 관련 소스가 포함될 때 로드됩니다. 이는 [대화형 Claude Code 세션](/docs/ko/hooks-guide)에 대해 구성하는 것과 동일한 훅입니다.196* **파일시스템 훅:** `settings.json`에 정의된 셸 명령, `settingSources`에 관련 소스가 포함될 때 로드됩니다. 이는 [대화형 Claude Code 세션](/docs/ko/hooks-guide)에 대해 구성하는 것과 동일한 훅입니다.

197* **프로그래밍 방식 훅:** `query()`에 직접 전달되는 콜백 함수입니다. 이들은 애플리케이션 프로세스에서 실행되며 구조화된 결정을 반환할 수 있습니다. [훅으로 실행 제어](/docs/ko/agent-sdk/hooks)를 참조하세요.197* **프로그래밍 방식 훅:** `query()`에 직접 전달되는 콜백 함수입니다. 이들은 애플리케이션 프로세스에서 실행되며 구조화된 결정을 반환할 수 있습니다. [훅으로 실행 제어](/docs/ko/agent-sdk/hooks)를 참조하세요.

198 198 

199두 유형 모두 동일한 훅 수명 주기 동안 실행됩니다. 프로젝트의 `.claude/settings.json`에 이미 훅이 있고 `settingSources: ["project"]`를 설정하면 추가 구성 없이 SDK에서 해당 훅이 자동으로 실행됩니다.

200 

201훅 콜백은 도구 입력을 받고 결정 딕셔너리를 반환합니다. `{}`를 반환하면 도구가 진행되도록 허용합니다. 실행을 차단하려면 `permissionDecision: "deny"`와 `permissionDecisionReason`을 포함하는 `hookSpecificOutput` 객체를 반환합니다. 이유는 도구 결과로 Claude에 전송됩니다. 전체 콜백 서명 및 반환 유형은 [훅 가이드](/docs/ko/agent-sdk/hooks)를 참조하세요.199훅 콜백은 도구 입력을 받고 결정 딕셔너리를 반환합니다. `{}`를 반환하면 도구가 진행되도록 허용합니다. 실행을 차단하려면 `permissionDecision: "deny"`와 `permissionDecisionReason`을 포함하는 `hookSpecificOutput` 객체를 반환합니다. 이유는 도구 결과로 Claude에 전송됩니다. 전체 콜백 서명 및 반환 유형은 [훅 가이드](/docs/ko/agent-sdk/hooks)를 참조하세요.

202 200 

203<CodeGroup>201<CodeGroup>

Details

589 훅에서 HTTP 요청 만들기589 훅에서 HTTP 요청 만들기

590</h3>590</h3>

591 591 

592훅은 HTTP 요청 같은 비동기 작업을 수행할 수 있습니다. 처리되지 않은 예외가 에이전트를 중단할 수 있으므로 훅 내에서 오류를 포착하고 전파하지 않습니다.592훅은 HTTP 요청 같은 비동기 작업을 수행할 수 있습니다. 훅 내에서 오류를 포착하고 전파하지 않습니다.

593 593 

594이 예제는 각 도구가 완료된 후 웹훅을 전송하여 어떤 도구가 실행되었는지와 언제 실행되었는지를 기록합니다. 훅은 실패한 웹훅이 에이전트를 중단하지 않도록 오류를 포착합니다:594이 예제는 각 도구가 완료된 후 웹훅을 전송하여 어떤 도구가 실행되었는지와 언제 실행되었는지를 기록합니다. 훅은 실패한 웹훅이 에이전트를 중단하지 않도록 오류를 포착합니다:

595 595 


627 # 이벤트 루프를 차단하지 않도록 스레드에서 차단 HTTP 호출을 실행합니다627 # 이벤트 루프를 차단하지 않도록 스레드에서 차단 HTTP 호출을 실행합니다

628 await asyncio.to_thread(_send_webhook, input_data["tool_name"])628 await asyncio.to_thread(_send_webhook, input_data["tool_name"])

629 except Exception as e:629 except Exception as e:

630 # 오류를 기록하지만 발생시키지 않습니다. 실패한 웹훅이 에이전트를 중단해서는 안 됩니다630 # 오류를 기록하지만 발생시키지 않습니다

631 print(f"Webhook request failed: {e}")631 print(f"Webhook request failed: {e}")

632 632 

633 return {}633 return {}


656 if (error instanceof Error && error.name === "AbortError") {656 if (error instanceof Error && error.name === "AbortError") {

657 console.log("Webhook request cancelled");657 console.log("Webhook request cancelled");

658 }658 }

659 // 다시 발생시키지 않습니다. 실패한 웹훅이 에이전트를 중단해서는 안 됩니다659 // 다시 발생시키지 않습니다

660 }660 }

661 661 

662 return {};662 return {};


901 901 

902서브에이전트를 생성하는 `UserPromptSubmit` 훅은 해당 서브에이전트가 동일한 훅을 트리거하면 무한 루프를 만들 수 있습니다. 이를 방지하려면:902서브에이전트를 생성하는 `UserPromptSubmit` 훅은 해당 서브에이전트가 동일한 훅을 트리거하면 무한 루프를 만들 수 있습니다. 이를 방지하려면:

903 903 

904* 훅 입력에서 서브에이전트 표시기를 확인한 후 생성합니다.

905* 공유 변수 또는 세션 상태를 사용하여 이미 서브에이전트 내부에 있는지 추적합니다.904* 공유 변수 또는 세션 상태를 사용하여 이미 서브에이전트 내부에 있는지 추적합니다.

906* 훅을 최상위 에이전트 세션에만 실행되도록 범위를 지정합니다.905* 훅을 최상위 에이전트 세션에만 실행되도록 범위를 지정합니다.

907 906 

Details

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

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

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

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

166 166 

167init 메시지가 전송되기 전에 첫 번째 턴 대기보다 별도의 이전 단계에서 시작 자체를 차단하려면:167init 메시지가 전송되기 전에 첫 번째 턴 대기보다 별도의 이전 단계에서 시작 자체를 차단하려면:

168 168 

Details

160 const options = { settings: { outputStyle: "Explanatory" } };160 const options = { settings: { outputStyle: "Explanatory" } };

161 ```161 ```

162 162 

163Python SDK는 프로그래밍 방식으로 출력 스타일을 선택하는 옵션이 없습니다. `.claude/settings.local.json`에 쓸 수 없는 코드 전용 배포의 경우, `append` 또는 사용자 정의 프롬프트 문자열을 대신 사용하십시오.163Python SDK에서는 `settings` 옵션을 통해 `outputStyle`을 설정하며, 이는 `'{"outputStyle": "Explanatory"}'`와 같은 JSON 문자열 또는 이를 설정하는 설정 파일의 경로를 사용합니다.

164 164 

165**SDK 사용자를 위한 참고:** 출력 스타일은 `settingSources: ['user']` 또는 `settingSources: ['project']`(TypeScript) / `setting_sources=["user"]` 또는 `setting_sources=["project"]`(Python)을 옵션에 포함할 때 로드됩니다.165**SDK 사용자를 위한 참고:** 출력 스타일은 `settingSources: ['user']` 또는 `settingSources: ['project']`(TypeScript) / `setting_sources=["user"]` 또는 `setting_sources=["project"]`(Python)을 옵션에 포함할 때 로드됩니다.

166 166 

Details

6 6 

7> 권한 모드, 훅, 선언적 허용/거부 규칙을 사용하여 에이전트가 도구를 사용하는 방식을 제어합니다.7> 권한 모드, 훅, 선언적 허용/거부 규칙을 사용하여 에이전트가 도구를 사용하는 방식을 제어합니다.

8 8 

9Claude Agent SDK는 Claude가 도구를 사용하는 방식을 관리하기 위한 권한 제어를 제공합니다. 권한 모드와 규칙을 사용하여 자동으로 허용되는 항목을 정의하고, [`canUseTool` 콜백](/docs/ko/agent-sdk/user-input)을 사용하여 런타임에 나머지 모든 항목을 처리합니다.9Claude Agent SDK는 Claude가 도구를 사용하는 방식을 관리하기 위한 권한 제어를 제공합니다. 권한 모드와 규칙을 사용하여 자동으로 허용되는 항목을 정의하고, [`canUseTool` 콜백](/docs/ko/agent-sdk/user-input)을 사용하여 런타임에 다른 모든 항목을 처리합니다.

10 10 

11<h2 id="how-permissions-are-evaluated">11<h2 id="how-permissions-are-evaluated">

12 권한 평가 방식12 권한이 평가되는 방식

13</h2>13</h2>

14 14 

15Claude가 도구를 요청할 때 SDK는 다음 순서로 권한을 확인합니다:15Claude가 도구를 요청할 때 SDK는 다음 순서로 권한을 확인합니다.

16 16 

17<Steps>17<Steps>

18 <Step title="훅">18 <Step title="Hooks">

19 먼저 [훅](/docs/ko/agent-sdk/hooks)을 실행합니다. 훅은 호출을 완전히 거부하거나 통과시킬 수 있습니다. `allow`를 반환하는 훅은 아래의 거부 및 요청 규칙을 건너뛰지 않습니다. 훅 결과와 관계없이 이러한 규칙들이 평가됩니다. `PreToolUse` 훅 allow는 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 또는 `rmdir` 제거를 승인할 수 없습니다.19 먼저 [hooks](/docs/ko/agent-sdk/hooks)를 실행합니다. Hook은 호출을 완전히 거부하거나 통과시킬 수 있습니다. `allow`를 반환하는 Hook은 아래의 거부 및 확인 규칙을 건너뛰지 않습니다. 이러한 규칙은 Hook 결과와 관계없이 평가됩니다. `PreToolUse` Hook allow는 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 또는 `rmdir` 제거를 승인할 수 없습니다.

20 </Step>20 </Step>

21 21 

22 <Step title="거부 규칙">22 <Step title="거부 규칙">

23 `deny` 규칙(`disallowed_tools` 및 [settings.json](/docs/ko/settings-reference#permission-settings)에서)을 확인합니다. 거부 규칙이 일치하면 `bypassPermissions` 모드에서도 도구가 차단됩니다. `Bash`와 같은 단순 이름의 거부 규칙은 이 평가가 시작되기 전에 Claude의 컨텍스트에서 도구를 제거하므로 `Bash(rm *)`와 같은 범위가 지정된 규칙만 이 단계에서 확인됩니다.23 `deny` 규칙(`disallowed_tools` 및 [settings.json](/docs/ko/settings-reference#permission-settings)에서)을 확인합니다. 거부 규칙이 일치하면 `bypassPermissions` 모드에서도 도구가 차단됩니다. `Bash`와 같은 단순 이름 거부 규칙은 이 평가가 시작되기 전에 Claude의 컨텍스트에서 도구를 제거하므로 `Bash(rm *)`과 같은 범위가 지정된 규칙만 이 단계에서 확인됩니다.

24 </Step>24 </Step>

25 25 

26 <Step title="요청 규칙">26 <Step title="확인 규칙">

27 [settings.json](/docs/ko/settings-reference#permission-settings)에서 `ask` 규칙을 확인합니다. 요청 규칙이 일치하면 `bypassPermissions` 모드에서도 호출이 확인을 위해 [`canUseTool` 콜백](/docs/ko/agent-sdk/user-input)으로 전달됩니다.27 [settings.json](/docs/ko/settings-reference#permission-settings)에서 `ask` 규칙을 확인합니다. ask 규칙이 일치하면 `bypassPermissions` 모드에서도 호출이 확인을 위해 [`canUseTool` 콜백](/docs/ko/agent-sdk/user-input)으로 전달됩니다.

28 28 

29 사용자 상호작용이 필요한 도구는 동일한 방식으로 작동합니다: `AskUserQuestion` 및 서버가 [`_meta["anthropic/requiresUserInteraction"]`](/docs/ko/mcp#require-approval-for-a-specific-tool)을 설정하는 MCP 도구는 허용 규칙이 일치하는 경우에도 항상 콜백으로 전달됩니다. `dontAsk` 모드에서는 두 경우 모두 거부됩니다. 이 모드는 절대 프롬프트를 표시하지 않기 때문입니다. MCP 주석에는 Claude Code v2.1.199 이상이 필요합니다.29 사용자 상호작용이 필요한 도구는 동일하게 작동합니다. `AskUserQuestion` 및 서버가 [`_meta["anthropic/requiresUserInteraction"]`](/docs/ko/mcp#require-approval-for-a-specific-tool)을 설정하는 MCP 도구는 allow 규칙이 일치할 때도 항상 콜백으로 전달됩니다. `dontAsk` 모드에서는 이 모드가 절대 프롬프트하지 않기 때문에 두 경우 모두 거부됩니다. MCP 주석에는 Claude Code v2.1.199 이상이 필요합니다.

30 30 

31 [claude.ai 커넥터](/docs/ko/mcp#organization-controls-on-connector-tools) 도구는 조직이 `ask`로 설정한 경우 이 단계에서 흐름을 떠납니다. 모든 호출은 `bypassPermissions` 모드에서도, 허용 규칙이 일치하는 경우에도 콜백으로 전달됩니다. 콜백은 `Your organization requires approval for this tool` 이유를 받습니다. `dontAsk` 모드에서는 호출이 거부됩니다. 이 모드는 절대 프롬프트를 표시하지 않기 때문입니다.31 조직이 `ask`로 설정한 [claude.ai connector](/docs/ko/mcp#organization-controls-on-connector-tools) 도구도 이 단계에서 흐름을 떠납니다. 모든 호출은 `bypassPermissions` 모드에서도, allow 규칙이 일치할 때도 콜백으로 전달됩니다. 콜백은 `Your organization requires approval for this tool` 이유를 받습니다. `dontAsk` 모드에서는 이 모드가 절대 프롬프트하지 않기 때문에 호출이 거부됩니다.

32 </Step>32 </Step>

33 33 

34 <Step title="권한 모드">34 <Step title="권한 모드">

35 활성 [권한 모드](#permission-modes)를 적용합니다:35 활성 [권한 모드](#permission-modes)를 적용합니다.

36 36 

37 * `bypassPermissions` 모드에서 Claude Code는 이 단계에 도달한 모든 항목을 승인합니다. 단, [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 제외되며, 이들은 대신 통과합니다.37 * `bypassPermissions` 모드에서 Claude Code는 이 단계에 도달하는 모든 것을 승인합니다. 단, [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 대신 전달됩니다.

38 * `acceptEdits` 모드에서 Claude Code는 [Accept edits 모드](#accept-edits-mode-acceptedits)에 나열된 파일 작업을 승인합니다.38 * `acceptEdits` 모드에서 Claude Code는 [Accept edits mode](#accept-edits-mode-acceptedits)에 나열된 파일 작업을 승인합니다.

39 * `plan` 모드에서 Claude Code는 허용 규칙과 관계없이 파일 편집 및 셸 쓰기 도구를 `canUseTool` 콜백으로 전송하므로 계획 중에는 쓰기 작업을 자동 승인할 수 없습니다.39 * `plan` 모드에서 Claude Code는 allow 규칙과 관계없이 파일 편집 및 셸 쓰기 도구를 `canUseTool` 콜백으로 보내므로 계획 중에 쓰기 작업을 자동 승인할 수 없습니다.

40 * 다른 모드에서는 요청이 통과합니다.40 * 다른 모드에서는 요청이 전달됩니다.

41 </Step>41 </Step>

42 42 

43 <Step title="허용 규칙">43 <Step title="허용 규칙">

44 `allow` 규칙(`allowed_tools` 및 settings.json에서)을 확인합니다. 규칙이 일치하면 도구가 승인됩니다. 도구가 자체적으로 승인하는 호출도 이 단계에서 해결됩니다. 규칙이 필요하지 않습니다: 예를 들어 작업 디렉터리 내의 파일 읽기 또는 [읽기 전용 Bash 명령](/docs/ko/permissions#read-only-commands). [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 허용 규칙으로 절대 승인되지 않습니다: 프롬프트를 표시하는 모드에서는 콜백에 도달하고, Claude Code v2.1.218 이상의 `auto` 모드에서는 [분류기](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)로 이동하며, `dontAsk` 모드에서는 거부됩니다.44 `allow` 규칙(`allowed_tools` 및 settings.json에서)을 확인합니다. 규칙이 일치하면 도구가 승인됩니다. 도구가 자체적으로 승인하는 호출도 이 단계에서 규칙 없이 해결됩니다. 예를 들어 작업 디렉토리 내의 파일 읽기 또는 [읽기 전용 Bash 명령](/docs/ko/permissions#read-only-commands)입니다. `rm` 및 `rmdir` 제거는 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 경우 allow 규칙으로 절대 승인되지 않습니다. 프롬프트하는 모드에서는 콜백에 도달하고, Claude Code v2.1.218 이상의 `auto` 모드에서는 [분류기](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)로 이동하며, `dontAsk` 모드에서는 거부됩니다.

45 </Step>45 </Step>

46 46 

47 <Step title="canUseTool 콜백">47 <Step title="canUseTool 콜백">

48 위의 어느 것으로도 해결되지 않으면 결정을 위해 [`canUseTool` 콜백](/docs/ko/agent-sdk/user-input)을 호출합니다. `dontAsk` 모드에서는 이 단계를 건너뛰고 도구가 거부됩니다.48 위의 어느 것도 해결하지 못하면 결정을 위해 [`canUseTool` 콜백](/docs/ko/agent-sdk/user-input)을 호출합니다. `dontAsk` 모드에서는 이 단계를 건너뛰고 도구가 거부됩니다.

49 49 

50 TypeScript SDK에서 [`permissionPrompts: 'none'`](/docs/ko/agent-sdk/typescript#options)을 설정하면 콜백이 이 단계에서 호출되지 않습니다. [`PermissionRequest` 훅](/docs/ko/hooks#permissionrequest)은 여전히 결정할 기회를 얻으며, 그렇지 않으면 Claude Code가 호출을 거부합니다. 이 옵션에는 Claude Code v2.1.259 이상이 필요합니다.50 TypeScript SDK에서 [`permissionPrompts: 'none'`](/docs/ko/agent-sdk/typescript#options)을 설정하면 콜백이 이 단계에서 호출되지 않습니다. [`PermissionRequest` hook](/docs/ko/hooks#permissionrequest)은 여전히 결정할 기회를 얻으며, 그렇지 않으면 Claude Code가 호출을 거부합니다. 이 옵션에는 Claude Code v2.1.259 이상이 필요합니다.

51 </Step>51 </Step>

52</Steps>52</Steps>

53 53 

54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" alt="위의 단계와 일치하는 6단계 권한 평가 흐름의 다이어그램: 도구 요청이 훅, 거부 규칙, 요청 규칙, 권한 모드, 허용 규칙 및 canUseTool을 통과합니다. 훅, 거부 규칙 및 canUseTool은 차단으로 라우팅할 수 있습니다. 권한 모드 우회, 허용 규칙 및 canUseTool은 실행으로 라우팅할 수 있습니다. 요청 규칙은 canUseTool로 라우팅합니다." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />54<img src="https://mintcdn.com/claude-code/jYgs7qigNjO1Badj/images/agent-sdk/permissions-flow.svg?fit=max&auto=format&n=jYgs7qigNjO1Badj&q=85&s=c771ad9085b1277d3708027a49c744bc" className="dark:hidden" alt="위의 단계와 일치하는 6단계 권한 평가 흐름의 다이어그램: 도구 요청이 hooks, 거부 규칙, 확인 규칙, 권한 모드, 허용 규칙 및 canUseTool을 통과합니다. Hooks, 거부 규칙 및 canUseTool은 Blocked로 라우팅할 수 있습니다. 권한 모드 bypass, 허용 규칙 및 canUseTool은 Execute로 라우팅할 수 있습니다. 확인 규칙은 canUseTool로 라우팅합니다." width="1180" height="260" data-path="images/agent-sdk/permissions-flow.svg" />

55 55 

56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" alt="위의 단계와 일치하는 6단계 권한 평가 흐름의 다이어그램: 도구 요청이 훅, 거부 규칙, 요청 규칙, 권한 모드, 허용 규칙 및 canUseTool을 통과합니다. 훅, 거부 규칙 및 canUseTool은 차단으로 라우팅할 수 있습니다. 권한 모드 우회, 허용 규칙 및 canUseTool은 실행으로 라우팅할 수 있습니다. 요청 규칙은 canUseTool로 라우팅합니다." width="1180" height="260" data-path="images/agent-sdk/permissions-flow-dark.svg" />56<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agent-sdk/permissions-flow-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=e53a91e9059cbf51852b7cedb4dd4251" className="hidden dark:block" alt="위의 단계와 일치하는 6단계 권한 평가 흐름의 다이어그램: 도구 요청이 hooks, 거부 규칙, 확인 규칙, 권한 모드, 허용 규칙 및 canUseTool을 통과합니다. Hooks, 거부 규칙 및 canUseTool은 Blocked로 라우팅할 수 있습니다. 권한 모드 bypass, 허용 규칙 및 canUseTool은 Execute로 라우팅할 수 있습니다. 확인 규칙은 canUseTool로 라우팅합니다." width="1180" height="260" data-path="images/agent-sdk/permissions-flow-dark.svg" />

57 57 

58TypeScript SDK가 평가 순서를 자동 승인하기 전에 콜백이 상담되도록 예상하는 구성에서 `canUseTool` 콜백을 전달하면 SDK는 쿼리가 구성될 때 Node.js 프로세스 경고를 한 번 발생시킵니다. 경고의 코드는 `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`입니다. 두 가지 구성이 이를 트리거합니다:58TypeScript SDK가 평가 순서를 자동 승인하도록 예상하는 구성에서 `canUseTool` 콜백을 전달하면 쿼리가 구성될 때 SDK는 Node.js 프로세스 경고를 한 번 내보냅니다. 경고의 코드는 `CLAUDE_SDK_CAN_USE_TOOL_SHADOWED`입니다. 두 가지 구성이 이를 트리거합니다.

59 59 

60* `permissionMode: 'bypassPermissions'` - 권한 모드 단계에 도달한 모든 호출을 자동 승인합니다. [어떤 모드도 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves) 제외60* `permissionMode: 'bypassPermissions'`는 [모드가 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)을 제외하고 권한 모드 단계에 도달하는 모든 호출을 자동 승인합니다.

61* `"Read"`와 같은 각 단순 `allowedTools` 항목 - 콜백이 상담되기 전에 전체 도구를 자동 승인합니다. [어떤 모드도 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves) 제외61* `"Read"`와 같은 각 단순 `allowedTools` 항목은 [모드가 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)을 제외하고 콜백이 참조되기 전에 전체 도구를 자동 승인합니다.

62 62 

63`Bash(ls *)`와 같은 지정자가 있는 항목과 `acceptEdits` 모드는 이를 트리거하지 않으며, 설정 파일에서 오는 허용 규칙은 확인에 표시되지 않습니다.63`Bash(ls *)`와 같은 지정자가 있는 항목과 `acceptEdits` 모드는 이를 트리거하지 않으며, 설정 파일에서 오는 허용 규칙은 확인에 표시되지 않습니다.

64 64 

65`process.on('warning', ...)`으로 수신하고 코드를 일치시켜 로깅하거나 억제합니다. 모드 및 규칙과 관계없이 모든 도구 호출을 제어하려면 대신 [`PreToolUse` 훅](/docs/ko/agent-sdk/hooks)을 사용합니다.65`process.on('warning', ...)`으로 수신하고 코드를 일치시켜 로깅하거나 억제합니다. 모드와 규칙과 관계없이 모든 도구 호출을 제어하려면 대신 [`PreToolUse` hook](/docs/ko/agent-sdk/hooks)을 사용합니다.

66 66 

67이 페이지는 **허용 및 거부 규칙**과 **권한 모드**에 중점을 둡니다. 다른 단계의 경우:67이 페이지는 **허용 및 거부 규칙** 및 **권한 모드**에 중점을 둡니다. 다른 단계의 경우:

68 68 

69* **훅:** 도구 요청을 허용, 거부 또는 수정하는 사용자 정의 코드를 실행합니다. [훅으로 실행 제어](/docs/ko/agent-sdk/hooks)를 참조하세요.69* **Hooks:** 도구 요청을 허용, 거부 또는 수정하는 사용자 정의 코드를 실행합니다. [Hooks로 실행 제어](/docs/ko/agent-sdk/hooks)를 참조하세요.

70* **canUseTool 콜백:** 런타임에 사용자에게 승인을 요청합니다. 이전 단계에서 호출이 해결되지 않을 때 사용합니다. [승인 및 사용자 입력 처리](/docs/ko/agent-sdk/user-input)를 참조하세요.70* **canUseTool 콜백:** 이전 단계에서 호출을 해결하지 못할 때 런타임에 사용자에게 승인을 요청합니다. [승인 및 사용자 입력 처리](/docs/ko/agent-sdk/user-input)를 참조하세요.

71 71 

72<h2 id="allow-and-deny-rules">72<h2 id="allow-and-deny-rules">

73 허용 및 거부 규칙73 허용 및 거부 규칙

74</h2>74</h2>

75 75 

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

77 77 

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

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

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

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

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

83| `disallowed_tools=["*"]` | 모든 도구 정의가 요청에서 제거됩니다. 도구 이름 글롭이 거부 규칙에서 지원됩니다. `"*"`는 모든 도구와 일치하고 `"mcp__*"`는 모든 서버의 모든 MCP 도구와 일치합니다. |83| `disallowed_tools=["*"]` | 모든 도구 정의가 요청에서 제거됩니다. 도구 이름 글롭은 거부 규칙에서 지원됩니다: `"*"`는 모든 도구와 일치하고 `"mcp__*"`는 모든 서버의 모든 MCP 도구와 일치합니다. |

84 84 

85허용 규칙은 리터럴 `mcp__<server>__` 접두사 이후에만 도구 이름 글롭을 허용합니다. 서버 세그먼트는 글롭이 없어야 하므로 규칙이 구성한 특정 서버의 이름을 지정합니다. `mcp__puppeteer__*`는 `puppeteer` 서버의 모든 도구와 일치하고 `mcp__github__get_*`는 해당 `get_` 도구와 일치합니다. `allowed_tools=["*"]` 또는 `allowed_tools=["mcp__*"]`와 같은 앵커되지 않은 항목은 시작 경고와 함께 무시되며 아무것도 자동 승인하지 않습니다.85허용 규칙은 리터럴 `mcp__<server>__` 접두사 이후에만 도구 이름 글롭을 허용합니다. 서버 세그먼트는 글롭이 없어야 하므로 규칙이 구성한 특정 서버의 이름을 지정합니다: `mcp__puppeteer__*`는 `puppeteer` 서버의 모든 도구와 일치하고, `mcp__github__get_*`는 해당 `get_` 도구와 일치합니다. `allowed_tools=["*"]` 또는 `allowed_tools=["mcp__*"]`와 같은 앵커되지 않은 항목은 시작 경고와 함께 무시되며 아무것도 자동 승인하지 않습니다.

86 86 

87`Read` 및 `Edit`에 대한 범위 규칙은 경로 패턴을 사용합니다. `Edit(path)` 규칙은 `Write` 및 `NotebookEdit`을 포함하여 파일을 쓰는 모든 기본 제공 도구를 관리합니다. `Write(path)` 규칙은 파일 권한 검사에 의해 절대 일치하지 않습니다.87`Read` 및 `Edit`에 대한 범위 지정 규칙은 경로 패턴을 사용합니다. `Edit(path)` 규칙은 `Write` 및 `NotebookEdit`을 포함하여 파일을 쓰는 모든 기본 제공 도구를 관리합니다. `Write(path)` 규칙은 파일 권한 검사에 의해 일치되지 않습니다.

88 88 

89절대 파일 시스템 경로에는 `//path`를 사용합니다. `Edit(//secrets/**)` 거부 규칙은 디스크의 `/secrets` 아래 어디든지 쓰기를 차단합니다. 단일 선행 슬래시를 사용하면 `Edit(/secrets/**)`는 규칙의 소스에서 앵커됩니다. `allowed_tools` 또는 `disallowed_tools`를 통해 전달된 규칙의 경우, 이는 세션의 작업 디렉토리를 의미하므로 규칙은 디스크의 `/secrets`를 차단하지 않습니다. [Read 및 Edit 규칙](/docs/ko/permissions#read-and-edit)에서 네 가지 앵커 형식과 설정 파일의 규칙이 어떻게 해결되는지 확인하세요.89절대 파일 시스템 경로에는 `//path`를 사용합니다: `Edit(//secrets/**)` 거부 규칙은 디스크의 `/secrets` 아래 어디든지 쓰기를 차단합니다. 단일 슬래시를 사용하면 `Edit(/secrets/**)`는 규칙의 소스에서 앵커됩니다. `allowed_tools` 또는 `disallowed_tools`를 통해 전달된 규칙의 경우, 이는 세션의 작업 디렉토리를 의미하므로 규칙은 디스크의 `/secrets`를 차단하지 않습니다. 네 가지 앵커 형식과 설정 파일의 규칙이 어떻게 해결되는지는 [Read 및 Edit 규칙](/docs/ko/permissions#read-and-edit)을 참조하십시오.

90 90 

91<Warning>91<Warning>

92 **자동 승인된 도구는 절대 `canUseTool`에 도달하지 않습니다.** `acceptEdits` 또는 `bypassPermissions`에 의해, 또는 허용 규칙에 의해 이전 단계에서 승인된 도구 호출은 `canUseTool` 콜백을 건너뛰므로 거기에 배치한 권한 검사는 해당 도구에 대해 자동으로 무시됩니다. `AskUserQuestion`, MCP 도구([`_meta["anthropic/requiresUserInteraction"]`](/docs/ko/mcp#require-approval-for-a-specific-tool)로 표시됨), 커넥터 도구([조직이 `ask`로 설정](/docs/ko/mcp#organization-controls-on-connector-tools)), 및 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 허용 규칙이 일치할 때에도 콜백에 도달합니다. `auto` 모드에서 중요 경로 제거는 콜백 대신 [분류기](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)로 이동하고, 여기에 나열된 다른 호출은 여전히 콜백에 도달합니다. 분류기 라우팅에는 Claude Code v2.1.218 이상이 필요합니다. `dontAsk` 모드에서 이러한 호출은 콜백을 호출하지 않고 대신 거부됩니다.92 **자동 승인된 도구는 `canUseTool`에 도달하지 않습니다.** `acceptEdits` 또는 `bypassPermissions`에 의해 또는 허용 규칙에 의해 이전 단계에서 승인된 도구 호출은 `canUseTool` 콜백을 건너뛰므로, 거기에 넣은 권한 검사는 해당 도구에 대해 자동으로 무시됩니다. `AskUserQuestion`, [`_meta["anthropic/requiresUserInteraction"]`](/docs/ko/mcp#require-approval-for-a-specific-tool)로 표시된 MCP 도구, 커넥터 도구 [조직이 `ask`로 설정](/docs/ko/mcp#organization-controls-on-connector-tools), 그리고 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 허용 규칙이 일치하더라도 여전히 콜백에 도달합니다. `auto` 모드에서 중요 경로 제거는 콜백 대신 [분류기](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)로 이동하고, 여기에 나열된 다른 호출은 여전히 콜백에 도달합니다. 분류기 라우팅에는 Claude Code v2.1.218 이상이 필요합니다. `dontAsk` 모드에서 이러한 호출은 콜백을 호출하지 않고 대신 거부됩니다.

93 93 

94 적용 범위는 항목의 형식에 따라 달라집니다. `Read` 또는 `mcp__github__get_issue`와 같은 단순 이름은 위의 예외를 제외하고 해당 도구에 대한 모든 호출을 자동 승인하는 반면, `Bash(npm test *)`와 같은 범위 규칙은 일치하는 호출만 자동 승인하고, 승인이 필요한 다른 `Bash` 호출은 여전히 콜백으로 통과합니다. 모든 도구 호출에서 실행되어야 하는 검사의 경우 [`PreToolUse` 훅](/docs/ko/agent-sdk/hooks)을 사용합니다. 훅은 다른 모든 단계 이전에 실행되며, 훅 거부는 `bypassPermissions` 모드에서도 적용됩니다.94 적용 범위는 항목의 형식에 따라 다릅니다: `Read` 또는 `mcp__github__get_issue`와 같은 단순 이름은 위의 예외를 제외하고 해당 도구에 대한 모든 호출을 자동 승인하고, `Bash(npm test *)`와 같은 범위 지정 규칙은 일치하는 호출만 자동 승인하며, 승인이 필요한 다른 `Bash` 호출은 여전히 콜백으로 넘어갑니다. 모든 도구 호출에서 실행되어야 하는 검사의 경우 [`PreToolUse` 훅](/docs/ko/agent-sdk/hooks)을 사용합니다: 훅은 다른 모든 단계 전에 실행되고, 훅 거부는 `bypassPermissions` 모드에서도 적용됩니다.

95</Warning>95</Warning>

96 96 

97잠금된 에이전트의 경우 `allowedTools`를 `permissionMode: "dontAsk"`와 쌍으로 사용합니다.97잠금된 에이전트의 경우 `allowedTools`를 `permissionMode: "dontAsk"`와 쌍으로 지정합니다:

98 98 

99```typescript theme={null}99```typescript theme={null}

100const options = {100const options = {


103};103};

104```104```

105 105 

106나열된 도구는 승인되며, [모든 모드가 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)을 제외하고, 프롬프트를 표시할 다른 모든 호출은 대신 거부됩니다. `default` 모드에서 승인이 필요하지 않은 호출은 나열 여부와 관계없이 실행됩니다. 예를 들어 [읽기 전용 Bash 명령](/docs/ko/permissions#read-only-commands), `Agent`와 같이 실행 전에 묻지 않는 도구, 그리고 작업 디렉토리 내의 파일 읽기가 있습니다. 도구를 Claude의 범위에서 완전히 제거하려면 `disallowedTools`에 단순 이름을 추가합니다.106나열된 도구는 [모드가 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)을 제외하고 승인되며, 프롬프트를 표시할 다른 모든 호출은 대신 거부됩니다. `default` 모드에서 승인이 필요 없는 호출은 나열 여부와 관계없이 실행됩니다. 예를 들어 [읽기 전용 Bash 명령](/docs/ko/permissions#read-only-commands), 실행 전에 묻지 않는 `Agent`와 같은 도구, 작업 디렉토리 내의 파일 읽기 등입니다. 도구를 Claude의 범위에서 완전히 제거하려면 `disallowedTools`에 단순 이름을 추가합니다.

107 107 

108<Warning>108<Warning>

109 **`allowed_tools`는 `bypassPermissions`를 제한하지 않습니다.** `allowed_tools`는 나열한 도구만 사전 승인합니다. 나열되지 않은 도구는 허용 규칙과 일치하지 않으며 권한 모드로 통과하며, 여기서 `bypassPermissions`는 이를 승인합니다. `allowed_tools=["Read"]`를 `permission_mode="bypassPermissions"`와 함께 설정하면 `Bash`, `Write`, `Edit`을 포함한 모든 도구가 여전히 승인됩니다. `bypassPermissions`가 필요하지만 특정 도구를 차단하려면 `disallowed_tools`를 사용합니다.109 **`allowed_tools`는 `bypassPermissions`를 제한하지 않습니다.** `allowed_tools`는 나열한 도구를 사전 승인합니다. 나열되지 않은 다른 도구는 허용 규칙과 일치하지 않으며 권한 모드로 넘어가고, 여기서 `bypassPermissions`는 이들을 승인합니다. `allowed_tools=["Read"]`를 `permission_mode="bypassPermissions"`와 함께 설정하면 `Bash`, `Write`, `Edit`을 포함한 모든 도구를 여전히 승인합니다. `bypassPermissions`가 필요하지만 특정 도구를 차단하려면 `disallowed_tools`를 사용합니다.

110</Warning>110</Warning>

111 111 

112`.claude/settings.json`에서 허용, 거부 및 요청 규칙을 선언적으로 구성할 수도 있습니다. 이러한 규칙은 `project` 설정 소스가 활성화될 때 읽혀지며, 기본 `query()` 옵션에 대해 활성화됩니다. `setting_sources`(TypeScript: `settingSources`)를 명시적으로 설정하면 적용되도록 `"project"`를 포함합니다. 규칙 구문은 [권한 설정](/docs/ko/settings-reference#permission-settings)을 참조하세요.112`.claude/settings.json`에서 허용, 거부 및 요청 규칙을 선언적으로 구성할 수도 있습니다. 이러한 규칙은 `project` 설정 소스가 활성화될 때 읽혀지며, 기본 `query()` 옵션에 대해 활성화됩니다. `setting_sources` (TypeScript: `settingSources`)를 명시적으로 설정하면 적용되도록 `"project"`를 포함합니다. 규칙 구문은 [권한 설정](/docs/ko/settings-reference#permission-settings)을 참조하십시오.

113 113 

114<h2 id="permission-modes">114<h2 id="permission-modes">

115 권한 모드115 권한 모드

116</h2>116</h2>

117 117 

118권한 모드는 Claude가 도구를 사용하는 방식에 대한 전역 제어를 제공합니다. `query()`를 호출할 때 권한 모드를 설정하거나 스트리밍 세션 중에 동적으로 변경할 수 있습니다.118권한 모드는 Claude가 도구를 사용하는 방식을 전역적으로 제어합니다. `query()`를 호출할 때 권한 모드를 설정하거나 스트리밍 세션 중에 동적으로 변경할 수 있습니다.

119 119 

120<h3 id="available-modes">120<h3 id="available-modes">

121 사용 가능한 모드121 사용 가능한 모드

122</h3>122</h3>

123 123 

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

125 125 

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

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

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

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

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

131| `bypassPermissions` | 권한 확인 무시 | 도구는 권한 프롬프트 없이 실행됩니다. [어떤 모드도 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)은 제외됩니다. 주의해서 사용하세요 |131| `bypassPermissions` | 권한 확인 무시 | [모드가 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)을 제외하고 도구가 권한 프롬프트 없이 실행됩니다. 주의해서 사용하세요 |

132| `plan` | 계획 모드 | Claude는 소스 파일을 편집하지 않고 탐색 및 계획합니다. 파일 편집은 자동으로 승인되지 않으며 `canUseTool` 콜백을 통해 프롬프트합니다 |132| `plan` | 계획 모드 | Claude는 소스 파일을 편집하지 않고 탐색 및 계획을 수행합니다. 파일 편집은 자동 승인되지 않으며 `canUseTool` 콜백을 통해 프롬프트됩니다 |

133| `auto` | 모델 분류 승인 | 모델 분류기가 권한 프롬프트를 승인하거나 거부합니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 가용성을 참조하세요 |133| `auto` | 모델 분류 승인 | 모델 분류기가 권한 프롬프트를 승인하거나 거부합니다. 가용성은 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)를 참조하세요 |

134 134 

135<Warning>135<Warning>

136 **하위 에이전트 상속:** 하위 에이전트는 부모 세션의 권한 모드에서 실행됩니다. 단, [`AgentDefinition`](/docs/ko/agent-sdk/typescript#agentdefinition)에서 `permissionMode`를 설정하고 부모 세션이 `default`, `dontAsk` 또는 `plan` 모드인 경우는 제외됩니다. 그러나 Claude Code는 `"bypassPermissions"` 값을 적용하지 않습니다. 하위 에이전트는 부모 세션 자체가 `bypassPermissions` 모드일 때만 `bypassPermissions` 모드에서 실행됩니다. `bypassPermissions` 예외는 Claude Code v2.1.267 이상이 필요합니다.136 **하위 에이전트 상속:** 하위 에이전트는 부모 세션의 권한 모드에서 실행됩니다. 단, [`AgentDefinition`](/docs/ko/agent-sdk/typescript#agentdefinition)에서 `permissionMode`를 설정하고 부모 세션이 `default`, `dontAsk` 또는 `plan` 모드에 있는 경우는 예외입니다. 이 경우에도 Claude Code는 `"bypassPermissions"` 값을 적용하지 않습니다. 하위 에이전트는 부모 세션 자체가 `bypassPermissions` 모드에 있을 때만 `bypassPermissions` 모드에서 실행됩니다. `bypassPermissions` 예외는 Claude Code v2.1.267 이상이 필요합니다.

137 137 

138 하위 에이전트는 주 에이전트와 다른 시스템 프롬프트와 덜 제한된 동작을 가질 수 있으므로 `bypassPermissions`를 상속하면 전체 자율 시스템 액세스 권한이 부여됩니다. [어떤 모드도 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)은 여전히 적용됩니다.138 하위 에이전트는 주 에이전트와 다른 시스템 프롬프트를 가질 수 있으며 덜 제한된 동작을 할 수 있으므로, `bypassPermissions` 상속은 전체 자율 시스템 액세스 권한을 부여합니다. [모드가 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)은 여전히 적용됩니다.

139</Warning>139</Warning>

140 140 

141<h3 id="set-permission-mode">141<h3 id="set-permission-mode">

142 권한 모드 설정142 권한 모드 설정

143</h3>143</h3>

144 144 

145권한 모드를 쿼리를 시작할 때 한 번 설정하거나 세션이 활성화된 동안 동적으로 변경할 수 있습니다.145쿼리를 시작할 때 권한 모드를 한 번 설정하거나 세션이 활성화된 동안 동적으로 변경할 수 있습니다.

146 146 

147<Tabs>147<Tabs>

148 <Tab title="쿼리 시간에">148 <Tab title="쿼리 시간에">


190 </Tab>190 </Tab>

191 191 

192 <Tab title="스트리밍 중">192 <Tab title="스트리밍 중">

193 `set_permission_mode()`(Python) 또는 `setPermissionMode()`(TypeScript)를 호출하여 세션 중간에 모드를 변경합니다. 새 모드는 모든 후속 도구 요청에 즉시 적용됩니다. 이를 통해 제한적으로 시작하여 신뢰가 구축됨에 따라 권한을 완화할 수 있습니다. 예를 들어 Claude의 초기 접근 방식을 검토한 후 `acceptEdits`로 전환할 수 있습니다.193 `set_permission_mode()`(Python) 또는 `setPermissionMode()`(TypeScript)를 호출하여 세션 중간에 모드를 변경합니다. 새 모드는 모든 후속 도구 요청에 즉시 적용됩니다. 이를 통해 제한적으로 시작하여 신뢰가 쌓임에 따라 권한을 완화할 수 있습니다. 예를 들어 Claude의 초기 접근 방식을 검토한 후 `acceptEdits`로 전환할 수 있습니다.

194 194 

195 <CodeGroup>195 <CodeGroup>

196 ```python Python theme={null}196 ```python Python theme={null}


251</h3>251</h3>

252 252 

253<h4 id="accept-edits-mode-acceptedits">253<h4 id="accept-edits-mode-acceptedits">

254 편집 수락 모드 (`acceptEdits`)254 편집 수락 모드(`acceptEdits`)

255</h4>255</h4>

256 256 

257Claude가 프롬프트 없이 코드를 편집할 수 있도록 파일 작업을 자동으로 승인합니다. 다른 도구(예: 파일 시스템 작업이 아닌 Bash 명령)는 여전히 일반 권한이 필요합니다.257파일 작업을 자동 승인하여 Claude가 프롬프트 없이 코드를 편집할 수 있도록 합니다. 다른 도구(예: 파일시스템 작업이 아닌 Bash 명령)는 여전히 일반 권한이 필요합니다.

258 258 

259**자동 승인 작업:**259**자동 승인 작업:**

260 260 

261* 파일 편집(Edit, Write 도구)261* 파일 편집(Edit, Write 도구)

262* 파일 시스템 명령: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`262* 파일시스템 명령: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`

263 263 

264둘 다 작업 디렉토리 또는 `additionalDirectories` 내의 경로에만 적용됩니다. `acceptEdits` 모드에서 Claude Code는 Claude가 다음을 수행할 때 요청을 자동 승인하지 않습니다:264둘 다 작업 디렉토리 또는 `additionalDirectories` 내의 경로에만 적용됩니다. `acceptEdits` 모드에서 Claude Code는 Claude가 다음을 수행할 때 요청을 자동 승인하지 않습니다.

265 265 

266* 해당 범위 외의 경로에서 작업266* 해당 범위 외의 경로에서 작업

267* 보호된 경로에 쓰기267* 보호된 경로에 쓰기

268* `rm` 또는 `rmdir`로 [중요 경로](/docs/ko/permission-modes#critical-paths) 제거268* `rm` 또는 `rmdir`로 [중요 경로](/docs/ko/permission-modes#critical-paths) 제거

269 269 

270**사용 시기:** Claude의 편집을 신뢰하고 프로토타이핑 중이거나 격리된 디렉토리에서 작업할 때와 같이 더 빠른 반복을 원할 때입니다.270**사용 시기:** Claude의 편집을 신뢰하고 더 빠른 반복을 원할 때(예: 프로토타이핑 중이거나 격리된 디렉토리에서 작업할 때).

271 271 

272<h4 id="don’t-ask-mode-dontask">272<h4 id="don’t-ask-mode-dontask">

273 요청 안 함 모드 (`dontAsk`)273 묻지 않기 모드(`dontAsk`)

274</h4>274</h4>

275 275 

276모든 권한 프롬프트를 거부로 변환합니다. `canUseTool`을 호출하지 않습니다. `allowed_tools`, `settings.json` 허용 규칙 또는 훅으로 사전 승인된 도구는 정상적으로 실행되며, `default` 모드에서 승인이 필요 없는 호출(예: 작업 디렉토리 내의 파일 읽기 및 `Agent` 호출)도 실행됩니다. 커넥터 도구 [조직에서 `ask`로 설정](/docs/ko/mcp#organization-controls-on-connector-tools), 사용자 상호작용이 필요한 도구, 그리고 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 허용 규칙이 일치하더라도 거부됩니다. `PreToolUse` 훅 허용도 중요 경로 제거를 해제하지 않습니다.276`canUseTool`을 호출하지 않고 모든 권한 프롬프트를 거부로 변환합니다. `allowed_tools`, `settings.json` 허용 규칙 또는 훅으로 사전 승인된 도구와 파일 읽기(작업 디렉토리 내) 및 `Agent` 호출과 같이 `default` 모드에서 승인이 필요 없는 호출은 정상적으로 실행됩니다. 조직에서 [`ask`](/docs/ko/mcp#organization-controls-on-connector-tools)로 설정한 커넥터 도구, 사용자 상호작용이 필요한 도구, 그리고 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 허용 규칙이 일치하더라도 거부됩니다. `PreToolUse` 훅 허용도 중요 경로 제거를 해제하지 않습니다.

277 277 

278**사용 시기:** 헤드리스 에이전트에 대해 고정된 명시적 도구 표면을 원하고 `canUseTool`이 없을 때의 자동 거부보다 하드 거부를 선호할 때입니다.278**사용 시기:** 헤드리스 에이전트에 대해 고정된 명시적 도구 표면을 원하고 `canUseTool`이 없는 것에 대한 자동 의존보다 명확한 거부를 선호할 때.

279 279 

280<h4 id="bypass-permissions-mode-bypasspermissions">280<h4 id="bypass-permissions-mode-bypasspermissions">

281 권한 무시 모드 (`bypassPermissions`)281 권한 무시 모드(`bypassPermissions`)

282</h4>282</h4>

283 283 

284프롬프트 없이 모든 도구 사용을 자동으로 승인합니다. 아래 경고에 나열된 경우는 제외됩니다. 훅은 여전히 실행되며 필요한 경우 작업을 차단할 수 있습니다.284아래 나열된 경우를 제외하고 프롬프트 없이 도구 사용을 자동 승인합니다. 훅은 여전히 실행되며 필요한 경우 작업을 차단할 수 있습니다.

285 285 

286<Warning>286<Warning>

287 극도의 주의를 기울여 사용하세요. Claude는 이 모드에서 전체 시스템 액세스 권한을 가집니다. 모든 가능한 작업을 신뢰하는 제어된 환경에서만 사용하세요.287 극도의 주의를 기울여 사용하세요. Claude는 이 모드에서 전체 시스템 액세스 권한을 가집니다. 모든 가능한 작업을 신뢰하는 제어된 환경에서만 사용하세요.

288 288 

289 `allowed_tools`는 이 모드를 제한하지 않습니다. 나열한 도구뿐만 아니라 모든 도구가 승인됩니다. 이러한 제어는 여전히 적용됩니다:289 `allowed_tools`는 이 모드를 제한하지 않습니다. 나열한 도구뿐만 아니라 모든 도구가 승인됩니다. 다음 제어가 여전히 적용됩니다.

290 290 

291 * 거부 규칙, 명시적 `ask` 규칙 및 훅은 모드 확인 전에 평가되며 여전히 도구를 차단할 수 있습니다.291 * 거부 규칙, 명시적 `ask` 규칙 및 훅은 모드 확인 전에 평가되며 여전히 도구를 차단할 수 있습니다.

292 * 커넥터 도구 [조직에서 `ask`로 설정](/docs/ko/mcp#organization-controls-on-connector-tools), 사용자 상호작용이 필요한 도구, 그리고 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 여전히 `canUseTool` 콜백으로 넘어갑니다.292 * 조직에서 [`ask`](/docs/ko/mcp#organization-controls-on-connector-tools)로 설정한 커넥터 도구, 사용자 상호작용이 필요한 도구, 그리고 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 여전히 `canUseTool` 콜백으로 전달됩니다.

293 * [교차 세션 메시징 보안 조치](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)는 여전히 적용됩니다.293 * [세션 간 메시징 보안 조치](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)는 여전히 적용됩니다.

294</Warning>294</Warning>

295 295 

296<h4 id="plan-mode-plan">296<h4 id="plan-mode-plan">

297 계획 모드 (`plan`)297 계획 모드(`plan`)

298</h4>298</h4>

299 299 

300Claude는 코드베이스를 탐색하고 소스 파일을 편집하지 않고 계획을 생성합니다. 읽기 전용 도구는 `default` 권한 모드처럼 실행됩니다.300Claude는 소스 파일을 편집하지 않고 코드베이스를 탐색하고 계획을 생성합니다. 읽기 전용 도구는 `default` 권한 모드에서와 같이 실행됩니다.

301 301 

302파일 편집은 계획 모드에서 자동으로 승인되지 않으며, 허용 규칙이 일치하더라도 `canUseTool` 콜백을 통해 프롬프트합니다. Claude Code v2.1.212 이상에서는 `touch` 및 `rm`과 같이 파일을 수정하는 셸 명령도 같은 방식으로 `canUseTool` 콜백에 도달합니다.302파일 편집은 허용 규칙이 일치하더라도 계획 모드에서 자동 승인되지 않습니다. 대신 `canUseTool` 콜백을 통해 프롬프트됩니다. Claude Code v2.1.212 이상에서는 `touch` 및 `rm`과 같이 파일을 수정하는 셸 명령도 동일한 방식으로 `canUseTool` 콜백에 도달합니다.

303 303 

304Claude는 계획을 최종화하기 전에 요구 사항을 명확히 하기 위해 `AskUserQuestion`을 사용할 수 있습니다. [승인 및 사용자 입력 처리](/docs/ko/agent-sdk/user-input#handle-clarifying-questions)에서 이러한 프롬프트 처리를 참조하세요.304Claude는 계획을 최종화하기 전에 요구 사항을 명확히 하기 위해 `AskUserQuestion`을 사용할 수 있습니다. 이러한 프롬프트 처리에 대해서는 [승인 및 사용자 입력 처리](/docs/ko/agent-sdk/user-input#handle-clarifying-questions)를 참조하세요.

305 305 

306**사용 시기:** Claude가 변경 사항을 실행하지 않고 제안하기를 원할 때, 예를 들어 코드 검토 중이거나 변경 사항이 적용되기 전에 승인해야 할 때입니다.306**사용 시기:** Claude가 변경 사항을 실행하지 않고 제안하기를 원할 때(예: 코드 검토 중이거나 변경 사항이 적용되기 전에 승인해야 할 때).

307 307 

308<h2 id="related-resources">308<h2 id="related-resources">

309 관련 리소스309 관련 리소스

310</h2>310</h2>

311 311 

312권한 평가 흐름의 다른 단계의 경우:312권한 평가 흐름의 다른 단계들:

313 313 

314* [승인 및 사용자 입력 처리](/docs/ko/agent-sdk/user-input): 대화형 승인 프롬프트 및 명확히 하는 질문314* [승인 및 사용자 입력 처리](/docs/ko/agent-sdk/user-input): 대화형 승인 프롬프트 및 명확히 하는 질문

315* [훅 가이드](/docs/ko/agent-sdk/hooks): 에이전트 수명 주기의 주요 지점에서 사용자 정의 코드 실행315* [Hooks 가이드](/docs/ko/agent-sdk/hooks): 에이전트 라이프사이클의 주요 지점에서 사용자 정의 코드 실행

316* [권한 규칙](/docs/ko/settings-reference#permission-settings): `settings.json`의 선언적 허용/거부 규칙316* [권한 규칙](/docs/ko/settings-reference#permission-settings): `settings.json`의 선언적 허용/거부 규칙

Details

69 69 

70플러그인 경로는 다음과 같을 수 있습니다:70플러그인 경로는 다음과 같을 수 있습니다:

71 71 

72* **상대 경로**: 현재 작업 디렉터리를 기준으로 확인됨(예: `"./plugins/my-plugin"`)72* **상대 경로**: `cwd` 옵션을 기준으로 확인됨(예: `"./plugins/my-plugin"`)

73* **절대 경로**: 전체 파일 시스템 경로(예: `"/home/user/plugins/my-plugin"`)73* **절대 경로**: 전체 파일 시스템 경로(예: `"/home/user/plugins/my-plugin"`)

74 74 

75<Note>75<Note>

Details

513 async def receive_messages(self) -> AsyncIterator[Message]513 async def receive_messages(self) -> AsyncIterator[Message]

514 async def receive_response(self) -> AsyncIterator[Message]514 async def receive_response(self) -> AsyncIterator[Message]

515 async def interrupt(self) -> None515 async def interrupt(self) -> None

516 async def set_permission_mode(self, mode: str) -> None516 async def set_permission_mode(self, mode: PermissionMode) -> None

517 async def set_model(self, model: str | None = None) -> None517 async def set_model(self, model: str | None = None) -> None

518 async def rewind_files(self, user_message_id: str) -> None518 async def rewind_files(self, user_message_id: str) -> None

519 async def get_mcp_status(self) -> McpStatusResponse519 async def get_mcp_status(self) -> McpStatusResponse


543| `reconnect_mcp_server(server_name)` | 실패했거나 연결이 끊긴 MCP 서버에 다시 연결 시도 |543| `reconnect_mcp_server(server_name)` | 실패했거나 연결이 끊긴 MCP 서버에 다시 연결 시도 |

544| `toggle_mcp_server(server_name, enabled)` | 세션 중간에 MCP 서버 활성화 또는 비활성화. 비활성화하면 도구 제거 |544| `toggle_mcp_server(server_name, enabled)` | 세션 중간에 MCP 서버 활성화 또는 비활성화. 비활성화하면 도구 제거 |

545| `stop_task(task_id)` | 실행 중인 백그라운드 작업 중지. 상태 `"stopped"`인 [`TaskNotificationMessage`](#tasknotificationmessage)가 메시지 스트림에서 따릅니다 |545| `stop_task(task_id)` | 실행 중인 백그라운드 작업 중지. 상태 `"stopped"`인 [`TaskNotificationMessage`](#tasknotificationmessage)가 메시지 스트림에서 따릅니다 |

546| `get_server_info()` | 세션 ID 및 기능을 포함한 서버 정보 가져오기 |546| `get_server_info()` | 사용 가능한 명령 및 출력 스타일을 포함한 서버의 초기화 정보 가져오기 |

547| `disconnect()` | Claude에서 연결 해제 |547| `disconnect()` | Claude에서 연결 해제 |

548 548 

549<h4 id="context-manager-support">549<h4 id="context-manager-support">


2006모든 콘텐츠 블록의 합집합 타입입니다.2006모든 콘텐츠 블록의 합집합 타입입니다.

2007 2007 

2008```python theme={null}2008```python theme={null}

2009ContentBlock = TextBlock | ThinkingBlock | ToolUseBlock | ToolResultBlock2009ContentBlock = (

2010 TextBlock

2011 | ThinkingBlock

2012 | ToolUseBlock

2013 | ToolResultBlock

2014 | ServerToolUseBlock

2015 | ServerToolResultBlock

2016)

2010```2017```

2011 2018 

2012<h3 id="textblock">2019<h3 id="textblock">


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

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

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

3680| `allowUnixSockets` | `list[str]` | `[]` | 프로세스가 접근할 수 있는 Unix 소켓 경로 (예: Docker 소켓) |3687| `allowUnixSockets` | `list[str]` | `[]` | macOS만 해당: 프로세스가 접근할 수 있는 Unix 소켓 경로 (예: Docker 소켓). Linux에서는 무시됩니다 |

3681| `allowAllUnixSockets` | `bool` | `False` | 모든 Unix 소켓에 대한 접근 허용 |3688| `allowAllUnixSockets` | `bool` | `False` | 모든 Unix 소켓에 대한 접근 허용 |

3682| `allowLocalBinding` | `bool` | `False` | 프로세스가 로컬 포트에 바인딩하도록 허용 (예: 개발 서버용) |3689| `allowLocalBinding` | `bool` | `False` | 프로세스가 로컬 포트에 바인딩하도록 허용 (예: 개발 서버용) |

3683| `allowMachLookup` | `list[str]` | `[]` | macOS만 해당: 허용할 XPC/Mach 서비스 이름입니다. 후행 와일드카드를 지원합니다 |3690| `allowMachLookup` | `list[str]` | `[]` | macOS만 해당: 허용할 XPC/Mach 서비스 이름입니다. 후행 와일드카드를 지원합니다 |

Details

173Available commands: ["clear", "compact", "context", "usage", "code-review", "verify", "security-check", ...]173Available commands: ["clear", "compact", "context", "usage", "code-review", "verify", "security-check", ...]

174```174```

175 175 

176사용자 호출 가능 Skills는 이 목록과 [Skills 로드 확인하기](#confirm-skills-loaded)의 `skills` 배열에 모두 나타납니다. `slash_commands` 목록은 세션에서 사용 가능한 나머지 명령을 추가합니다. frontmatter에 [`user-invocable: false`](/docs/ko/skills#control-who-invokes-a-skill)가 있는 Skill은 둘 다에 나타나지 않습니다. [MCP 서버](/docs/ko/agent-sdk/mcp)를 구성하는 세션은 또한 [MCP 프롬프트를 명령으로 노출](/docs/ko/mcp#use-mcp-prompts-as-commands)할 수 있습니다.176frontmatter에 [`user-invocable: false`](/docs/ko/skills#control-who-invokes-a-skill)가 있는 Skill은 이 목록이나 [Skills 로드 확인하기](#confirm-skills-loaded)의 `skills` 배열에 나타나지 않습니다. [MCP 서버](/docs/ko/agent-sdk/mcp)를 구성하는 세션은 또한 [MCP 프롬프트를 명령으로 노출](/docs/ko/mcp#use-mcp-prompts-as-commands)할 수 있습니다.

177 177 

178<h3 id="dispatch-commands-by-name">178<h3 id="dispatch-commands-by-name">

179 이름으로 명령 전달하기179 이름으로 명령 전달하기

Details

79 79 

80부분 메시지가 활성화되면 객체로 래핑된 원본 Claude API 스트리밍 이벤트를 받습니다. 유형은 각 SDK에서 다른 이름을 가집니다:80부분 메시지가 활성화되면 객체로 래핑된 원본 Claude API 스트리밍 이벤트를 받습니다. 유형은 각 SDK에서 다른 이름을 가집니다:

81 81 

82* **Python**: `StreamEvent` (`claude_agent_sdk.types`에서 가져오기)82* **Python**: [`StreamEvent`](/docs/ko/agent-sdk/python#streamevent) (`claude_agent_sdk.types`에서 가져오기)

83* **TypeScript**: `type: 'stream_event'`를 가진 `SDKPartialAssistantMessage`83* **TypeScript**: [`SDKPartialAssistantMessage`](/docs/ko/agent-sdk/typescript#sdkpartialassistantmessage) (`type: 'stream_event'` 포함)

84 84 

85둘 다 누적된 텍스트가 아닌 원본 Claude API 이벤트를 포함합니다. 텍스트 델타를 직접 추출하고 누적해야 합니다. 각 유형의 구조는 다음과 같습니다:85둘 다 누적된 텍스트가 아닌 원본 Claude API 이벤트를 포함합니다. 텍스트 델타를 직접 추출하고 누적해야 합니다.

86 

87<CodeGroup>

88 ```python Python theme={null}

89 @dataclass

90 class StreamEvent:

91 uuid: str # Unique identifier for this event

92 session_id: str # Session identifier

93 event: dict[str, Any] # The raw Claude API stream event

94 parent_tool_use_id: str | None # Always None

95 ```

96 

97 ```typescript TypeScript theme={null}

98 type SDKPartialAssistantMessage = {

99 type: "stream_event";

100 event: BetaRawMessageStreamEvent; // From Anthropic SDK

101 parent_tool_use_id: string | null;

102 uuid: UUID;

103 session_id: string;

104 ttft_ms?: number; // Time to first token in ms, present only on message_start events

105 user_message_uuid?: string;

106 };

107 ```

108</CodeGroup>

109 86 

110`parent_tool_use_id` 필드는 Python에서는 항상 `None`이고 TypeScript에서는 `null`입니다. 스트림 이벤트는 주 세션에서만 발생합니다. 서브에이전트의 토큰 수준 델타는 전달되지 않습니다. 출력을 서브에이전트에 귀속시키려면 `parent_tool_use_id`를 포함하는 완전한 메시지를 사용하십시오. [서브에이전트 호출 감지](/docs/ko/agent-sdk/subagents#detect-subagent-invocation)를 참조하십시오.87`parent_tool_use_id` 필드는 Python에서는 항상 `None`이고 TypeScript에서는 `null`입니다. 스트림 이벤트는 주 세션에서만 발생합니다. 서브에이전트의 토큰 수준 델타는 전달되지 않습니다. 출력을 서브에이전트에 귀속시키려면 `parent_tool_use_id`를 포함하는 완전한 메시지를 사용하십시오. [서브에이전트 호출 감지](/docs/ko/agent-sdk/subagents#detect-subagent-invocation)를 참조하십시오.

111 88 

Details

12 12 

13명확화 질문의 경우 Claude가 질문과 옵션을 생성합니다. 사용자의 역할은 이를 사용자에게 제시하고 선택 사항을 반환하는 것입니다. 이 흐름에 자신의 질문을 추가할 수 없습니다. 사용자에게 직접 물어봐야 할 사항이 있으면 애플리케이션 로직에서 별도로 수행하십시오.13명확화 질문의 경우 Claude가 질문과 옵션을 생성합니다. 사용자의 역할은 이를 사용자에게 제시하고 선택 사항을 반환하는 것입니다. 이 흐름에 자신의 질문을 추가할 수 없습니다. 사용자에게 직접 물어봐야 할 사항이 있으면 애플리케이션 로직에서 별도로 수행하십시오.

14 14 

15콜백은 무기한 대기 상태로 유지될 수 있습니다. 콜백이 반환될 때까지 실행이 일시 중지되며, SDK는 쿼리 자체가 취소될 때만 대기를 취소합니다. 사용자가 프로세스가 합리적으로 실행 상태를 유지할 수 있는 것보다 더 오래 응답하는 데 시간이 걸릴 수 있다면, [`PreToolUse` 훅](/docs/ko/agent-sdk/hooks)을 등록하여 [`defer` 결정](/docs/ko/hooks#defer-a-tool-call-for-later)을 반환하십시오. 이를 통해 프로세스를 종료하고 나중에 지속된 세션에서 재개할 수 있습니다.15콜백은 무기한 대기 상태로 유지될 수 있습니다. 콜백이 반환될 때까지 실행이 일시 중지됩니다. 사용자가 프로세스가 합리적으로 실행 상태를 유지할 수 있는 것보다 더 오래 응답하는 데 시간이 걸릴 수 있다면, [`PreToolUse` 훅](/docs/ko/agent-sdk/hooks)을 등록하여 [`defer` 결정](/docs/ko/hooks#defer-a-tool-call-for-later)을 반환하십시오. 이를 통해 프로세스를 종료하고 나중에 지속된 세션에서 재개할 수 있습니다.

16 16 

17이 가이드는 각 유형의 요청을 감지하고 적절하게 응답하는 방법을 보여줍니다.17이 가이드는 각 유형의 요청을 감지하고 적절하게 응답하는 방법을 보여줍니다.

18 18 


204 ```204 ```

205</CodeGroup>205</CodeGroup>

206 206 

207<Note>

208 Python에서 `can_use_tool`은 [스트리밍 모드](/docs/ko/agent-sdk/streaming-vs-single-mode)가 필요합니다. `query(prompt=generator)` 또는 `ClaudeSDKClient.connect(prompt=async_iterable)`을 통해 유한한 메시지 스트림을 전달하면, 등록된 훅이나 프로세스 내 MCP 서버가 스트림을 열어 두지 않는 한 권한 콜백이 호출되기 전에 SDK가 입력 스트림을 닫습니다. 위의 예제는 `{"continue_": True}`를 반환하는 `PreToolUse` 훅으로 스트림을 열어 둡니다. 프롬프트 없이 연결하고 `ClaudeSDKClient.query()`를 통해 메시지를 보내면 스트림이 자동으로 열려 있으며 훅이 필요하지 않습니다.

209</Note>

210 

211이 예제는 `y` 이외의 모든 입력이 거부로 처리되는 y/n 흐름을 사용합니다. 실제로는 사용자가 요청을 수정하거나, 피드백을 제공하거나, Claude를 완전히 리디렉션할 수 있는 더 풍부한 UI를 구축할 수 있습니다. 응답할 수 있는 모든 방법은 [도구 요청에 응답](#respond-to-tool-requests)을 참조하십시오.207이 예제는 `y` 이외의 모든 입력이 거부로 처리되는 y/n 흐름을 사용합니다. 실제로는 사용자가 요청을 수정하거나, 피드백을 제공하거나, Claude를 완전히 리디렉션할 수 있는 더 풍부한 UI를 구축할 수 있습니다. 응답할 수 있는 모든 방법은 [도구 요청에 응답](#respond-to-tool-requests)을 참조하십시오.

212 208 

213<h3 id="respond-to-tool-requests">209<h3 id="respond-to-tool-requests">

Details

239 239 

240`aws configure export-credentials --format process`의 평면 출력도 허용되며, `Credentials` 아래에 중첩되지 않고 최상위 수준에 동일한 키가 있습니다.240`aws configure export-credentials --format process`의 평면 출력도 허용되며, `Credentials` 아래에 중첩되지 않고 최상위 수준에 동일한 키가 있습니다.

241 241 

242`Expiration`은 선택 사항입니다. Claude Code v2.1.176부터 명령이 유효한 ISO 8601 `Expiration`을 반환하면 Claude Code는 해당 시간 5분 전까지 자격 증명을 캐시합니다. 없거나 이전 버전에서는 자격 증명이 1시간 동안 캐시됩니다.242`Expiration`은 선택 사항입니다. 명령이 유효한 ISO 8601 `Expiration`을 반환하면 Claude Code는 해당 시간 5분 전까지 자격 증명을 캐시합니다. 없으면 자격 증명이 1시간 동안 캐시됩니다.

243 243 

244`awsCredentialExport`를 `awsAuthRefresh` 없이 구성하면 Claude Code는 내보낸 자격 증명을 직접 사용하고 시작 시 AWS 기본 자격 증명 공급자 체인을 다시 해결하지 않습니다. Claude Code v2.1.206 이상이 필요합니다.244`awsCredentialExport`를 `awsAuthRefresh` 없이 구성하면 Claude Code는 내보낸 자격 증명을 직접 사용하고 시작 시 AWS 기본 자격 증명 공급자 체인을 다시 해결하지 않습니다. Claude Code v2.1.206 이상이 필요합니다.

245 245 

Details

170* **`claude setup-token` 및 `/install-github-app`**: `forceLoginMethod`만 강제하므로 다른 조직에서 토큰을 발급할 수 있습니다170* **`claude setup-token` 및 `/install-github-app`**: `forceLoginMethod`만 강제하므로 다른 조직에서 토큰을 발급할 수 있습니다

171* **[게이트웨이](/docs/ko/claude-apps-gateway) 로그인**: `forceLoginMethod: "gateway"`로 선택되며 제한되지 않으며 Anthropic 조직에 대해 인증하지 않으므로 `forceLoginOrgUUID`가 적용되지 않습니다. 게이트웨이 ID 제공자를 사용하여 액세스를 제한합니다171* **[게이트웨이](/docs/ko/claude-apps-gateway) 로그인**: `forceLoginMethod: "gateway"`로 선택되며 제한되지 않으며 Anthropic 조직에 대해 인증하지 않으므로 `forceLoginOrgUUID`가 적용되지 않습니다. 게이트웨이 ID 제공자를 사용하여 액세스를 제한합니다

172 172 

173장치 관리 도구를 통해 키를 배포합니다. [서버 관리 설정](/docs/ko/server-managed-settings)은 이미 조직에 인증된 계정에만 도달하므로 개발자의 첫 로그인을 리디렉션할 수 없습니다. 조직에서 서버 관리 설정도 배포하는 경우 두 위치에 키를 설정합니다: 관리형 설정 소스는 [병합되지 않으며](/docs/ko/server-managed-settings#settings-precedence) 캐시된 서버 관리 설정은 장치 관리 파일을 바꾸며, 손실된 소스에서 여전히 채우는 두 종류의 키를 제외합니다:173장치 관리 도구를 통해 키를 배포합니다. [서버 관리 설정](/docs/ko/server-managed-settings)은 이미 조직에 인증된 계정에만 도달하므로 개발자의 첫 로그인을 리디렉션할 수 없습니다. 조직에서 서버 관리 설정도 배포하는 경우 두 위치에 키를 설정합니다: 관리형 설정 소스는 [병합되지 않으며](/docs/ko/server-managed-settings#settings-precedence) 캐시된 서버 관리 설정은 장치 관리 파일을 바꾸며, 몇 가지 [키별 예외](/docs/ko/server-managed-settings#per-key-exceptions-across-managed-sources)를 제외합니다. `forceLoginOrgUUID`와 `forceLoginMethod`의 `"claudeai"` 및 `"console"` 값은 이러한 예외 중 하나가 아니므로 두 위치에 유지합니다.

174 

175* **`env` 블록**: Claude Code v2.1.223 이상에서 [키별로 병합](/docs/ko/server-managed-settings#per-key-exceptions-across-managed-sources)

176* **[교차 소스 잠금 키](/docs/ko/server-managed-settings#per-key-exceptions-across-managed-sources)**: 모든 관리 소스에서 인정됨

177 

178`forceLoginMethod`와 `forceLoginOrgUUID`는 둘 다 아니므로 두 위치에 유지합니다.

179 174 

180키는 또한 로그인 자격증명을 사용하지 않는 세션이 시작될 수 있는지 여부를 결정합니다. 설정 참조에서 [`forceLoginOrgUUID`](/docs/ko/settings-reference#forceloginorguuid)의 전체 동작을 참조하세요.175키는 또한 로그인 자격증명을 사용하지 않는 세션이 시작될 수 있는지 여부를 결정합니다. 설정 참조에서 [`forceLoginOrgUUID`](/docs/ko/settings-reference#forceloginorguuid)의 전체 동작을 참조하세요.

181 176 

Details

568claude -p "<your prompt>" --output-format json | your_command568claude -p "<your prompt>" --output-format json | your_command

569```569```

570 570 

571개발 중에 디버깅을 위해 `--verbose`를 사용하고 프로덕션에서는 끄십시오.

572 

573<h3 id="run-autonomously-with-auto-mode">571<h3 id="run-autonomously-with-auto-mode">

574 auto mode로 자율적으로 실행하기572 auto mode로 자율적으로 실행하기

575</h3>573</h3>

Details

87 `--cloud`는 클라우드 세션을 생성합니다. `--remote-control`은 관련이 없습니다: 로컬 CLI 세션을 노출하여 웹에서 모니터링할 수 있습니다. [Remote Control](/docs/ko/remote-control)을 참조하세요.87 `--cloud`는 클라우드 세션을 생성합니다. `--remote-control`은 관련이 없습니다: 로컬 CLI 세션을 노출하여 웹에서 모니터링할 수 있습니다. [Remote Control](/docs/ko/remote-control)을 참조하세요.

88</Note>88</Note>

89 89 

90Claude Code CLI에서 `/tasks`를 사용하여 진행 상황을 확인하거나 claude.ai 또는 Claude 모바일 앱에서 세션을 열어 직접 상호 작용하세요. 여기서 Claude를 조종하고, 피드백을 제공하거나, 다른 대화처럼 질문에 답변할 수 있습니다.90claude.ai 또는 Claude 모바일 앱에서 세션을 열어 진행 상황을 확인하거나 직접 상호 작용하세요. 여기서 Claude를 조종하고, 피드백을 제공하거나, 다른 대화처럼 질문에 답변할 수 있습니다.

91 91 

92Claude가 질문을 하고 세션이 유휴 상태로 있으면 [환경 만료](#environment-expired)까지 돌아올 때 답변할 수 있으며, 세션이 답변에서 계속됩니다.92Claude가 질문을 하고 세션이 유휴 상태로 있으면 [환경 만료](#environment-expired)까지 돌아올 때 답변할 수 있으며, 세션이 답변에서 계속됩니다.

93 93 


115claude --cloud "Refactor the logger to use structured output"115claude --cloud "Refactor the logger to use structured output"

116```116```

117 117 

118Claude Code CLI에서 `/tasks`로 모든 세션을 모니터링하세요. 세션이 완료되면 웹 인터페이스에서 PR을 생성하거나 [세션을 텔레포트](#from-web-to-terminal)하여 터미널에서 계속 작업할 수 있습니다.118세션이 완료되면 웹 인터페이스에서 PR을 생성하거나 [세션을 텔레포트](#from-web-to-terminal)하여 터미널에서 계속 작업할 수 있습니다.

119 119 

120<h4 id="send-local-repositories-without-github">120<h4 id="send-local-repositories-without-github">

121 GitHub 없이 로컬 저장소 보내기121 GitHub 없이 로컬 저장소 보내기

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| 설치된 플러그인 | `~/.claude/plugins` | 복제된 마켓플레이스, 설치된 플러그인 버전, 플러그인별 데이터로, `claude plugin` 명령으로 관리됩니다. 마켓플레이스 [`command` 소스](/docs/ko/plugin-marketplaces#command-sources)에서 링크 모드로 설치된 플러그인의 경우, Claude Code는 복사본 대신 여기에 링크를 저장하고, 플러그인의 파일은 명령이 출력하는 디렉터리에 남아 있습니다. 고아 버전이 정리되는 방식은 [플러그인 캐싱](/docs/ko/plugins-reference#plugin-caching-and-file-resolution)을 참조하세요. |1457| 설치된 플러그인 | `~/.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)을 참조하세요. |

1458 1458 

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

1460 1460 


1524 애플리케이션 데이터1524 애플리케이션 데이터

1525</h2>1525</h2>

1526 1526 

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

1528 1528 

1529<h3 id="cleaned-up-automatically">1529<h3 id="cleaned-up-automatically">

1530 자동으로 정리됨1530 자동으로 정리됨

1531</h3>1531</h3>

1532 1532 

1533Claude Code는 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)보다 오래된 아래 경로의 파일을 삭제합니다. 보유 기간을 안전하게 결정할 수 있는 한 말입니다. 기본값은 30일이고 최소값은 1입니다. `0`으로 설정하면 유효성 검사 오류가 발생합니다. 동일한 나이 기준이 [고아 worktrees](/docs/ko/worktrees#clean-up-subagent-and-background-session-worktrees)의 자동 제거에 적용됩니다.1533Claude Code는 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)보다 오래된 아래 경로의 파일을 삭제합니다. 보존 기간을 안전하게 결정할 수 있는 경우에만 삭제됩니다. 기본값은 30일이고 최소값은 1입니다. `0`으로 설정하면 유효성 검사 오류가 발생합니다. 동일한 나이 기준이 [고아 워크트리의 자동 제거](/docs/ko/worktrees#clean-up-subagent-and-background-session-worktrees)에도 적용됩니다.

1534 1534 

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

1536| ------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1536| ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

1538| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Claude Code가 덮어쓰거나 삭제하는 대신 따로 보관한 세션의 이전 트랜스크립트입니다. 세션 선택기에 나타나지 않습니다. |1538| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Claude Code가 덮어쓰거나 삭제하는 대신 따로 보관한 세션의 이전 트랜스크립트. 세션 선택기에 나타나지 않습니다 |

1539| `projects/<project>/<session>/subagents/` | [Subagent](/docs/ko/sub-agents) 대화 트랜스크립트로, 상위 세션 트랜스크립트가 만료될 때 함께 제거됨 |1539| `projects/<project>/<session>/subagents/` | [서브에이전트](/docs/ko/sub-agents) 대화 트랜스크립트. 부모 세션 트랜스크립트가 만료될 때 함께 제거됩니다 |

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

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

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

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

1544| `paste-cache/` | 대형 붙여넣기의 내용 |1544| `paste-cache/` | 대용량 붙여넣기의 내용 |

1545| `image-cache/<session>/` | 첨부된 이미지입니다. 각 스윕에서 Claude Code는 나이에 관계없이 다른 모든 세션의 디렉토리를 제거합니다. |1545| `image-cache/<session>/` | 첨부된 이미지. 각 스윕에서 Claude Code는 나이에 관계없이 다른 모든 세션의 디렉토리를 제거합니다 |

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

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

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

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

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

1551| `feedback-bundles/` | 제3자 공급자에서 `/feedback`으로 작성되거나 Anthropic 자격 증명이 구성되지 않은 경우 작성된 수정된 트랜스크립트 아카이브로, Anthropic 계정 팀에 전송하기 위함 |1551| `feedback-bundles/` | `/feedback`에 의해 작성된 수정된 트랜스크립트 아카이브. 타사 제공자에게 보내거나 Anthropic 자격 증명이 구성되지 않은 경우 Anthropic 계정 팀에 보내기 위해 |

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

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

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

1555 1555 

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

1557 1557 

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

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

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

1561 1561 

1562Claude Code는 다음 경우에 스윕을 완전히 건너뜁니다:1562Claude Code는 다음의 경우에 나이 기반 스윕을 건너뜁니다:

1563 1563 

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

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

1566 1566 

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

1568 삭제할 때까지 유지됨1568 삭제할 때까지 유지됨

1569</h3>1569</h3>

1570 1570 

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

1572 1572 

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

1574| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1574| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

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

1577| `remote-settings.json` | 조직의 [server-managed settings](/docs/ko/server-managed-settings)의 캐시된 복사본이거나, 조직이 아무것도 설정하지 않은 경우 `{}`입니다. 세션이 [fetches them](/docs/ko/server-managed-settings#platform-availability)할 때만 존재합니다. Claude Code는 시작 시 및 세션 중 매시간 업데이트를 확인합니다. 로그아웃할 때 삭제됩니다. |1577| `remote-settings.json` | [서버 관리 설정](/docs/ko/server-managed-settings)의 캐시된 복사본. 조직의 경우 또는 조직이 구성하지 않은 경우 `{}`. 세션이 [이를 가져올](/docs/ko/server-managed-settings#platform-availability) 때만 표시됩니다. Claude Code는 시작 시 및 세션 중 매시간 업데이트를 확인합니다. Claude Code는 로그아웃할 때 삭제합니다 |

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

1579| `policy-limits.json` | 조직의 캐시된 기능 정책 설정입니다. 일부 계정 유형에만 존재합니다. 자동으로 새로고침됩니다. 로그아웃할 때 삭제됩니다. |1579| `policy-limits.json` | 조직의 캐시된 기능 정책 설정. 일부 계정 유형에만 표시됩니다. 자동으로 새로 고쳐집니다. Claude Code는 로그아웃할 때 삭제합니다 |

1580 1580 

1581<span id="state-files-to-keep" />1581<span id="state-files-to-keep" />

1582 1582 

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

1584 1584 

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

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

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

1588 1588 

1589<h3 id="plaintext-storage">1589<h3 id="plaintext-storage">

1590 일반 텍스트 저장소1590 일반 텍스트 저장소

1591</h3>1591</h3>

1592 1592 

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

1594 1594 

1595* `cleanupPeriodDays`를 낮춰 트랜스크립트를 유지하는 기간을 단축합니다.1595* `cleanupPeriodDays`를 낮춰 Claude Code가 트랜스크립트를 유지하는 기간을 단축합니다

1596* [`desktopSessionCleanupPeriodDays`](/docs/ko/settings-reference#desktopsessioncleanupperioddays)를 설정하여 Claude Desktop 및 Cowork 트랜스크립트에 나이 제한을 부여합니다.1596* [`desktopSessionCleanupPeriodDays`](/docs/ko/settings-reference#desktopsessioncleanupperioddays)를 설정하여 Claude Desktop 및 Cowork 트랜스크립트에도 나이 제한을 부여합니다

1597* [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/ko/env-vars) 환경 변수를 설정하여 모든 모드에서 트랜스크립트 및 프롬프트 기록 작성을 건너뜁니다. 비대화형 모드에서는 대신 `-p`와 함께 `--no-session-persistence`를 전달하거나 TypeScript Agent SDK에서 `persistSession: false`를 설정할 수 있습니다. Python SDK에는 동등한 옵션이 없습니다.1597* [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/ko/env-vars) 환경 변수를 설정하여 모든 모드에서 트랜스크립트 및 프롬프트 히스토리 작성을 건너뜁니다. 비대화형 모드에서는 `-p`와 함께 `--no-session-persistence`를 전달하거나 TypeScript Agent SDK에서 `persistSession: false`를 설정할 수 있습니다. Python SDK에는 동등한 옵션이 없습니다.

1598* [권한 규칙](/docs/ko/permissions)을 사용하여 자격 증명 파일의 읽기를 거부합니다.1598* [권한 규칙](/docs/ko/permissions)을 사용하여 자격 증명 파일의 읽기를 거부합니다

1599 1599 

1600<h3 id="clear-local-data">1600<h3 id="clear-local-data">

1601 로컬 데이터 지우기1601 로컬 데이터 지우기

1602</h3>1602</h3>

1603 1603 

1604`claude project purge`를 실행하여 한 프로젝트에 대해 Claude Code가 보유한 상태를 삭제합니다. 다음을 삭제합니다:1604`claude project purge`를 실행하여 Claude Code가 한 프로젝트에 대해 보유한 상태를 삭제합니다. 다음을 삭제합니다:

1605 1605 

1606* `projects/` 아래의 트랜스크립트 및 자동 메모리1606* `projects/` 아래의 트랜스크립트 및 자동 메모리

1607* 세션별 `tasks/`, `debug/`, `file-history/` 항목1607* 세션별 `tasks/`, `debug/` 및 `file-history/` 항목

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

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

1610 1610 

1611이 명령은 전체 삭제 계획을 인쇄하고 항목을 제거하기 전에 확인을 요청합니다.1611명령은 전체 삭제 계획을 출력하고 아무것도 제거하기 전에 확인을 요청합니다.

1612 1612 

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

1614 1614 

1615삭제하지 않고 계획을 미리 봅니다:1615아무것도 삭제하지 않고 계획 미리 보기:

1616 1616 

1617```bash theme={null}1617```bash theme={null}

1618claude project purge ~/work/my-repo --dry-run1618claude project purge ~/work/my-repo --dry-run


1635Dry run: 3 item(s) would be deleted.1635Dry run: 3 item(s) would be deleted.

1636```1636```

1637 1637 

1638단일 확인 프롬프트로 삭제합니다:1638단일 확인 프롬프트로 삭제:

1639 1639 

1640```bash theme={null}1640```bash theme={null}

1641claude project purge ~/work/my-repo1641claude project purge ~/work/my-repo

1642```1642```

1643 1643 

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

1645 1645 

1646경로를 생략하여 대화형 목록에서 프로젝트를 선택합니다.1646경로를 생략하여 대화형 목록에서 프로젝트를 선택합니다.

1647 1647 


1651claude project purge ~/work/my-repo --yes1651claude project purge ~/work/my-repo --yes

1652```1652```

1653 1653 

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

1655 1655 

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

1657 1657 

1658위의 애플리케이션 데이터 경로를 언제든지 손으로 삭제할 수 있습니다. [state files to keep](#state-files-to-keep) 제외. 새 세션은 영향을 받지 않습니다. 아래 표는 과거 세션에서 손실되는 항목을 보여줍니다.1658위의 [유지할 상태 파일](#state-files-to-keep)을 제외한 애플리케이션 데이터 경로를 손으로 삭제할 수도 있습니다. 새 세션은 영향을 받지 않습니다. 아래 표는 과거 세션에서 손실되는 것을 보여줍니다.

1659 1659 

1660| 삭제 | 손실 항목 |1660| 삭제 | 손실되는 것 |

1661| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |1661| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1677 1677 

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

1679 1679 

1680<h2 id="related-resources">1680<h2 id="related-resources">

1681 관련 리소스1681 관련 리소스

Details

540<AccordionGroup>540<AccordionGroup>

541 <Accordion title="Anthropic 서비스">541 <Accordion title="Anthropic 서비스">

542 * api.anthropic.com542 * api.anthropic.com

543 * statsig.anthropic.com

544 * docs.claude.com543 * docs.claude.com

545 * platform.claude.com544 * platform.claude.com

546 * code.claude.com545 * code.claude.com


612 * [www.java.net](http://www.java.net)611 * [www.java.net](http://www.java.net)

613 * download.oracle.com612 * download.oracle.com

614 * yum.oracle.com613 * yum.oracle.com

614 * \*.r2.cloudflarestorage.com

615 </Accordion>615 </Accordion>

616 616 

617 <Accordion title="JavaScript 및 Node 패키지 관리자">617 <Accordion title="JavaScript 및 Node 패키지 관리자">


622 * npmjs.org622 * npmjs.org

623 * yarnpkg.com623 * yarnpkg.com

624 * registry.yarnpkg.com624 * registry.yarnpkg.com

625 * jsr.io

626 * npm.jsr.io

625 </Accordion>627 </Accordion>

626 628 

627 <Accordion title="Python 패키지 관리자">629 <Accordion title="Python 패키지 관리자">


676 * central.maven.org678 * central.maven.org

677 * repo1.maven.org679 * repo1.maven.org

678 * repo.maven.apache.org680 * repo.maven.apache.org

681 * maven.google.com

679 * jcenter.bintray.com682 * jcenter.bintray.com

680 * gradle.org683 * gradle.org

681 * [www.gradle.org](http://www.gradle.org)684 * [www.gradle.org](http://www.gradle.org)

682 * services.gradle.org685 * services.gradle.org

683 * plugins.gradle.org686 * plugins.gradle.org

687 * plugins-artifacts.gradle.org

684 * kotlinlang.org688 * kotlinlang.org

685 * [www.kotlinlang.org](http://www.kotlinlang.org)689 * [www.kotlinlang.org](http://www.kotlinlang.org)

686 * spring.io690 * spring.io


758 </Accordion>762 </Accordion>

759 763 

760 <Accordion title="클라우드 서비스 및 모니터링">764 <Accordion title="클라우드 서비스 및 모니터링">

761 * statsig.com

762 * [www.statsig.com](http://www.statsig.com)

763 * api.statsig.com

764 * sentry.io

765 * \*.sentry.io

766 * downloads.sentry-cdn.com

767 * http-intake.logs.datadoghq.com765 * http-intake.logs.datadoghq.com

768 * browser-intake-us5-datadoghq.com

769 * \*.datadoghq.com766 * \*.datadoghq.com

770 * \*.datadoghq.eu767 * \*.datadoghq.eu

771 * api.honeycomb.io768 * api.honeycomb.io

Details

434| [Routines](/docs/ko/routines) | 클라우드, Anthropic 관리 기본값 | 컴퓨터가 꺼져 있어도 실행되어야 하는 작업. API 호출 또는 GitHub 이벤트 외에도 일정에 따라 트리거될 수 있습니다. [claude.ai/code/routines](https://claude.ai/code/routines)에서 구성합니다. |434| [Routines](/docs/ko/routines) | 클라우드, Anthropic 관리 기본값 | 컴퓨터가 꺼져 있어도 실행되어야 하는 작업. API 호출 또는 GitHub 이벤트 외에도 일정에 따라 트리거될 수 있습니다. [claude.ai/code/routines](https://claude.ai/code/routines)에서 구성합니다. |

435| [데스크톱 예약 작업](/docs/ko/desktop-scheduled-tasks) | 데스크톱 앱을 통한 컴퓨터 | 로컬 파일, 도구 또는 커밋되지 않은 변경사항에 직접 액세스해야 하는 작업. |435| [데스크톱 예약 작업](/docs/ko/desktop-scheduled-tasks) | 데스크톱 앱을 통한 컴퓨터 | 로컬 파일, 도구 또는 커밋되지 않은 변경사항에 직접 액세스해야 하는 작업. |

436| [GitHub Actions](/docs/ko/github-actions) | CI 파이프라인 | 열린 PR 또는 cron 일정과 같은 저장소 이벤트와 연결된 작업. 워크플로우 구성과 함께 있어야 합니다. |436| [GitHub Actions](/docs/ko/github-actions) | CI 파이프라인 | 열린 PR 또는 cron 일정과 같은 저장소 이벤트와 연결된 작업. 워크플로우 구성과 함께 있어야 합니다. |

437| [`/loop`](/docs/ko/scheduled-tasks) | 현재 CLI 세션 | 세션이 열려 있는 동안 빠른 폴링. 새 대화를 시작하면 작업이 중지됩니다. `--resume` 및 `--continue`는 만료되지 않은 것을 복원합니다. |437| [`/loop`](/docs/ko/scheduled-tasks) | 현재 CLI 세션 | 세션이 열려 있는 동안 빠른 폴링. `--resume` 및 `--continue`는 만료되지 않은 것을 복원합니다. |

438 438 

439<Tip>439<Tip>

440 예약된 작업을 위한 프롬프트를 작성할 때 성공이 무엇인지, 결과를 어떻게 처리할지 명시적으로 설명하십시오. 작업이 자동으로 실행되므로 명확한 질문을 할 수 없습니다. 예를 들어: "Review open PRs labeled `needs-review`, leave inline comments on any issues, and post a summary in the `#eng-reviews` Slack channel."440 예약된 작업을 위한 프롬프트를 작성할 때 성공이 무엇인지, 결과를 어떻게 처리할지 명시적으로 설명하십시오. 작업이 자동으로 실행되므로 명확한 질문을 할 수 없습니다. 예를 들어: "Review open PRs labeled `needs-review`, leave inline comments on any issues, and post a summary in the `#eng-reviews` Slack channel."

computer-use.md +2 −2

Details

112 한 번에 한 세션112 한 번에 한 세션

113</h3>113</h3>

114 114 

115한 번에 하나의 세션만 컴퓨터를 사용할 수 있습니다. 세션은 첫 번째 컴퓨터 사용 작업에서 머신 전체 잠금을 획득하고 작업이 완료될 때가 아니라 세션이 종료될 때 해제합니다. 두 번째 세션의 컴퓨터 사용은 잠금을 유지하는 세션의 이름을 지정하는 오류로 실패합니다. 먼저 해당 세션을 종료합니다.115한 번에 하나의 세션만 컴퓨터를 사용할 수 있습니다. 세션은 첫 번째 컴퓨터 사용 작업에서 잠금을 획득하고 작업이 완료될 때가 아니라 세션이 종료될 때 해제합니다. 두 번째 세션의 컴퓨터 사용은 잠금을 유지하는 세션의 이름을 지정하는 오류로 실패합니다. 먼저 해당 세션을 종료합니다.

116 116 

117<h3 id="apps-are-hidden-while-claude-works">117<h3 id="apps-are-hidden-while-claude-works">

118 Claude가 작업하는 동안 앱이 숨겨집니다.118 Claude가 작업하는 동안 앱이 숨겨집니다.


134 언제든지 중지134 언제든지 중지

135</h3>135</h3>

136 136 

137Claude가 잠금을 획득하면 macOS 알림이 나타납니다. "Claude가 컴퓨터를 사용 중입니다 · Esc를 눌러 중지하세요." 어디서나 `Esc`를 눌러 현재 작업을 즉시 중단하거나 터미널에서 `Ctrl+C`를 누릅니다. 어느 쪽이든 Claude는 중지하고, 앱을 표시하고, 제어를 사용자에게 반환합니다. 세션은 종료될 때까지 [컴퓨터 사용 잠금](#one-session-at-a-time)을 유지합니다.137Claude가 각 턴에서 처음으로 컴퓨터를 사용할 때 macOS 알림이 나타납니다: "Claude가 컴퓨터를 사용 중입니다 · Esc를 눌러 중지하세요." 어디서나 `Esc`를 눌러 현재 작업을 즉시 중단하거나 터미널에서 `Ctrl+C`를 누릅니다. 어느 쪽이든 Claude는 중지하고, 앱을 표시하고, 제어를 사용자에게 반환합니다. 세션은 종료될 때까지 [컴퓨터 사용 잠금](#one-session-at-a-time)을 유지합니다.

138 138 

139Claude가 완료되면 두 번째 알림이 나타납니다.139Claude가 완료되면 두 번째 알림이 나타납니다.

140 140 

costs.md +3 −2

Details

71 71 

72`d` 또는 `w`를 눌러 지난 24시간과 지난 7일 사이를 전환합니다. 수치는 근사치이며 이 기기의 로컬 세션 기록에서 계산되므로 다른 기기 또는 claude.ai의 사용량은 포함되지 않습니다.72`d` 또는 `w`를 눌러 지난 24시간과 지난 7일 사이를 전환합니다. 수치는 근사치이며 이 기기의 로컬 세션 기록에서 계산되므로 다른 기기 또는 claude.ai의 사용량은 포함되지 않습니다.

73 73 

74[VS Code 확장](/docs/ko/vs-code#check-account-and-usage)에서 귀속 공유 및 동작 플래그는 Loops 행 없이 Day 및 Week 토글이 있는 Account & usage 대화 상자에 나타납니다. Claude Code v2.1.174 이상이 필요합니다.74[VS Code 확장](/docs/ko/vs-code#check-account-and-usage)에서 귀속 공유 및 동작 플래그는 Loops 행 없이 Day 및 Week 토글이 있는 Account & usage 대화 상자에 나타납니다.

75 75 

76<h4 id="check-your-usage-credits-spend">76<h4 id="check-your-usage-credits-spend">

77 사용량 크레딧 지출 확인77 사용량 크레딧 지출 확인


222 개발자가 한도에 대해 질문할 때222 개발자가 한도에 대해 질문할 때

223</h3>223</h3>

224 224 

225개발자는 일반적으로 한도 질문을 관리자에게 가져오므로, 어떤 상한선에 도달했는지 아는 것이 도움이 됩니다. 네 가지 상황은 다른 의미를 가집니다:225개발자는 일반적으로 한도 질문을 관리자에게 가져오므로, 어떤 상한선에 도달했는지 아는 것이 도움이 됩니다. 이러한 상황은 다른 의미를 가집니다:

226 226 

227* **"세션 한도에 도달했습니다" 또는 "주간 한도에 도달했습니다"**: 구독 플랜의 시트 기반 사용 윈도우이며, 모든 모델에서 공유되므로 개발자는 `/model`로 모델을 전환하여 액세스를 복원할 수 없습니다. 메시지는 윈도우가 재설정될 때를 표시합니다. 모델별 "Opus 한도에 도달했습니다" 또는 "Sonnet 한도에 도달했습니다" 메시지 후에는 `/model`로 해당 제품군 외의 모델로 전환하면 개발자가 계속 작업할 수 있습니다. [사용 한도 오류](/docs/ko/errors#youve-hit-your-session-limit)를 참조하십시오. 개발자가 그 동안 할 수 있는 작업:227* **"세션 한도에 도달했습니다" 또는 "주간 한도에 도달했습니다"**: 구독 플랜의 시트 기반 사용 윈도우이며, 모든 모델에서 공유되므로 개발자는 `/model`로 모델을 전환하여 액세스를 복원할 수 없습니다. 메시지는 윈도우가 재설정될 때를 표시합니다. 모델별 "Opus 한도에 도달했습니다" 또는 "Sonnet 한도에 도달했습니다" 메시지 후에는 `/model`로 해당 제품군 외의 모델로 전환하면 개발자가 계속 작업할 수 있습니다. [사용 한도 오류](/docs/ko/errors#youve-hit-your-session-limit)를 참조하십시오. 개발자가 그 동안 할 수 있는 작업:

228 * [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)이 활성화된 경우 `/usage-credits`를 실행하여 할당량을 초과하는 사용을 요청하십시오.228 * [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)이 활성화된 경우 `/usage-credits`를 실행하여 할당량을 초과하는 사용을 요청하십시오.

229 * Claude Code v2.1.234 이상에서 [재설정 후 중단된 작업을 자동으로 계속 대기](/docs/ko/interactive-mode#wait-for-a-usage-limit-to-reset); 해당 섹션에는 Claude Code가 자동으로 대기를 시작하는 시기와 개발자가 `/rate-limit-options`에서 선택하는 시기가 나열되어 있습니다. 플릿에 대해 Claude Code가 자동으로 해당 대기를 시작하는지 제어하려면 [관리 설정](/docs/ko/settings#settings-precedence)에서 [`autoContinueAtUsageLimit`](/docs/ko/settings-reference#autocontinueatusagelimit)을 설정하십시오.229 * Claude Code v2.1.234 이상에서 [재설정 후 중단된 작업을 자동으로 계속 대기](/docs/ko/interactive-mode#wait-for-a-usage-limit-to-reset); 해당 섹션에는 Claude Code가 자동으로 대기를 시작하는 시기와 개발자가 `/rate-limit-options`에서 선택하는 시기가 나열되어 있습니다. 플릿에 대해 Claude Code가 자동으로 해당 대기를 시작하는지 제어하려면 [관리 설정](/docs/ko/settings#settings-precedence)에서 [`autoContinueAtUsageLimit`](/docs/ko/settings-reference#autocontinueatusagelimit)을 설정하십시오.

230* **"개별 지출 한도에 도달했습니다", "조직의 월간 지출 한도" 또는 "팀의 공유 예산"**: 개발자의 요청이 사용 크레딧으로 청구되며, 이러한 크레딧이 설정한 지출 한도에 도달했습니다. 개발자가 계속하도록 허용하려면 [**관리 설정 > 사용**](https://claude.ai/admin-settings/usage)으로 이동하여 메시지가 명시한 한도를 높이십시오. 메시지가 플랜 재설정 시간도 명시하는 경우, 개발자는 대신 그때까지 기다릴 수 있습니다. 각 변형에 대해 [오류 참고](/docs/ko/errors#youve-hit-your-monthly-spend-limit)를 참조하십시오.

230* **[Claude apps gateway](/docs/ko/claude-apps-gateway)의 지출 한도 메시지**: 개발자가 자체 호스팅된 게이트웨이에서 설정한 지출 상한선을 초과했으며, 게이트웨이는 기간이 재설정되거나 상한선을 높일 때까지 요청을 차단합니다. [게이트웨이 지출 한도](/docs/ko/claude-apps-gateway-spend-limits)에서 상한선, 재설정 일정 및 개발자가 보는 메시지를 참조하십시오.231* **[Claude apps gateway](/docs/ko/claude-apps-gateway)의 지출 한도 메시지**: 개발자가 자체 호스팅된 게이트웨이에서 설정한 지출 상한선을 초과했으며, 게이트웨이는 기간이 재설정되거나 상한선을 높일 때까지 요청을 차단합니다. [게이트웨이 지출 한도](/docs/ko/claude-apps-gateway-spend-limits)에서 상한선, 재설정 일정 및 개발자가 보는 메시지를 참조하십시오.

231* **컨텍스트 또는 자동 압축 경고**: 사용 한도가 아닙니다. 대화가 세션의 [자동 압축 윈도우](/docs/ko/model-config#set-the-auto-compact-window)에 가까워졌으며, Claude Code가 공간을 확보하기 위해 이전 기록을 요약하는 임계값입니다. 개발자를 [토큰 사용량 감소](#reduce-token-usage)로 안내하십시오.232* **컨텍스트 또는 자동 압축 경고**: 사용 한도가 아닙니다. 대화가 세션의 [자동 압축 윈도우](/docs/ko/model-config#set-the-auto-compact-window)에 가까워졌으며, Claude Code가 공간을 확보하기 위해 이전 기록을 요약하는 임계값입니다. 개발자를 [토큰 사용량 감소](#reduce-token-usage)로 안내하십시오.

232* **API 또는 클라우드 제공자 플랜에서 예상치 못한 높은 지출**: 일반적으로 절대 지워지지 않은 긴 세션 또는 기본 모델로 남겨진 Opus로 추적됩니다. 공유할 가장 영향력 있는 습관은 관련 없는 작업 간 지우기 및 작업에 맞는 모델 선택이며, 둘 다 [토큰 사용량 감소](#reduce-token-usage)에서 다룹니다.233* **API 또는 클라우드 제공자 플랜에서 예상치 못한 높은 지출**: 일반적으로 절대 지워지지 않은 긴 세션 또는 기본 모델로 남겨진 Opus로 추적됩니다. 공유할 가장 영향력 있는 습관은 관련 없는 작업 간 지우기 및 작업에 맞는 모델 선택이며, 둘 다 [토큰 사용량 감소](#reduce-token-usage)에서 다룹니다.

desktop.md +8 −8

Details

24 24 

25Windows ARM64의 경우 [ARM64 설치 프로그램](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)을 다운로드하십시오. Linux에서는 apt로 설치하십시오. [Linux의 Claude Desktop](/docs/ko/desktop-linux)을 참조하십시오.25Windows ARM64의 경우 [ARM64 설치 프로그램](https://claude.ai/api/desktop/win32/arm64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)을 다운로드하십시오. Linux에서는 apt로 설치하십시오. [Linux의 Claude Desktop](/docs/ko/desktop-linux)을 참조하십시오.

26 26 

27설치 후 Claude를 실행하고, 로그인한 다음 **Code** 탭을 클릭합니다. Windows에서 처음 열 때는 [Git for Windows](https://git-scm.com/downloads/win)가 설치되어 있어야 하며, 설치 후 앱을 다시 시작합니다. 첫 번째 세션의 전체 안내는 [시작하기 가이드](/docs/ko/desktop-quickstart)를 참조하세요.27설치 후 Claude를 실행하고, 로그인한 다음 **Code** 탭을 클릭합니다. 첫 번째 세션의 전체 안내는 [시작하기 가이드](/docs/ko/desktop-quickstart)를 참조하세요.

28 28 

29Code 탭에서 각 대화는 **세션**입니다: 자신의 채팅 기록, 프로젝트 폴더, 코드 변경 사항을 가지고 있으며, 다른 세션과는 독립적입니다. 사이드바에는 세션이 나열되어 있으며 여러 세션을 병렬로 실행할 수 있습니다. 세션 내에서 다음을 수행할 수 있습니다:29Code 탭에서 각 대화는 **세션**입니다: 자신의 채팅 기록과 프로젝트 폴더를 가지고 있으며, 다른 세션과는 독립적입니다. 사이드바에는 세션이 나열되어 있으며 여러 세션을 병렬로 실행할 수 있습니다. 세션 내에서 다음을 수행할 수 있습니다:

30 30 

31* [diff를 검토하고 댓글 달기](#review-changes-with-diff-view), 그 다음 [CI를 통해 결과 PR 모니터링](#monitor-pull-request-status)31* [diff를 검토하고 댓글 달기](#review-changes-with-diff-view), 그 다음 [CI를 통해 결과 PR 모니터링](#monitor-pull-request-status)

32* [실행 중인 앱 미리보기](#preview-your-app) (Browser 패널에서 Claude가 자신의 변경 사항을 확인하는 동안), 그리고 [외부 사이트 열기](#browse-external-sites)32* [실행 중인 앱 미리보기](#preview-your-app) (Browser 패널에서 Claude가 자신의 변경 사항을 확인하는 동안), 그리고 [외부 사이트 열기](#browse-external-sites)


372 세션으로 병렬 작업하기372 세션으로 병렬 작업하기

373</h3>373</h3>

374 374 

375사이드바에서 **+ New session**을 클릭하거나 macOS에서 **Cmd+N**을 누르거나 Windows에서 **Ctrl+N**을 눌러 여러 작업을 병렬로 작업합니다. **Ctrl+Tab** 및 **Ctrl+Shift+Tab**을 눌러 사이드바의 세션을 순환합니다. Git 저장소의 경우 각 세션은 [Git worktrees](/docs/ko/worktrees)를 사용하여 프로젝트의 자신의 격리된 복사본을 가져오므로 한 세션의 변경 사항이 커밋할 때까지 다른 세션에 영향을 주지 않습니다.375사이드바에서 **+ New session**을 클릭하거나 macOS에서 **Cmd+N**을 누르거나 Windows에서 **Ctrl+N**을 눌러 여러 작업을 병렬로 작업합니다. **Ctrl+Tab** 및 **Ctrl+Shift+Tab**을 눌러 사이드바의 세션을 순환합니다. Git 저장소의 경우 브랜치 이름 옆의 **worktree** 옵션을 선택하여 세션이 [Git worktrees](/docs/ko/worktrees)를 사용하여 프로젝트의 자신의 격리된 복사본을 가지도록 하므로 한 세션의 변경 사항이 커밋할 때까지 다른 세션에 영향을 주지 않습니다.

376 376 

377두 세션을 동시에 보려면 macOS에서 **Cmd**를 누르거나 Windows에서 **Ctrl**을 누르고 사이드바의 세션을 클릭합니다. 세션이 이미 열려 있는 창 옆에 두 번째 창에서 열립니다. 분할이 활성화되어 있는 동안 다른 사이드바 세션을 클릭하면 포커스가 있는 창을 바꿉니다. macOS에서 \*\*Cmd+\\\*\*를 누르거나 Windows에서 \*\*Ctrl+\\\*\*를 눌러 포커스된 창을 닫고 단일 세션으로 돌아갑니다.377두 세션을 동시에 보려면 macOS에서 **Cmd**를 누르거나 Windows에서 **Ctrl**을 누르고 사이드바의 세션을 클릭합니다. 세션이 이미 열려 있는 창 옆에 두 번째 창에서 열립니다. 분할이 활성화되어 있는 동안 다른 사이드바 세션을 클릭하면 포커스가 있는 창을 바꿉니다. macOS에서 \*\*Cmd+\\\*\*를 누르거나 Windows에서 \*\*Ctrl+\\\*\*를 눌러 포커스된 창을 닫고 단일 세션으로 돌아갑니다.

378 378 


381gitignored 파일 (예: `.env`)을 새 worktrees에 포함하려면 프로젝트 루트에 [`.worktreeinclude` 파일](/docs/ko/worktrees#copy-gitignored-files-into-worktrees)을 만듭니다.381gitignored 파일 (예: `.env`)을 새 worktrees에 포함하려면 프로젝트 루트에 [`.worktreeinclude` 파일](/docs/ko/worktrees#copy-gitignored-files-into-worktrees)을 만듭니다.

382 382 

383<Note>383<Note>

384 세션 격리에는 [Git](https://git-scm.com/downloads)이 필요합니다. 대부분의 Mac에는 기본적으로 Git이 포함되어 있습니다. Terminal에서 `git --version`을 실행하여 확인합니다. 버전 번호가 출력되면 Git이 설치된 것입니다. Windows에서는 Code 탭이 작동하려면 Git이 필요합니다: [Windows용 Git 다운로드](https://git-scm.com/downloads/win), 설치 및 앱 재시작. Git 오류가 발생하면 [Cowork 탭](https://claude.com/product/cowork)에서 Claude에게 설정을 문제 해결하도록 요청하세요.384 세션 격리에는 [Git](https://git-scm.com/downloads)이 필요합니다. 대부분의 Mac에는 기본적으로 Git이 포함되어 있습니다. Terminal에서 `git --version`을 실행하여 확인합니다. 버전 번호가 출력되면 Git이 설치된 것입니다. Git 오류가 발생하면 [Cowork 탭](https://claude.com/product/cowork)에서 Claude에게 설정을 문제 해결하도록 요청하세요.

385</Note>385</Note>

386 386 

387사이드바 상단의 컨트롤을 사용하여 상태, 프로젝트 또는 환경별로 세션을 필터링하고 프로젝트별로 세션을 그룹화합니다. 세션 이름을 바꾸려면 활성 세션 상단의 도구 모음에서 세션 제목을 클릭합니다.387사이드바 상단의 컨트롤을 사용하여 상태, 프로젝트 또는 환경별로 세션을 필터링하고 프로젝트별로 세션을 그룹화합니다. 세션 이름을 바꾸려면 활성 세션 상단의 도구 모음에서 세션 제목을 클릭합니다.


433 433 

434대규모 리팩토링, 테스트 스위트, 마이그레이션 또는 기타 장기 실행 작업의 경우 세션을 시작할 때 **Local** 대신 **Cloud**를 선택합니다. 클라우드 세션은 기본적으로 Anthropic 관리 인프라에서 실행되며 앱을 닫거나 컴퓨터를 종료해도 계속됩니다. 언제든지 돌아와서 진행 상황을 보거나 Claude를 다른 방향으로 조종할 수 있습니다. [claude.ai/code](https://claude.ai/code)에서 또는 [Claude 모바일 앱](/docs/ko/mobile)에서 클라우드 세션을 모니터링할 수도 있습니다.434대규모 리팩토링, 테스트 스위트, 마이그레이션 또는 기타 장기 실행 작업의 경우 세션을 시작할 때 **Local** 대신 **Cloud**를 선택합니다. 클라우드 세션은 기본적으로 Anthropic 관리 인프라에서 실행되며 앱을 닫거나 컴퓨터를 종료해도 계속됩니다. 언제든지 돌아와서 진행 상황을 보거나 Claude를 다른 방향으로 조종할 수 있습니다. [claude.ai/code](https://claude.ai/code)에서 또는 [Claude 모바일 앱](/docs/ko/mobile)에서 클라우드 세션을 모니터링할 수도 있습니다.

435 435 

436클라우드 세션은 또한 여러 저장소를 지원합니다. 클라우드 환경을 선택한 후 저장소 pill 옆의 **+** 버튼을 클릭하여 세션에 추가 저장소를 추가합니다. 각 저장소는 자신의 브랜치 선택기를 가집니다. 이는 공유 라이브러리와 그 소비자를 업데이트하는 것과 같이 여러 코드베이스에 걸친 작업에 유용합니다.436클라우드 세션은 또한 여러 저장소를 지원합니다. 클라우드 환경을 선택한 후 선택된 저장소 옆의 **+** 버튼을 클릭하여 세션에 추가 저장소를 추가합니다. 각 저장소는 자신의 브랜치 선택기를 가집니다. 이는 공유 라이브러리와 그 소비자를 업데이트하는 것과 같이 여러 코드베이스에 걸친 작업에 유용합니다.

437 437 

438클라우드 세션이 작동하는 방식에 대한 자세한 내용은 [웹의 Claude Code](/docs/ko/claude-code-on-the-web)를 참조하세요.438클라우드 세션이 작동하는 방식에 대한 자세한 내용은 [웹의 Claude Code](/docs/ko/claude-code-on-the-web)를 참조하세요.

439 439 


838| `disableAutoMode` | [Auto](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) 모드를 모드 선택기에서 제거하려면 `"disable"`로 설정합니다. `permissions` 아래에서도 허용됩니다. |838| `disableAutoMode` | [Auto](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) 모드를 모드 선택기에서 제거하려면 `"disable"`로 설정합니다. `permissions` 아래에서도 허용됩니다. |

839| `autoMode` | 조직 전체에서 auto mode 분류기가 신뢰하고 차단하는 것을 사용자 정의합니다. [auto mode 구성](/docs/ko/auto-mode-config)을 참조하세요. |839| `autoMode` | 조직 전체에서 auto mode 분류기가 신뢰하고 차단하는 것을 사용자 정의합니다. [auto mode 구성](/docs/ko/auto-mode-config)을 참조하세요. |

840| `browserExternalPageTools` | Claude가 [Browser 창](#browse-external-sites)에서 외부 페이지를 읽거나 작동하기 위해 도구를 사용하지 못하도록 하려면 `"disabled"`로 설정합니다. 사용자는 여전히 외부 사이트로 직접 이동할 수 있으며, 로컬 개발 서버 미리보기는 영향을 받지 않습니다. |840| `browserExternalPageTools` | Claude가 [Browser 창](#browse-external-sites)에서 외부 페이지를 읽거나 작동하기 위해 도구를 사용하지 못하도록 하려면 `"disabled"`로 설정합니다. 사용자는 여전히 외부 사이트로 직접 이동할 수 있으며, 로컬 개발 서버 미리보기는 영향을 받지 않습니다. |

841| `disableMobileSimulatorTools` | Claude의 [iOS Simulator 창](/docs/ko/desktop-ios-simulator#turn-off-simulator-access)에서 장치를 제어하고 캡처하는 도구를 차단하려면 `true`로 설정합니다. 창은 사용자의 자신의 탭에 대해 사용 가능하게 유지됩니다. Claude의 액세스만 제거됩니다. |841| `disableMobileSimulatorTools` | Claude의 [iOS Simulator 창](/docs/ko/desktop-ios-simulator#turn-off-simulator-access)에서 장치를 제어하고 캡처하는 도구를 차단하려면 `true`로 설정합니다. 창은 사용자의 자신의 탭에 대해 사용 가능하게 유지됩니다. Claude의 액세스만 제거됩니다. 값은 JSON 부울 `true`여야 합니다. 문자열 `"true"`는 무시됩니다. |

842| `disableBrowserExternalNavigation` | [Browser 창](#browse-external-sites)에서 외부 브라우징을 완전히 끄려면 `true`로 설정합니다. 사용자와 Claude 모두 외부 사이트로 이동할 수 없으며, localhost 개발 서버 미리보기는 영향을 받지 않습니다. 값은 JSON 부울 `true`여야 합니다. 문자열 `"true"`는 무시됩니다. |842| `disableBrowserExternalNavigation` | [Browser 창](#browse-external-sites)에서 외부 브라우징을 완전히 끄려면 `true`로 설정합니다. 사용자와 Claude 모두 외부 사이트로 이동할 수 없으며, localhost 개발 서버 미리보기는 영향을 받지 않습니다. 값은 JSON 부울 `true`여야 합니다. 문자열 `"true"`는 무시됩니다. |

843| `sshConfigs` | 환경 드롭다운에 나타나는 [SSH 연결](#pre-configure-ssh-connections-for-your-team)을 사전 구성합니다. 사용자는 관리 연결을 편집하거나 삭제할 수 없습니다. |843| `sshConfigs` | 환경 드롭다운에 나타나는 [SSH 연결](#pre-configure-ssh-connections-for-your-team)을 사전 구성합니다. 사용자는 관리 연결을 편집하거나 삭제할 수 없습니다. |

844| `sshHostAllowlist` | [SSH 세션](#restrict-which-ssh-hosts-users-can-connect-to)을 확인된 호스트명이 이러한 패턴 중 하나와 일치하는 호스트로 제한합니다. 빈 배열은 SSH 세션을 비활성화합니다. 관리 설정에서만 읽습니다. |844| `sshHostAllowlist` | [SSH 세션](#restrict-which-ssh-hosts-users-can-connect-to)을 확인된 호스트명이 이러한 패턴 중 하나와 일치하는 호스트로 제한합니다. 빈 배열은 SSH 세션을 비활성화합니다. 관리 설정에서만 읽습니다. |


1016| [Plugins](/docs/ko/plugins) | `/plugin` 명령 | 플러그인 관리자 UI |1016| [Plugins](/docs/ko/plugins) | `/plugin` 명령 | 플러그인 관리자 UI |

1017| @mention 파일 | 텍스트 기반 | 자동 완성 포함; 로컬 및 SSH 세션만 |1017| @mention 파일 | 텍스트 기반 | 자동 완성 포함; 로컬 및 SSH 세션만 |

1018| 파일 첨부 | 사용할 수 없음 | 이미지, PDF |1018| 파일 첨부 | 사용할 수 없음 | 이미지, PDF |

1019| 세션 격리 | [`--worktree`](/docs/ko/cli-reference) 플래그 | 자동 worktrees |1019| 세션 격리 | [`--worktree`](/docs/ko/cli-reference) 플래그 | **worktree** 옵션 (세션 시작 시) |

1020| 여러 세션 | 별도 터미널 | 사이드바 탭 |1020| 여러 세션 | 별도 터미널 | 사이드바 탭 |

1021| 반복 작업 | Cron 작업, CI 파이프라인 | [예약된 작업](/docs/ko/desktop-scheduled-tasks) |1021| 반복 작업 | Cron 작업, CI 파이프라인 | [예약된 작업](/docs/ko/desktop-scheduled-tasks) |

1022| 컴퓨터 사용 | [macOS에서 `/mcp`를 통해 활성화](/docs/ko/computer-use) | [macOS 및 Windows에서 앱 및 화면 제어](#let-claude-use-your-computer) |1022| 컴퓨터 사용 | [macOS에서 `/mcp`를 통해 활성화](/docs/ko/computer-use) | [macOS 및 Windows에서 앱 및 화면 제어](#let-claude-use-your-computer) |


1093 Git 및 Git LFS 오류1093 Git 및 Git LFS 오류

1094</h3>1094</h3>

1095 1095 

1096Windows에서 Git은 로컬 세션을 시작하기 위해 Code 탭에 필요합니다. "Git is required"가 표시되면 [Windows용 Git](https://git-scm.com/downloads/win)을 설치하고 앱을 다시 시작합니다.1096자신의 worktree에서 실행되는 세션에는 Git이 필요합니다. "Git is required"가 표시되면 [Git](https://git-scm.com/downloads)을 설치하거나 Windows에서 [Windows용 Git](https://git-scm.com/downloads/win)을 설치하고 다시 시도합니다. Windows에서 1.49585.0 이전의 Claude Desktop 버전은 로컬 세션을 시작하기 전에 Git을 요청했습니다. 해당 프롬프트가 표시되고 worktree를 사용하지 않으면 앱을 업데이트합니다.

1097 1097 

1098"Git LFS is required by this repository but is not installed"가 표시되면 [git-lfs.com](https://git-lfs.com/)에서 Git LFS를 설치하고 `git lfs install`을 실행한 다음 앱을 다시 시작합니다.1098"Git LFS is required by this repository but is not installed"가 표시되면 [git-lfs.com](https://git-lfs.com/)에서 Git LFS를 설치하고 `git lfs install`을 실행한 다음 앱을 다시 시작합니다.

1099 1099 

Details

65 **Local**을 선택하여 파일을 직접 사용하여 머신에서 Claude를 실행합니다. **Select folder**를 클릭하고 프로젝트 디렉토리를 선택합니다.65 **Local**을 선택하여 파일을 직접 사용하여 머신에서 Claude를 실행합니다. **Select folder**를 클릭하고 프로젝트 디렉토리를 선택합니다.

66 66 

67 <Tip>67 <Tip>

68 잘 알고 있는 작은 프로젝트부터 시작하십시오. Claude Code가 무엇을 할 수 있는지 가장 빠르게 확인할 수 있는 방법입니다. Windows에서는 로컬 세션이 작동하려면 [Git](https://git-scm.com/downloads/win)이 설치되어 있어야 합니다. 대부분의 Mac에는 기본적으로 Git이 포함되어 있습니다.68 잘 알고 있는 작은 프로젝트부터 시작하십시오. Claude Code가 무엇을 할 수 있는지 가장 빠르게 확인할 수 있는 방법입니다.

69 </Tip>69 </Tip>

70 70 

71 다음을 선택할 수도 있습니다:71 다음을 선택할 수도 있습니다:


86 * `Add tests for the main function`86 * `Add tests for the main function`

87 * `Create a CLAUDE.md with instructions for this codebase`87 * `Create a CLAUDE.md with instructions for this codebase`

88 88 

89 [session](/docs/ko/desktop#work-in-parallel-with-sessions)은 코드에 대한 Claude와의 대화입니다. 각 세션은 자신의 컨텍스트와 변경 사항을 추적하므로 서로 간섭하지 않고 여러 작업을 수행할 수 있습니다.89 [session](/docs/ko/desktop#work-in-parallel-with-sessions)은 코드에 대한 Claude와의 대화입니다. 각 세션은 자신의 컨텍스트와 변경 사항을 추적합니다.

90 </Step>90 </Step>

91 91 

92 <Step title="변경 사항 검토 및 수락">92 <Step title="변경 사항 검토 및 수락">

env-vars.md +4 −3

Details

153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Amazon Bedrock Mantle 엔드포인트 URL을 재정의합니다. [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)를 참조하세요 |153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Amazon Bedrock Mantle 엔드포인트 URL을 재정의합니다. [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)를 참조하세요 |

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)에 옵트인하려면 이를 사용하세요. API 키 인증이 필요한 [`--betas` 플래그](/docs/ko/cli-reference#cli-flags)와 달리, 이 변수는 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)으로 계산됩니다. 프로젝트 또는 로컬 설정에서 이러한 값은 [`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>)`로 기본값이 설정됩니다 |


279| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | [세션 요약](/docs/ko/interactive-mode#session-recap) 가용성을 재정의합니다. `/config` 토글에 관계없이 요약을 강제로 끄려면 `0`으로 설정하세요. [`awaySummaryEnabled`](/docs/ko/settings-reference#awaysummaryenabled)가 `false`일 때 요약을 강제로 켜려면 `1`로 설정하세요. 설정 및 `/config` 토글보다 우선합니다 |279| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | [세션 요약](/docs/ko/interactive-mode#session-recap) 가용성을 재정의합니다. `/config` 토글에 관계없이 요약을 강제로 끄려면 `0`으로 설정하세요. [`awaySummaryEnabled`](/docs/ko/settings-reference#awaysummaryenabled)가 `false`일 때 요약을 강제로 켜려면 `1`로 설정하세요. 설정 및 `/config` 토글보다 우선합니다 |

280| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | 백그라운드 설치가 완료된 후 [비대화형 모드](/docs/ko/headless)에서 턴 경계에서 플러그인 상태를 새로 고치려면 `1`로 설정하세요. 기본적으로 꺼져 있습니다. 새로 고침이 세션 중간에 시스템 프롬프트를 변경하기 때문입니다. 이는 해당 턴에 대한 [프롬프트 캐싱](/docs/ko/prompt-caching)을 무효화합니다 |280| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | 백그라운드 설치가 완료된 후 [비대화형 모드](/docs/ko/headless)에서 턴 경계에서 플러그인 상태를 새로 고치려면 `1`로 설정하세요. 기본적으로 꺼져 있습니다. 새로 고침이 세션 중간에 시스템 프롬프트를 변경하기 때문입니다. 이는 해당 턴에 대한 [프롬프트 캐싱](/docs/ko/prompt-caching)을 무효화합니다 |

281| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Anthropic 바운드 비필수 트래픽이 차단될 때 "Claude가 어떻게 하고 있나요?" 세션 품질 설문조사를 자신의 [OpenTelemetry 수집기](/docs/ko/monitoring-usage)로 라우팅하려면 `1`로 설정하세요. 설문조사 등급은 구성된 수집기에 OTEL 이벤트로만 내보내집니다. 이 모드에서는 설문조사 데이터가 Anthropic으로 전송되지 않습니다. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY`, 또는 `DO_NOT_TRACK`이 설정되면 적용되며, 그렇지 않으면 효과가 없습니다. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` 및 조직 제품 피드백 정책이 우선합니다 |281| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Anthropic 바운드 비필수 트래픽이 차단될 때 "Claude가 어떻게 하고 있나요?" 세션 품질 설문조사를 자신의 [OpenTelemetry 수집기](/docs/ko/monitoring-usage)로 라우팅하려면 `1`로 설정하세요. 설문조사 등급은 구성된 수집기에 OTEL 이벤트로만 내보내집니다. 이 모드에서는 설문조사 데이터가 Anthropic으로 전송되지 않습니다. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY`, 또는 `DO_NOT_TRACK`이 설정되면 적용되며, 그렇지 않으면 효과가 없습니다. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` 및 조직 제품 피드백 정책이 우선합니다 |

282| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | 도구 호출 입력이 Claude가 생성할 때 API에서 스트리밍되는지 여부를 제어합니다. 이것이 꺼져 있으면, 긴 파일 쓰기와 같은 큰 도구 입력은 Claude가 생성을 마친 후에만 도착합니다. 이는 중단된 것처럼 보일 수 있습니다. Anthropic API에서 기본적으로 활성화됩니다. Amazon Bedrock 및 Google Cloud의 Agent Platform에서는 배포된 컨테이너가 지원하는 모델별로 활성화됩니다. 옵트아웃하려면 `0`으로 설정하세요. `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, 또는 `ANTHROPIC_BEDROCK_BASE_URL`을 통해 프록시를 통해 라우팅할 때 강제로 켜려면 `1`로 설정하세요. Microsoft Foundry 및 [게이트웨이](/docs/ko/llm-gateway) 연결에서는 기본적으로 꺼져 있습니다 |282| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | 도구 호출 입력이 Claude가 생성할 때 API에서 스트리밍되는지 여부를 제어합니다. 이것이 꺼져 있으면, 긴 파일 쓰기와 같은 큰 도구 입력은 Claude가 생성을 마친 후에만 도착합니다. 이는 중단된 것처럼 보일 수 있습니다. Anthropic API에서 기본적으로 활성화됩니다. Amazon Bedrock 및 Google Cloud의 Agent Platform에서는 배포된 컨테이너가 지원하는 모델별로 활성화됩니다. `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, 또는 `ANTHROPIC_BEDROCK_BASE_URL`을 통해 프록시를 통해 라우팅할 때 강제로 켜려면 `1`로 설정하세요. Microsoft Foundry 및 [게이트웨이](/docs/ko/llm-gateway) 연결에서는 기본적으로 꺼져 있습니다 |

283| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | `ANTHROPIC_BASE_URL`이 LiteLLM, Kong, 내부 프록시와 같은 Anthropic 호환 게이트웨이의 `/v1/models` 엔드포인트에서 `/model` 선택기를 채우려면 `1`로 설정하세요. 기본적으로 꺼져 있습니다. 공유 API 키로 지원되는 게이트웨이는 그렇지 않으면 모든 사용자에게 키가 액세스할 수 있는 모든 모델을 표시하기 때문입니다. 검색된 모델은 여전히 세션이 수신하는 [`availableModels`](/docs/ko/settings-reference#availablemodels) 허용 목록으로 필터링됩니다. [MDM 또는 관리 설정 파일](/docs/ko/managed-settings#delivery-mechanisms)을 통해 목록을 전달하세요. [서버 관리 전달은 게이트웨이 구성에서 사용할 수 없습니다](/docs/ko/server-managed-settings#platform-availability) |283| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | `ANTHROPIC_BASE_URL`이 LiteLLM, Kong, 내부 프록시와 같은 Anthropic 호환 게이트웨이의 `/v1/models` 엔드포인트에서 `/model` 선택기를 채우려면 `1`로 설정하세요. 기본적으로 꺼져 있습니다. 공유 API 키로 지원되는 게이트웨이는 그렇지 않으면 모든 사용자에게 키가 액세스할 수 있는 모든 모델을 표시하기 때문입니다. 검색된 모델은 여전히 세션이 수신하는 [`availableModels`](/docs/ko/settings-reference#availablemodels) 허용 목록으로 필터링됩니다. [MDM 또는 관리 설정 파일](/docs/ko/managed-settings#delivery-mechanisms)을 통해 목록을 전달하세요. [서버 관리 전달은 게이트웨이 구성에서 사용할 수 없습니다](/docs/ko/server-managed-settings#platform-availability) |

284| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | v2.1.142에서 제거되었습니다. [빠른 모드](/docs/ko/fast-mode) 기본값이 Opus 4.6에서 Opus 4.7로 이동했을 때 |284| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | v2.1.142에서 제거되었습니다. [빠른 모드](/docs/ko/fast-mode) 기본값이 Opus 4.6에서 Opus 4.7로 이동했을 때 |

285| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | 프롬프트 입력에 나타나는 회색 예측인 프롬프트 제안을 끄려면 `false`로 설정하세요. [`promptSuggestionEnabled`](/docs/ko/settings-reference#promptsuggestionenabled) 설정보다 우선합니다. 이는 `/config`의 **프롬프트 제안** 토글이 작성하는 것입니다. Claude Code는 또한 [계정이 사용 제한에 가까워지거나 도달할 때 제안을 일시 중지합니다](/docs/ko/interactive-mode#when-claude-code-skips-suggestions). 제한에 도달할 때까지 켜 두려면 `true`로 설정하세요. Claude Code v2.1.238 이상이 필요합니다. [프롬프트 제안](/docs/ko/interactive-mode#prompt-suggestions)을 참조하세요 |285| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | 프롬프트 입력에 나타나는 회색 예측인 프롬프트 제안을 끄려면 `false`로 설정하세요. [`promptSuggestionEnabled`](/docs/ko/settings-reference#promptsuggestionenabled) 설정보다 우선합니다. 이는 `/config`의 **프롬프트 제안** 토글이 작성하는 것입니다. Claude Code는 또한 [계정이 사용 제한에 가까워지거나 도달할 때 제안을 일시 중지합니다](/docs/ko/interactive-mode#when-claude-code-skips-suggestions). 제한에 도달할 때까지 켜 두려면 `true`로 설정하세요. Claude Code v2.1.238 이상이 필요합니다. [프롬프트 제안](/docs/ko/interactive-mode#prompt-suggestions)을 참조하세요 |


290| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | [에이전트 팀](/docs/ko/agent-teams)을 활성화하려면 `1`로 설정하세요. 에이전트 팀은 실험적이며 기본적으로 비활성화됩니다 |290| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | [에이전트 팀](/docs/ko/agent-teams)을 활성화하려면 `1`로 설정하세요. 에이전트 팀은 실험적이며 기본적으로 비활성화됩니다 |

291| `CLAUDE_CODE_EXTRA_BODY` | 모든 API 요청 본문의 최상위 수준으로 병합할 JSON 객체입니다. Claude Code가 직접 노출하지 않는 제공자 특정 매개변수를 전달하는 데 유용합니다. 셸에서 내보낸 값은 `claude agents` 또는 `--bg`로 디스패치하는 [백그라운드 세션](/docs/ko/agent-view)에도 적용됩니다. v2.1.206 이전에는 백그라운드 세션이 셸 내보낸 값을 무시하고 백그라운드 감독자 프로세스가 상속한 복사본을 사용했습니다 |291| `CLAUDE_CODE_EXTRA_BODY` | 모든 API 요청 본문의 최상위 수준으로 병합할 JSON 객체입니다. Claude Code가 직접 노출하지 않는 제공자 특정 매개변수를 전달하는 데 유용합니다. 셸에서 내보낸 값은 `claude agents` 또는 `--bg`로 디스패치하는 [백그라운드 세션](/docs/ko/agent-view)에도 적용됩니다. v2.1.206 이전에는 백그라운드 세션이 셸 내보낸 값을 무시하고 백그라운드 감독자 프로세스가 상속한 복사본을 사용했습니다 |

292| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | 파일 읽기의 기본 토큰 제한을 재정의합니다. 전체 파일을 읽어야 할 때 유용합니다 |292| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | 파일 읽기의 기본 토큰 제한을 재정의합니다. 전체 파일을 읽어야 할 때 유용합니다 |

293| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 다른 Claude Code 세션 내에서 시작된 경우에도 대화 기록 지속성, 프롬프트 기록, `claude agents` 등록을 강제하려면 `1`로 설정하세요. 상속된 `CLAUDE_CODE_CHILD_SESSION` 값(예: `screen` 세션 또는 Claude Code의 Bash 도구에 의해 먼저 시작된 백그라운드 런처)이 진정한 최상위 세션을 중첩된 것으로 잘못 분류할 때 사용합니다. v2.1.178부터 Claude Code는 tmux 경우를 자동으로 감지하고 상속된 마커를 무시하므로 tmux는 더 이상 이 변수가 필요하지 않습니다. 또한 v2.1.169 이하에서도 인정됩니다. v2.1.170 및 v2.1.171에서는 효과가 없습니다. 이는 중첩된 세션 감지가 제거되었습니다 |293| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | 다른 Claude Code 세션 내에서 시작된 경우에도 대화 기록 지속성, 프롬프트 기록, `claude agents` 등록을 강제하려면 `1`로 설정하세요. 상속된 `CLAUDE_CODE_CHILD_SESSION` 값(예: `screen` 세션 또는 Claude Code의 Bash 도구에 의해 먼저 시작된 백그라운드 런처)이 진정한 최상위 세션을 중첩된 것으로 잘못 분류할 때 사용합니다. v2.1.178부터 Claude Code는 tmux 경우를 자동으로 감지하고 상속된 마커를 무시하므로 tmux는 더 이상 이 변수가 필요하지 않습니다. 또한 v2.1.169 이상에서 인정됩니다. v2.1.170 및 v2.1.171에서는 효과가 없습니다. 이는 중첩된 세션 감지가 제거되었습니다 |

294| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 터미널이 지원하지만 SSH를 통해 `TERM_PROGRAM`이 전달되지 않는 경우와 같이 자동 감지되지 않을 때 Claude의 응답에서 `~~text~~`에 대한 취소선 렌더링을 강제하려면 `1`로 설정하세요. 이것이 없으면, 감지되지 않은 터미널은 취소선으로 렌더링하는 대신 리터럴 `~~` 마커를 표시합니다. Claude Code v2.1.186 이상이 필요합니다 |294| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | 터미널이 지원하지만 SSH를 통해 `TERM_PROGRAM`이 전달되지 않는 경우와 같이 자동 감지되지 않을 때 Claude의 응답에서 `~~text~~`에 대한 취소선 렌더링을 강제하려면 `1`로 설정하세요. 이것이 없으면, 감지되지 않은 터미널은 취소선으로 렌더링하는 대신 리터럴 `~~` 마커를 표시합니다. Claude Code v2.1.186 이상이 필요합니다 |

295| `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)으로 전환하지 않습니다. 렌더러를 변경하지 않습니다 |295| `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)으로 전환하지 않습니다. 렌더러를 변경하지 않습니다 |

296| `CLAUDE_CODE_FORK_SUBAGENT` | [포크 모드](/docs/ko/sub-agents#turn-fork-mode-on-or-off)를 제어합니다. 이는 Claude가 [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 자신이 생성하도록 하며 대화형 세션에서만 기본적으로 켜져 있습니다. `claude -p` 및 Agent SDK에서도 켜려면 `1`로 설정하거나, 모든 종류의 세션에서 끄려면 `0`으로 설정하세요. 포크 모드가 켜져 있는지 여부에 관계없이 `/subtask`를 실행할 수 있습니다. 대화형 기본값에는 Claude Code v2.1.232 이상이 필요합니다. 이전 버전에서는 포크 모드를 켜려면 변수를 `1`로 설정하세요 |296| `CLAUDE_CODE_FORK_SUBAGENT` | [포크 모드](/docs/ko/sub-agents#turn-fork-mode-on-or-off)를 제어합니다. 이는 Claude가 [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 자신이 생성하도록 하며 대화형 세션에서만 기본적으로 켜져 있습니다. `claude -p` 및 Agent SDK에서도 켜려면 `1`로 설정하거나, 모든 종류의 세션에서 끄려면 `0`으로 설정하세요. 포크 모드가 켜져 있는지 여부에 관계없이 `/subtask`를 실행할 수 있습니다. 대화형 기본값에는 Claude Code v2.1.232 이상이 필요합니다. 이전 버전에서는 포크 모드를 켜려면 변수를 `1`로 설정하세요 |


475| `OTEL_LOG_USER_PROMPTS` | OpenTelemetry 추적 및 로그에 사용자 프롬프트 텍스트를 포함하려면 `1`로 설정하세요. 기본적으로 비활성화됩니다(프롬프트는 편집됨). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |475| `OTEL_LOG_USER_PROMPTS` | OpenTelemetry 추적 및 로그에 사용자 프롬프트 텍스트를 포함하려면 `1`로 설정하세요. 기본적으로 비활성화됩니다(프롬프트는 편집됨). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

476| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 메트릭 속성에서 계정 UUID를 제외하려면 `false`로 설정하세요(기본값: 포함). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |476| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 메트릭 속성에서 계정 UUID를 제외하려면 `false`로 설정하세요(기본값: 포함). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

477| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 메트릭 속성에 세션 진입점을 포함하려면 `true`로 설정하세요(기본값: 제외). v2.1.152에서 추가되었습니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |477| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 메트릭 속성에 세션 진입점을 포함하려면 `true`로 설정하세요(기본값: 제외). v2.1.152에서 추가되었습니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

478| `OTEL_METRICS_INCLUDE_REPOSITORY` | OpenTelemetry 메트릭 및 이벤트를 세션의 리포지토리를 식별하는 `vcs.*` 속성으로 태그하려면 `true`로 설정하세요(기본값: 제외). Claude Code v2.1.269 이상이 필요합니다. [리포지토리 속성](/docs/ko/monitoring-usage#repository-attributes)을 참조하세요 |

478| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | v2.1.161부터 Claude Code는 `OTEL_RESOURCE_ATTRIBUTES` 키를 메트릭 데이터포인트 레이블에 첨부합니다. 제외하려면 `false`로 설정하세요(기본값: 포함). [모니터링](/docs/ko/monitoring-usage#multi-team-organization-support)을 참조하세요 |479| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | v2.1.161부터 Claude Code는 `OTEL_RESOURCE_ATTRIBUTES` 키를 메트릭 데이터포인트 레이블에 첨부합니다. 제외하려면 `false`로 설정하세요(기본값: 포함). [모니터링](/docs/ko/monitoring-usage#multi-team-organization-support)을 참조하세요 |

479| `OTEL_METRICS_INCLUDE_SESSION_ID` | 메트릭 속성에서 세션 ID를 제외하려면 `false`로 설정하세요(기본값: 포함). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |480| `OTEL_METRICS_INCLUDE_SESSION_ID` | 메트릭 속성에서 세션 ID를 제외하려면 `false`로 설정하세요(기본값: 포함). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

480| `OTEL_METRICS_INCLUDE_VERSION` | 메트릭 속성에 Claude Code 버전을 포함하려면 `true`로 설정하세요(기본값: 제외). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |481| `OTEL_METRICS_INCLUDE_VERSION` | 메트릭 속성에 Claude Code 버전을 포함하려면 `true`로 설정하세요(기본값: 제외). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

errors.md +70 −40

Details

21아래에서 보이는 메시지와 일치하는 섹션을 찾으세요.21아래에서 보이는 메시지와 일치하는 섹션을 찾으세요.

22 22 

23| 메시지 | 섹션 |23| 메시지 | 섹션 |

24| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |24| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |

25| `API Error: 500 Internal server error` | [서버 오류](#api-error-500-internal-server-error) |25| `API Error: 500 Internal server error` | [서버 오류](#api-error-500-internal-server-error) |

26| `API Error: Repeated 529 Overloaded errors` | [서버 오류](#api-error-repeated-529-overloaded-errors) |26| `API Error: Repeated 529 Overloaded errors` | [서버 오류](#api-error-repeated-529-overloaded-errors) |

27| `Request timed out` | [서버 오류](#request-timed-out), 또는 메시지에 인터넷 연결이 언급된 경우 [네트워크](#unable-to-connect-to-api) |27| `Request timed out` | [서버 오류](#request-timed-out), 또는 메시지에 인터넷 연결이 언급된 경우 [네트워크](#unable-to-connect-to-api) |


43| `Server is temporarily limiting requests` | [사용 제한](#server-is-temporarily-limiting-requests) |43| `Server is temporarily limiting requests` | [사용 제한](#server-is-temporarily-limiting-requests) |

44| `Request rejected (429)` | [사용 제한](#request-rejected-429) |44| `Request rejected (429)` | [사용 제한](#request-rejected-429) |

45| `Credit balance is too low` | [사용 제한](#credit-balance-is-too-low) |45| `Credit balance is too low` | [사용 제한](#credit-balance-is-too-low) |

46| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [사용 제한](#youve-hit-your-monthly-spend-limit) |

46| `Could not update your spend limit` | [사용 제한](#could-not-update-your-spend-limit) |47| `Could not update your spend limit` | [사용 제한](#could-not-update-your-spend-limit) |

47| `spend limit reached` / `spend limit unavailable` | [사용 제한](#spend-limit-reached) |48| `spend limit reached` / `spend limit unavailable` | [사용 제한](#spend-limit-reached) |

48| `Not logged in · Please run /login` | [인증](#not-logged-in) |49| `Not logged in · Please run /login` | [인증](#not-logged-in) |


446* 응답의 앞부분에서 Claude Code는 실패를 재시도하거나 다른 오류로 턴을 종료합니다. [자동 재시도](#automatic-retries)를 참조하세요.447* 응답의 앞부분에서 Claude Code는 실패를 재시도하거나 다른 오류로 턴을 종료합니다. [자동 재시도](#automatic-retries)를 참조하세요.

447* 이러한 실패 중 하나가 Claude가 응답을 마친 후에 도착하면 Claude Code는 완전한 응답을 유지하고 이 공지 없이 턴을 정상적으로 종료합니다. v2.1.222 이전에는 Claude Code가 응답이 완료된 후 연결이 끊어지거나 정지되었을 때 이 공지를 표시했고 응답이 완전했음에도 불구하고 턴을 오류로 보고했습니다.448* 이러한 실패 중 하나가 Claude가 응답을 마친 후에 도착하면 Claude Code는 완전한 응답을 유지하고 이 공지 없이 턴을 정상적으로 종료합니다. v2.1.222 이전에는 Claude Code가 응답이 완료된 후 연결이 끊어지거나 정지되었을 때 이 공지를 표시했고 응답이 완전했음에도 불구하고 턴을 오류로 보고했습니다.

448* [비대화형 세션](/docs/ko/headless)(예: `-p` 실행, [Agent SDK](/docs/ko/agent-sdk/overview) 실행 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web))에서 잘린 응답이 주 대화에 있고 텍스트를 포함하지만 도구 호출이 없는 경우 `continue`를 직접 보낼 필요가 없습니다: Claude Code는 부분 출력을 유지하고 Claude에게 중단된 위치에서 계속하도록 프롬프트합니다. 최대 3번 연속으로. 이 공지는 Claude Code가 해당 연속을 모두 사용한 후에만 이러한 응답에 대해 표시됩니다. v2.1.246 이전에는 Claude Code가 비대화형 턴을 첫 번째 잘림에서 이 공지로 종료했습니다.449* [비대화형 세션](/docs/ko/headless)(예: `-p` 실행, [Agent SDK](/docs/ko/agent-sdk/overview) 실행 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web))에서 잘린 응답이 주 대화에 있고 텍스트를 포함하지만 도구 호출이 없는 경우 `continue`를 직접 보낼 필요가 없습니다: Claude Code는 부분 출력을 유지하고 Claude에게 중단된 위치에서 계속하도록 프롬프트합니다. 최대 3번 연속으로. 이 공지는 Claude Code가 해당 연속을 모두 사용한 후에만 이러한 응답에 대해 표시됩니다. v2.1.246 이전에는 Claude Code가 비대화형 턴을 첫 번째 잘림에서 이 공지로 종료했습니다.

449* [하위 에이전트](/docs/ko/sub-agents#api-errors-in-subagents)에서, 세션이 대화형인지 여부와 관계없이: 잘린 응답이 텍스트를 포함하지만 도구 호출이 없을 때 Claude Code는 하위 에이전트에게 계속하도록 프롬프트합니다. 공지는 해당 연속이 모두 사용된 후에만 하위 에이전트의 마지막 메시지가 됩니다. v2.1.257 이전에는 하위 에이전트가 첫 번째 잘림에서 이 공지를 표시했습니다.450* [하위 에이전트](/docs/ko/sub-agents#api-errors-in-subagents)에서, 세션이 대화형인지 여부와 관계없이: 잘린 응답이 텍스트를 포함하지만 도구 호출이 없을 때 Claude Code는 하위 에이전트에게 계속하도록 프롬프트합니다. 공지는 해당 연속이 사용될 때까지만 하위 에이전트의 마지막 메시지가 됩니다. v2.1.257 이전에는 하위 에이전트가 첫 번째 잘림에서 이 공지를 표시했습니다.

450 451 

451**수행할 작업:**452**수행할 작업:**

452 453 


568 569 

569Claude Code는 메시지에 표시된 재설정 시간까지 추가 요청을 차단합니다. 세션 및 주간 한도는 모든 모델에서 공유되므로 모델을 전환해도 액세스가 복구되지 않습니다. Opus 및 Sonnet 한도는 각각 해당 모델 제품군에 대한 요청에만 적용되므로 `/model`을 사용하여 제품군 외부의 모델로 전환하면 계속 작업할 수 있습니다.570Claude Code는 메시지에 표시된 재설정 시간까지 추가 요청을 차단합니다. 세션 및 주간 한도는 모든 모델에서 공유되므로 모델을 전환해도 액세스가 복구되지 않습니다. Opus 및 Sonnet 한도는 각각 해당 모델 제품군에 대한 요청에만 적용되므로 `/model`을 사용하여 제품군 외부의 모델로 전환하면 계속 작업할 수 있습니다.

570 571 

571claude.ai 구독으로 로그인한 대화형 세션에서 Claude Code는 열린 세션에서 대기할 수 있으며 재설정 직후 중단된 작업을 계속할 수 있습니다. 대기 중에 세션 하단의 줄에 `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`이 표시됩니다. 빈 프롬프트에서 `Esc`를 눌러 대기를 취소합니다. 표시되는 내용, 대기를 시작하거나 취소하는 방법, 자동 계속을 끄는 방법은 [Wait for a usage limit to reset](/docs/ko/interactive-mode#wait-for-a-usage-limit-to-reset)을 참조하십시오. v2.1.234 이전에는 Claude Code가 이 대기 기능을 제공하지 않았습니다.572claude.ai 구독으로 로그인한 대화형 세션에서 Claude Code는 열린 세션에서 대기할 수 있으며 재설정 직후 중단된 작업을 계속할 수 있습니다. 대기 중에 세션 하단의 줄에 `Usage limit reached · continuing automatically at 3:45pm · esc to cancel`이 표시됩니다. 빈 프롬프트에서 `Esc`를 눌러 대기를 취소합니다. 표시되는 내용, 대기를 시작하거나 취소하는 방법, 자동 계속을 끄는 방법은 [사용 한도 재설정 대기](/docs/ko/interactive-mode#wait-for-a-usage-limit-to-reset)를 참조하십시오. v2.1.234 이전에는 Claude Code가 이 대기 기능을 제공하지 않았습니다.

572 573 

573사용량은 세션 및 주간 허용량에 동시에 계산됩니다. 대규모 워크플로우 팬아웃과 같은 대량의 활동이 한 번에 발생하면 세션 창이 재설정되기 전에 주간 허용량이 소진될 수 있습니다.574사용량은 세션 및 주간 허용량에 동시에 계산됩니다. 대규모 워크플로우 팬아웃과 같은 대량의 활동이 한 번에 발생하면 세션 창이 재설정되기 전에 주간 허용량이 소진될 수 있습니다.

574 575 


576 577 

577* 오류에 표시된 재설정 시간까지 대기합니다578* 오류에 표시된 재설정 시간까지 대기합니다

578* [Desktop app](/docs/ko/desktop)의 Code 탭에서 세션 한도 카드는 **Auto-continue when limits reset** 체크박스를 제공합니다. 주간 한도 카드는 제공하지 않습니다. 체크되어 있으면 Desktop app은 재설정 후 중단된 턴을 다시 시도하고 카드에 재시도 시간을 표시합니다. Desktop 체크박스와 CLI의 `/config`의 **Continue automatically at usage limit** 설정은 별개이므로 각각 개별적으로 끕니다.579* [Desktop app](/docs/ko/desktop)의 Code 탭에서 세션 한도 카드는 **Auto-continue when limits reset** 체크박스를 제공합니다. 주간 한도 카드는 제공하지 않습니다. 체크되어 있으면 Desktop app은 재설정 후 중단된 턴을 다시 시도하고 카드에 재시도 시간을 표시합니다. Desktop 체크박스와 CLI의 `/config`의 **Continue automatically at usage limit** 설정은 별개이므로 각각 개별적으로 끕니다.

579* Opus 또는 Sonnet 한도의 경우 `/model`을 실행하고 해당 제품군 외부의 모델로 전환하여 계속 작업합니다. 각 모델에는 자체 프롬프트 캐시가 있으므로 다음 요청은 캐시 히트 없이 전체 대화를 다시 읽습니다. [Switching models](/docs/ko/prompt-caching#switching-models)을 참조하십시오580* Opus 또는 Sonnet 한도의 경우 `/model`을 실행하고 해당 제품군 외부의 모델로 전환하여 계속 작업합니다. 각 모델에는 자체 프롬프트 캐시가 있으므로 다음 요청은 캐시 히트 없이 전체 대화를 다시 읽습니다. [모델 전환](/docs/ko/prompt-caching#switching-models)을 참조하십시오

580* `/usage`를 실행하여 플랜 한도 및 재설정 시간을 확인합니다581* `/usage`를 실행하여 플랜 한도 및 재설정 시간을 확인합니다

581* `/usage-credits`를 실행하여 Pro 및 Max에서 추가 사용량을 구매하거나 Team 및 Enterprise에서 관리자에게 요청합니다. 이것이 청구되는 방식은 [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 참조하십시오.582* `/usage-credits`를 실행하여 Pro 및 Max에서 추가 사용량을 구매하거나 Team 및 Enterprise에서 관리자에게 요청합니다. 이것이 청구되는 방식은 [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 참조하십시오.

582* 더 높은 기본 한도를 위해 플랜을 업그레이드하려면 [claude.com/pricing](https://claude.com/pricing)을 참조하십시오583* 더 높은 기본 한도를 위해 플랜을 업그레이드하려면 [claude.com/pricing](https://claude.com/pricing)을 참조하십시오

583 584 

584한도에 도달하기 전에 남은 허용량을 모니터링하려면 [custom status line](/docs/ko/statusline#rate-limit-usage)에 `rate_limits` 필드를 추가하거나 Desktop app에서 모델 선택기 옆의 [usage ring](/docs/ko/desktop#check-usage)을 클릭합니다.585한도에 도달하기 전에 Claude Code는 남은 허용량을 대부분 사용했다는 경고를 표시할 수 있으며, `You've used 85% of your session limit · resets 3:45pm`과 같은 메시지가 표시됩니다. 남은 허용량을 지속적으로 모니터링하려면 [custom status line](/docs/ko/statusline#rate-limit-usage)에 `rate_limits` 필드를 추가하거나 Desktop app에서 모델 선택기 옆의 [usage ring](/docs/ko/desktop#check-usage)을 클릭합니다.

585 586 

586<h3 id="usage-credits-required-for-1m-context">587<h3 id="usage-credits-required-for-1m-context">

587 1M 컨텍스트에 필요한 사용 크레딧588 1M 컨텍스트에 필요한 사용 크레딧


593API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context594API Error: Usage credits required for 1M context · run /usage-credits to turn them on, or /model to switch to standard context

594```595```

595 596 

596이는 할당량 소진이 아닌 자격 확인입니다. 세션 및 주간 허용량에 용량이 남아 있어도 발생합니다. 1M 컨텍스트를 직접 포함하는 플랜과 사용 크레딧이 필요한 플랜은 [Extended context](/docs/ko/model-config#extended-context)를 참조하십시오. Claude Code는 `/model`로 모델을 선택할 때 이 확인을 실행하며 Anthropic API에 대한 직접 연결에서만 실행됩니다. `ANTHROPIC_BASE_URL`을 [LLM gateway](/docs/ko/llm-gateway)로 지정하면 `/model`은 `[1m]` 선택을 허용하고 게이트웨이가 요청 성공 여부를 결정합니다.597이는 할당량 소진이 아닌 자격 확인입니다. 세션 및 주간 허용량에 용량이 남아 있어도 발생합니다. 1M 컨텍스트를 직접 포함하는 플랜과 사용 크레딧이 필요한 플랜은 [확장 컨텍스트](/docs/ko/model-config#extended-context)를 참조하십시오. Claude Code는 `/model`로 모델을 선택할 때 이 확인을 실행하며 Anthropic API에 대한 직접 연결에서만 실행됩니다. `ANTHROPIC_BASE_URL`을 [LLM gateway](/docs/ko/llm-gateway)로 지정하면 `/model`은 `[1m]` 선택을 허용하고 게이트웨이가 요청 성공 여부를 결정합니다.

597 598 

598이 오류가 컨텍스트가 200K 토큰을 초과하여 대화 중간에 나타나면 Claude Code는 자동으로 대화를 표준 컨텍스트 한도 아래로 압축하고 이후 세션을 해당 한도로 유지하므로 조치가 필요하지 않습니다. v2.1.172 이전 버전에서는 `/compact`를 포함한 모든 후속 요청에서 오류가 반복되었습니다. 해당 버전에서 복구하려면 `/clear`를 실행합니다. 아래 단계는 명시적으로 `[1m]` 모델을 선택한 경우에 적용됩니다.599이 오류가 컨텍스트가 200K 토큰을 초과하여 대화 중간에 나타나면 Claude Code는 자동으로 대화를 표준 컨텍스트 한도 아래로 압축하고 이후 세션을 해당 한도로 유지하므로 조치가 필요하지 않습니다. v2.1.172 이전 버전에서는 `/compact`를 포함한 모든 후속 요청에서 오류가 반복되었습니다. 해당 버전에서 복구하려면 `/clear`를 실행합니다. 아래 단계는 명시적으로 `[1m]` 모델을 선택한 경우에 적용됩니다.

599 600 


601 602 

602* `/model`을 실행하고 `[1m]` 접미사 없는 변형을 선택하여 표준 컨텍스트 윈도우로 폴백합니다603* `/model`을 실행하고 `[1m]` 접미사 없는 변형을 선택하여 표준 컨텍스트 윈도우로 폴백합니다

603* 메시지가 `/usage-credits`를 지정하는 경우 이를 실행하여 Pro 및 Max에서 1M 변형에 대한 측정 청구를 켜거나 Team 및 Enterprise에서 관리자에게 사용 크레딧을 요청합니다604* 메시지가 `/usage-credits`를 지정하는 경우 이를 실행하여 Pro 및 Max에서 1M 변형에 대한 측정 청구를 켜거나 Team 및 Enterprise에서 관리자에게 사용 크레딧을 요청합니다

604* `/model` 후에도 오류가 지속되면 1M 모델 ID가 다른 곳에 설정되어 있을 수 있습니다. 우선순위 순서로 확인할 구성 위치는 [Setting your model](/docs/ko/model-config#setting-your-model)을 참조하십시오.605* `/model` 후에도 오류가 지속되면 1M 모델 ID가 다른 곳에 설정되어 있을 수 있습니다. 우선순위 순서로 확인할 구성 위치는 [모델 설정](/docs/ko/model-config#setting-your-model)을 참조하십시오.

605* 모델 선택기에서 1M 변형을 완전히 제거하려면 [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정합니다606* 모델 선택기에서 1M 변형을 완전히 제거하려면 [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정합니다

606 607 

607<h3 id="the-prompt-to-confirm-went-unanswered">608<h3 id="the-prompt-to-confirm-went-unanswered">

608 확인 프롬프트에 응답이 없습니다609 확인 프롬프트에 응답이 없습니다

609</h3>610</h3>

610 611 

611계정에 [Fable usage-credits consent](/docs/ko/model-config#fable-and-usage-credits)가 필요한 경우 Claude Code는 Fable 요청이 사용 크레딧을 청구하기 전에 확인하도록 요청합니다. 터미널이 없을 수 있는 세션에서 아무도 해당 동의 프롬프트에 응답하지 않으면 Claude Code는 프롬프트를 닫고 다음 메시지 중 하나로 턴을 종료합니다:612계정에 [Fable 사용 크레딧 동의](/docs/ko/model-config#fable-and-usage-credits)가 필요한 경우 Claude Code는 Fable 요청이 사용 크레딧을 청구하기 전에 확인하도록 요청합니다. 터미널이 없을 수 있는 세션에서 아무도 해당 동의 프롬프트에 응답하지 않으면 Claude Code는 프롬프트를 닫고 다음 메시지 중 하나로 턴을 종료합니다:

612 613 

613```text theme={null}614```text theme={null}

614Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change615Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change


637API Error: Server is temporarily limiting requests (not your usage limit)638API Error: Server is temporarily limiting requests (not your usage limit)

638```639```

639 640 

640Claude Code는 실제 한도 응답이 전달하는 통합 할당량 헤더의 부재로 이를 플랜 한도와 구분합니다. v2.1.199부터 이는 인증 방식에 관계없이 [automatically retried](#automatic-retries) 백오프로 표시되기 전에 실행됩니다. 이전 버전에서는 claude.ai 구독으로 로그인한 세션이 첫 번째 발생에서 턴에 실패했습니다. API 키 및 Enterprise 로그인만 재시도했습니다.641Claude Code는 실제 한도 응답이 전달하는 통합 할당량 헤더의 부재로 이를 플랜 한도와 구분합니다. v2.1.199부터 이는 인증 방식에 관계없이 [자동으로 재시도](#automatic-retries)되며 백오프로 표시되기 전에 실행됩니다. 이전 버전에서는 claude.ai 구독으로 로그인한 세션이 첫 번째 발생에서 턴에 실패했습니다. API 키 및 Enterprise 로그인만 재시도했습니다.

641 642 

642**수행할 작업:**643**수행할 작업:**

643 644 


663* Anthropic API 키의 경우 계층이 작동하는 방식과 워크스페이스별 상한을 설정하는 방법은 [rate limits reference](https://platform.claude.com/docs/en/api/rate-limits)를 참조하십시오664* Anthropic API 키의 경우 계층이 작동하는 방식과 워크스페이스별 상한을 설정하는 방법은 [rate limits reference](https://platform.claude.com/docs/en/api/rate-limits)를 참조하십시오

664* 동시성 감소: [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/ko/env-vars)를 낮추고, 많은 병렬 서브에이전트 실행을 피하거나, 대량 스크립트 실행을 위해 `/model`로 더 작은 모델로 전환합니다665* 동시성 감소: [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/ko/env-vars)를 낮추고, 많은 병렬 서브에이전트 실행을 피하거나, 대량 스크립트 실행을 위해 `/model`로 더 작은 모델로 전환합니다

665 666 

667<h3 id="youve-hit-your-monthly-spend-limit">

668 월간 지출 한도에 도달했습니다

669</h3>

670 

671플랜의 포함된 사용량이 이 요청을 충당할 수 없으며, 그렇지 않으면 이를 지불할 [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)이 지출 한도에 도달했습니다. 이는 플랜의 사용 창 중 하나가 소진되었거나 요청이 [사용 크레딧에 청구되는](/docs/ko/model-config#fable-and-usage-credits) 모델에 대한 요청과 같이 사용 크레딧만 지불하는 요청일 때 발생합니다. 메시지는 어느 한도가 사용자를 차단했는지 지정합니다. `·` 뒤의 텍스트는 해당 한도를 높이는 방법을 설명하며 플랜 및 청구 관리 여부에 따라 다릅니다:

672 

673```text theme={null}

674You've hit your monthly spend limit · raise it at claude.ai/settings/usage

675You've hit your individual spend limit · ask your admin for a higher limit

676You've hit your org's monthly spend limit · visit claude.ai/admin-settings/usage to raise it

677You've hit your team's shared budget · ask your admin to raise it at claude.ai/admin-settings/usage

678You've hit your channel's monthly spend limit · an org owner or channel manager can raise it in the channel's Claude settings

679```

680 

681`team's shared budget`는 관리자가 속한 그룹에 할당한 풀링된 예산입니다. 메시지는 그룹을 지정하지 않습니다. `channel's monthly spend limit`은 세션이 실행되는 Slack 채널의 예산이므로 조직은 여전히 그 외부에 예산이 있을 수 있습니다.

682 

683플랜의 창 중 하나가 소진된 경우 메시지는 해당 창이 재설정될 때를 나타내며, 예를 들어 `· your session limit resets 3:45pm`이고 아무도 한도를 높이지 않으면 액세스가 그때 반환됩니다. 사용량 기반 청구가 있는 조직에서 메시지는 `spend limit` 대신 `usage limit`을 나타내며, `You've hit your individual usage limit`과 같습니다.

684 

685v2.1.239 이전에는 메시지가 플랜 창의 재설정 시간을 지정하지 않았습니다. v2.1.268 이전에는 그룹의 풀링된 예산이 `individual spend limit` 메시지 대신 `team's shared budget`을 생성했습니다.

686 

687Claude apps 게이트웨이를 통해 연결하고 소문자 `spend limit reached`를 보면 그것은 게이트웨이 운영자의 상한입니다. [지출 한도 도달](#spend-limit-reached)을 참조하십시오.

688 

689**수행할 작업:**

690 

691* Pro 및 Max에서 claude.ai의 [**Settings > Usage**](https://claude.ai/settings/usage)에서 월간 지출 한도를 높이거나 `/usage-credits`를 실행합니다

692* Team 및 Enterprise에서 청구를 관리하면 [**Admin settings > Usage**](https://claude.ai/admin-settings/usage)에서 한도를 높이거나 관리자에게 요청합니다. `/usage-credits`는 관리자에게 해당 요청을 보냅니다

693* 채널의 한도의 경우 조직 소유자 또는 채널의 관리자에게 claude.ai에서 이를 높이도록 요청합니다. Claude Tag 문서의 [Per-channel limits](https://claude.com/docs/claude-tag/admins/set-spend-limit#per-channel-limits)를 참조하십시오

694* 메시지가 플랜의 창에 대한 재설정 시간을 지정하면 대신 기다릴 수 있습니다

695* `/usage`를 실행하여 플랜의 창과 각각 재설정될 때를 확인합니다

696 

666<h3 id="spend-limit-reached">697<h3 id="spend-limit-reached">

667 지출 한도 도달698 지출 한도 도달

668</h3>699</h3>


696 727 

697* Pro, Max, Team 또는 Enterprise 플랜이 있고 이것을 보면 `/status`를 실행하고 `API key` 행을 확인합니다. 환경의 승인된 `ANTHROPIC_API_KEY`는 구독 대신 해당 키를 통해 요청을 라우팅합니다. 현재 셸에서 설정을 해제하고 셸 프로필에서 제거한 후 `claude`를 다시 시작합니다. 아직 구독으로 로그인하지 않았으면 `/login`을 실행합니다.728* Pro, Max, Team 또는 Enterprise 플랜이 있고 이것을 보면 `/status`를 실행하고 `API key` 행을 확인합니다. 환경의 승인된 `ANTHROPIC_API_KEY`는 구독 대신 해당 키를 통해 요청을 라우팅합니다. 현재 셸에서 설정을 해제하고 셸 프로필에서 제거한 후 `claude`를 다시 시작합니다. 아직 구독으로 로그인하지 않았으면 `/login`을 실행합니다.

698* [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing)에서 크레딧을 추가하고 잔액이 0에 도달하기 전에 자동 재로드를 활성화하는 것을 고려합니다729* [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing)에서 크레딧을 추가하고 잔액이 0에 도달하기 전에 자동 재로드를 활성화하는 것을 고려합니다

699* Console에서 워크스페이스별 지출 상한을 설정하여 단일 프로젝트가 조직 잔액을 소진하는 것을 방지합니다. [Manage costs effectively](/docs/ko/costs)를 참조하십시오.730* Console에서 워크스페이스별 지출 상한을 설정하여 단일 프로젝트가 조직 잔액을 소진하는 것을 방지합니다. [비용 효과적으로 관리](/docs/ko/costs)를 참조하십시오.

700 731 

701<h3 id="could-not-update-your-spend-limit">732<h3 id="could-not-update-your-spend-limit">

702 지출 한도를 업데이트할 수 없습니다733 지출 한도를 업데이트할 수 없습니다


796 827 

797[비대화형 모드](/docs/ko/headless)에서 stderr도 `apiKeyHelper failed:`로 접두사가 붙은 특정 이유를 전달합니다.828[비대화형 모드](/docs/ko/headless)에서 stderr도 `apiKeyHelper failed:`로 접두사가 붙은 특정 이유를 전달합니다.

798 829 

799Claude Code는 스크립트를 다시 실행하고 이 메시지를 표시하기 전에 요청을 최대 2회 더 재시도하므로, 실패는 3번의 시도 내에 나타납니다. v2.1.208 이전에는 Claude Code가 전체 [재시도 예산](#automatic-retries)을 자리 표시자 자격증명으로 요청을 재전송하는 데 사용한 후 스크립트 실패 대신 일반적인 `401` 인증 오류를 보고했습니다.830Claude Code는 스크립트를 다시 실행하고 이 메시지를 표시하기 전에 요청을 최대 2회 더 재시도하므로, 실패는 3번의 시도 내에 나타납니다. v2.1.208 이전에는 Claude Code가 전체 [재시도 예산](#automatic-retries)을 자리 표시자 자격증명으로 요청을 재전송하는 데 사용한 후 일반적인 `401` 인증 오류 대신 스크립트 실패를 보고했습니다.

800 831 

801`/login`을 실행하는 것은 여기서 도움이 되지 않습니다: 헬퍼의 출력은 설정이 있는 한 저장된 로그인보다 [우선합니다](/docs/ko/authentication#authentication-precedence).832`/login`을 실행하는 것은 여기서 도움이 되지 않습니다: 헬퍼의 출력은 설정이 있는 한 저장된 로그인보다 [우선합니다](/docs/ko/authentication#authentication-precedence).

802 833 


1036 1067 

1037```text theme={null}1068```text theme={null}

1038OAuth token revoked · Please run /login1069OAuth token revoked · Please run /login

1039OAuth token has expired · Please run /login1070Please run /login · API Error: 401 OAuth token has expired ...

1040API Error: 401 ... authentication_error

1041```1071```

1042 1072 

1043**수행할 작업:**1073**수행할 작업:**


1083Failed to authenticate: OAuth session expired and could not be refreshed1113Failed to authenticate: OAuth session expired and could not be refreshed

1084```1114```

1085 1115 

1086이것은 [OAuth 토큰이 취소되었거나 만료되었습니다](#oauth-token-revoked-or-expired)와 동일한 상태가 아닙니다. 이러한 메시지는 API가 반환한 401을 보고합니다. Claude Code 자체는 이미 갱신에 실패한 로그인에 대해 `Login expired`를 생성하므로 요청을 전송하지 않습니다. 갱신이 로그인이 오래되었기보다는 계정 자체가 일시 중단되었기 때문에 실패하면, Claude Code는 대신 [계정이 보류 중입니다](#your-account-is-on-hold)를 표시합니다.1116이것은 [OAuth 토큰이 취소되었거나 만료되었습니다](#oauth-token-revoked-or-expired)와 동일한 상태가 아닙니다. 이러한 메시지는 API가 반환한 거부를 보고합니다. Claude Code 자체는 이미 갱신에 실패한 로그인에 대해 `Login expired`를 생성하므로 요청을 전송하지 않습니다. 갱신이 로그인이 오래되었기보다는 계정 자체가 일시 중단되었기 때문에 실패하면, Claude Code는 대신 [계정이 보류 중입니다](#your-account-is-on-hold)를 표시합니다.

1087 1117 

1088API 키, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars) 또는 타사 공급자로 인증된 세션은 저장된 로그인을 사용하지 않으며 이 메시지를 절대 보지 않습니다.1118API 키, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars) 또는 타사 공급자로 인증된 세션은 저장된 로그인을 사용하지 않으며 이 메시지를 절대 보지 않습니다.

1089 1119 


1209Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"1239Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"

1210```1240```

1211 1241 

1212`expected`는 서버의 OAuth 메타데이터의 발급자이고, `received`는 리디렉션이 전달한 `iss` 값입니다. 리디렉션에 `iss` 매개변수가 없는 로그인은 확인을 통과합니다. 단, 서버의 메타데이터가 `authorization_response_iss_parameter_supported`를 설정한 경우에는 Claude Code가 로그인을 실패시킵니다.1242`expected`는 서버의 OAuth 메타데이터의 발급자이고, `received`는 리디렉션이 전달한 `iss` 값입니다. `iss` 매개변수가 없는 로그인은 서버의 메타데이터가 `authorization_response_iss_parameter_supported`를 설정하지 않으면 확인을 통과합니다. 이 경우 Claude Code는 로그인을 실패합니다.

1213 1243 

1214**수행할 작업:**1244**수행할 작업:**

1215 1245 


1322A request to AWS timed out. Check your network and proxy settings, then try again.1352A request to AWS timed out. Check your network and proxy settings, then try again.

1323```1353```

1324 1354 

1325동일한 시간 초과가 모델 핀 단계에서 발생하면, 마법사는 두 메시지 중 하나를 표시하는 대신 모델을 `unreachable`로 표시합니다.1355동일한 시간 초과가 모델 핀 단계에서 발생하면, 마법사는 모델을 `unreachable`로 표시하는 대신 두 메시지 중 하나를 표시합니다.

1326 1356 

1327**수행할 작업:**1357**수행할 작업:**

1328 1358 


1725Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.1755Context exceeds the 200k-token limit by 94k tokens — run /compact or /clear to continue.

1726```1756```

1727 1757 

1728초과한 제한이 1M 컨텍스트 모델의 200K 경계와 같은 모델의 컨텍스트 윈도우보다 작은 압축 윈도우인 경우, 경고는 다르게 읽힙니다. 요청은 압축 윈도우를 초과하여 성공합니다. 명명된 명령을 실행하여 사용량을 다시 가져옵니다.1758초과한 제한이 1M 컨텍스트 모델의 200K 경계와 같은 모델의 컨텍스트 윈도우보다 작은 압축 윈도우인 경우, 경고는 다르게 읽힙니다. 압축 윈도우는 모델의 컨텍스트 윈도우 아래에 있을 수 있으므로 그것을 지난 요청은 여전히 성공할 수 있습니다.

1729 1759 

1730```text theme={null}1760```text theme={null}

1731Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.1761Context is 94k tokens past the 200k-token compaction window — run /compact to reduce usage.


2410 claude import는 이 빌드에서 아직 사용할 수 없음2440 claude import는 이 빌드에서 아직 사용할 수 없음

2411</h3>2441</h3>

2412 2442 

2413[`claude import`](/docs/ko/cli-reference#cli-commands)를 실행했으며 Claude Code가 가져오기 흐름이 꺼져 있음을 발견했으므로 명령어가 가져오기를 시작하는 대신 종료 코드 1로 종료됩니다. v2.1.222 이전에는 가져오기 흐름이 꺼진 빌드가 `import`를 프롬프트로 처리하고 이 메시지를 인쇄하는 대신 대화형 세션을 시작했습니다.2443[`claude import`](/docs/ko/cli-reference#cli-commands)를 실행했으며 Claude Code가 가져오기 흐름이 꺼져 있음을 발견했으므로 명령어가 이 메시지를 인쇄하는 대신 종료 코드 1로 종료됩니다. v2.1.222 이전에는 가져오기 흐름이 꺼진 빌드가 `import`를 프롬프트로 처리하고 이 메시지를 인쇄하는 대신 대화형 세션을 시작했습니다.

2414 2444 

2415```text theme={null}2445```text theme={null}

2416`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.2446`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.


2585**해야 할 일:**2615**해야 할 일:**

2586 2616 

2587* 원격의 기본 브랜치를 이름 지정하여 ref를 생성하세요: `git remote set-head origin <default-branch>`. 이는 로컬 추적 ref `origin/<default-branch>`가 존재할 때마다 작동합니다. 단일 브랜치 클론처럼 없으면 먼저 브랜치를 가져오세요: `git remote set-branches --add origin <branch>`를 실행한 후 `git fetch origin`을 실행한 후 set-head 명령어를 다시 실행하세요. `/security-review`를 다시 실행하세요.2617* 원격의 기본 브랜치를 이름 지정하여 ref를 생성하세요: `git remote set-head origin <default-branch>`. 이는 로컬 추적 ref `origin/<default-branch>`가 존재할 때마다 작동합니다. 단일 브랜치 클론처럼 없으면 먼저 브랜치를 가져오세요: `git remote set-branches --add origin <branch>`를 실행한 후 `git fetch origin`을 실행한 후 set-head 명령어를 다시 실행하세요. `/security-review`를 다시 실행하세요.

2588* 브랜치를 이름 지정하지 않으려면 `git fetch origin`을 실행한 후 `git remote set-head origin --auto`를 실행하세요. 이는 원격에 기본 브랜치가 무엇인지 묻습니다. 원격이 기본 브랜치를 광고하지 않을 때 `error: Cannot determine remote HEAD`로 실패합니다. 비어 있거나 HEAD가 아무도 푸시하지 않은 브랜치를 가리키기 때문입니다. 대신 브랜치를 명시적으로 이름 지정하세요. 클론이 해당 브랜치를 가져오지 않을 때 `error: Not a valid ref`로 실패합니다. 먼저 위와 같이 refspec을 넓히세요.2618* 브랜치를 이름 지정하지 않으려면 `git fetch origin`을 실행한 후 `git remote set-head origin --auto`를 실행하세요. 이는 원격에 기본 브랜치가 무엇인지 묻습니다. 원격이 기본 브랜치를 광고하지 않을 때 실패합니다. 비어 있거나 HEAD가 아무도 푸시하지 않은 브랜치를 가리키기 때문입니다. 대신 브랜치를 명시적으로 이름 지정하세요. 클론이 해당 브랜치를 가져오지 않을 때 `error: Not a valid ref`로 실패합니다. 먼저 위와 같이 refspec을 넓히세요.

2589* 저장소에 원격이 없으면 `git remote add origin <url>`로 추가하고 ref를 생성하기 전에 가져오세요. 원격이 비어 있으면 `git push -u origin HEAD`로 브랜치를 먼저 푸시하고 set-head 명령어에서 해당 브랜치를 이름 지정하세요. `origin/HEAD`는 방금 푸시한 브랜치를 가리키므로 `/security-review`는 브랜치가 그것에서 분기될 때까지 빈 diff를 봅니다.2619* 저장소에 원격이 없으면 `git remote add origin <url>`로 추가하고 ref를 생성하기 전에 가져오세요. 원격이 비어 있으면 `git push -u origin HEAD`로 브랜치를 먼저 푸시하고 set-head 명령어에서 해당 브랜치를 이름 지정하세요. `origin/HEAD`는 방금 푸시한 브랜치를 가리키므로 `/security-review`는 브랜치가 그것에서 분기될 때까지 빈 diff를 봅니다.

2590 2620 

2591<h3 id="input-must-be-provided-when-using-print">2621<h3 id="input-must-be-provided-when-using-print">


2600 2630 

2601**해야 할 일:**2631**해야 할 일:**

2602 2632 

2603* 대화형 사용의 경우 실제 터미널에서 `claude`를 실행하세요: ISE가 아닌 Windows Terminal 또는 PowerShell 콘솔, 출력 창이 아닌 IDE의 통합 터미널.2633* 대화형 사용의 경우 실제 터미널에서 `claude`를 실행하세요: ISE가 아닌 Windows Terminal 또는 PowerShell 콘솔, IDE의 통합 터미널이 아닌 출력 창.

2604* 일회용 사용의 경우 프롬프트를 전달하세요: `claude -p "your question"` 또는 `echo "your question" | claude -p`로 파이프하세요.2634* 일회용 사용의 경우 프롬프트를 전달하세요: `claude -p "your question"` 또는 `echo "your question" | claude -p`로 파이프하세요.

2605 2635 

2606<h3 id="input-contained-only-whitespace">2636<h3 id="input-contained-only-whitespace">


3637 3667 

3638npm 설치에서 `npm install -g @anthropic-ai/claude-code`가 바이너리를 대체하는 동안 나타나는 `EUNKNOWN`은 [`EACCES` during a reinstall](#eacces-when-starting-a-background-session)과 같은 원인을 가지며 설치가 완료된 후 재시도할 때 지워집니다.3668npm 설치에서 `npm install -g @anthropic-ai/claude-code`가 바이너리를 대체하는 동안 나타나는 `EUNKNOWN`은 [`EACCES` during a reinstall](#eacces-when-starting-a-background-session)과 같은 원인을 가지며 설치가 완료된 후 재시도할 때 지워집니다.

3639 3669 

3640Claude Code는 서비스가 터미널을 닫을 때 생존하도록 PowerShell을 통해 백그라운드 서비스를 시작하며, PowerShell 7이 설치되어 있으면 PowerShell 7을 사용하고 그렇지 않으면 Windows PowerShell 5.1을 사용합니다. 두 PowerShell 모두 실행될 수 없으면 Claude Code는 대신 서비스를 직접 시작하므로 PowerShell만 차단하는 정책은 이 오류를 발생시키지 않습니다. npm 설치가 실행 중이 아닌 동안 이를 보면 정책이 Claude Code 실행 파일 자체를 차단합니다.3670Claude Code는 서비스가 터미널을 닫을 때 생존하도록 PowerShell을 통해 백그라운드 서비스를 시작하며, PowerShell 7이 설치되어 있으면 PowerShell 7을 사용하고 그렇지 않으면 Windows PowerShell 5.1을 사용합니다. PowerShell이 실행될 수 없으면 Claude Code는 대신 서비스를 직접 시작하므로 PowerShell만 차단하는 정책은 이 오류를 발생시키지 않습니다. PowerShell이 실행될 수 없으면 Claude Code는 대신 서비스를 직접 시작하므로 PowerShell만 차단하는 정책은 이 오류를 발생시키지 않습니다. npm 설치가 실행 중이 아닌 동안 이를 보면 정책이 Claude Code 실행 파일 자체를 차단합니다.

3641 3671 

3642v2.1.212 이전에는 Claude Code가 Windows PowerShell 5.1만 사용하여 서비스를 시작했으므로 그룹 정책이 PowerShell 5.1을 차단한 모든 머신이 `Couldn't start the session — EUNKNOWN: unknown error, uv_spawn`으로 실패했으며, PowerShell 7이 설치되어 있었습니다.3672v2.1.212 이전에는 Claude Code가 Windows PowerShell 5.1만 사용하여 서비스를 시작했으므로 그룹 정책이 PowerShell 5.1을 차단한 모든 머신이 `Couldn't start the session — EUNKNOWN: unknown error, uv_spawn`으로 실패했으며, PowerShell 7이 설치되어 있었습니다.

3643 3673 


3880이 머신의 이전 [전체 화면](/docs/ko/fullscreen) 세션이 시작을 완료하기 전에 종료되었으므로 Claude Code는 이 세션을 클래식 렌더러에서 시작하고 다음 알림 중 하나를 출력합니다:3910이 머신의 이전 [전체 화면](/docs/ko/fullscreen) 세션이 시작을 완료하기 전에 종료되었으므로 Claude Code는 이 세션을 클래식 렌더러에서 시작하고 다음 알림 중 하나를 출력합니다:

3881 3911 

3882```text theme={null}3912```text theme={null}

3883Claude Code's fullscreen renderer didn't finish starting last time on this machine, so this launch is using the classic renderer. It will try fullscreen again next launch; /tui default keeps the classic renderer.3913Claude Code의 전체 화면 렌더러가 지난번 이 머신에서 시작을 완료하지 못했으므로 이번 실행은 클래식 렌더러를 사용합니다. 다음 실행에서 전체 화면을 다시 시도할 것입니다. /tui default는 클래식 렌더러를 유지합니다.

3884 3914 

3885Claude Code's fullscreen renderer has repeatedly failed to start on this machine, so it has been turned off here. Run /tui fullscreen to try it again (this also resets after an update).3915Claude Code의 전체 화면 렌더러가 이 머신에서 반복적으로 시작에 실패했으므로 여기서 비활성화되었습니다. /tui fullscreen을 실행하여 다시 시도하세요(이는 업데이트 후에도 재설정됩니다).

3886```3916```

3887 3917 

3888**할 일:**3918**할 일:**


3899Claude Code는 터미널 인터페이스가 복구할 수 없는 오류에 부딪혔을 때 종료되며, 두 렌더러 중 하나에서 이 메시지를 출력합니다. 두 번째 문장은 [전체 화면](/docs/ko/fullscreen) 렌더러가 시작되는 동안 오류가 발생했을 때만 나타납니다:3929Claude Code는 터미널 인터페이스가 복구할 수 없는 오류에 부딪혔을 때 종료되며, 두 렌더러 중 하나에서 이 메시지를 출력합니다. 두 번째 문장은 [전체 화면](/docs/ko/fullscreen) 렌더러가 시작되는 동안 오류가 발생했을 때만 나타납니다:

3900 3930 

3901```text theme={null}3931```text theme={null}

3902Claude Code exited after an unrecoverable interface error (<error>). It happened while the fullscreen renderer was starting, so the next launch will use the classic renderer (CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 forces that any time).3932Claude Code가 복구할 수 없는 인터페이스 오류(<error>)로 인해 종료되었습니다. 전체 화면 렌더러가 시작되는 동안 발생했으므로 다음 실행은 클래식 렌더러를 사용할 것입니다(CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1은 언제든지 이를 강제합니다).

3903```3933```

3904 3934 

3905**할 일:**3935**할 일:**


3916Claude Code는 stderr가 아닌 대화 보기의 시작 알림으로 이 경고를 표시합니다. 기본 제공 에이전트를 제외한 [서브에이전트](/docs/ko/sub-agents)의 결합된 설명이 Claude Code가 추정하는 15,000 토큰을 초과합니다. 각 에이전트는 이름과 `description` frontmatter를 계산합니다. Claude Code는 총합이 제한을 초과하는지 여부와 관계없이 모든 에이전트를 로드하므로 경고는 로드되는 내용을 변경하지 않습니다.3946Claude Code는 stderr가 아닌 대화 보기의 시작 알림으로 이 경고를 표시합니다. 기본 제공 에이전트를 제외한 [서브에이전트](/docs/ko/sub-agents)의 결합된 설명이 Claude Code가 추정하는 15,000 토큰을 초과합니다. 각 에이전트는 이름과 `description` frontmatter를 계산합니다. Claude Code는 총합이 제한을 초과하는지 여부와 관계없이 모든 에이전트를 로드하므로 경고는 로드되는 내용을 변경하지 않습니다.

3917 3947 

3918```text theme={null}3948```text theme={null}

3919Agent descriptions are over the 15.0k-token limit (~16.2k tokens) · ask Claude to trim agent descriptions in .claude/agents/3949에이전트 설명이 15.0k 토큰 제한을 초과함(~16.2k 토큰) · Claude에게 .claude/agents/의 에이전트 설명을 정리하도록 요청하세요

3920```3950```

3921 3951 

3922**할 일:**3952**할 일:**


3931Claude Code는 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`에서 `permissions.allow` 규칙 또는 `permissions.additionalDirectories` 항목을 찾았지만 [프로젝트 설정의 allow 규칙은 작업 공간 신뢰가 필요](/docs/ko/permissions#project-allow-rules-and-workspace-trust)하기 때문에 적용하지 않았습니다. 개수, 설정 이름, 메시지에 명시된 파일은 구성에 따라 다릅니다. `deny` 및 `ask` 규칙은 영향을 받지 않습니다.3961Claude Code는 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`에서 `permissions.allow` 규칙 또는 `permissions.additionalDirectories` 항목을 찾았지만 [프로젝트 설정의 allow 규칙은 작업 공간 신뢰가 필요](/docs/ko/permissions#project-allow-rules-and-workspace-trust)하기 때문에 적용하지 않았습니다. 개수, 설정 이름, 메시지에 명시된 파일은 구성에 따라 다릅니다. `deny` 및 `ask` 규칙은 영향을 받지 않습니다.

3932 3962 

3933```text theme={null}3963```text theme={null}

3934Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.3964.claude/settings.local.json의 2개 permissions.allow 항목을 무시합니다: 이 작업 공간이 신뢰되지 않았습니다. 여기서 Claude Code를 대화형으로 한 번 실행하고 신뢰 대화를 수락하거나 /Users/you/.claude.json에서 projects["/Users/you/project"].hasTrustDialogAccepted: true를 설정하세요.

3935```3965```

3936 3966 

3937**할 일:**3967**할 일:**


3947Claude Code는 네트워크 경로를 작업 디렉토리로 추가하지 않습니다. 네트워크 경로를 조회하면 이름이 지정된 호스트에 연결할 수 있으며, Windows에서는 해당 연결이 호스트에 자격 증명을 보낼 수 있으므로 Claude Code는 조회 없이 경로를 거부합니다. `/add-dir`을 이러한 경로로 실행할 때 또는 시작 시 경고로 이 메시지를 봅니다. 시작 시 나타나면 Claude Code는 해당 디렉토리 없이 시작합니다.3977Claude Code는 네트워크 경로를 작업 디렉토리로 추가하지 않습니다. 네트워크 경로를 조회하면 이름이 지정된 호스트에 연결할 수 있으며, Windows에서는 해당 연결이 호스트에 자격 증명을 보낼 수 있으므로 Claude Code는 조회 없이 경로를 거부합니다. `/add-dir`을 이러한 경로로 실행할 때 또는 시작 시 경고로 이 메시지를 봅니다. 시작 시 나타나면 Claude Code는 해당 디렉토리 없이 시작합니다.

3948 3978 

3949```text theme={null}3979```text theme={null}

3950\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).3980\\server\share는 네트워크 경로이므로 작업 디렉토리로 추가할 수 없습니다. Windows에서는 공유를 드라이브 문자로 매핑하고 --add-dir로 실행 시 전달하세요(세션 중간에 추가된 드라이브 문자는 아직 원격 읽기 신뢰를 수행하지 않습니다).

3951```3981```

3952 3982 

3953Claude Code가 이 방식으로 거부하는 경로는 다음을 포함합니다:3983Claude Code가 이 방식으로 거부하는 경로는 다음을 포함합니다:


3989조직의 [서버 관리 설정](/docs/ko/server-managed-settings)에 승인이 필요한 설정이 포함되어 있고 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)를 거부했으므로 Claude Code는 이를 적용하지 않고 종료됩니다:4019조직의 [서버 관리 설정](/docs/ko/server-managed-settings)에 승인이 필요한 설정이 포함되어 있고 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)를 거부했으므로 Claude Code는 이를 적용하지 않고 종료됩니다:

3990 4020 

3991```text theme={null}4021```text theme={null}

3992Managed settings were not approved; exiting without applying them.4022관리 설정이 승인되지 않았습니다. 이를 적용하지 않고 종료합니다.

3993```4023```

3994 4024 

3995**할 일:**4025**할 일:**


4004`/mcp`의 서버에서 **다시 연결**을 선택했거나 비활성화된 서버를 다시 켰는데, [MCP 서버를 제한](/docs/ko/managed-mcp)하는 설정이 해당 서버를 차단합니다. Claude Code는 이를 연결하기를 거부하고 다음을 표시합니다:4034`/mcp`의 서버에서 **다시 연결**을 선택했거나 비활성화된 서버를 다시 켰는데, [MCP 서버를 제한](/docs/ko/managed-mcp)하는 설정이 해당 서버를 차단합니다. Claude Code는 이를 연결하기를 거부하고 다음을 표시합니다:

4005 4035 

4006```text theme={null}4036```text theme={null}

4007MCP server <name> is blocked by enterprise managed policy4037MCP 서버 <name>이(가) 엔터프라이즈 관리 정책에 의해 차단되었습니다

4008```4038```

4009 4039 

4010다음 설정 중 하나가 메시지를 생성할 수 있습니다:4040다음 설정 중 하나가 메시지를 생성할 수 있습니다:


4028조직이 [관리 설정](/docs/ko/managed-settings)을 배포하고, 배포된 문서 중 하나가 있지만 JSON 객체로 구문 분석할 수 없어서 Claude Code는 정책을 실행하지 않고 시작 시 코드 1로 종료됩니다. 줄은 메시지 앞에 실패한 소스를 명시합니다:4058조직이 [관리 설정](/docs/ko/managed-settings)을 배포하고, 배포된 문서 중 하나가 있지만 JSON 객체로 구문 분석할 수 없어서 Claude Code는 정책을 실행하지 않고 시작 시 코드 1로 종료됩니다. 줄은 메시지 앞에 실패한 소스를 명시합니다:

4029 4059 

4030```text theme={null}4060```text theme={null}

4031/Library/Application Support/ClaudeCode/managed-settings.json: Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.4061/Library/Application Support/ClaudeCode/managed-settings.json: 관리 설정 문서를 JSON 객체로 구문 분석할 수 없습니다. 해당 설정이 적용되지 않습니다. 수정하거나 제거하세요.

4032```4062```

4033 4063 

4034소스는 다음 중 하나입니다:4064소스는 다음 중 하나입니다:


4059Claude Code는 [비대화형 모드](/docs/ko/headless)에서만 이 줄을 기록하며, 서버당 한 번입니다. 대화형 세션에서는 같은 거부를 디버그 로그에 기록합니다.4089Claude Code는 [비대화형 모드](/docs/ko/headless)에서만 이 줄을 기록하며, 서버당 한 번입니다. 대화형 세션에서는 같은 거부를 디버그 로그에 기록합니다.

4060 4090 

4061```text theme={null}4091```text theme={null}

4062MCP server 'internal-api': headersHelper not run — this workspace has no persisted trust; accept the trust dialog here once interactively, or set projects["/Users/you/project"].hasTrustDialogAccepted in /Users/you/.claude.json.4092MCP 서버 'internal-api': headersHelper가 실행되지 않음 — 이 작업 공간에 지속된 신뢰가 없습니다. 여기서 대화형으로 신뢰 대화를 한 번 수락하거나 /Users/you/.claude.json에서 projects["/Users/you/project"].hasTrustDialogAccepted를 설정하세요.

4063```4093```

4064 4094 

4065메시지가 출력하는 `projects` 키는 [프로젝트 allow 규칙 및 작업 공간 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)가 Claude Code가 신뢰를 키하는 폴더입니다. 부모 폴더에 대한 신뢰 대화를 수락하는 것은 검사를 만족하지 않으며, `-p` 또는 SDK 세션도 만족하지 않습니다.4095메시지가 출력하는 `projects` 키는 [프로젝트 allow 규칙 및 작업 공간 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)가 Claude Code가 신뢰를 키하는 폴더입니다. 부모 폴더에 대한 신뢰 대화를 수락하는 것은 검사를 만족하지 않으며, `-p` 또는 SDK 세션도 만족하지 않습니다.


4077설정 파일의 [권한 규칙](/docs/ko/permissions#permission-rule-syntax)이 `Tool` 또는 `Tool(content)` 형태를 갖지 않습니다. 예를 들어 닫는 괄호 뒤에 텍스트가 있거나 괄호 중 하나가 누락되었습니다. Claude Code는 규칙을 건너뛰고 대화형 세션이 시작될 때 유효하지 않은 설정 대화에 나열하며, [`claude doctor`](/docs/ko/debug-your-config#check-resolved-settings) 출력에도 나열합니다:4107설정 파일의 [권한 규칙](/docs/ko/permissions#permission-rule-syntax)이 `Tool` 또는 `Tool(content)` 형태를 갖지 않습니다. 예를 들어 닫는 괄호 뒤에 텍스트가 있거나 괄호 중 하나가 누락되었습니다. Claude Code는 규칙을 건너뛰고 대화형 세션이 시작될 때 유효하지 않은 설정 대화에 나열하며, [`claude doctor`](/docs/ko/debug-your-config#check-resolved-settings) 출력에도 나열합니다:

4078 4108 

4079```text theme={null}4109```text theme={null}

4080Invalid permission rule "Bash(ls) x" was skipped: Malformed Tool(content) rule. Rules take the form Tool or Tool(content) and must end at the closing ")"; parentheses inside the content are literal4110유효하지 않은 권한 규칙 "Bash(ls) x"가 건너뛰어졌습니다: 잘못된 Tool(content) 규칙. 규칙은 Tool 또는 Tool(content) 형태를 가지며 닫는 ")"에서 끝나야 합니다. 내용 내의 괄호는 리터럴입니다.

4081```4111```

4082 4112 

4083**할 일:**4113**할 일:**

4084 4114 

4085* 메시지와 함께 나열된 설정 파일에서 규칙을 다시 작성하여 닫는 괄호에서 끝나도록 하세요. 예를 들어 `Bash(ls) x` 대신 `Bash(ls *)`4115* 메시지와 함께 나열된 설정 파일에서 규칙을 다시 작성하여 닫는 괄호에서 끝나도록 하세요. 예를 들어 `Bash(ls) x` 대신 `Bash(ls *)`

4086* 내용 내의 괄호는 그대로 두세요. 이들은 리터럴이므로 `Edit(./Finance (2024)/**)`와 같은 규칙은 이스케이프 없이 유효합니다.4116* 내용 내의 괄호는 그대로 두세요. 이들은 리터럴이므로 `Edit(./Finance (2024)/*)`와 같은 규칙은 이스케이프 없이 유효합니다.

4087 4117 

4088v2.1.260 이전에는 Claude Code가 일치하지 않는 괄호가 있는 규칙을 `Mismatched parentheses`로 보고했습니다.4118v2.1.260 이전에는 Claude Code가 일치하지 않는 괄호가 있는 규칙을 `Mismatched parentheses`로 보고했습니다.

4089 4119 


4094Claude Code는 [설정 파일](/docs/ko/settings#where-settings-live), [관리 설정](/docs/ko/managed-settings), 또는 `--allowedTools`, `--disallowedTools`, 또는 `--settings` 플래그 값에서 경로가 있는 `Write`, `NotebookEdit`, `MultiEdit`, 또는 `Glob` [권한 규칙](/docs/ko/permissions#read-and-edit)을 찾았습니다. 파일 권한을 `Edit` 및 `Read` 규칙에 대해서만 검사하므로 다른 파일 도구 중 하나를 명시하는 경로 규칙을 절대 참조하지 않습니다. 규칙을 유지하고 다른 것은 변경하지 않습니다. 경고는 규칙, 괄호의 소스, 그리고 작성할 대체를 명시합니다:4124Claude Code는 [설정 파일](/docs/ko/settings#where-settings-live), [관리 설정](/docs/ko/managed-settings), 또는 `--allowedTools`, `--disallowedTools`, 또는 `--settings` 플래그 값에서 경로가 있는 `Write`, `NotebookEdit`, `MultiEdit`, 또는 `Glob` [권한 규칙](/docs/ko/permissions#read-and-edit)을 찾았습니다. 파일 권한을 `Edit` 및 `Read` 규칙에 대해서만 검사하므로 다른 파일 도구 중 하나를 명시하는 경로 규칙을 절대 참조하지 않습니다. 규칙을 유지하고 다른 것은 변경하지 않습니다. 경고는 규칙, 괄호의 소스, 그리고 작성할 대체를 명시합니다:

4095 4125 

4096```text theme={null}4126```text theme={null}

4097Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).4127권한 deny 규칙(.claude/settings.json): Write(docs/**)는 파일 권한 검사와 일치하지 않습니다 — Edit(path) 규칙만 사용됩니다. 대신 Edit(docs/**)를 사용하세요(Edit 규칙은 모든 파일 편집 도구를 포함합니다).

4098```4128```

4099 4129 

4100**할 일:**4130**할 일:**


4116경고는 의도한 것보다 와일드카드가 더 넓은 규칙을 좁힐 수 있도록 존재합니다. Claude Code는 규칙을 유지하고 일치 방식을 변경하지 않습니다. 경고는 규칙과 괄호의 소스를 명시합니다:4146경고는 의도한 것보다 와일드카드가 더 넓은 규칙을 좁힐 수 있도록 존재합니다. Claude Code는 규칙을 유지하고 일치 방식을 변경하지 않습니다. 경고는 규칙과 괄호의 소스를 명시합니다:

4117 4147 

4118```text theme={null}4148```text theme={null}

4119Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).4149권한 allow 규칙(.claude/settings.json): Bash(git -C * status *)는 명령의 나머지 부분 앞에 와일드카드가 있으므로 해당 위치에 삽입된 모든 옵션과도 일치하고 프롬프트 없이 승인합니다. git의 경우 -c 및 --exec-path 같은 옵션은 임의의 명령을 실행할 수 있습니다. 해당 *를 의도한 정확한 값으로 바꾸거나 *를 하위 명령 뒤에만 사용하세요(예: Bash(git status *)).

4120```4150```

4121 4151 

4122**할 일:**4152**할 일:**


4137설정 파일이 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 Claude Code가 인식하지 못하는 값(예: 오타 `"reject"`)으로 설정합니다. 경고의 두 번째 문장은 어느 파일이 값을 보유하는지에 따라 다릅니다. 사용자, 프로젝트, 로컬, 또는 `--settings` 파일에서는 다음을 읽습니다:4167설정 파일이 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 Claude Code가 인식하지 못하는 값(예: 오타 `"reject"`)으로 설정합니다. 경고의 두 번째 문장은 어느 파일이 값을 보유하는지에 따라 다릅니다. 사용자, 프로젝트, 로컬, 또는 `--settings` 파일에서는 다음을 읽습니다:

4138 4168 

4139```text theme={null}4169```text theme={null}

4140"crossSessionInbound" must be one of "accept", "hold", "refuse"; received "reject". This value was ignored; while it is present, cross-session messages are held for your approval instead of being delivered. Set it to one of the values above.4170"crossSessionInbound"는 "accept", "hold", "refuse" 중 하나여야 합니다. "reject"를 받았습니다. 이 값은 무시되었습니다. 존재하는 동안 교차 세션 메시지는 전달되는 대신 승인을 위해 보류됩니다. 위의 값 중 하나로 설정하세요.

4141```4171```

4142 4172 

4143[관리 설정](/docs/ko/managed-settings)에서 Claude Code는 인식되지 않는 값을 가장 제한적인 값인 `refuse`로 취급하고 경고는 관리자가 수정할 때까지 교차 세션 메시지가 거부된다고 말합니다. hold가 다른 설정 파일의 값과 결합되는 방식은 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 참조하세요.4173[관리 설정](/docs/ko/managed-settings)에서 Claude Code는 인식되지 않는 값을 가장 제한적인 값인 `refuse`로 취급하고 경고는 관리자가 수정할 때까지 교차 세션 메시지가 거부된다고 말합니다. hold가 다른 설정 파일의 값과 결합되는 방식은 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 참조하세요.


4156[`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정했으며, 이는 일반적으로 [자동 압축](/docs/ko/model-config#default-auto-compact-thresholds)이 1M 컨텍스트 모델의 세션을 200K 윈도우에 유지하게 하지만, 이 세션을 200K 이하로 제한하는 압축 임계값이 없어서 대화가 이를 초과할 수 있습니다.4186[`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정했으며, 이는 일반적으로 [자동 압축](/docs/ko/model-config#default-auto-compact-thresholds)이 1M 컨텍스트 모델의 세션을 200K 윈도우에 유지하게 하지만, 이 세션을 200K 이하로 제한하는 압축 임계값이 없어서 대화가 이를 초과할 수 있습니다.

4157 4187 

4158```text theme={null}4188```text theme={null}

4159CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced for <model>, so this session can grow past it. To enforce it, set CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 (or the autoCompactWindow setting).4189CLAUDE_CODE_DISABLE_1M_CONTEXT가 설정되었지만 <model>에 대해 200K 제한이 적용되지 않으므로 이 세션은 이를 초과할 수 있습니다. 이를 적용하려면 CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000(또는 autoCompactWindow 설정)을 설정하세요.

4160```4190```

4161 4191 

4162Claude Code는 네이티브 1M 윈도우를 가진 것으로 인식하는 모든 모델과 인식하지 못하는 모델 ID에 대해 가정하는 윈도우에서 압축하는 200K 제한을 자체적으로 적용합니다. 경고는 다른 구성이 해당 적용을 무효화할 때 나타납니다:4192Claude Code는 네이티브 1M 윈도우를 가진 것으로 인식하는 모든 모델과 인식하지 못하는 모델 ID에 대해 가정하는 윈도우에서 압축하는 200K 제한을 자체적으로 적용합니다. 경고는 다른 구성이 해당 적용을 무효화할 때 나타납니다:

4163 4193 

4164* 모델 ID가 Claude Code가 인식하지 못하는 것입니다. 예를 들어 [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭이고, [`CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1`](/docs/ko/env-vars)을 설정했거나 [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/ko/env-vars)로 가정 윈도우를 200K 이상으로 올렸습니다. 이 경우 메시지는 또한 `or update to a Claude Code version that recognizes <model>`를 해결책으로 제공합니다.4194* 모델 ID가 Claude Code가 인식하지 못하는 것입니다. 예를 들어 [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭이고, [`CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1`](/docs/ko/env-vars)을 설정했거나 [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/ko/env-vars)로 가정 윈도우를 200K 이상으로 올렸습니다. 이 경우 메시지는 또한 `또는 <model>을(를) 인식하는 Claude Code 버전으로 업데이트`를 해결책으로 제공합니다.

4165* [`ANTHROPIC_BETAS`](/docs/ko/env-vars) 또는 [`--betas`](/docs/ko/cli-reference#cli-flags) 플래그를 통해 요청된 `context-1m` 베타는 여전히 해당 베타를 수락하는 모델에서 API에 1M 윈도우를 요청하는 동안 아무것도 200K에서 세션을 압축하지 않습니다.4195* [`ANTHROPIC_BETAS`](/docs/ko/env-vars) 또는 [`--betas`](/docs/ko/cli-reference#cli-flags) 플래그를 통해 요청된 `context-1m` 베타는 여전히 해당 베타를 수락하는 모델에서 API에 1M 윈도우를 요청하는 동안 아무것도 200K에서 세션을 압축하지 않습니다.

4166 4196 

4167**할 일:**4197**할 일:**


4225샌드박스된 명령이 실행되는 동안 샌드박스는 아직 존재하지 않는 파일에 대한 쓰기 거부를 0바이트 읽기 전용 자리 표시자를 만들어 유지하고 나중에 제거합니다. SIGKILL 같은 것으로 정리 실행 전에 종료된 세션은 자리 표시자를 남깁니다. 이후 세션은 모든 시작에서 읽기 전용으로 다시 바인드하므로 "Yes, and don't ask again" 저장 같은 설정 쓰기가 하나가 있는 곳에서 실패합니다.4255샌드박스된 명령이 실행되는 동안 샌드박스는 아직 존재하지 않는 파일에 대한 쓰기 거부를 0바이트 읽기 전용 자리 표시자를 만들어 유지하고 나중에 제거합니다. SIGKILL 같은 것으로 정리 실행 전에 종료된 세션은 자리 표시자를 남깁니다. 이후 세션은 모든 시작에서 읽기 전용으로 다시 바인드하므로 "Yes, and don't ask again" 저장 같은 설정 쓰기가 하나가 있는 곳에서 실패합니다.

4226 4256 

4227```text theme={null}4257```text theme={null}

4228- Stale sandbox mask files left by a killed session: /home/you/project/.claude/settings.local.json4258- 종료된 세션이 남긴 오래된 샌드박스 마스크 파일: /home/you/project/.claude/settings.local.json

4229 Fix: Remove each with `rm <path>` while no other Claude Code session is running in that project — a 0-byte read-only file where a settings file belongs makes "Yes, and don't ask again" fail to save, and the sandbox binds it read-only again on every start4259 수정: 해당 프로젝트에서 다른 Claude Code 세션이 실행되지 않는 동안 각각을 `rm <path>`로 제거하세요 — 설정 파일이 속한 곳의 0바이트 읽기 전용 파일은 "Yes, and don't ask again" 저장을 실패하게 하고 샌드박스는 모든 시작에서 읽기 전용으로 다시 바인드합니다.

4230```4260```

4231 4261 

4232**할 일:**4262**할 일:**

fast-mode.md +1 −1

Details

123빠른 모드는 다음 모두를 필요로 합니다:123빠른 모드는 다음 모두를 필요로 합니다:

124 124 

125* **Anthropic API 또는 구독만 해당**: 빠른 모드는 Anthropic Console API 및 사용 크레딧을 사용하는 Claude 구독 요금제를 통해 사용할 수 있습니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform에서는 사용할 수 없습니다. Console 조직은 또한 [빠른 모드 액세스가 프로비저닝](#enable-fast-mode-for-your-organization)되어 있어야 합니다.125* **Anthropic API 또는 구독만 해당**: 빠른 모드는 Anthropic Console API 및 사용 크레딧을 사용하는 Claude 구독 요금제를 통해 사용할 수 있습니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform에서는 사용할 수 없습니다. Console 조직은 또한 [빠른 모드 액세스가 프로비저닝](#enable-fast-mode-for-your-organization)되어 있어야 합니다.

126* **구독 요금제에 대해 사용 크레딧 활성화**: Pro, Max, Team 또는 Enterprise 요금제에서 계정에 [사용 크레딧](/docs/ko/costs#add-usage-credits-to-your-subscription)이 활성화되어 있어야 하며, 이를 통해 요금제의 포함된 사용량을 초과하여 청구할 수 있습니다. 활성화될 때까지 `/fast`는 "Fast mode requires usage credits · /usage-credits to turn them on"을 표시합니다. 활성화하는 방법은 요금제에 따라 다릅니다:126* **구독 요금제에 대해 사용 크레딧 활성화**: Pro, Max, Team 또는 Enterprise 요금제에서 계정에 [사용 크레딧](/docs/ko/costs#add-usage-credits-to-your-subscription)이 활성화되어 있어야 하며, 이를 통해 요금제의 포함된 사용량을 초과하여 청구할 수 있습니다. 활성화될 때까지 `/fast`는 "Fast mode requires usage credits"를 표시합니다. 활성화하는 방법은 요금제에 따라 다릅니다:

127 * Pro 및 Max에서는 claude.ai의 [**설정 > 사용**](https://claude.ai/settings/usage)의 **사용 크레딧** 섹션에서 활성화하거나 `/usage-credits`를 실행하여 해당 페이지를 엽니다.127 * Pro 및 Max에서는 claude.ai의 [**설정 > 사용**](https://claude.ai/settings/usage)의 **사용 크레딧** 섹션에서 활성화하거나 `/usage-credits`를 실행하여 해당 페이지를 엽니다.

128 * Team 및 Enterprise에서는 청구 액세스 권한이 있는 구성원이 [**관리자 설정 > 사용**](https://claude.ai/admin-settings/usage)에서 조직에 대해 활성화하고, 액세스 권한이 없는 구성원은 `/usage-credits`를 실행하여 조직의 관리자에게 요청을 보냅니다.128 * Team 및 Enterprise에서는 청구 액세스 권한이 있는 구성원이 [**관리자 설정 > 사용**](https://claude.ai/admin-settings/usage)에서 조직에 대해 활성화하고, 액세스 권한이 없는 구성원은 `/usage-credits`를 실행하여 조직의 관리자에게 요청을 보냅니다.

129 129 

Details

116claude --cloud "Add retry logic to the payment webhook handler"116claude --cloud "Add retry logic to the payment webhook handler"

117```117```

118 118 

119세션은 GHES에서 저장소를 복제하고 변경 사항을 분기로 다시 푸시합니다. `/tasks`를 사용하거나 [claude.ai/code](https://claude.ai/code)에서 진행 상황을 모니터링합니다. diff 리뷰, 자동 수정 및 루틴을 포함한 전체 클라우드 세션 워크플로우는 [웹에서 Claude Code](/docs/ko/claude-code-on-the-web)를 참조하십시오.119세션은 GHES에서 저장소를 복제하고 변경 사항을 분기로 다시 푸시합니다. [claude.ai/code](https://claude.ai/code)에서 진행 상황을 모니터링합니다. diff 리뷰, 자동 수정 및 루틴을 포함한 전체 클라우드 세션 워크플로우는 [웹에서 Claude Code](/docs/ko/claude-code-on-the-web)를 참조하십시오.

120 120 

121<h3 id="teleport-sessions-to-your-terminal">121<h3 id="teleport-sessions-to-your-terminal">

122 터미널로 세션 Teleport122 터미널로 세션 Teleport

goal.md +23 −6

Details

22세 가지 접근 방식이 프롬프트 사이의 현재 세션을 계속 실행합니다. 다음 턴을 시작해야 할 때를 기준으로 선택합니다:22세 가지 접근 방식이 프롬프트 사이의 현재 세션을 계속 실행합니다. 다음 턴을 시작해야 할 때를 기준으로 선택합니다:

23 23 

24| 접근 방식 | 다음 턴 시작 시기 | 중지 시기 |24| 접근 방식 | 다음 턴 시작 시기 | 중지 시기 |

25| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |25| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------ |

26| `/goal` | 이전 턴이 완료될 때, 또는 백그라운드 작업이 목표를 대기 상태로 유지하는 동안 [유휴 체크인](#background-work-defers-evaluation)이 발생할 때(프롬프트 사이의 목표당 최대 3회) | 모델이 조건이 충족되었음을 확인하거나 불가능하다고 판단할 때, 또는 [수정해야 하는 오류](#errors-you-have-to-fix-clear-the-goal)로 인해 턴이 실패할 때, 또는 [`/goal clear`](#clear-a-goal)를 실행할 때 |26| `/goal` | 이전 턴이 완료될 때, 또는 대화형 세션에서 [유휴 체크인](#background-work-defers-evaluation) 또는 [자동 재시도](#other-errors-retry-or-pause-the-goal)가 발생할 때 | 모델이 조건이 충족되었음을 확인하거나 불가능하다고 판단할 때, 또는 [수정해야 하는 오류](#errors-you-have-to-fix-clear-the-goal)로 인해 턴이 실패할 때, 또는 [`/goal clear`](#clear-a-goal)를 실행할 때 |

27| [`/loop`](/docs/ko/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | 시간 간격이 경과할 때 | 사용자가 중지하거나 Claude가 작업이 완료되었다고 판단할 때 |27| [`/loop`](/docs/ko/scheduled-tasks#run-a-prompt-repeatedly-with-%2Floop) | 시간 간격이 경과할 때 | 사용자가 중지하거나 Claude가 작업이 완료되었다고 판단할 때 |

28| [Stop hook](/docs/ko/hooks-guide#prompt-based-hooks) | 이전 턴이 완료될 때 | 사용자의 스크립트 또는 프롬프트가 결정할 때 |28| [Stop hook](/docs/ko/hooks-guide#prompt-based-hooks) | 이전 턴이 완료될 때 | 사용자의 스크립트 또는 프롬프트가 결정할 때 |

29 29 


143 143 

144Claude가 평가자에게 계속 응답하면서 진행 상황이 없으면(여러 턴 동안 도구 사용이 없음), Claude Code는 루프를 중지하고 경고를 출력한 후 목표가 여전히 설정된 상태로 제어를 반환합니다. 평가는 다음 프롬프트 후에 재개됩니다. [hooks 가이드](/docs/ko/hooks-guide#stop-hook-hits-the-block-cap)에서 기본 메커니즘을 설명합니다.144Claude가 평가자에게 계속 응답하면서 진행 상황이 없으면(여러 턴 동안 도구 사용이 없음), Claude Code는 루프를 중지하고 경고를 출력한 후 목표가 여전히 설정된 상태로 제어를 반환합니다. 평가는 다음 프롬프트 후에 재개됩니다. [hooks 가이드](/docs/ko/hooks-guide#stop-hook-hits-the-block-cap)에서 기본 메커니즘을 설명합니다.

145 145 

146<h3 id="errors-you-have-to-fix-clear-the-goal">146<h3 id="when-a-turn-fails">

147 수정해야 하는 오류가 목표를 지웁니다147 턴이 실패할 때

148</h3>148</h3>

149 149 

150턴이 실패하면 오류가 수정해야 하는 오류인 경우 Claude Code는 목표를 지웁니다. 다른 모든 오류 후에는 목표가 설정된 상태로 유지됩니다.

151 

152<h4 id="errors-you-have-to-fix-clear-the-goal">

153 수정해야 하는 오류가 목표를 지웁니다

154</h4>

155 

150턴이 수정할 때까지 지워지지 않는 오류로 실패하면 Claude Code는 목표를 지우고 원인을 명시하는 경고를 출력합니다. 경고는 `Goal cleared after an unrecoverable error`로 시작하고 `Run /goal again to continue`로 끝납니다. 원인을 수정한 후 `/goal <condition>`으로 [목표를 다시 설정](#set-a-goal)하십시오. 네 가지 종류의 실패가 목표를 지웁니다:156턴이 수정할 때까지 지워지지 않는 오류로 실패하면 Claude Code는 목표를 지우고 원인을 명시하는 경고를 출력합니다. 경고는 `Goal cleared after an unrecoverable error`로 시작하고 `Run /goal again to continue`로 끝납니다. 원인을 수정한 후 `/goal <condition>`으로 [목표를 다시 설정](#set-a-goal)하십시오. 네 가지 종류의 실패가 목표를 지웁니다:

151 157 

152* Claude Code가 자체 자격 증명을 관리할 때의 인증 실패입니다. 데스크톱 앱, VS Code 확장 프로그램 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web)과 같이 호스트가 자격 증명을 관리하는 경우 Claude Code는 호스트가 자체적으로 액세스를 복원하기 때문에 목표를 활성 상태로 유지합니다.158* Claude Code가 자체 자격 증명을 관리할 때의 인증 실패입니다. 데스크톱 앱, VS Code 확장 프로그램 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web)과 같이 호스트가 자격 증명을 관리하는 경우 Claude Code는 호스트가 자체적으로 액세스를 복원하기 때문에 목표를 활성 상태로 유지합니다.


154* [자동 압축](/docs/ko/model-config#set-the-auto-compact-window)이 지울 수 없는 컨텍스트 오버플로우160* [자동 압축](/docs/ko/model-config#set-the-auto-compact-window)이 지울 수 없는 컨텍스트 오버플로우

155* 사용할 수 없는 모델161* 사용할 수 없는 모델

156 162 

157다른 모든 실패(속도 제한 및 과부하 서버와 같은 일시적 오류 포함)의 경우 Claude Code는 목표를 활성 상태로 유지합니다.163<h4 id="other-errors-retry-or-pause-the-goal">

164 다른 오류는 목표를 재시도하거나 일시 중지합니다

165</h4>

166 

167다른 모든 실패 후에는 목표가 설정된 상태로 유지됩니다. Claude Code v2.1.269 이상의 대화형 세션에서 Claude Code는 또한 원인을 명시하는 줄을 출력하고 자체적으로 재시도하거나 대기합니다:

168 

169* **재시도**: 과부하 서버 또는 끊어진 연결과 같이 자체적으로 지워지는 경향이 있는 실패 후에는 `Goal still active`로 시작하는 알림이 다음 시도 전의 대기 시간을 표시합니다. 3번의 자동 재시도 후에는 목표가 대신 일시 중지됩니다.

170* **일시 중지**: API 속도 제한, claude.ai [사용 제한](/docs/ko/errors#youve-hit-your-session-limit) 또는 턴을 종료한 hook과 같이 재시도가 반복될 수만 있는 실패 후에는 `Goal paused`로 시작하는 알림이 원인을 명시합니다. 세션이 [사용 제한이 재설정될 때 자동으로 계속 대기](/docs/ko/interactive-mode#wait-for-a-usage-limit-to-reset) 중이면 Claude는 그때 목표를 향해 작업을 재개합니다.

171 

172언제든지 메시지를 보내 다음 턴을 즉시 시작하십시오. 자동 재시도를 끄려면 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/ko/env-vars)를 `0`으로 설정하십시오. 이는 [체크인](#background-work-defers-evaluation)도 끕니다.

158 173 

159<h3 id="background-work-defers-evaluation">174<h3 id="background-work-defers-evaluation">

160 백그라운드 작업이 평가를 연기합니다175 백그라운드 작업이 평가를 연기합니다


169 184 

170v2.1.239 이전에는 유휴 체크인만 이런 방식으로 백오프되었습니다. 턴 끝에서 전달된 체크인은 첫 번째 간격에서 반복되었습니다.185v2.1.239 이전에는 유휴 체크인만 이런 방식으로 백오프되었습니다. 턴 끝에서 전달된 체크인은 첫 번째 간격에서 반복되었습니다.

171 186 

172첫 번째 간격을 변경하려면 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/ko/env-vars)를 설정하십시오. Claude Code는 30분 간격 대신 값을 사용하고 이후 간격을 이에 맞게 조정합니다. 체크인을 끄려면 `0`으로 설정하십시오. 체크인에는 Claude Code v2.1.234 이상이 필요합니다.187첫 번째 간격을 변경하려면 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/ko/env-vars)를 설정하십시오. Claude Code는 30분 간격 대신 값을 사용하고 이후 간격을 이에 맞게 조정합니다. 체크인을 끄려면 `0`으로 설정하십시오. 이는 [자동 재시도](#other-errors-retry-or-pause-the-goal)도 끕니다.

188 

189체크인에는 Claude Code v2.1.234 이상이 필요합니다.

173 190 

174<h3 id="evaluation-model-and-cost">191<h3 id="evaluation-model-and-cost">

175 평가 모델 및 비용192 평가 모델 및 비용

Details

211 211 

212내장 명령도 설정을 안내합니다:212내장 명령도 설정을 안내합니다:

213 213 

214* `/init`은 프로젝트를 위한 CLAUDE.md 생성을 안내합니다214* `/init`은 프로젝트를 위한 시작 CLAUDE.md를 생성합니다

215* `/doctor`는 설치 및 구성 문제를 진단하고 수정할 수 있습니다215* `/doctor`는 설치 및 구성 문제를 진단하고 수정할 수 있습니다

216 216 

217<h3 id="it’s-a-conversation">217<h3 id="it’s-a-conversation">

jetbrains.md +2 −2

Details

256**모델에 노출된 도구.** 서버는 여러 도구를 호스팅하지만 모델에는 하나만 표시됩니다. 나머지는 CLI가 diff 열기 및 선택 항목 읽기와 같은 자체 UI에 사용하는 내부 RPC이며 도구 목록이 Claude에 도달하기 전에 필터링됩니다.256**모델에 노출된 도구.** 서버는 여러 도구를 호스팅하지만 모델에는 하나만 표시됩니다. 나머지는 CLI가 diff 열기 및 선택 항목 읽기와 같은 자체 UI에 사용하는 내부 RPC이며 도구 목록이 Claude에 도달하기 전에 필터링됩니다.

257 257 

258| 도구 이름 (훅에서 보이는 대로) | 수행 작업 | 읽기 전용 |258| 도구 이름 (훅에서 보이는 대로) | 수행 작업 | 읽기 전용 |

259| -------------------------- | -------------------------------------------------------------- | ----- |259| -------------------------- | -------------------------------------------------------------------------------------------------------------- | ----- |

260| `mcp__ide__getDiagnostics` | IDE의 검사 진단, 편집기에 표시되는 오류 및 경고를 반환합니다. 선택적으로 하나의 파일로 범위가 지정됩니다. | 예 |260| `mcp__ide__getDiagnostics` | IDE의 검사 진단, 편집기에 표시되는 오류 및 경고를 반환합니다. 각 호출은 하나의 파일을 포함합니다: Claude가 지정한 파일 또는 Claude가 지정하지 않은 경우 활성 편집기의 파일입니다. | 예 |

261 261 

262JetBrains 플러그인은 모델에 코드 실행 도구를 노출하지 않습니다.262JetBrains 플러그인은 모델에 코드 실행 도구를 노출하지 않습니다.

263 263 

Details

383 스킬을 발견 가능하게 유지383 스킬을 발견 가능하게 유지

384</h3>384</h3>

385 385 

386많은 디렉토리에 분산된 스킬로 Claude가 선택할 수 있는 목록이 커질 수 있습니다. Claude는 발견된 모든 스킬의 이름과 설명을 읽어 스킬을 선택하고, 선택된 스킬의 전체 콘텐츠만 컨텍스트에 로드됩니다. 이 섹션은 해당 목록을 작게 유지하고 단축을 견디는 설명을 작성하는 방법을 다룹니다.386많은 디렉토리에 분산된 스킬로 Claude가 선택할 수 있는 목록이 커질 수 있습니다. Claude는 발견된 모든 스킬의 이름과 설명을 읽어 스킬을 선택하고, 선택된 스킬의 전체 콘텐츠만 컨텍스트에 로드됩니다. 이 섹션은 해당 목록을 작게 유지하는 방법을 다룹니다.

387 387 

388범위 내 스킬은 Claude를 시작하는 위치에 따라 다릅니다:388범위 내 스킬은 Claude를 시작하는 위치에 따라 다릅니다:

389 389 


391* **저장소 루트에서**: 세션 중에 Claude가 터치하는 모든 하위 디렉토리의 스킬. 수백 개로 누적될 수 있습니다.391* **저장소 루트에서**: 세션 중에 Claude가 터치하는 모든 하위 디렉토리의 스킬. 수백 개로 누적될 수 있습니다.

392* **[`--add-dir`](#grant-access-across-packages-or-repositories)으로 형제 추가 후**: 해당 형제의 스킬도 로드됩니다. `additionalDirectories` 설정은 파일 액세스만 부여하고 스킬을 로드하지 않습니다.392* **[`--add-dir`](#grant-access-across-packages-or-repositories)으로 형제 추가 후**: 해당 형제의 스킬도 로드됩니다. `additionalDirectories` 설정은 파일 액세스만 부여하고 스킬을 로드하지 않습니다.

393 393 

394이름은 항상 로드되지만 [많은 스킬이 있을 때 설명이 단축되어](/docs/ko/skills#skill-descriptions-are-cut-short) Claude가 스킬 적용 여부를 결정하는 데 사용하는 키워드를 제거할 수 있습니다. 설명을 짧게 유지하고 요청에 포함될 단어로 시작하십시오. 예를 들어 "`packages/api/`에서 테스트 작성 또는 수정".394이름은 항상 로드되지만 [많은 스킬이 있을 때 일부 스킬의 설명이 완전히 손실될 수 있으며](/docs/ko/skills#skill-descriptions-are-cut-short) Claude가 스킬 적용 여부를 결정하는 데 사용하는 키워드를 제거할 수 있습니다. 설명을 짧게 유지하고 요청에 포함될 단어로 시작하십시오. 예를 들어 "`packages/api/`에서 테스트 작성 또는 수정".

395 395 

396많은 디렉토리가 공유하는 스킬(예: PR 규칙 또는 배포 체크리스트)의 경우 저장소 루트의 `.claude/skills/`에 배치하여 모든 시작 디렉토리에서 로드되도록 하십시오. 공유 스킬이 자신의 버전 기록이 필요하거나 저장소 전체에서 작동해야 하면 대신 [플러그인](/docs/ko/plugins)으로 패키징하십시오. 플러그인 스킬은 `plugin-name:skill-name` 네임스페이스를 사용하므로 디렉토리별 스킬과 충돌하지 않습니다. 플랫폼 팀은 한 곳에서 버전 관리하고 업데이트할 수 있습니다.396많은 디렉토리가 공유하는 스킬(예: PR 규칙 또는 배포 체크리스트)의 경우 저장소 루트의 `.claude/skills/`에 배치하여 모든 시작 디렉토리에서 로드되도록 하십시오. 공유 스킬이 자신의 버전 기록이 필요하거나 저장소 전체에서 작동해야 하면 대신 [플러그인](/docs/ko/plugins)으로 패키징하십시오. 플러그인 스킬은 `plugin-name:skill-name` 네임스페이스를 사용하므로 디렉토리별 스킬과 충돌하지 않습니다. 플랫폼 팀은 한 곳에서 버전 관리하고 업데이트할 수 있습니다.

397 397 

Details

186* [`forceRemoteSettingsRefresh`](/docs/ko/server-managed-settings)186* [`forceRemoteSettingsRefresh`](/docs/ko/server-managed-settings)

187* `env`, 관리 소스 전체에서 변수별로 병합됩니다: 각 변수는 이를 정의하는 최고 우선순위 소스에서 오므로, 낮은 소스는 높은 소스가 설정하지 않은 변수를 채웁니다. 몇 가지 변수는 자신의 규칙을 따릅니다. [관리형 소스 전체의 키별 예외](/docs/ko/server-managed-settings#per-key-exceptions-across-managed-sources)에서 각각을 이름 지정합니다. Claude Code v2.1.223 이상이 필요합니다. v2.1.223 이전에는 Claude Code가 선택된 소스의 전체 `env` 블록만 적용했습니다187* `env`, 관리 소스 전체에서 변수별로 병합됩니다: 각 변수는 이를 정의하는 최고 우선순위 소스에서 오므로, 낮은 소스는 높은 소스가 설정하지 않은 변수를 채웁니다. 몇 가지 변수는 자신의 규칙을 따릅니다. [관리형 소스 전체의 키별 예외](/docs/ko/server-managed-settings#per-key-exceptions-across-managed-sources)에서 각각을 이름 지정합니다. Claude Code v2.1.223 이상이 필요합니다. v2.1.223 이전에는 Claude Code가 선택된 소스의 전체 `env` 블록만 적용했습니다

188 188 

189[게이트웨이 로그인 키](#choose-a-delivery-mechanism), [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl) 및 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값은 별도의 규칙을 따릅니다. Claude Code는 서버 관리형 설정에서 이를 읽지 않으므로, 서버 관리형 설정이 선택된 소스인 동안, 정책 키를 전달하는 머신의 최고 순위 관리 소스가 여전히 이를 제공합니다. 그 아래에 순위가 매겨진 관리 소스의 값 또는 HKCU 레지스트리의 값은 무시됩니다.

190 

189<h3 id="compose-every-managed-source">191<h3 id="compose-every-managed-source">

190 모든 관리형 소스 구성192 모든 관리형 소스 구성

191</h3>193</h3>

192 194 

193배포하는 모든 관리 소스를 Claude Code가 적용하도록 하려면, [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior)를 배포하는 최고 순위 소스에서 `"merge"`로 설정합니다. Claude Code는 키 또는 정책 키를 전달하는 최고 순위 소스에서만 키를 읽으므로, 낮은 소스는 위의 소스와 병합하도록 자신을 옵트인할 수 없으며, 서버 관리형 설정을 받지 않는 머신은 MDM 프로필에도 키가 필요합니다. 사용자 쓰기 가능 HKCU 레지스트리는 다른 소스와 병합되지 않습니다. Claude Code v2.1.242 이상이 필요합니다.195배포하는 모든 관리 소스를 Claude Code가 적용하도록 하려면, [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior)를 배포하는 최고 순위 소스에서 `"merge"`로 설정합니다. Claude Code는 키 또는 정책 키를 전달하는 최고 순위 소스에서만 키를 읽으므로, 낮은 소스는 위의 소스와 병합하도록 자신을 옵트인할 수 없으며, 서버 관리형 설정을 받지 않는 머신은 MDM 프로필에도 키가 필요합니다. 사용자 쓰기 가능 HKCU 레지스트리는 다른 소스와 병합되지 않습니다. Claude Code v2.1.242 이상이 필요합니다.

194 196 

195`"merge"` 아래에서 Claude Code는 낮은 소스의 목록 항목(예: `permissions.allow` 규칙 및 후크)을 정책에 추가하므로, 최고 순위 아래에 순위가 매겨진 모든 소스가 관리자의 제어 아래에 있을 때만 켭니다.197`"merge"` 아래에서 Claude Code는 낮은 소스의 목록 항목(예: `permissions.allow` 규칙 및 hooks)을 정책에 추가하므로, 최고 순위 아래에 순위가 매겨진 모든 소스가 관리자의 제어 아래에 있을 때만 켭니다.

196 198 

197이 표는 `"merge"` 아래에서 Claude Code가 각 종류의 키를 결합하는 방식을 보여줍니다. [`managedSourcesBehavior` 항목](/docs/ko/settings-reference#managedsourcesbehavior)은 세 행의 모든 키를 이름 지정합니다: 제한 허용 목록, 전체적으로 취한 값, 최고 순위 소스에서만 읽은 키입니다.199이 표는 `"merge"` 아래에서 Claude Code가 각 종류의 키를 결합하는 방식을 보여줍니다. [`managedSourcesBehavior` 항목](/docs/ko/settings-reference#managedsourcesbehavior)은 세 행의 모든 키를 이름 지정합니다: 제한 허용 목록, 전체적으로 취한 값, 최고 순위 소스에서만 읽은 키입니다.

198 200 

mobile.md +1 −1

Details

62 Remote Control로 로컬 세션 계속하기62 Remote Control로 로컬 세션 계속하기

63</h3>63</h3>

64 64 

65Remote Control은 Claude 앱을 머신에서 실행 중인 Claude Code 세션에 연결하므로 코드 실행 및 파일 시스템 접근은 로컬로 유지되면서 휴대폰에서 세션을 조종합니다. 컴퓨터에서 `claude remote-control`로 세션을 시작하거나, 이미 열려 있는 세션에서 `/remote-control`을 실행합니다. 그런 다음 터미널이 표시할 수 있는 세션 QR 코드를 스캔하거나, Claude 앱을 열고 **Code**를 탭한 후 목록에서 세션을 선택합니다. 각 옵션에 대해 [다른 기기에서 연결](/docs/ko/remote-control#connect-from-another-device)을 참조하세요.65Remote Control은 Claude 앱을 머신에서 실행 중인 Claude Code 세션에 연결하므로 코드 실행 및 파일 시스템 접근은 로컬로 유지되면서 휴대폰에서 세션을 조종합니다. 컴퓨터에서 `claude remote-control`로 세션을 시작하거나, 이미 열려 있는 세션에서 `/remote-control`을 실행합니다. 그런 다음 터미널이 표시할 수 있는 QR 코드를 스캔하거나, Claude 앱을 열고 **Code**를 탭한 후 목록에서 세션을 선택합니다. 각 옵션에 대해 [다른 기기에서 연결](/docs/ko/remote-control#connect-from-another-device)을 참조하세요.

66 66 

67Claude 앱에서 첨부 파일을 추가하면 로컬 세션에도 도달합니다.67Claude 앱에서 첨부 파일을 추가하면 로컬 세션에도 도달합니다.

68 68 

model-config.md +23 −7

Details

91* **더 큰 작업을 크기 조정합니다**: 일반적으로 조각으로 나누는 작업을 제공합니다. 긴 세션을 유지하면서 스레드를 잃지 않습니다.91* **더 큰 작업을 크기 조정합니다**: 일반적으로 조각으로 나누는 작업을 제공합니다. 긴 세션을 유지하면서 스레드를 잃지 않습니다.

92 92 

93<Note>93<Note>

94 Fable 5.1은 Claude Code v2.1.257 이상이 필요합니다. 이전 버전의 요청이 실패하면 [Claude Code는 이 모델을 지원하지 않습니다](/docs/ko/errors#claude-code-does-not-support-this-model)를 참조하십시오. Fable 5는 v2.1.170 이상이 필요합니다. `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` 선택기는 서버가 조직에 대해 사용 가능하다고 보고한 후에만 Fable 모델을 나열합니다. `/model fable` 또는 Fable 모델 ID를 입력하면 Claude Code는 서버와 직접 가용성을 확인하므로 선택기가 항목을 나열하지 않아도 입력된 선택이 성공할 수 있습니다.


134`/model`은 사용자 설정에서 `model` 필드를 작성하여 선택을 새 세션의 기본값으로 저장합니다. 선택기에서:134`/model`은 사용자 설정에서 `model` 필드를 작성하여 선택을 새 세션의 기본값으로 저장합니다. 선택기에서:

135 135 

136* `Enter`: 모델을 전환하고 기본값으로 저장합니다136* `Enter`: 모델을 전환하고 기본값으로 저장합니다

137* `s`: 이 세션에만 모델을 전환합니다137* `s`: 이 세션에만 모델을 전환합니다. 다른 키를 사용하려면 [`modelPicker:thisSessionOnly`](/docs/ko/keybindings#model-picker-actions)를 다시 바인딩합니다

138 138 

139`/model <name>`을 직접 입력하는 것은 `Enter`처럼 동작합니다. `/model`로 설정된 모델은 [비대화형 모드](/docs/ko/headless)에서 `-p` 플래그를 사용하면 현재 세션에만 적용되며 기본값으로 저장되지 않습니다. 프로젝트 및 관리 설정은 여전히 우선순위를 가지며 다음 시작 시 다시 적용됩니다. 관리자가 구성한 [조직 기본 모델](#organization-default-model)은 사용자 선택을 재정의하도록 설정되어 있으면 다음 시작 시 다시 적용됩니다.139`/model <name>`을 직접 입력하는 것은 `Enter`처럼 동작합니다. 이 세션에만 전환하려면 `/model`로 선택기를 열고 모델의 행에서 `s`를 누릅니다.

140 

141`/model`로 설정된 모델은 [비대화형 모드](/docs/ko/headless)에서 `-p` 플래그를 사용하면 현재 세션에만 적용되며 기본값으로 저장되지 않습니다. `/model`은 해당 모드에서 Claude Code v2.1.205 이상이 필요합니다. 프로젝트 및 관리 설정은 여전히 우선순위를 가지며 다음 시작 시 다시 적용됩니다. [조직 기본 모델](#organization-default-model)이 관리자에 의해 사용자 선택을 재정의하도록 구성된 경우 다음 시작 시 다시 적용됩니다.

140 142 

141v2.1.144부터 v2.1.152까지 `/model`은 현재 세션에만 적용되었고 선택기의 `d`는 기본값을 저장했습니다.143v2.1.144부터 v2.1.152까지 `/model`은 현재 세션에만 적용되었고 선택기의 `d`는 기본값을 저장했습니다.

142 144 


425 조직 노력 제한427 조직 노력 제한

426</h2>428</h2>

427 429 

430조직은 두 가지 방법으로 [노력 수준](#adjust-effort-level)을 제한할 수 있습니다. Claude Enterprise 플랜에서는 조직 관리자가 역할별 노력 제한을 설정하며, 이는 아래에 설명되어 있습니다. 모든 플랜 및 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry를 포함한 모든 제공자에서 [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel) 관리 설정은 클라이언트에서 노력을 제한합니다. 모델에 둘 다 적용되는 경우 더 낮은 상한선이 적용됩니다.

431 

428Claude Enterprise 플랜의 조직 관리자는 각 사용자 정의 역할에 대해 모델별 최대 [노력 수준](#adjust-effort-level)을 설정할 수 있으며, 역할 수준의 [조직 모델 제한](#organization-model-restrictions)과 함께 설정할 수 있습니다. 상한선을 초과하는 수준은 `/effort` 선택기에서 제공되지 않으며, `--effort` 또는 `/effort`로 더 높은 수준을 지정하면 상한선에서 실행됩니다. 대화형 세션 및 일반 텍스트 `--print` 실행에서는 요청된 수준과 적용된 수준을 명시하는 경고가 표시되며, `json` 또는 `stream-json` 출력이거나 백그라운드 에이전트에서는 제한이 자동으로 적용됩니다. 상한선은 모델별이므로 모델을 전환하면 사용 가능한 수준이 변경될 수 있습니다. 여러 역할이 동일한 모델을 부여하는 경우 가장 제한이 적은 상한선이 적용됩니다. Claude Code v2.1.195 이상이 필요합니다.432Claude Enterprise 플랜의 조직 관리자는 각 사용자 정의 역할에 대해 모델별 최대 [노력 수준](#adjust-effort-level)을 설정할 수 있으며, 역할 수준의 [조직 모델 제한](#organization-model-restrictions)과 함께 설정할 수 있습니다. 상한선을 초과하는 수준은 `/effort` 선택기에서 제공되지 않으며, `--effort` 또는 `/effort`로 더 높은 수준을 지정하면 상한선에서 실행됩니다. 대화형 세션 및 일반 텍스트 `--print` 실행에서는 요청된 수준과 적용된 수준을 명시하는 경고가 표시되며, `json` 또는 `stream-json` 출력이거나 백그라운드 에이전트에서는 제한이 자동으로 적용됩니다. 상한선은 모델별이므로 모델을 전환하면 사용 가능한 수준이 변경될 수 있습니다. 여러 역할이 동일한 모델을 부여하는 경우 가장 제한이 적은 상한선이 적용됩니다. Claude Code v2.1.195 이상이 필요합니다.

429 433 

430노력 제한은 [조직 모델 제한](#organization-model-restrictions)과 함께 전달되며 동일한 세션에 도달합니다.434노력 제한은 [조직 모델 제한](#organization-model-restrictions)과 함께 전달되며 동일한 세션에 도달합니다.


463 467 

464이는 계획을 위한 Opus의 추론과 실행을 위한 Sonnet의 효율성을 결합합니다.468이는 계획을 위한 Opus의 추론과 실행을 위한 Sonnet의 효율성을 결합합니다.

465 469 

466계획 모드 Opus 단계는 `opus` 모델 설정과 동일한 컨텍스트 윈도우를 사용합니다. Opus가 [자동으로 1M 컨텍스트로 업그레이드](#extended-context)되는 구독 계층에서 `opusplan`은 계획 모드에서도 업그레이드를 받습니다. 자동 업그레이드 계층이 아닌 경우 두 단계 모두에 1M 컨텍스트를 강제하려면 모델을 `opusplan[1m]`으로 설정하세요.470계획 모드 Opus 단계는 `opus` 모델 설정과 동일한 컨텍스트 윈도우를 사용합니다. Opus가 [자동으로 1M 컨텍스트로 업그레이드](#extended-context)되는 구독 계층에서 `opusplan`은 계획 모드에서도 업그레이드를 받습니다. 자동 업그레이드 계층이 아닌 경우 두 단계 모두에 1M 컨텍스트를 강제하려면 모델을 `opusplan[1m]`으로 [설정](#setting-your-model)하세요. 예를 들어 `/model opusplan[1m]`을 사용하세요. 이를 `/model`로 설정하려면 Claude Code v2.1.265 이상이 필요합니다. 이전 버전에서는 `--model` 플래그 또는 `model` 설정을 대신 사용하세요.

467 471 

468[`availableModels`](#restrict-model-selection)가 최신 Opus를 제외하지만 `["sonnet", "claude-opus-4-6"]`과 같은 이전 버전을 허용하는 경우, `opusplan`은 계획을 위해 허용된 최신 Opus를 사용하고 모든 Opus가 제외된 경우에만 Sonnet에만 유지됩니다. 계획 모드에서 일반적으로 Sonnet으로 업그레이드되는 Haiku 세션은 마찬가지로 허용된 최신 Sonnet을 사용하고, 모든 Sonnet이 제외된 경우에만 Haiku에만 유지됩니다. v2.1.205 이전에는 허용 목록이 이전 버전을 허용했더라도 업그레이드 제품군의 최신 버전이 제외되면 계획 모드가 세션의 모델에 유지되었습니다.472[`availableModels`](#restrict-model-selection)가 최신 Opus를 제외하지만 `["sonnet", "claude-opus-4-6"]`과 같은 이전 버전을 허용하는 경우, `opusplan`은 계획을 위해 허용된 최신 Opus를 사용하고 모든 Opus가 제외된 경우에만 Sonnet에만 유지됩니다. 계획 모드에서 일반적으로 Sonnet으로 업그레이드되는 Haiku 세션은 마찬가지로 허용된 최신 Sonnet을 사용하고, 모든 Sonnet이 제외된 경우에만 Haiku에만 유지됩니다. v2.1.205 이전에는 허용 목록이 이전 버전을 허용했더라도 업그레이드 제품군의 최신 버전이 제외되면 계획 모드가 세션의 모델에 유지되었습니다.

469 473 


619 623 

620지속된 `effortLevel` 설정 및 `CLAUDE_CODE_EFFORT_LEVEL` 환경 변수는 `ultracode`를 허용하지 않습니다. `CLAUDE_CODE_EFFORT_LEVEL`이 `xhigh` 이외의 수준으로 설정되면 요청이 해당 수준에서 실행되고 ultracode의 워크플로우 조율은 비활성 상태로 유지됩니다. Ultracode를 선택하면 환경 변수가 세션의 노력을 재정의한다는 경고가 표시됩니다.624지속된 `effortLevel` 설정 및 `CLAUDE_CODE_EFFORT_LEVEL` 환경 변수는 `ultracode`를 허용하지 않습니다. `CLAUDE_CODE_EFFORT_LEVEL`이 `xhigh` 이외의 수준으로 설정되면 요청이 해당 수준에서 실행되고 ultracode의 워크플로우 조율은 비활성 상태로 유지됩니다. Ultracode를 선택하면 환경 변수가 세션의 노력을 재정의한다는 경고가 표시됩니다.

621 625 

622Ultracode를 사용할 수 없을 때(예: [워크플로우가 꺼져 있을 때](/docs/ko/workflows#turn-workflows-off)), `--effort ultracode`는 `xhigh` 노력만 설정합니다.626<span id="when-ultracode-is-available" />

627 

628Ultracode를 사용할 수 없을 때:

629 

630* [워크플로우가 꺼져 있을 때](/docs/ko/workflows#turn-workflows-off)

631* 모델이 `xhigh` 노력을 지원하지 않음

632* [노력 제한](#organization-effort-limits)이 모델에 `xhigh` 아래로 적용됨

633 

634이 경우 `--effort ultracode`는 ultracode를 끄고 모델 및 모든 제한이 허용하는 최고 노력 수준(최대 `xhigh`)에서 세션을 시작합니다.

623 635 

624<h4 id="choose-an-effort-level">636<h4 id="choose-an-effort-level">

625 노력 수준 선택637 노력 수준 선택


648 노력 수준 설정660 노력 수준 설정

649</h4>661</h4>

650 662 

663<span id="setting-your-model" />

664 

651다음 중 하나를 통해 노력을 변경할 수 있습니다:665다음 중 하나를 통해 노력을 변경할 수 있습니다:

652 666 

653* **`/effort`**: 인터랙티브 슬라이더를 열려면 인수 없이 `/effort`를 실행하거나, 직접 설정하려면 수준 이름 뒤에 `/effort`를 실행하거나, 활성 모델에 대해 저장된 수준을 지우려면 `/effort auto`를 실행하세요. Claude가 작업 중일 때 실행할 수 있으며, Claude Code가 [캐시 경고](/docs/ko/prompt-caching#changing-effort-level)를 표시하면 확인한 후 Claude Code는 새 수준을 턴의 다음 요청에 적용합니다.667* **`/effort`**: 인터랙티브 슬라이더를 열려면 인수 없이 `/effort`를 실행하거나, 직접 설정하려면 수준 이름 뒤에 `/effort`를 실행하거나, 활성 모델에 대해 저장된 수준을 지우려면 `/effort auto`를 실행하세요. Claude가 작업 중일 때 실행할 수 있으며, Claude Code가 [캐시 경고](/docs/ko/prompt-caching#changing-effort-level)를 표시하면 확인한 후 Claude Code는 새 수준을 턴의 다음 요청에 적용합니다.


658* **연결된 장치에서**: [원격 제어](/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) 세션에서 전화 또는 브라우저의 노력 제어에서 수준을 선택합니다. 수준은 현재 세션에만 적용되지만 [모델의 기본 노력에 대한 유지](#adjust-effort-level)도 종료합니다. Claude Code v2.1.234 이상이 필요합니다.

659* **스킬 및 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가 실행될 때 노력 수준을 재정의합니다.

660 674 

661Frontmatter 노력은 해당 스킬 또는 subagent가 활성화될 때 적용되며, 세션 수준을 재정의하지만 환경 변수는 재정의하지 않습니다.675Frontmatter 노력은 해당 스킬 또는 subagent가 활성화될 때 적용되며, 세션 수준을 재정의하지만 환경 변수는 재정의하지 않습니다. [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel) 또는 [조직 노력 제한](#organization-effort-limits)은 여전히 스킬 또는 subagent가 실행되는 수준을 제한합니다.

676 

677Fable 5, Opus 4.8, Opus 4.7에서 frontmatter 노력은 [모델의 기본 노력에 대한 유지](#adjust-effort-level)가 적용되는 동안에도 적용됩니다. v2.1.267 이전에는 유지가 우선하고 Claude Code는 유지가 활성화되는 동안 frontmatter 수준을 무시했습니다.

662 678 

663[관리되는 설정](/docs/ko/managed-settings)의 `effortLevel` 키는 시작 기본값이지 강제가 아닙니다: 사용자는 `/effort` 또는 `--effort`로 세션에 대해 변경할 수 있으며, 관리되는 값은 새 세션에서 기본값으로 다시 주장합니다.679[관리되는 설정](/docs/ko/managed-settings)에서 `effortLevel`을 설정하면 Claude Code는 [노력 확인 순서](#adjust-effort-level)의 설정 단계에서 이를 적용하고 사용자는 여전히 `/effort` 또는 `--effort`로 수준을 변경할 수 있습니다. 사용자를 수준 이하로 유지하려면 [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel)을 설정하세요.

664 680 

665노력 슬라이더는 지원되는 모델이 선택되면 `/model`에 나타납니다. 현재 노력 수준은 또한 모델 이름 옆의 세션 헤더에 표시됩니다. 예를 들어 "with low effort"이므로 `/model`을 열지 않고 어떤 설정이 활성화되어 있는지 확인할 수 있습니다. 바닥글은 또한 시작 시 및 변경 시 노력 수준을 간단히 표시합니다.681노력 슬라이더는 지원되는 모델이 선택되면 `/model`에 나타납니다. 현재 노력 수준은 또한 모델 이름 옆의 세션 헤더에 표시됩니다. 예를 들어 "with low effort"이므로 `/model`을 열지 않고 어떤 설정이 활성화되어 있는지 확인할 수 있습니다. 바닥글은 또한 시작 시 및 변경 시 노력 수준을 간단히 표시합니다.

666 682 

Details

80 80 

81 * 일반 또는 로그/추적 엔드포인트 또는 자격증명81 * 일반 또는 로그/추적 엔드포인트 또는 자격증명

82 * [`otelHeadersHelper`](/docs/ko/settings-reference#otelheadershelper)82 * [`otelHeadersHelper`](/docs/ko/settings-reference#otelheadershelper)

83 * `none`, `console` 또는 비어있음으로 설정된 로그 또는 추적 내보내기 선택기(신호가 수집기로 가지 않게 하는 값)83 * `none`, `console` 또는 비어있음으로 설정된 로그 또는 추적 내보내기 선택기(신호를 수집기에서 유지하는 값)

84 * `CLAUDE_CODE_ENABLE_TELEMETRY` 비활성화84 * `CLAUDE_CODE_ENABLE_TELEMETRY` 비활성화

85 85 

86 메트릭 전용 엔드포인트 또는 자격증명은 제거하지 않습니다. v2.1.251 이전에는 개발자 설정 `BETA_TRACING_ENDPOINT`가 관리 설정이 수집기를 고정했을 때도 상세 베타 추적이 내보내는 로그 및 추적을 리디렉션했습니다.86 메트릭 전용 엔드포인트 또는 자격증명은 제거하지 않습니다. v2.1.251 이전에는 개발자 설정 `BETA_TRACING_ENDPOINT`가 관리 설정이 수집기를 고정했을 때도 상세 베타 추적이 내보내는 로그 및 추적을 리디렉션했습니다.


150다음 환경 변수는 카디널리티를 관리하기 위해 메트릭에 포함되는 속성을 제어합니다:150다음 환경 변수는 카디널리티를 관리하기 위해 메트릭에 포함되는 속성을 제어합니다:

151 151 

152| 환경 변수 | 설명 | 기본값 | 비활성화 예 |152| 환경 변수 | 설명 | 기본값 | 비활성화 예 |

153| ------------------------------------------ | -------------------------------------------------- | ------- | ------- |153| ------------------------------------------ | ----------------------------------------------------------------------------------------- | ------- | ------- |

154| `OTEL_METRICS_INCLUDE_SESSION_ID` | 메트릭에 session.id 속성 포함 | `true` | `false` |154| `OTEL_METRICS_INCLUDE_SESSION_ID` | 메트릭에 session.id 속성 포함 | `true` | `false` |

155| `OTEL_METRICS_INCLUDE_VERSION` | 메트릭에 app.version 속성 포함 | `false` | `true` |155| `OTEL_METRICS_INCLUDE_VERSION` | 메트릭에 app.version 속성 포함 | `false` | `true` |

156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 메트릭에 user.account\_uuid 및 user.account\_id 속성 포함 | `true` | `false` |156| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | 메트릭에 user.account\_uuid 및 user.account\_id 속성 포함 | `true` | `false` |

157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 메트릭에 app.entrypoint 속성 포함 | `false` | `true` |157| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | 메트릭에 app.entrypoint 속성 포함 | `false` | `true` |

158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | `OTEL_RESOURCE_ATTRIBUTES`의 키를 메트릭 데이터포인트의 속성으로 포함 | `true` | `false` |158| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | `OTEL_RESOURCE_ATTRIBUTES`의 키를 메트릭 데이터포인트의 속성으로 포함 | `true` | `false` |

159| `OTEL_METRICS_INCLUDE_REPOSITORY` | 메트릭 및 이벤트에 `vcs.*` [저장소 식별 속성](#repository-attributes)을 포함합니다. Claude Code v2.1.269 이상 필요 | `false` | `true` |

159 160 

160낮은 카디널리티는 일반적으로 더 나은 성능과 낮은 저장소 비용을 의미하지만 분석을 위한 세분화된 데이터는 적습니다.161낮은 카디널리티는 일반적으로 더 나은 성능과 낮은 저장소 비용을 의미하지만 분석을 위한 세분화된 데이터는 적습니다.

161 162 


222| ------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------- |223| ------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------- |

223| `user_prompt` | 프롬프트 텍스트. 게이트가 설정되지 않으면 값은 `<REDACTED>`입니다 | `OTEL_LOG_USER_PROMPTS` |224| `user_prompt` | 프롬프트 텍스트. 게이트가 설정되지 않으면 값은 `<REDACTED>`입니다 | `OTEL_LOG_USER_PROMPTS` |

224| `user_prompt_length` | 프롬프트 길이 (문자 단위) | |225| `user_prompt_length` | 프롬프트 길이 (문자 단위) | |

225| `interaction.sequence` | 이 세션의 상호 작용 1 기반 카운터 | |226| `interaction.sequence` | 상호 작용 1 기반 카운터 ([`event.sequence`](#event-correlation-attributes)에 설명된 대로 세션당이 아닌 Claude Code 프로세스당 계산됨) | |

226| `parent.source` | 스팬이 추적 부모를 얻은 방법: 인바운드 `TRACEPARENT`에서 부모가 되었을 때 `env`, 자신의 추적을 시작했을 때 `none`. Claude Code v2.1.268 이상 필요 | |227| `parent.source` | 스팬이 추적 부모를 얻은 방법: 인바운드 `TRACEPARENT`에서 부모가 되었을 때 `env`, 자신의 추적을 시작했을 때 `none`. Claude Code v2.1.268 이상 필요 | |

227| `interaction.duration_ms` | 턴의 벽시계 지속 시간 | |228| `interaction.duration_ms` | 턴의 벽시계 지속 시간 | |

228 229 


390* 팀별 대시보드 생성391* 팀별 대시보드 생성

391* 특정 팀에 대한 경고 설정392* 특정 팀에 대한 경고 설정

392 393 

393Claude Code는 이러한 값을 모든 메트릭 데이터포인트 및 이벤트 레코드의 속성으로 첨부하고, OTLP 리소스 블록에서도 전송합니다. 대부분의 메트릭 백엔드는 데이터포인트 속성을 쿼리 가능한 레이블로 노출하므로 사용자 정의 키로 직접 메트릭을 그룹화하고 필터링할 수 있습니다. 사용자 정의 키는 `user.id` 또는 `session.id`와 같은 [표준 속성](#standard-attributes)을 재정의하지 않습니다. 키가 충돌하면 Claude Code는 기본 제공 값을 유지합니다.394Claude Code는 이러한 값을 모든 메트릭 데이터포인트 및 이벤트 레코드의 속성으로 첨부하고, OTLP 리소스 블록에서도 전송합니다. 대부분의 메트릭 백엔드는 데이터포인트 속성을 쿼리 가능한 레이블로 노출하므로 사용자 정의 키로 직접 메트릭을 그룹화하고 필터링할 수 있습니다. `vcs.*` [저장소 속성](#repository-attributes)을 제외하고 사용자 정의 키는 `user.id` 또는 `session.id`와 같은 [표준 속성](#standard-attributes)을 재정의하지 않습니다. 키가 충돌하면 Claude Code는 기본 제공 값을 유지합니다.

394 395 

395각 사용자 정의 키는 모든 메트릭 시리즈의 레이블이 되므로 높은 카디널리티 값은 메트릭 백엔드의 저장소 비용을 증가시킵니다. 사용자 정의 속성을 리소스 블록에만 보내고 데이터포인트 레이블에서 생략하려면 `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`를 설정합니다. [메트릭 카디널리티 제어](#metrics-cardinality-control)를 참조합니다.396각 사용자 정의 키는 모든 메트릭 시리즈의 레이블이 되므로 높은 카디널리티 값은 메트릭 백엔드의 저장소 비용을 증가시킵니다. 사용자 정의 속성을 리소스 블록에만 보내고 데이터포인트 레이블에서 생략하려면 `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES=false`를 설정합니다. [메트릭 카디널리티 제어](#metrics-cardinality-control)를 참조합니다.

396 397 


499모든 메트릭과 이벤트는 다음과 같은 표준 속성을 공유합니다:500모든 메트릭과 이벤트는 다음과 같은 표준 속성을 공유합니다:

500 501 

501| 속성 | 설명 | 제어 대상 |502| 속성 | 설명 | 제어 대상 |

502| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |503| --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |

503| `session.id` | 고유한 세션 식별자 | `OTEL_METRICS_INCLUDE_SESSION_ID` (기본값: true) |504| `session.id` | 고유한 세션 식별자 | `OTEL_METRICS_INCLUDE_SESSION_ID` (기본값: true) |

504| `app.version` | 현재 Claude Code 버전 | `OTEL_METRICS_INCLUDE_VERSION` (기본값: false) |505| `app.version` | 현재 Claude Code 버전 | `OTEL_METRICS_INCLUDE_VERSION` (기본값: false) |

505| `app.entrypoint` | 세션이 시작된 방식(예: `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, 또는 `claude-vscode`) | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (기본값: false) |506| `app.entrypoint` | 세션이 시작된 방식(예: `cli`, `sdk-cli`, `sdk-ts`, `sdk-py`, 또는 `claude-vscode`) | `OTEL_METRICS_INCLUDE_ENTRYPOINT` (기본값: false) |


510| `user.email` | 사용자 이메일 주소(로그인 시 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 세션 자체의 자격 증명에서) | 사용 가능할 때 항상 포함됨 |511| `user.email` | 사용자 이메일 주소(로그인 시 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 세션 자체의 자격 증명에서) | 사용 가능할 때 항상 포함됨 |

511| `terminal.type` | 터미널 유형(예: `iTerm.app`, `vscode`, `cursor`, 또는 `tmux`) | 감지될 때 항상 포함됨 |512| `terminal.type` | 터미널 유형(예: `iTerm.app`, `vscode`, `cursor`, 또는 `tmux`) | 감지될 때 항상 포함됨 |

512| `OTEL_RESOURCE_ATTRIBUTES`의 키 | 설정한 사용자 정의 속성(예: `department` 또는 `team.id`). [다중 팀 조직 지원](#multi-team-organization-support) 참조 | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (기본값: true) |513| `OTEL_RESOURCE_ATTRIBUTES`의 키 | 설정한 사용자 정의 속성(예: `department` 또는 `team.id`). [다중 팀 조직 지원](#multi-team-organization-support) 참조 | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (기본값: true) |

514| `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 이상 필요 |

513 515 

514Claude 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.*` 키는 게이트웨이 세션에서 무시됩니다.516Claude 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.*` 키는 게이트웨이 세션에서 무시됩니다.

515 517 


520* `workflow.run_id`: [Workflow](/docs/ko/workflows) 도구 실행에 속하는 에이전트가 내보낸 API 및 도구 이벤트의 실행 식별자(접두사 `wf_`). 하나의 `workflow.run_id`로 이벤트를 필터링하면 해당 실행의 API 요청 및 도구 결과를 재구성합니다. 식별자는 워크플로우 스크립트가 생성하는 에이전트와 그 에이전트가 차례로 생성하는 모든 에이전트(예: 스킬 호출)를 포함합니다. Workflow 도구 결과에서 보고된 실행 식별자와 일치합니다. 다른 모든 이벤트에는 없습니다. Claude Code v2.1.202 이상 필요522* `workflow.run_id`: [Workflow](/docs/ko/workflows) 도구 실행에 속하는 에이전트가 내보낸 API 및 도구 이벤트의 실행 식별자(접두사 `wf_`). 하나의 `workflow.run_id`로 이벤트를 필터링하면 해당 실행의 API 요청 및 도구 결과를 재구성합니다. 식별자는 워크플로우 스크립트가 생성하는 에이전트와 그 에이전트가 차례로 생성하는 모든 에이전트(예: 스킬 호출)를 포함합니다. Workflow 도구 결과에서 보고된 실행 식별자와 일치합니다. 다른 모든 이벤트에는 없습니다. Claude Code v2.1.202 이상 필요

521* `workflow.name`: 워크플로우의 이름(스크립트의 `meta.name`), `workflow.run_id`와 함께 내보냅니다. 기본 제공 워크플로우 이름은 실행이 수정되지 않은 기본 제공 스크립트를 실행할 때 그대로 나타납니다. 기본 제공 스크립트의 편집된 복사본을 포함한 사용자 작성 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `custom`으로 대체됩니다. Claude Code v2.1.202 이상 필요523* `workflow.name`: 워크플로우의 이름(스크립트의 `meta.name`), `workflow.run_id`와 함께 내보냅니다. 기본 제공 워크플로우 이름은 실행이 수정되지 않은 기본 제공 스크립트를 실행할 때 그대로 나타납니다. 기본 제공 스크립트의 편집된 복사본을 포함한 사용자 작성 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `custom`으로 대체됩니다. Claude Code v2.1.202 이상 필요

522 524 

525<h4 id="repository-attributes">

526 저장소 속성

527</h4>

528 

529`OTEL_METRICS_INCLUDE_REPOSITORY=true`를 설정하여 메트릭과 이벤트를 세션의 저장소 ID로 태그하면, 공유 수집기가 저장소별로 사용량을 속성화할 수 있습니다. Claude Code v2.1.269 이상 필요합니다.

530 

531Claude Code는 저장소의 `origin` 원격에서 이러한 속성을 세션당 한 번 파생합니다. 하나의 저장소의 HTTPS 및 SSH 원격은 동일한 값을 생성합니다:

532 

533| 속성 | 값 |

534| ------------------------- | ---------------------------------------------------------------------------------------------------------- |

535| `vcs.repository.url.full` | 저장소의 브라우저 URL(.git 없음)(예: `https://github.com/example-org/example-repo`) |

536| `vcs.owner.name` | 소유자 또는 그룹 경로(예: `example-org`). 원격 경로가 단일 세그먼트를 가질 때는 생략됨 |

537| `vcs.repository.name` | 기본 저장소 이름(예: `example-repo`) |

538| `vcs.provider.name` | Claude Code가 원격의 호스트 또는 URL 형태를 이러한 공급자 중 하나로 인식할 때 `github`, `gitlab`, `bitbucket`, 또는 `gitea`. 그 외에는 생략됨 |

539 

540값은 소문자로 변환되며, 원격 URL의 자격 증명, 쿼리 문자열, 및 조각은 절대 나타나지 않습니다. 세션에 `origin` 원격이 없을 때, 원격이 URL 형태가 아닐 때, 또는 유일한 포함 저장소가 홈 디렉토리일 때 속성은 생략됩니다.

541 

542[`OTEL_RESOURCE_ATTRIBUTES`](#multi-team-organization-support)에서 선언한 `vcs.*` 키는 해당 키의 파생 값을 대체합니다. `vcs.repository.url.full`을 선언하면 Claude Code는 절대 원격을 읽지 않으며 선언한 키만 보고합니다.

543 

544속성은 자신의 내보내기로만 흐릅니다. Anthropic의 원격 측정은 모든 `vcs.*` 키를 삭제합니다.

545 

523<h3 id="metrics">546<h3 id="metrics">

524 메트릭547 메트릭

525</h3>548</h3>


664| 속성 | 설명 |687| 속성 | 설명 |

665| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |688| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

666| `prompt.id` | 단일 사용자 프롬프트 처리 중에 생성된 모든 이벤트를 연결하는 UUID v4 식별자 |689| `prompt.id` | 단일 사용자 프롬프트 처리 중에 생성된 모든 이벤트를 연결하는 UUID v4 식별자 |

690| `event.sequence` | 이벤트 순서 지정을 위한 0 기반 카운터(Claude Code 프로세스당 계산되며 세션당이 아님) |

667| `message.uuid` | 세션 트랜스크립트(`~/.claude/projects/*/*.jsonl` 파일)에 저장된 메시지의 UUID입니다. `assistant_response`에 있고, 명령 디스패치를 제외한 `user_prompt`에 있습니다(명령 디스패치는 0개 이상의 메시지를 생성할 수 있음). `assistant_response`에서 이것은 응답의 최종 트랜스크립트 항목이며, 다음 턴의 `parentUuid`가 이로부터 체인됩니다. Claude Code v2.1.214 이상 필요 |691| `message.uuid` | 세션 트랜스크립트(`~/.claude/projects/*/*.jsonl` 파일)에 저장된 메시지의 UUID입니다. `assistant_response`에 있고, 명령 디스패치를 제외한 `user_prompt`에 있습니다(명령 디스패치는 0개 이상의 메시지를 생성할 수 있음). `assistant_response`에서 이것은 응답의 최종 트랜스크립트 항목이며, 다음 턴의 `parentUuid`가 이로부터 체인됩니다. Claude Code v2.1.214 이상 필요 |

668| `client_request_id` | `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID입니다. 자사 API 연결의 `api_request` 및 `api_error`에 있고, 타사 공급자 백엔드 및 요청이 비스트리밍 폴백을 통해 재시도되었을 때는 없습니다. 요청을 응답과 쌍으로 만들고 서버 `request_id`를 생성하지 않은 타임아웃과 같은 실패에 대해 사용 가능하게 유지합니다. `llm_request` 추적 스팬의 동일한 속성과 일치합니다. Claude Code v2.1.214 이상 필요 |692| `client_request_id` | `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID입니다. 자사 API 연결의 `api_request` 및 `api_error`에 있고, 타사 공급자 백엔드 및 요청이 비스트리밍 폴백을 통해 재시도되었을 때는 없습니다. 요청을 응답과 쌍으로 만들고 서버 `request_id`를 생성하지 않은 타임아웃과 같은 실패에 대해 사용 가능하게 유지합니다. `llm_request` 추적 스팬의 동일한 속성과 일치합니다. Claude Code v2.1.214 이상 필요 |

669 693 

670단일 프롬프트로 트리거된 모든 활동을 추적하려면 특정 `prompt.id` 값으로 이벤트를 필터링하세요. 이는 user\_prompt 이벤트, 모든 api\_request 이벤트, 및 해당 프롬프트 처리 중에 발생한 모든 tool\_result 이벤트를 반환합니다.694단일 프롬프트로 트리거된 모든 활동을 추적하려면 특정 `prompt.id` 값으로 이벤트를 필터링하세요. 이는 user\_prompt 이벤트, 모든 api\_request 이벤트, 및 해당 프롬프트 처리 중에 발생한 모든 tool\_result 이벤트를 반환합니다.

671 695 

696`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`를 사용하세요.

697 

672메시지 수준 재구성의 경우, 각 이벤트 클래스는 세션 트랜스크립트의 필드와 일치하는 키를 전달합니다. 트랜스크립트 항목 형식은 [Claude Code 내부](/docs/ko/sessions#where-transcripts-are-stored)이며 버전 간에 변경되므로, 이러한 필드에 조인하는 파이프라인은 모든 릴리스에서 중단될 수 있습니다. 조인을 안정적인 계약이 아닌 버전별 조인으로 취급하세요:698메시지 수준 재구성의 경우, 각 이벤트 클래스는 세션 트랜스크립트의 필드와 일치하는 키를 전달합니다. 트랜스크립트 항목 형식은 [Claude Code 내부](/docs/ko/sessions#where-transcripts-are-stored)이며 버전 간에 변경되므로, 이러한 필드에 조인하는 파이프라인은 모든 릴리스에서 중단될 수 있습니다. 조인을 안정적인 계약이 아닌 버전별 조인으로 취급하세요:

673 699 

674* `user_prompt` 및 `assistant_response`의 `message.uuid`700* `user_prompt` 및 `assistant_response`의 `message.uuid`


688* 모든 [표준 속성](#standard-attributes)714* 모든 [표준 속성](#standard-attributes)

689* `event.name`: `"user_prompt"`715* `event.name`: `"user_prompt"`

690* `event.timestamp`: ISO 8601 타임스탬프716* `event.timestamp`: ISO 8601 타임스탬프

691* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터717* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

692* `prompt_length`: 프롬프트의 길이718* `prompt_length`: 프롬프트의 길이

693* `prompt`: 프롬프트 내용. 기본적으로 수정됨. `OTEL_LOG_USER_PROMPTS=1`을 설정하여 포함시킵니다.719* `prompt`: 프롬프트 내용. 기본적으로 수정됨. `OTEL_LOG_USER_PROMPTS=1`을 설정하여 포함시킵니다.

694* `message.uuid`: 저장된 트랜스크립트 항목과 일치하는 결과 사용자 메시지의 UUID입니다. 명령 디스패치에는 없습니다(0개 이상의 메시지를 생성할 수 있음). Claude Code v2.1.214 이상 필요720* `message.uuid`: 저장된 트랜스크립트 항목과 일치하는 결과 사용자 메시지의 UUID입니다. 명령 디스패치에는 없습니다(0개 이상의 메시지를 생성할 수 있음). Claude Code v2.1.214 이상 필요


708* 모든 [표준 속성](#standard-attributes)734* 모든 [표준 속성](#standard-attributes)

709* `event.name`: `"assistant_response"`735* `event.name`: `"assistant_response"`

710* `event.timestamp`: ISO 8601 타임스탬프736* `event.timestamp`: ISO 8601 타임스탬프

711* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터737* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

712* `response_length`: 응답 텍스트의 길이(문자)738* `response_length`: 응답 텍스트의 길이(문자)

713* `response`: 응답 텍스트(콘텐츠 제한(기본값 60KB)에서 잘림). 기본적으로 `<REDACTED>`로 수정됨. `OTEL_LOG_ASSISTANT_RESPONSES=1`을 설정하여 포함시킵니다. `OTEL_LOG_ASSISTANT_RESPONSES`가 설정되지 않으면 `OTEL_LOG_USER_PROMPTS`가 대신 제어하므로, 프롬프트 로깅이 켜져 있는 동안 응답을 수정된 상태로 유지하려면 `OTEL_LOG_ASSISTANT_RESPONSES=0`을 설정하세요.739* `response`: 응답 텍스트(콘텐츠 제한(기본값 60KB)에서 잘림). 기본적으로 `<REDACTED>`로 수정됨. `OTEL_LOG_ASSISTANT_RESPONSES=1`을 설정하여 포함시킵니다. `OTEL_LOG_ASSISTANT_RESPONSES`가 설정되지 않으면 `OTEL_LOG_USER_PROMPTS`가 대신 제어하므로, 프롬프트 로깅이 켜져 있는 동안 응답을 수정된 상태로 유지하려면 `OTEL_LOG_ASSISTANT_RESPONSES=0`을 설정하세요.

714* `model`: 모델 식별자(예: "claude-sonnet-5")740* `model`: 모델 식별자(예: "claude-sonnet-5")


729* 모든 [표준 속성](#standard-attributes)755* 모든 [표준 속성](#standard-attributes)

730* `event.name`: `"tool_result"`756* `event.name`: `"tool_result"`

731* `event.timestamp`: ISO 8601 타임스탬프757* `event.timestamp`: ISO 8601 타임스탬프

732* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터758* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

733* `tool_name`: 도구의 이름759* `tool_name`: 도구의 이름

734* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.760* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.

735* `success`: `"true"` 또는 `"false"`761* `success`: `"true"` 또는 `"false"`


741* `tool_input_size_bytes`: JSON 직렬화된 도구 입력의 크기(바이트)767* `tool_input_size_bytes`: JSON 직렬화된 도구 입력의 크기(바이트)

742* `tool_result_size_bytes`: 도구 결과의 크기(바이트)768* `tool_result_size_bytes`: 도구 결과의 크기(바이트)

743* `mcp_server_scope`: MCP 서버 범위 식별자(MCP 도구의 경우)769* `mcp_server_scope`: MCP 서버 범위 식별자(MCP 도구의 경우)

770* `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 이상 필요

744* `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 이상 필요. 매개변수는 도구에 따라 다릅니다:771* `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 이상 필요. 매개변수는 도구에 따라 다릅니다:

745 * Bash 도구의 경우: `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`, 및 `git_commit_id`(git commit 명령이 성공할 때의 커밋 SHA)를 포함합니다. 데스크톱 앱의 작업 공간 bash 도구도 `tool_name`을 `Bash`로 보고하지만 `bash_command`, `full_command`, 및 `timeout`만 포함합니다.772 * 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에서는 생략됩니다.

773 * 데스크톱 앱의 작업 공간 Bash 도구(또한 `tool_name`을 `Bash`로 보고함): `bash_command`, `full_command`, 및 `timeout`만 포함합니다.

746 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name`을 포함합니다.774 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name`을 포함합니다.

747 * Skill 도구의 경우: `skill_name`을 포함합니다.775 * Skill 도구의 경우: `skill_name`을 포함합니다.

748 * Agent 도구 또는 레거시 Task 도구의 경우: `subagent_type`을 포함합니다.776 * Agent 도구 또는 레거시 Task 도구의 경우: `subagent_type`을 포함합니다.


761* 모든 [표준 속성](#standard-attributes)789* 모든 [표준 속성](#standard-attributes)

762* `event.name`: `"api_request"`790* `event.name`: `"api_request"`

763* `event.timestamp`: ISO 8601 타임스탬프791* `event.timestamp`: ISO 8601 타임스탬프

764* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터792* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

765* `model`: 사용된 모델(예: "claude-sonnet-5")793* `model`: 사용된 모델(예: "claude-sonnet-5")

766* `cost_usd`: USD 단위의 예상 비용794* `cost_usd`: USD 단위의 예상 비용

767* `cost_usd_micros`: 미국 달러의 백만분의 일 단위의 예상 비용(정수로 내보냄)795* `cost_usd_micros`: 미국 달러의 백만분의 일 단위의 예상 비용(정수로 내보냄)


790* 모든 [표준 속성](#standard-attributes)818* 모든 [표준 속성](#standard-attributes)

791* `event.name`: `"api_error"`819* `event.name`: `"api_error"`

792* `event.timestamp`: ISO 8601 타임스탬프820* `event.timestamp`: ISO 8601 타임스탬프

793* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터821* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

794* `model`: 사용된 모델(예: "claude-sonnet-5")822* `model`: 사용된 모델(예: "claude-sonnet-5")

795* `error`: 오류 메시지823* `error`: 오류 메시지

796* `status_code`: HTTP 상태 코드(숫자). 연결 실패와 같은 비HTTP 오류의 경우 없습니다.824* `status_code`: HTTP 상태 코드(숫자). 연결 실패와 같은 비HTTP 오류의 경우 없습니다.


816* 모든 [표준 속성](#standard-attributes)844* 모든 [표준 속성](#standard-attributes)

817* `event.name`: `"api_refusal"`845* `event.name`: `"api_refusal"`

818* `event.timestamp`: ISO 8601 타임스탬프846* `event.timestamp`: ISO 8601 타임스탬프

819* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터847* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

820* `model`: 요청의 모델 식별자848* `model`: 요청의 모델 식별자

821* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.849* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.

822* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름). 정의는 [`api_request`](#api-request-event)를 참조하세요.850* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름). 정의는 [`api_request`](#api-request-event)를 참조하세요.


842* 모든 [표준 속성](#standard-attributes)870* 모든 [표준 속성](#standard-attributes)

843* `event.name`: `"api_request_body"`871* `event.name`: `"api_request_body"`

844* `event.timestamp`: ISO 8601 타임스탬프872* `event.timestamp`: ISO 8601 타임스탬프

845* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터873* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

846* `body`: JSON 직렬화된 Messages API 요청 매개변수(예: 시스템 프롬프트, 메시지, 및 도구)(콘텐츠 제한(기본값 60KB)에서 잘림). 이전 어시스턴트 턴의 확장 사고 콘텐츠는 수정됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.874* `body`: JSON 직렬화된 Messages API 요청 매개변수(예: 시스템 프롬프트, 메시지, 및 도구)(콘텐츠 제한(기본값 60KB)에서 잘림). 이전 어시스턴트 턴의 확장 사고 콘텐츠는 수정됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.

847* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<uuid>.request.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.875* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<uuid>.request.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.

848* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위876* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위


863* 모든 [표준 속성](#standard-attributes)891* 모든 [표준 속성](#standard-attributes)

864* `event.name`: `"api_response_body"`892* `event.name`: `"api_response_body"`

865* `event.timestamp`: ISO 8601 타임스탬프893* `event.timestamp`: ISO 8601 타임스탬프

866* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터894* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

867* `body`: JSON 직렬화된 Messages API 응답(id, 콘텐츠 블록, 사용량, 및 중지 이유 포함)(콘텐츠 제한(기본값 60KB)에서 잘림). 확장 사고 콘텐츠는 수정됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.895* `body`: JSON 직렬화된 Messages API 응답(id, 콘텐츠 블록, 사용량, 및 중지 이유 포함)(콘텐츠 제한(기본값 60KB)에서 잘림). 확장 사고 콘텐츠는 수정됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.

868* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<request_id>.response.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.896* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<request_id>.response.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.

869* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위897* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위


885* 모든 [표준 속성](#standard-attributes)913* 모든 [표준 속성](#standard-attributes)

886* `event.name`: `"tool_decision"`914* `event.name`: `"tool_decision"`

887* `event.timestamp`: ISO 8601 타임스탬프915* `event.timestamp`: ISO 8601 타임스탬프

888* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터916* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

889* `tool_name`: 도구의 이름(예: "Read", "Edit", "Write", "NotebookEdit")917* `tool_name`: 도구의 이름(예: "Read", "Edit", "Write", "NotebookEdit")

890* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.918* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.

891* `decision`: `"accept"` 또는 `"reject"`919* `decision`: `"accept"` 또는 `"reject"`


920* 모든 [표준 속성](#standard-attributes)948* 모든 [표준 속성](#standard-attributes)

921* `event.name`: `"permission_mode_changed"`949* `event.name`: `"permission_mode_changed"`

922* `event.timestamp`: ISO 8601 타임스탬프950* `event.timestamp`: ISO 8601 타임스탬프

923* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터951* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

924* `from_mode`: 이전 권한 모드(예: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, 또는 `"bypassPermissions"`)952* `from_mode`: 이전 권한 모드(예: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, 또는 `"bypassPermissions"`)

925* `to_mode`: 새 권한 모드953* `to_mode`: 새 권한 모드

926* `trigger`: 변경을 야기한 것. `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, 또는 `"auto_opt_in"` 중 하나. SDK 또는 브리지에서 전환이 시작될 때는 없습니다.954* `trigger`: 변경을 야기한 것. `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, 또는 `"auto_opt_in"` 중 하나. SDK 또는 브리지에서 전환이 시작될 때는 없습니다.


938* 모든 [표준 속성](#standard-attributes)966* 모든 [표준 속성](#standard-attributes)

939* `event.name`: `"auth"`967* `event.name`: `"auth"`

940* `event.timestamp`: ISO 8601 타임스탬프968* `event.timestamp`: ISO 8601 타임스탬프

941* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터969* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

942* `action`: `"login"` 또는 `"logout"`970* `action`: `"login"` 또는 `"logout"`

943* `success`: `"true"` 또는 `"false"`971* `success`: `"true"` 또는 `"false"`

944* `auth_method`: 인증 방법(예: `"oauth"`)972* `auth_method`: 인증 방법(예: `"oauth"`)


958* 모든 [표준 속성](#standard-attributes)986* 모든 [표준 속성](#standard-attributes)

959* `event.name`: `"mcp_server_connection"`987* `event.name`: `"mcp_server_connection"`

960* `event.timestamp`: ISO 8601 타임스탬프988* `event.timestamp`: ISO 8601 타임스탬프

961* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터989* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

962* `status`: `"connected"`, `"failed"`, 또는 `"disconnected"`990* `status`: `"connected"`, `"failed"`, 또는 `"disconnected"`

963* `transport_type`: 서버 전송(예: `"stdio"`, `"sse"`, 또는 `"http"`)991* `transport_type`: 서버 전송(예: `"stdio"`, `"sse"`, 또는 `"http"`)

964* `server_scope`: 서버가 구성된 범위(예: `"user"`, `"project"`, 또는 `"local"`)992* `server_scope`: 서버가 구성된 범위(예: `"user"`, `"project"`, 또는 `"local"`)


983* 모든 [표준 속성](#standard-attributes)1011* 모든 [표준 속성](#standard-attributes)

984* `event.name`: `"internal_error"`1012* `event.name`: `"internal_error"`

985* `event.timestamp`: ISO 8601 타임스탬프1013* `event.timestamp`: ISO 8601 타임스탬프

986* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1014* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

987* `error_name`: 오류 클래스 이름(예: `"TypeError"` 또는 `"SyntaxError"`)1015* `error_name`: 오류 클래스 이름(예: `"TypeError"` 또는 `"SyntaxError"`)

988* `error_code`: 오류에 있을 때의 Node.js errno 코드(예: `"ENOENT"`)1016* `error_code`: 오류에 있을 때의 Node.js errno 코드(예: `"ENOENT"`)

989 1017 


1000* 모든 [표준 속성](#standard-attributes)1028* 모든 [표준 속성](#standard-attributes)

1001* `event.name`: `"plugin_installed"`1029* `event.name`: `"plugin_installed"`

1002* `event.timestamp`: ISO 8601 타임스탬프1030* `event.timestamp`: ISO 8601 타임스탬프

1003* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1031* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1004* `marketplace.is_official`: 마켓플레이스가 공식 Anthropic 마켓플레이스일 때 `"true"`, 그 외에는 `"false"`1032* `marketplace.is_official`: 마켓플레이스가 공식 Anthropic 마켓플레이스일 때 `"true"`, 그 외에는 `"false"`

1005* `install.trigger`: `"cli"` 또는 `"ui"`1033* `install.trigger`: `"cli"` 또는 `"ui"`

1006* `plugin.name`: 설치된 플러그인의 이름. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됩니다.1034* `plugin.name`: 설치된 플러그인의 이름. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됩니다.


1020* 모든 [표준 속성](#standard-attributes)1048* 모든 [표준 속성](#standard-attributes)

1021* `event.name`: `"plugin_loaded"`1049* `event.name`: `"plugin_loaded"`

1022* `event.timestamp`: ISO 8601 타임스탬프1050* `event.timestamp`: ISO 8601 타임스탬프

1023* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1051* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1024* `plugin.name`: 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `"third-party"`입니다.1052* `plugin.name`: 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `"third-party"`입니다.

1025* `marketplace.name`: 플러그인이 설치된 마켓플레이스(알려진 경우). `plugin.name`과 동일한 조건에서 `"third-party"`로 수정됩니다.1053* `marketplace.name`: 플러그인이 설치된 마켓플레이스(알려진 경우). `plugin.name`과 동일한 조건에서 `"third-party"`로 수정됩니다.

1026* `plugin.version`: 플러그인 매니페스트의 버전. 이름이 수정되지 않고 매니페스트가 버전을 선언할 때만 포함됩니다.1054* `plugin.version`: 플러그인 매니페스트의 버전. 이름이 수정되지 않고 매니페스트가 버전을 선언할 때만 포함됩니다.


1048* 모든 [표준 속성](#standard-attributes)1076* 모든 [표준 속성](#standard-attributes)

1049* `event.name`: `"skill_activated"`1077* `event.name`: `"skill_activated"`

1050* `event.timestamp`: ISO 8601 타임스탬프1078* `event.timestamp`: ISO 8601 타임스탬프

1051* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1079* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1052* `skill.name`: 스킬의 이름. 사용자 정의 및 타사 플러그인 스킬의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 플레이스홀더 `"custom_skill"`입니다.1080* `skill.name`: 스킬의 이름. 사용자 정의 및 타사 플러그인 스킬의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 플레이스홀더 `"custom_skill"`입니다.

1053* `invocation_trigger`: 스킬이 트리거된 방식(`"user-slash"`, `"claude-proactive"`, 또는 `"nested-skill"`)1081* `invocation_trigger`: 스킬이 트리거된 방식(`"user-slash"`, `"claude-proactive"`, 또는 `"nested-skill"`)

1054* `skill.source`: 스킬이 로드된 위치(예: `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1082* `skill.source`: 스킬이 로드된 위치(예: `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)


1069* 모든 [표준 속성](#standard-attributes)1097* 모든 [표준 속성](#standard-attributes)

1070* `event.name`: `"at_mention"`1098* `event.name`: `"at_mention"`

1071* `event.timestamp`: ISO 8601 타임스탬프1099* `event.timestamp`: ISO 8601 타임스탬프

1072* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1100* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1073* `mention_type`: 멘션의 유형(`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). `"peer"` 값은 [다른 Claude Code 세션](/docs/ko/cross-session-messaging) 중 하나를 멘션했음을 의미합니다. Claude Code v2.1.232 이상 필요1101* `mention_type`: 멘션의 유형(`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). `"peer"` 값은 [다른 Claude Code 세션](/docs/ko/cross-session-messaging) 중 하나를 멘션했음을 의미합니다. Claude Code v2.1.232 이상 필요

1074* `success`: 멘션이 성공적으로 해결되었는지 여부(`"true"` 또는 `"false"`)1102* `success`: 멘션이 성공적으로 해결되었는지 여부(`"true"` 또는 `"false"`)

1075 1103 


1086* 모든 [표준 속성](#standard-attributes)1114* 모든 [표준 속성](#standard-attributes)

1087* `event.name`: `"api_retries_exhausted"`1115* `event.name`: `"api_retries_exhausted"`

1088* `event.timestamp`: ISO 8601 타임스탬프1116* `event.timestamp`: ISO 8601 타임스탬프

1089* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1117* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1090* `model`: 사용된 모델1118* `model`: 사용된 모델

1091* `error`: 최종 오류 메시지1119* `error`: 최종 오류 메시지

1092* `status_code`: HTTP 상태 코드(숫자). 비HTTP 오류의 경우 없습니다.1120* `status_code`: HTTP 상태 코드(숫자). 비HTTP 오류의 경우 없습니다.


1107* 모든 [표준 속성](#standard-attributes)1135* 모든 [표준 속성](#standard-attributes)

1108* `event.name`: `"hook_registered"`1136* `event.name`: `"hook_registered"`

1109* `event.timestamp`: ISO 8601 타임스탬프1137* `event.timestamp`: ISO 8601 타임스탬프

1110* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1138* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1111* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)1139* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)

1112* `hook_type`: 훅 구현 유형: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, 또는 `"agent"`1140* `hook_type`: 훅 구현 유형: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, 또는 `"agent"`

1113* `hook_source`: 훅이 정의된 위치: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, 또는 `"pluginHook"`1141* `hook_source`: 훅이 정의된 위치: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, 또는 `"pluginHook"`


1129* 모든 [표준 속성](#standard-attributes)1157* 모든 [표준 속성](#standard-attributes)

1130* `event.name`: `"hook_execution_start"`1158* `event.name`: `"hook_execution_start"`

1131* `event.timestamp`: ISO 8601 타임스탬프1159* `event.timestamp`: ISO 8601 타임스탬프

1132* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1160* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1133* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)1161* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)

1134* `hook_name`: 매처를 포함한 전체 훅 이름(예: `"PreToolUse:Write"`)1162* `hook_name`: 매처를 포함한 전체 훅 이름(예: `"PreToolUse:Write"`)

1135* `num_hooks`: 일치하는 훅 명령 수1163* `num_hooks`: 일치하는 훅 명령 수


1151* 모든 [표준 속성](#standard-attributes)1179* 모든 [표준 속성](#standard-attributes)

1152* `event.name`: `"hook_execution_complete"`1180* `event.name`: `"hook_execution_complete"`

1153* `event.timestamp`: ISO 8601 타임스탬프1181* `event.timestamp`: ISO 8601 타임스탬프

1154* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1182* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1155* `hook_event`: 훅 이벤트 유형1183* `hook_event`: 훅 이벤트 유형

1156* `hook_name`: 매처를 포함한 전체 훅 이름1184* `hook_name`: 매처를 포함한 전체 훅 이름

1157* `num_hooks`: 일치하는 훅 명령 수1185* `num_hooks`: 일치하는 훅 명령 수


1178* 모든 [표준 속성](#standard-attributes)1206* 모든 [표준 속성](#standard-attributes)

1179* `event.name`: `"hook_plugin_metrics"`1207* `event.name`: `"hook_plugin_metrics"`

1180* `event.timestamp`: ISO 8601 타임스탬프1208* `event.timestamp`: ISO 8601 타임스탬프

1181* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1209* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1182* `plugin_id`: `<name>@<marketplace>` 형식의 플러그인 식별자1210* `plugin_id`: `<name>@<marketplace>` 형식의 플러그인 식별자

1183* `hook_event`: 메트릭을 내보낸 훅 이벤트 유형1211* `hook_event`: 메트릭을 내보낸 훅 이벤트 유형

1184* 최대 20개의 플러그인 내보낸 메트릭 키. 이름은 `^[a-z][a-z0-9_]{0,39}$`와 일치합니다. 값은 부울 또는 숫자입니다.1212* 최대 20개의 플러그인 내보낸 메트릭 키. 이름은 `^[a-z][a-z0-9_]{0,39}$`와 일치합니다. 값은 부울 또는 숫자입니다.


1196* 모든 [표준 속성](#standard-attributes)1224* 모든 [표준 속성](#standard-attributes)

1197* `event.name`: `"compaction"`1225* `event.name`: `"compaction"`

1198* `event.timestamp`: ISO 8601 타임스탬프1226* `event.timestamp`: ISO 8601 타임스탬프

1199* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1227* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1200* `trigger`: `"auto"` 또는 `"manual"`1228* `trigger`: `"auto"` 또는 `"manual"`

1201* `success`: `"true"` 또는 `"false"`1229* `success`: `"true"` 또는 `"false"`

1202* `duration_ms`: 압축 지속 시간1230* `duration_ms`: 압축 지속 시간


1218* 모든 [표준 속성](#standard-attributes)1246* 모든 [표준 속성](#standard-attributes)

1219* `event.name`: `"subagent_completed"`1247* `event.name`: `"subagent_completed"`

1220* `event.timestamp`: ISO 8601 타임스탬프1248* `event.timestamp`: ISO 8601 타임스탬프

1221* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1249* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1222* `agent_type`: 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다. 다른 에이전트 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `"custom"`으로 대체됩니다.1250* `agent_type`: 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다. 다른 에이전트 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않으면 `"custom"`으로 대체됩니다.

1223* `agent.source`: 에이전트 정의가 어디서 나왔는지: `built-in`, `plugin`, 또는 `userSettings` 또는 `projectSettings`와 같은 사용자 정의 에이전트를 정의한 설정 소스1251* `agent.source`: 에이전트 정의가 어디서 나왔는지: `built-in`, `plugin`, 또는 `userSettings` 또는 `projectSettings`와 같은 사용자 정의 에이전트를 정의한 설정 소스

1224* `is_built_in`: 하위 에이전트가 기본 제공 에이전트 유형인지 여부1252* `is_built_in`: 하위 에이전트가 기본 제공 에이전트 유형인지 여부


1244* 모든 [표준 속성](#standard-attributes)1272* 모든 [표준 속성](#standard-attributes)

1245* `event.name`: `"feedback_survey"`1273* `event.name`: `"feedback_survey"`

1246* `event.timestamp`: ISO 8601 타임스탬프1274* `event.timestamp`: ISO 8601 타임스탬프

1247* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1275* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1248* `event_type`: 설문 생명 주기 이벤트(예: `"appeared"`, `"responded"`, 또는 `"transcript_prompt_appeared"`)1276* `event_type`: 설문 생명 주기 이벤트(예: `"appeared"`, `"responded"`, 또는 `"transcript_prompt_appeared"`)

1249* `appearance_id`: 하나의 설문 인스턴스에 대해 내보낸 이벤트를 연결하는 고유 ID1277* `appearance_id`: 하나의 설문 인스턴스에 대해 내보낸 이벤트를 연결하는 고유 ID

1250* `survey_type`: 이벤트를 생성한 설문. `"session"`은 "Claude가 어떻게 하고 있나요?" 평가 프롬프트입니다.1278* `survey_type`: 이벤트를 생성한 설문. `"session"`은 "Claude가 어떻게 하고 있나요?" 평가 프롬프트입니다.


1268* 모든 [표준 속성](#standard-attributes)1296* 모든 [표준 속성](#standard-attributes)

1269* `event.name`: `"retention_sweep"`1297* `event.name`: `"retention_sweep"`

1270* `event.timestamp`: ISO 8601 타임스탬프1298* `event.timestamp`: ISO 8601 타임스탬프

1271* `event.sequence`: 세션 내 이벤트 순서 지정을 위한 단조 증가 카운터1299* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에 설명됨)

1272* `result`: 스윕이 실행되었을 때 `"complete"`, Claude Code가 일시 중지했을 때 `"skipped"`1300* `result`: 스윕이 실행되었을 때 `"complete"`, Claude Code가 일시 중지했을 때 `"skipped"`

1273* `period_days`: 병합된 설정의 `cleanupPeriodDays` 값(일 단위) 또는 소스가 설정하지 않을 때 `30`. 건너뛴 이벤트에서, 스윕이 사용했을 값(Claude Code가 읽을 수 있는 설정 소스에서 계산됨)1301* `period_days`: 병합된 설정의 `cleanupPeriodDays` 값(일 단위) 또는 소스가 설정하지 않을 때 `30`. 건너뛴 이벤트에서, 스윕이 사용했을 값(Claude Code가 읽을 수 있는 설정 소스에서 계산됨)

1274* `used_default`: 읽을 수 있는 설정 소스가 `cleanupPeriodDays`를 설정하지 않을 때 `"true"`, 그 외에는 `"false"`. 완료 이벤트에서, `"true"`는 30일 기본값이 적용되었음을 의미합니다.1302* `used_default`: 읽을 수 있는 설정 소스가 `cleanupPeriodDays`를 설정하지 않을 때 `"true"`, 그 외에는 `"false"`. 완료 이벤트에서, `"true"`는 30일 기본값이 적용되었음을 의미합니다.

permissions.md +3 −1

Details

67 67 

68`Bash(aws *)`와 같은 광범위한 deny 규칙은 `Bash(aws s3 ls)`와 같은 더 좁은 allow 규칙과도 일치하는 호출을 포함하여 모든 일치하는 호출을 차단하므로, deny 규칙은 허용 목록 예외를 포함할 수 없습니다. ask와 allow 사이에도 동일한 우선순위가 적용됩니다: 일치하는 ask 규칙은 동일한 호출과도 일치하는 더 구체적인 allow 규칙이 있을 때도 프롬프트를 표시합니다.68`Bash(aws *)`와 같은 광범위한 deny 규칙은 `Bash(aws s3 ls)`와 같은 더 좁은 allow 규칙과도 일치하는 호출을 포함하여 모든 일치하는 호출을 차단하므로, deny 규칙은 허용 목록 예외를 포함할 수 없습니다. ask와 allow 사이에도 동일한 우선순위가 적용됩니다: 일치하는 ask 규칙은 동일한 호출과도 일치하는 더 구체적인 allow 규칙이 있을 때도 프롬프트를 표시합니다.

69 69 

70Deny 규칙은 도구 이름을 지정하는지 또는 도구 내의 패턴 범위를 지정하는지에 따라 다르게 작동합니다. `Bash`와 같은 단순 도구 이름은 도구를 Claude의 컨텍스트에서 완전히 제거하므로 Claude는 이를 볼 수 없습니다. 단순 이름 제거는 [`EndConversation`](/docs/ko/tools-reference#endconversation-tool-behavior)을 제외한 모든 도구에 적용됩니다: deny 규칙은 다른 도구가 남아 있는 동안 이를 제거할 수 없으며, ask 규칙은 이에 대해 프롬프트를 표시하지 않습니다. `Bash(rm *)`와 같은 범위 지정 규칙은 도구를 사용 가능하게 유지하고 Claude가 시도할 때 일치하는 호출을 차단합니다.70Deny 규칙은 도구 이름을 지정하는지 또는 도구 내의 패턴 범위를 지정하는지에 따라 다르게 작동합니다. `Bash`와 같은 단순 도구 이름은 도구를 Claude의 컨텍스트에서 완전히 제거하므로 Claude는 이를 볼 수 없습니다. 세션 중간에 이러한 규칙을 추가하면 Claude는 다음 도구 호출부터 도구를 호출할 수 없습니다. [전체 도구 거부](/docs/ko/prompt-caching#denying-an-entire-tool)는 Claude가 이미 본 정의에 어떤 일이 발생하는지를 다룹니다. `Bash(rm *)`와 같은 범위 지정 규칙은 도구를 사용 가능하게 유지하고 Claude가 시도할 때 일치하는 호출을 차단합니다.

71 

72단순 이름 제거는 [`EndConversation`](/docs/ko/tools-reference#endconversation-tool-behavior)을 제외한 모든 도구에 적용됩니다: deny 규칙은 다른 도구가 남아 있는 동안 이를 제거할 수 없으며, ask 규칙은 이에 대해 프롬프트를 표시하지 않습니다.

71 73 

72<Note>74<Note>

73 권한 규칙은 모델이 아닌 Claude Code에 의해 적용됩니다. 프롬프트 또는 `CLAUDE.md`의 지시사항은 Claude가 시도하는 작업을 형성하지만, Claude Code가 허용하는 것을 변경하지는 않습니다. 액세스 권한을 부여하거나 취소하려면 `/permissions`, 여기에 설명된 규칙, [권한 모드](/docs/ko/permission-modes), 또는 [PreToolUse hook](#extend-permissions-with-hooks)을 사용하십시오.75 권한 규칙은 모델이 아닌 Claude Code에 의해 적용됩니다. 프롬프트 또는 `CLAUDE.md`의 지시사항은 Claude가 시도하는 작업을 형성하지만, Claude Code가 허용하는 것을 변경하지는 않습니다. 액세스 권한을 부여하거나 취소하려면 `/permissions`, 여기에 설명된 규칙, [권한 모드](/docs/ko/permission-modes), 또는 [PreToolUse hook](#extend-permissions-with-hooks)을 사용하십시오.

Details

185 전체 도구 거부185 전체 도구 거부

186</h3>186</h3>

187 187 

188`Bash` 또는 `WebFetch`와 같은 단순 도구 이름을 [거부 규칙](/docs/ko/permissions#manage-permissions)으로 추가하면 해당 도구가 Claude의 컨텍스트에서 완전히 제거됩니다. Claude Code는 기본 제공 도구 정의를 시스템 프롬프트 레이어에 로드하므로 세션 중에 이러한 규칙 중 하나를 추가하거나 제거하면 캐시가 무효화됩니다. Claude Code는 `/permissions`를 통해 규칙을 추가하거나 [설정 파일을 직접 편집](/docs/ko/settings#when-edits-take-effect)하여 다음 요청에 변경을 적용합니다. 여기에는 턴 중간에 `/permissions`를 통해 추가하는 규칙이 포함됩니다.188`Bash` 또는 `WebFetch`와 같은 단순 도구 이름을 [거부 규칙](/docs/ko/permissions#manage-permissions)으로 추가하면 `/permissions`를 통해 규칙을 추가하거나 [설정 파일을 직접 편집](/docs/ko/settings#when-edits-take-effect)하여 다음 요청부터 Claude가 해당 도구를 호출할 수 없습니다. 여기에는 턴 중간에 `/permissions`를 통해 추가하는 규칙이 포함됩니다.

189 189 

190도구 이름 위치에서 일치하는 거부 규칙만 이 효과를 가집니다. 단순 도구 이름, 동등한 `Bash(*)` 형식, 또는 `"*"`와 같은 [도구 이름 glob](/docs/ko/permissions#tool-name-wildcards)입니다. `"mcp__*"`와 같이 MCP 도구만 일치하는 glob은 해당 도구를 같은 방식으로 제거하지만 일치하는 도구가 [연기](#connecting-or-disconnecting-an-mcp-server)되면 캐시를 그대로 유지합니다. 기본값이므로 연기된 정의는 캐시된 접두사에 없었습니다. `Bash(rm *)`과 같은 범위 지정 거부 규칙, 그리고 모든 허용 및 요청 규칙은 Claude가 보는 도구를 변경하지 않습니다. Claude Code는 Claude가 호출을 시도할 때 확인하여 접두사를 그대로 유지합니다.190[도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)이 활성화되어 있을 때(지원되는 모델의 기본값), 요청의 도구 정의가 변경되지 않고 캐시된 접두사가 유지됩니다. 도구 검색을 사용할 수 없거나 비활성화되어 있을 때 Claude Code는 다음 요청에서 정의를 제거하므로 캐시가 무효화되며, 나중에 규칙을 제거해도 마찬가지입니다.

191 

192도구 이름 위치에서 일치하는 거부 규칙만 이 방식으로 도구를 차단합니다. 단순 도구 이름, 동등한 `Bash(*)` 형식, 또는 `"*"`와 같은 [도구 이름 glob](/docs/ko/permissions#tool-name-wildcards)입니다. `"mcp__*"`와 같이 MCP 도구만 일치하는 glob은 해당 도구를 같은 방식으로 차단합니다. `Bash(rm *)`과 같은 범위 지정 거부 규칙, 그리고 모든 허용 및 요청 규칙은 Claude가 보는 도구를 변경하지 않습니다. Claude Code는 Claude가 호출을 시도할 때 확인하여 접두사를 그대로 유지합니다.

191 193 

192<h3 id="compacting-the-conversation">194<h3 id="compacting-the-conversation">

193 대화 압축195 대화 압축

Details

138 138 

139연결이 실패하면 Claude Code는 실패 이유가 있는 알림을 표시하고, 대화에 이유가 있는 경고 줄을 추가하며, 표시기를 제자리에 유지되는 실패 상태로 전환합니다. 다시 연결하려면 `/remote-control`을 실행하세요. 단, [이유가 세션이 다른 곳에서 인수되거나 종료되었거나 서버가 찾을 수 없다고 말하는](#session-ended-elsewhere) 경우는 제외합니다.139연결이 실패하면 Claude Code는 실패 이유가 있는 알림을 표시하고, 대화에 이유가 있는 경고 줄을 추가하며, 표시기를 제자리에 유지되는 실패 상태로 전환합니다. 다시 연결하려면 `/remote-control`을 실행하세요. 단, [이유가 세션이 다른 곳에서 인수되거나 종료되었거나 서버가 찾을 수 없다고 말하는](#session-ended-elsewhere) 경우는 제외합니다.

140 140 

141다시 연결하기 전에 이유를 읽으세요. 세션이 다른 기기, 앱 또는 Claude Code 세션에서 인수되었거나 다른 곳에서 종료되었거나 서버가 찾을 수 없을 때 이유는 어느 것인지 말하며 Claude Code는 일반적인 `/remote-control` 실행 조언을 생략합니다:141<span id="session-ended-elsewhere" />다시 연결하기 전에 이유를 읽으세요. 세션이 다른 기기, 앱 또는 Claude Code 세션에서 인수되었거나 다른 곳에서 종료되었거나 서버가 찾을 수 없을 때 이유는 어느 것인지 말하며 Claude Code는 일반적인 `/remote-control` 실행 조언을 생략합니다:

142 

143<span id="session-ended-elsewhere" />

144 142 

145* **다른 기기 또는 Claude Code 세션이 세션을 인수했습니다**: 해당 기기에서 세션을 다시 가져오려는 경우에만 `/remote-control`을 실행하세요.143* **다른 기기 또는 Claude Code 세션이 세션을 인수했습니다**: 해당 기기에서 세션을 다시 가져오려는 경우에만 `/remote-control`을 실행하세요.

146* **다른 기기 또는 앱에서 세션을 종료하거나 보관했습니다**: 다시 원하는 경우에만 `/remote-control`을 실행하세요. Claude Code는 보관된 세션을 다시 엽니다.144* **다른 기기 또는 앱에서 세션을 종료하거나 보관했습니다**: 다시 원하는 경우에만 `/remote-control`을 실행하세요. Claude Code는 보관된 세션을 다시 엽니다.


1763. 기존 대화 기록의 마지막 의미 있는 메시지1743. 기존 대화 기록의 마지막 의미 있는 메시지

1774. `myhost-graceful-unicorn`과 같은 자동 생성된 이름입니다. 여기서 `myhost`는 컴퓨터의 호스트 이름 또는 `--remote-control-session-name-prefix`로 설정한 접두사입니다.1754. `myhost-graceful-unicorn`과 같은 자동 생성된 이름입니다. 여기서 `myhost`는 컴퓨터의 호스트 이름 또는 `--remote-control-session-name-prefix`로 설정한 접두사입니다.

178 176 

179명시적 이름을 설정하지 않았다면 메시지를 보낸 후 제목이 프롬프트를 반영하도록 업데이트됩니다. Claude Code는 자동 생성된 제목을 대화의 언어 또는 구성된 [`language`](/docs/ko/settings-reference#language) 설정과 일치시킵니다. 언어 일치는 Claude Code v2.1.176 이상이 필요합니다.177명시적 이름을 설정하지 않았다면 메시지를 보낸 후 제목이 프롬프트를 반영하도록 업데이트됩니다. Claude Code는 자동 생성된 제목을 대화의 언어 또는 구성된 [`language`](/docs/ko/settings-reference#language) 설정과 일치시킵니다.

180 178 

181claude.ai 또는 Claude 앱에서 세션의 이름을 바꾸면 `claude --resume`에 표시되는 로컬 제목도 업데이트됩니다. Claude Code는 동일한 이름 바꾸기를 프롬프트 바에 표시된 세션 이름과 세션이 [백그라운드에서 실행](/docs/ko/agent-view)될 때 `claude agents` 목록에 적용합니다. v2.1.221 이전에는 claude.ai의 세션 목록 또는 Claude 앱에서 이름을 바꾸면 제목만 업데이트되었고 CLI는 이전 세션 이름을 유지했습니다. CLI 자체에서 실행되는 `/rename`은 모든 버전에서 이름을 설정합니다.179claude.ai 또는 Claude 앱에서 세션의 이름을 바꾸면 `claude --resume`에 표시되는 로컬 제목도 업데이트됩니다. Claude Code는 동일한 이름 바꾸기를 프롬프트 바에 표시된 세션 이름과 세션이 [백그라운드에서 실행](/docs/ko/agent-view)될 때 `claude agents` 목록에 적용합니다. v2.1.221 이전에는 claude.ai의 세션 목록 또는 Claude 앱에서 이름을 바꾸면 제목만 업데이트되었고 CLI는 이전 세션 이름을 유지했습니다. CLI 자체에서 실행되는 `/rename`은 모든 버전에서 이름을 설정합니다.

182 180 

Details

21아래 표의 처음 두 가지 방식은 컨테이너 없이 호스트 운영 체제에서 실행됩니다. 나머지는 Claude Code를 컨테이너 또는 가상 머신 내에 배치합니다.21아래 표의 처음 두 가지 방식은 컨테이너 없이 호스트 운영 체제에서 실행됩니다. 나머지는 Claude Code를 컨테이너 또는 가상 머신 내에 배치합니다.

22 22 

23| 방식 | 격리되는 항목 | Docker 필요 | 설정 노력 |23| 방식 | 격리되는 항목 | Docker 필요 | 설정 노력 |

24| :---------------------------------------- | :--------------------------------------- | :-------- | :-------------------------------------------- |24| :---------------------------------------- | :--------------------------------------- | :-------- | :---------------------------- |

25| [샌드박스 Bash 도구](#sandboxed-bash-tool) | Bash 명령 및 자식 프로세스 | 아니오 | macOS에서 최소; Linux 및 WSL2에서 낮음 |25| [샌드박스 Bash 도구](#sandboxed-bash-tool) | Bash 명령 및 자식 프로세스 | 아니오 | macOS에서 최소; Linux 및 WSL2에서 낮음 |

26| [샌드박스 런타임](#sandbox-runtime) | 전체 Claude Code 프로세스(파일 도구, MCP 서버, 훅 포함) | 아니오 | 낮음 |26| [샌드박스 런타임](#sandbox-runtime) | 전체 Claude Code 프로세스(파일 도구, MCP 서버, 훅 포함) | 아니오 | 낮음 |

27| [개발 컨테이너](#dev-containers) | 전체 개발 환경 | 예 | 중간 |27| [개발 컨테이너](#dev-containers) | 전체 개발 환경 | 예 | 중간 |

28| [사용자 정의 컨테이너](#custom-container) | 전체 개발 환경 | 예 | 중간\~높음 |28| [사용자 정의 컨테이너](#custom-container) | 전체 개발 환경 | 예 | 중간\~높음 |

29| [가상 머신](#virtual-machine) | 전체 운영 체제 | 아니오 | 높음 |29| [가상 머신](#virtual-machine) | 전체 운영 체제 | 아니오 | 높음 |

30| [웹의 Claude Code](#claude-code-on-the-web) | 전체 운영 체제(Anthropic에서 호스팅) | 아니오 | 없음; Claude 구독 필요, 웹 인터페이스에서 시작할 때는 GitHub도 필요 |30| [웹의 Claude Code](#claude-code-on-the-web) | 전체 운영 체제(Anthropic에서 호스팅) | 아니오 | 없음; Claude 구독 및 GitHub 필요 |

31 31 

32[샌드박스 Bash 도구](/docs/ko/sandboxing)는 Claude Code에 기본 제공되며 Bash 명령만 제한합니다. 기본 제공 파일 도구, MCP 서버, 훅은 여전히 호스트에서 직접 실행됩니다. 표의 다른 모든 방식은 전체 Claude Code 프로세스를 격리 경계 내에 배치하므로 파일 도구, MCP 서버, 훅도 제한됩니다.32[샌드박스 Bash 도구](/docs/ko/sandboxing)는 Claude Code에 기본 제공되며 Bash 명령만 제한합니다. 기본 제공 파일 도구, MCP 서버, 훅은 여전히 호스트에서 직접 실행됩니다. 표의 다른 모든 방식은 전체 Claude Code 프로세스를 격리 경계 내에 배치하므로 파일 도구, MCP 서버, 훅도 제한됩니다.

33 33 


83명령별 샌드박스는 세션에서 실행되는 모든 것을 다루지 않습니다:83명령별 샌드박스는 세션에서 실행되는 모든 것을 다루지 않습니다:

84 84 

85* Read, Edit, WebFetch와 같은 다른 [기본 제공 도구](/docs/ko/tools-reference)는 Claude Code 프로세스 내에서 실행되며 임의의 코드를 생성하지 않습니다. [권한 규칙](/docs/ko/permissions)이 경로 또는 도메인으로 이들을 제어합니다.85* Read, Edit, WebFetch와 같은 다른 [기본 제공 도구](/docs/ko/tools-reference)는 Claude Code 프로세스 내에서 실행되며 임의의 코드를 생성하지 않습니다. [권한 규칙](/docs/ko/permissions)이 경로 또는 도메인으로 이들을 제어합니다.

86* [MCP](/docs/ko/mcp) 서버 및 훅은 호스트에서 제약 없이 실행되는 별도의 프로세스입니다.86* [MCP](/docs/ko/mcp) 서버 및 [명령 훅](/docs/ko/hooks#command-hook-fields)은 호스트에서 제약 없이 실행되는 별도의 프로세스입니다.

87 87 

88기본 제공 도구, MCP 서버, 훅을 모두 하나의 OS 경계 뒤에 배치하려면 전체 Claude Code 프로세스를 [샌드박스 런타임](#sandbox-runtime), [개발 컨테이너](#dev-containers) 또는 [사용자 정의 컨테이너](#custom-container) 내에서 실행하세요.88기본 제공 도구, MCP 서버, 훅을 모두 하나의 OS 경계 뒤에 배치하려면 전체 Claude Code 프로세스를 [샌드박스 런타임](#sandbox-runtime), [개발 컨테이너](#dev-containers) 또는 [사용자 정의 컨테이너](#custom-container) 내에서 실행하세요.

89 89 

Details

83 이그레스 프록시에 인증83 이그레스 프록시에 인증

84</h3>84</h3>

85 85 

86일부 기업 이그레스 프록시는 모든 연결에 `Proxy-Authorization` 헤더를 요구합니다. 해당 헤더의 토큰은 종종 `HTTPS_PROXY`에 설정한 프록시 URL에 써 넣기에는 너무 빠르게 회전합니다. `HTTPS_PROXY` 또는 `HTTP_PROXY`를 평소대로 프록시의 URL로 설정한 다음 `--proxy-authorization-command` 또는 `--proxy-authorization-file`을 설정하여 러너에게 헤더 값을 읽을 위치를 알려주세요. 두 플래그 모두 Claude Code v2.1.238 이상이 필요합니다.86일부 기업 이그레스 프록시는 모든 연결에 `Proxy-Authorization` 헤더를 요구합니다. 해당 헤더의 토큰은 종종 `HTTPS_PROXY`에 설정한 프록시 URL에 쓸 수 있을 정도로 빠르게 회전합니다. `HTTPS_PROXY` 또는 `HTTP_PROXY`를 평소대로 프록시의 URL로 설정한 다음 `--proxy-authorization-command` 또는 `--proxy-authorization-file`을 설정하여 러너에게 헤더 값을 읽을 위치를 알려주세요. 두 플래그 모두 Claude Code v2.1.238 이상이 필요합니다.

87 87 

88<h4 id="choose-where-the-proxy-authorization-value-comes-from">88<h4 id="choose-where-the-proxy-authorization-value-comes-from">

89 `Proxy-Authorization` 값이 어디에서 오는지 선택89 `Proxy-Authorization` 값이 어디에서 오는지 선택


486 486 

487`--kill-session-after-min`은 폭주 세션에 대한 백스톱입니다. v2.1.260 이상의 러너에서 제한에 도달한 세션은 즉시 종료되지 않습니다. 러너는 기본값 15분의 유예 기간을 제공하며, [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/ko/self-hosted-environments-reference#environment-variable-only-settings)로 변경할 수 있습니다:487`--kill-session-after-min`은 폭주 세션에 대한 백스톱입니다. v2.1.260 이상의 러너에서 제한에 도달한 세션은 즉시 종료되지 않습니다. 러너는 기본값 15분의 유예 기간을 제공하며, [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](/docs/ko/self-hosted-environments-reference#environment-variable-only-settings)로 변경할 수 있습니다:

488 488 

489* 세션이 사용자를 기다리고 있거나 턴이 끝났으며 백그라운드 작업만 보유하고 있으면, 러너는 즉시 해제합니다. 세션은 사용자가 다음 메시지를 보낼 때 재개됩니다.489* 세션이 사용자를 기다리고 있으면, 러너는 이를 해제합니다. 턴이 끝났으며 백그라운드 작업만 보유하고 있으면, 러너는 해당 작업이 완료될 때까지 최대 60초 동안 기다린 후 이를 해제합니다. 세션은 사용자가 다음 메시지를 보낼 때 재개됩니다.

490* 턴이 여전히 실행 중이면, 러너는 턴이 완료될 때까지 또는 세션이 다음으로 사용자를 기다릴 때까지 기다린 후 해제합니다.490* 턴이 여전히 실행 중이면, 러너는 턴이 완료될 때까지 또는 세션이 다음으로 사용자를 기다릴 때까지 기다린 후 해제합니다.

491* 유예 기간이 끝났을 때 세션이 여전히 러너에 있으면, 러너는 이를 종료하고 실행 중인 턴의 작업은 손실됩니다. 실행 중인 도구 호출 내에서 요청된 승인을 기다리는 턴은 세션이 기간을 초과하는 한 가지 방법입니다.491* 유예 기간이 끝났을 때 세션이 여전히 러너에 있으면, 러너는 이를 종료하고 실행 중인 턴의 작업은 손실됩니다. 실행 중인 도구 호출 내에서 요청된 승인을 기다리는 턴은 세션이 기간을 초과하는 한 가지 방법입니다.

492 492 

Details

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 레지스트리 계층은 제외됩니다. [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공할 때, 그 출력은 이러한 확인이 읽는 유일한 소스입니다. [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh)는 제외되며, Claude Code는 시작 시 관리 소스에서 직접 읽습니다.168* **교차 소스 잠금 키**: 샌드박스 허용 목록 잠금과 같은 작은 키 집합으로, [관리 설정 페이지에 나열되어 있습니다](/docs/ko/managed-settings#precedence-within-the-managed-tier). Claude Code는 관리자 제어 관리 소스가 이를 설정할 때 이를 준수합니다. 사용자 쓰기 가능 HKCU 레지스트리 계층은 제외됩니다. [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 관리 설정을 제공할 때, 그 출력은 이러한 확인이 읽는 유일한 소스입니다. [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh)는 제외되며, Claude Code는 시작 시 관리 소스에서 직접 읽습니다.

169* **`env` 블록**: 자격 증명 키와 쌍을 이루는 원격 분석 단위 및 라우팅 변수를 제외하고, 아래에서 다루는 것처럼 관리자 제어 소스 전체에서 키별로 병합됩니다. 각 환경 변수에 대해 이를 정의하는 최우선 소스가 우승하며, 낮은 관리 소스는 높은 소스가 설정하지 않은 변수를 채웁니다. 따라서 엔드포인트 관리 `env` 항목은 서버 관리 구성이 해당 변수를 설정하지 않을 때마다 적용되거나, 해당 변수에 대한 캐시된 서버 값이 [서버 확인 대기 중](#fetch-and-caching-behavior)일 때 적용됩니다. Claude Code v2.1.223 이상이 필요합니다. v2.1.223 이전에는 Claude Code가 선택된 소스의 전체 `env` 블록만 적용합니다.169* **`env` 블록**: 자격 증명 키와 쌍을 이루는 원격 분석 단위 및 라우팅 변수를 제외하고, 아래에서 다루는 것처럼 관리자 제어 소스 전체에서 키별로 병합됩니다. 각 환경 변수에 대해 이를 정의하는 최우선 소스가 우승하며, 낮은 관리 소스는 높은 소스가 설정하지 않은 변수를 채웁니다. 따라서 엔드포인트 관리 `env` 항목은 서버 관리 구성이 해당 변수를 설정하지 않을 때마다 적용되거나, 해당 변수에 대한 캐시된 서버 값이 [서버 확인 대기 중](#fetch-and-caching-behavior)일 때 적용됩니다. Claude Code v2.1.223 이상이 필요합니다. v2.1.223 이전에는 Claude Code가 선택된 소스의 전체 `env` 블록만 적용합니다.

170 * **원격 분석 단위**: `OTEL_EXPORTER_OTLP_*` 내보내기 키, `OTEL_LOG_*` 콘텐츠 캡처 토글, `OTEL_LOGS_EXPORTER`, 그리고 베타 추적 변수 `ENABLE_BETA_TRACING_DETAILED` 및 `BETA_TRACING_ENDPOINT`는 이들 중 하나를 설정하는 최우선 소스를 단위로 따릅니다. `otelHeadersHelper` 자격 증명 키를 전달하는 소스는 단위도 청구하지만, 선택된 소스일 때만 이러한 변수를 배치합니다. 선택되지 않았지만 키를 전달하는 소스는 이들 중 어느 것도 기여하지 않으며 여전히 낮은 소스가 이들을 채우는 것을 차단합니다. 어느 쪽이든 한 소스의 내보내기 엔드포인트는 다른 소스의 자격 증명과 쌍을 이룰 수 없습니다.170 * **원격 분석 단위**: `OTEL_EXPORTER_OTLP_*` 내보내기 키, `OTEL_LOG_*` 콘텐츠 캡처 토글, `OTEL_LOGS_EXPORTER`, 그리고 베타 추적 변수 `ENABLE_BETA_TRACING_DETAILED` 및 `BETA_TRACING_ENDPOINT`는 이들 중 하나를 설정하는 최우선 소스를 단위로 따릅니다. `otelHeadersHelper` 자격 증명 키를 전달하는 소스는 단위도 청구하지만, 선택된 소스일 때만 이러한 변수를 배치합니다. 선택되지 않았지만 키를 전달하는 소스는 이들 중 어느 것도 기여하지 않으며 여전히 낮은 소스가 이들을 채우는 것을 차단합니다. 어느 쪽이든 한 소스의 내보내기 엔드포인트는 다른 소스의 자격 증명과 쌍을 이룰 수 없습니다.

171 * **자격 증명 쌍 라우팅**: 라우팅 변수를 선택된 소스 전용 자격 증명 키(예: `apiKeyHelper` 또는 `otelHeadersHelper`)와 쌍을 이루는 소스는 해당 슬롯을 우승할 때만 이러한 라우팅 변수를 기여합니다.171 * **자격 증명 쌍 라우팅**: 라우팅 변수를 선택된 소스 전용 자격 증명 키(예: `apiKeyHelper` 또는 `otelHeadersHelper`)와 쌍을 이루는 소스는 해당 슬롯을 우승할 때만 이러한 라우팅 변수를 기여합니다.

172* **게이트웨이 로그인 키**: Claude Code는 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl) 또는 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값을 서버 관리 설정에서 절대 읽지 않으므로, 서버 관리 설정을 선택해도 게이트웨이 로그인을 제공하지 않으며 MDM 정책 또는 관리 설정 파일에 설정된 것을 숨기지 않습니다. [`managedSourcesBehavior` 항목](/docs/ko/settings-reference#managedsourcesbehavior)은 머신의 어느 관리 소스가 이들을 제공하는지 말합니다.

172 173 

173<h3 id="fetch-and-caching-behavior">174<h3 id="fetch-and-caching-behavior">

174 가져오기 및 캐싱 동작175 가져오기 및 캐싱 동작


283 Claude Code는 일반 HTTP를 통해 도달한 루프백 개발 게이트웨이에 대해 승인을 저장하지 않으므로 각 로그인 후 대화가 다시 나타납니다.284 Claude Code는 일반 HTTP를 통해 도달한 루프백 개발 게이트웨이에 대해 승인을 저장하지 않으므로 각 로그인 후 대화가 다시 나타납니다.

284* **API 키 또는 `CLAUDE_CODE_OAUTH_TOKEN`과 같은 다른 자격 증명**: 전달된 설정에 대한 하나의 승인으로, 해당 구성 디렉토리의 설정 캐시된 복사본과 함께 유지됩니다. Claude Code는 승인이 필요한 설정이 변경될 때, 그리고 `/logout` 또는 `claude auth logout`을 실행한 후(둘 다 캐시된 복사본을 삭제함) 대화를 다시 표시합니다.285* **API 키 또는 `CLAUDE_CODE_OAUTH_TOKEN`과 같은 다른 자격 증명**: 전달된 설정에 대한 하나의 승인으로, 해당 구성 디렉토리의 설정 캐시된 복사본과 함께 유지됩니다. Claude Code는 승인이 필요한 설정이 변경될 때, 그리고 `/logout` 또는 `claude auth logout`을 실행한 후(둘 다 캐시된 복사본을 삭제함) 대화를 다시 표시합니다.

285 286 

287`sandbox.credentials` 또는 `sandbox.network.tlsTerminate`에 대한 승인은 동일한 전달된 설정의 [`sandbox.network.allowedDomains`](/docs/ko/settings-reference#sandbox-network-alloweddomains) 항목도 다룹니다. 두 설정 모두 해당 허용 목록에 작용하기 때문입니다. 대화는 관리자가 이러한 항목 중 하나를 추가하거나 제거할 때 다시 나타납니다. `sandbox.network.allowedDomains`는 자체적으로 승인을 필요로 하지 않더라도 말입니다.

288 

286저장된 claude.ai 로그인을 사용하면:289저장된 claude.ai 로그인을 사용하면:

287 290 

288* 로그아웃했다가 다시 로그인하거나 다른 조직으로 전환했다가 나중에 돌아오면 이러한 설정이 변경되지 않는 동안 Claude Code는 대화를 다시 표시하지 않습니다. 다른 계정이 같은 구성 디렉토리의 해당 조직에 대해 승인한 경우는 제외됩니다.291* 로그아웃했다가 다시 로그인하거나 다른 조직으로 전환했다가 나중에 돌아오면 이러한 설정이 변경되지 않는 동안 Claude Code는 대화를 다시 표시하지 않습니다. 다른 계정이 같은 구성 디렉토리의 해당 조직에 대해 승인한 경우는 제외됩니다.


291Claude Code는 항상 대화를 표시할 수 없습니다. 아래의 각 경우는 표시할 수 없을 때 어느 설정이 적용되는지, 그리고 다음에 대화를 볼 때를 말합니다.294Claude Code는 항상 대화를 표시할 수 없습니다. 아래의 각 경우는 표시할 수 없을 때 어느 설정이 적용되는지, 그리고 다음에 대화를 볼 때를 말합니다.

292 295 

293* **대화를 표시할 수 없는 대화형 세션**: Claude Code는 전달된 설정을 적용하지 않고 마지막으로 승인된 설정을 유지합니다. 대화는 대화를 표시할 수 있는 다음 세션에 나타납니다. Claude Code v2.1.211 이상이 필요합니다.296* **대화를 표시할 수 없는 대화형 세션**: Claude Code는 전달된 설정을 적용하지 않고 마지막으로 승인된 설정을 유지합니다. 대화는 대화를 표시할 수 있는 다음 세션에 나타납니다. Claude Code v2.1.211 이상이 필요합니다.

294* **`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가 이러한 명령 중에도 대화를 표시하려고 시도했습니다.297* **`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가 이러한 명령 중에도 대화를 표시하려고 시도했습니다.

295* **오류가 응답 전에 대화를 닫음**: Claude Code는 전달된 설정을 적용하지 않고 마지막으로 승인된 설정을 유지합니다. 대화를 표시할 수 있는 다음 세션에 다시 표시합니다.298* **오류가 응답 전에 대화를 닫음**: Claude Code는 전달된 설정을 적용하지 않고 마지막으로 승인된 설정을 유지합니다. 대화를 표시할 수 있는 다음 세션에 다시 표시합니다.

296* **비대화형 실행**(예: `claude -p` 또는 Agent SDK 세션): Claude Code는 대화를 표시할 수 없으므로 전달된 설정이 승인을 요구할 때 해당 실행에만 이를 적용합니다. [로컬 캐시](#fetch-and-caching-behavior)에 승인된 것으로 기록하거나 쓰지 않으며, 다음 대화형 세션은 대화를 표시합니다. 사용자가 대화형 세션에서 승인할 때까지 각 비대화형 실행은 시작 시 설정을 다시 가져옵니다. v2.1.207 이전에는 비대화형 실행이 설정을 승인된 것으로 저장했으므로 나중에 대화형 세션은 이에 대한 대화를 절대 표시하지 않았습니다.299* **비대화형 실행**(예: `claude -p` 또는 Agent SDK 세션): Claude Code는 대화를 표시할 수 없으므로 전달된 설정이 승인을 요구할 때 해당 실행에만 이를 적용합니다. [로컬 캐시](#fetch-and-caching-behavior)에 승인된 것으로 기록하거나 쓰지 않으며, 다음 대화형 세션은 대화를 표시합니다. 사용자가 대화형 세션에서 승인할 때까지 각 비대화형 실행은 시작 시 설정을 다시 가져옵니다. v2.1.207 이전에는 비대화형 실행이 설정을 승인된 것으로 저장했으므로 나중에 대화형 세션은 이에 대한 대화를 절대 표시하지 않았습니다.

297 300 


317 320 

318[`ENABLE_BETA_TRACING_DETAILED`](/docs/ko/env-vars#variables) 또는 [`OTEL_LOG_RAW_API_BODIES`](/docs/ko/env-vars#variables)에 대한 `0` 또는 `false`와 같은 거짓 값은 대화 없이 적용됩니다. 자세한 추적 또는 원본 API 본문 캡처만 끕니다. 두 변수 중 하나에 대한 다른 비어있지 않은 값은 승인을 요구합니다.321[`ENABLE_BETA_TRACING_DETAILED`](/docs/ko/env-vars#variables) 또는 [`OTEL_LOG_RAW_API_BODIES`](/docs/ko/env-vars#variables)에 대한 `0` 또는 `false`와 같은 거짓 값은 대화 없이 적용됩니다. 자세한 추적 또는 원본 API 본문 캡처만 끕니다. 두 변수 중 하나에 대한 다른 비어있지 않은 값은 승인을 요구합니다.

319 322 

320An approval for `sandbox.credentials` or `sandbox.network.tlsTerminate` also covers the [`sandbox.network.allowedDomains`](/docs/ko/settings-reference#sandbox-network-alloweddomains) entries in those same delivered settings, because both settings act on that allowlist. The dialog appears again when your administrator adds or removes one of those entries, even though `sandbox.network.allowedDomains` doesn't require approval on its own.

321 

322<h2 id="platform-availability">323<h2 id="platform-availability">

323 플랫폼 가용성324 플랫폼 가용성

324</h2>325</h2>

Details

27대부분의 터미널에서는 Shift+Enter를 누를 수도 있지만, 터미널 에뮬레이터에 따라 지원이 다릅니다:27대부분의 터미널에서는 Shift+Enter를 누를 수도 있지만, 터미널 에뮬레이터에 따라 지원이 다릅니다:

28 28 

29| 터미널 | 줄바꿈을 위한 Shift+Enter |29| 터미널 | 줄바꿈을 위한 Shift+Enter |

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

31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | 설정 없이 작동 |31| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | 설정 없이 작동 |

32| VS Code, Cursor, Devin Desktop, Alacritty, Zed | 한 번 `/terminal-setup` 실행 |32| kitty 키보드 프로토콜을 지원하는 기타 터미널(예: foot 및 Alacritty 0.16 이상) | 설정 없이 작동합니다. Claude Code v2.1.269 이상 필요 |

33| VS Code, Cursor, Devin Desktop, Alacritty 0.16 이전, Zed | 한 번 `/terminal-setup` 실행 |

33| gnome-terminal, PyCharm 및 Android Studio와 같은 JetBrains IDE | 사용 불가; Ctrl+J 또는 `\` 다음 Enter 사용 |34| gnome-terminal, PyCharm 및 Android Studio와 같은 JetBrains IDE | 사용 불가; Ctrl+J 또는 `\` 다음 Enter 사용 |

34 35 

35VS Code, Cursor, Devin Desktop, Alacritty 및 Zed의 경우, `/terminal-setup`은 Shift+Enter 키 바인딩을 터미널의 구성 파일에 작성합니다. 첫 번째 실행 시 `Installed VSCode terminal Shift+Enter key binding`과 같은 확인 메시지가 표시됩니다. 기존 바인딩은 그대로 유지되며, `VSCode terminal Shift+Enter key binding already configured`와 같은 메시지가 표시되면 변경이 없었던 것입니다. tmux 또는 screen 내부가 아닌 호스트 터미널에서 직접 `/terminal-setup`을 실행하십시오. 호스트 터미널의 구성에 작성해야 하기 때문입니다.36VS Code, Cursor, Devin Desktop, Alacritty 0.16 이전, 및 Zed의 경우, `/terminal-setup`은 Shift+Enter 키 바인딩을 터미널의 구성 파일에 작성합니다. 첫 번째 실행 시 `Installed VSCode terminal Shift+Enter key binding`과 같은 확인 메시지가 표시됩니다. 기존 바인딩은 그대로 유지되며, `VSCode terminal Shift+Enter key binding already configured`와 같은 메시지가 표시되면 변경이 없었던 것입니다. tmux 또는 screen 내부가 아닌 호스트 터미널에서 직접 `/terminal-setup`을 실행하십시오. 호스트 터미널의 구성에 작성해야 하기 때문입니다.

36 37 

37VS Code, Cursor 및 Devin Desktop에서 `/terminal-setup`은 또한 두 가지 편집기 설정을 업데이트합니다: 통합 터미널의 텍스트 손상을 방지하기 위해 `terminal.integrated.gpuAcceleration`을 `"off"`로 설정하고, [전체 화면 모드](/docs/ko/fullscreen)에서 더 부드러운 스크롤링을 위해 `terminal.integrated.mouseWheelScrollSensitivity`를 설정합니다. GPU 가속 변경을 취소하려면 `"auto"`로 다시 설정하고 편집기 창을 다시 로드하십시오.38VS Code, Cursor 및 Devin Desktop에서 `/terminal-setup`은 또한 두 가지 편집기 설정을 업데이트합니다: 통합 터미널의 텍스트 손상을 방지하기 위해 `terminal.integrated.gpuAcceleration`을 `"off"`로 설정하고, [전체 화면 모드](/docs/ko/fullscreen)에서 더 부드러운 스크롤링을 위해 `terminal.integrated.mouseWheelScrollSensitivity`를 설정합니다. GPU 가속 변경을 취소하려면 `"auto"`로 다시 설정하고 편집기 창을 다시 로드하십시오.

38 39 

Details

417 417 

418`curl ... | bash` 명령은 스크립트를 다운로드하고 Bash에 파이프하여 실행합니다. 이 오류와 관련된 `curl: (23) Failure writing output to destination`은 Bash가 완전한 스크립트를 받지 못했음을 의미합니다. 종료 코드 56은 다운로드 자체가 중단되었음을 나타내고 종료 코드 23은 curl이 받은 것을 파이프에 쓸 수 없었음을 나타내며, 일반적으로 Bash가 조기에 종료되었기 때문입니다.418`curl ... | bash` 명령은 스크립트를 다운로드하고 Bash에 파이프하여 실행합니다. 이 오류와 관련된 `curl: (23) Failure writing output to destination`은 Bash가 완전한 스크립트를 받지 못했음을 의미합니다. 종료 코드 56은 다운로드 자체가 중단되었음을 나타내고 종료 코드 23은 curl이 받은 것을 파이프에 쓸 수 없었음을 나타내며, 일반적으로 Bash가 조기에 종료되었기 때문입니다.

419 419 

420**해결책:**420[네트워크 연결 확인](#check-network-connectivity)의 확인으로 `downloads.claude.ai`에 도달할 수 있는지 테스트하세요. 서버에 도달했으면 원래 실패는 일시적이었을 가능성이 높습니다. 설치 명령을 다시 시도하세요. [대체 설치 방법](/docs/ko/setup#install-claude-code)을 시도할 수도 있습니다.

421 

4221. **네트워크 안정성 확인**: Claude Code 바이너리는 `downloads.claude.ai`에서 호스팅됩니다. 도달할 수 있는지 테스트하세요:

423 

424 ```bash theme={null}

425 curl -sI https://downloads.claude.ai/claude-code-releases/latest

426 ```

427 

428 `HTTP/2 200` 줄은 서버에 도달했으며 원래 실패가 일시적이었음을 의미합니다. 설치 명령을 다시 시도하세요. 다른 결과는 원인을 나타냅니다:

429 

430 * `403`: 일반적으로 호스트를 차단하는 프록시 또는 네트워크 필터이거나 Claude Code가 [귀국에서 사용할 수 없음](https://www.anthropic.com/supported-countries)

431 * `5xx`: 일반적으로 일시적인 서비스 문제입니다. 몇 분 기다렸다가 다시 시도하세요

432 * `Could not resolve host` 또는 연결 시간 초과: 네트워크가 다운로드를 차단하고 있습니다

433 

4342. **대체 설치 방법 시도**:

435 

436 macOS에서:

437 

438 ```bash theme={null}

439 brew install --cask claude-code

440 ```

441 

442 Windows에서:

443 

444 ```powershell theme={null}

445 winget install Anthropic.ClaudeCode

446 ```

447 

448 그런 다음 `claude --version`을 실행하여 확인하세요: 명령은 `2.1.211 (Claude Code)`와 같은 버전 번호를 인쇄합니다. 셸이 `claude`를 찾을 수 없다고 보고하면 새 터미널 창을 열고 다시 시도하세요: 설치한 세션은 이전 `PATH`를 유지합니다.

449 421 

450<h3 id="homebrew-cask-unavailable-or-outdated">422<h3 id="homebrew-cask-unavailable-or-outdated">

451 Homebrew cask를 사용할 수 없거나 오래됨423 Homebrew cask를 사용할 수 없거나 오래됨

vs-code.md +17 −10

Details

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>


116 * Customize 섹션에서 **Output styles**를 선택하여 사용자 정의 스타일을 포함한 [출력 스타일](/docs/ko/output-styles)을 선택합니다. Claude Code v2.1.257 이상이 필요합니다.116 * Customize 섹션에서 **Output styles**를 선택하여 사용자 정의 스타일을 포함한 [출력 스타일](/docs/ko/output-styles)을 선택합니다. Claude Code v2.1.257 이상이 필요합니다.

117 117 

118 대신 사용자 정의 스타일을 만들려면 **Output styles** 메뉴에서 **Build a custom style**을 선택합니다. Claude Code는 프로젝트 또는 사용자 수준에서 [스타일 파일](/docs/ko/output-styles#create-a-custom-output-style)을 작성합니다. Claude Code v2.1.261 이상이 필요합니다.118 대신 사용자 정의 스타일을 만들려면 **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 이상이 필요합니다.

120 * Customize 섹션에서 **Permissions**를 선택하여 세션의 [권한 규칙](/docs/ko/permissions)을 Allow, Ask, Deny로 그룹화하여 봅니다. 사용자, 프로젝트 또는 로컬 설정에 규칙을 추가하고 거기에 저장된 규칙을 제거할 수 있습니다. 관리되는 설정 또는 이 세션에만 적용되는 승인과 같은 다른 소스의 규칙은 읽기 전용입니다. Claude Code v2.1.269 이상이 필요합니다.

119 * 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 이상이 필요합니다.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 이상이 필요합니다.

120 122 

121 VS Code 창에서 토글을 켜거나 끌 때 변경 사항은 그 이후에 시작하는 세션뿐만 아니라 해당 VS Code 창에서 이미 열려 있는 세션에 적용됩니다. 토글을 끄면 열려 있는 세션이 연결 해제됩니다. Claude Code v2.1.261 이상에서는 변경 사항이 다른 VS Code 창에서 열려 있는 세션에도 도달합니다.123 VS Code 창에서 토글을 켜거나 끌 때 변경 사항은 그 이후에 시작하는 세션뿐만 아니라 해당 VS Code 창에서 이미 열려 있는 세션에 적용됩니다. 토글을 끄면 열려 있는 세션이 연결 해제됩니다. Claude Code v2.1.261 이상에서는 변경 사항이 다른 VS Code 창에서 열려 있는 세션에도 도달합니다.

122 * Settings 섹션에는 또한 **Focus view**가 포함되어 있으며, 이는 도구 호출, 도구 결과 및 사고를 확장 가능한 행 뒤에 숨기고 프롬프트와 Claude의 응답을 남깁니다. Claude의 최신 할 일 목록은 계속 표시되며, Claude가 묻는 보류 중인 질문의 텍스트도 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. 여기서 토글하거나, `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux)를 사용하거나, Command Palette에서 **Claude Code: Toggle Focus view**를 사용하여 토글합니다. 변경 사항은 모든 열려 있는 세션에 적용되고 세션 전체에서 유지됩니다. Claude Code v2.1.221 이상이 필요합니다.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 이상이 필요합니다.

125 

126 Claude의 최신 할 일 목록은 계속 표시되며, Claude가 묻는 보류 중인 질문의 텍스트도 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. Claude가 [서브에이전트](/docs/ko/sub-agents)를 실행하는 동안 최신 활동이 있는 라이브 진행 행이 이들을 시작한 도구 호출 그룹 아래에 나타납니다. Claude Code v2.1.269 이상이 필요합니다.

123 * 버그를 보고하려면 메뉴 하단의 **Report a problem**을 클릭하거나 `/bug` 또는 `/feedback`을 입력하고 선택적으로 보고서를 미리 채우는 설명을 입력합니다. 보고서를 제출하고 1차 연결에서 Anthropic에 로그인한 경우 Claude Code는 이를 Anthropic에 보냅니다. 3차 공급자에서 또는 Anthropic 자격 증명 없이 대화 상자가 여전히 열리지만 제출하면 오류가 표시되고 아무것도 전송되지 않습니다. CLI의 `/bug`와 달리 확장 프로그램은 로컬 아카이브를 작성하지 않습니다. Claude Code v2.1.229 이상이 필요합니다.127 * 버그를 보고하려면 메뉴 하단의 **Report a problem**을 클릭하거나 `/bug` 또는 `/feedback`을 입력하고 선택적으로 보고서를 미리 채우는 설명을 입력합니다. 보고서를 제출하고 1차 연결에서 Anthropic에 로그인한 경우 Claude Code는 이를 Anthropic에 보냅니다. 3차 공급자에서 또는 Anthropic 자격 증명 없이 대화 상자가 여전히 열리지만 제출하면 오류가 표시되고 아무것도 전송되지 않습니다. CLI의 `/bug`와 달리 확장 프로그램은 로컬 아카이브를 작성하지 않습니다. Claude Code v2.1.229 이상이 필요합니다.

124* **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 이상이 필요합니다.128* **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 이상이 필요합니다.

125* **Context indicator**: 프롬프트 상자는 Claude의 컨텍스트 윈도우를 얼마나 사용하고 있는지 보여줍니다. Claude는 필요할 때 자동으로 압축하거나 `/compact`를 수동으로 실행할 수 있습니다.129* **Context indicator**: 프롬프트 상자는 Claude의 컨텍스트 윈도우를 얼마나 사용하고 있는지 보여줍니다. Claude는 필요할 때 자동으로 압축하거나 `/compact`를 수동으로 실행할 수 있습니다.

130* **Agent map**: 대화에 [서브에이전트](/docs/ko/sub-agents)가 포함되면 프롬프트 상자 하단에 **2 agents**와 같은 에이전트 수가 나타납니다. 점은 서브에이전트가 작동 중인지 또는 권한을 기다리고 있는지 여부를 보여줍니다.

131 

132 에이전트 맵을 열려면 에이전트 수를 클릭합니다. 에이전트 맵은 대화의 서브에이전트를 주 에이전트 아래의 트리로 그리며, 각각 상태, 경과 시간 및 토큰 수를 표시합니다. 서브에이전트를 클릭하여 프롬프트 및 도구 호출을 보거나, 읽기 전용 기록을 열거나, 실행 중일 때 중지합니다. Claude Code v2.1.269 이상이 필요합니다.

126* **Extended thinking**: Claude가 복잡한 문제를 추론하는 데 더 많은 시간을 소비할 수 있게 합니다. 명령 메뉴(`/`)를 통해 토글합니다. Claude의 추론은 대화에 축소된 블록으로 나타납니다. 블록을 클릭하여 읽거나 `Ctrl+O`를 눌러 세션의 모든 사고 블록을 확장하거나 축소합니다. 자세한 내용은 [Extended thinking](/docs/ko/model-config#extended-thinking)을 참조하세요.133* **Extended thinking**: Claude가 복잡한 문제를 추론하는 데 더 많은 시간을 소비할 수 있게 합니다. 명령 메뉴(`/`)를 통해 토글합니다. Claude의 추론은 대화에 축소된 블록으로 나타납니다. 블록을 클릭하여 읽거나 `Ctrl+O`를 눌러 세션의 모든 사고 블록을 확장하거나 축소합니다. 자세한 내용은 [Extended thinking](/docs/ko/model-config#extended-thinking)을 참조하세요.

127* **Multi-line input**: `Shift+Enter`를 눌러 보내지 않고 새 줄을 추가합니다. 이는 질문 대화의 "Other" 자유 텍스트 입력에서도 작동합니다.134* **Multi-line input**: `Shift+Enter`를 눌러 보내지 않고 새 줄을 추가합니다. 이는 질문 대화의 "Other" 자유 텍스트 입력에서도 작동합니다.

128 135 


139 146 

140큰 PDF의 경우 전체 파일 대신 특정 페이지를 읽도록 Claude에 요청할 수 있습니다. 단일 페이지, 1-10페이지와 같은 범위 또는 3페이지 이상과 같은 개방형 범위입니다.147큰 PDF의 경우 전체 파일 대신 특정 페이지를 읽도록 Claude에 요청할 수 있습니다. 단일 페이지, 1-10페이지와 같은 범위 또는 3페이지 이상과 같은 개방형 범위입니다.

141 148 

142편집기에서 텍스트를 선택하면 Claude가 강조 표시된 코드를 자동으로 볼 수 있습니다. 프롬프트 상자 바닥글은 선택된 줄 수를 표시합니다. `Option+K` (Mac) / `Alt+K` (Windows/Linux)를 눌러 파일 경로 및 줄 번호가 있는 @-멘션을 삽입합니다 (예: `@app.ts#5-10`). 선택 표시기를 클릭하여 Claude가 강조 표시된 텍스트를 볼 수 있는지 여부를 토글합니다. 눈-슬래시 아이콘은 선택이 Claude에서 숨겨져 있음을 의미합니다.149편집기에서 텍스트를 선택하면 Claude가 강조 표시된 코드를 자동으로 볼 수 있습니다. 프롬프트 상자 바닥글은 선택된 줄 수를 표시합니다. `Option+K` (Mac) / `Alt+K` (Windows/Linux)를 눌러 파일 경로 및 줄 번호가 있는 @-멘션을 삽입합니다 (예: `@app.ts#5-10`). 선택 표시기의 **X**를 클릭하여 Claude가 선택 항목을 받지 않도록 제거합니다. 다른 텍스트를 선택하거나 다른 파일로 전환하면 표시기가 다시 나타납니다.

143 150 

144클립보드에서 이미지를 붙여넣어 프롬프트 상자에 첨부할 수 있습니다. 파일을 프롬프트 상자로 드래그할 때 `Shift`를 누르고 있으면 첨부 파일로 추가할 수 있습니다. 첨부 파일의 X를 클릭하여 컨텍스트에서 제거합니다.151클립보드에서 이미지를 붙여넣어 프롬프트 상자에 첨부할 수 있습니다. 파일을 프롬프트 상자로 드래그할 때 `Shift`를 누르고 있으면 첨부 파일로 추가할 수 있습니다. 첨부 파일의 X를 클릭하여 컨텍스트에서 제거합니다.

145 152 


193 200 

194`/usage`를 실행하여 Account & usage 대화를 엽니다. 대화에는 claude.ai 로그인이 필요하므로 [3차 공급자](#use-third-party-providers)에서 제공되지 않습니다. 로그인한 계정, 플랜 및 현재 세션과 주의 사용량 막대를 표시합니다. 각 막대는 제한이 재설정될 때까지의 시간을 표시합니다.201`/usage`를 실행하여 Account & usage 대화를 엽니다. 대화에는 claude.ai 로그인이 필요하므로 [3차 공급자](#use-third-party-providers)에서 제공되지 않습니다. 로그인한 계정, 플랜 및 현재 세션과 주의 사용량 막대를 표시합니다. 각 막대는 제한이 재설정될 때까지의 시간을 표시합니다.

195 202 

196대화는 또한 플랜 제한에 기여하는 항목을 분류합니다. 캐시 미스, 긴 컨텍스트, 서브에이전트 집약적 또는 고도로 병렬 세션과 같이 최근 사용량의 10% 이상을 차지하는 동작에 플래그를 지정하며, 각각 이를 줄이기 위한 팁이 있습니다. Attribution 테이블은 각 스킬, 서브에이전트, 플러그인 및 MCP 서버에서 얼마나 많은 사용량이 나왔는지 보여줍니다. Claude Code v2.1.174 이상이 필요합니다.203대화는 또한 플랜 제한에 기여하는 항목을 분류합니다. 캐시 미스, 긴 컨텍스트, 서브에이전트 집약적 또는 고도로 병렬 세션과 같이 최근 사용량의 10% 이상을 차지하는 동작에 플래그를 지정하며, 각각 이를 줄이기 위한 팁이 있습니다. Attribution 테이블은 각 스킬, 서브에이전트, 플러그인 및 MCP 서버에서 얼마나 많은 사용량이 나왔는지 보여줍니다.

197 204 

198Day와 Week 토글을 사용하여 지난 24시간과 지난 7일 사이를 전환합니다. 수치는 대략적이며 이 컴퓨터의 로컬 세션에서 계산되므로 다른 장치 또는 claude.ai의 사용량은 포함되지 않습니다. 사용량 추적 및 감소에 대한 자세한 내용은 [Track your costs](/docs/ko/costs#track-your-costs)를 참조하세요.205Day와 Week 토글을 사용하여 지난 24시간과 지난 7일 사이를 전환합니다. 수치는 대략적이며 이 컴퓨터의 로컬 세션에서 계산되므로 다른 장치 또는 claude.ai의 사용량은 포함되지 않습니다. 사용량 추적 및 감소에 대한 자세한 내용은 [Track your costs](/docs/ko/costs#track-your-costs)를 참조하세요.

199 206 


238 245 

239* **세션 그룹화 또는 그룹 해제**: 세션을 마우스 오른쪽 버튼으로 클릭하여 그룹을 만들거나, 기존 그룹으로 이동하거나, 그룹에서 제거합니다. 각 세션은 한 번에 하나의 그룹에만 속하므로, 다른 그룹으로 이동하면 첫 번째 그룹에서 제거됩니다.246* **세션 그룹화 또는 그룹 해제**: 세션을 마우스 오른쪽 버튼으로 클릭하여 그룹을 만들거나, 기존 그룹으로 이동하거나, 그룹에서 제거합니다. 각 세션은 한 번에 하나의 그룹에만 속하므로, 다른 그룹으로 이동하면 첫 번째 그룹에서 제거됩니다.

240* **여러 세션을 한 번에 이동**: `Cmd`-클릭(Mac) / `Ctrl`-클릭(Windows/Linux)으로 각 세션을 선택하거나, `Shift`-클릭으로 범위를 선택한 후 선택 항목을 마우스 오른쪽 버튼으로 클릭합니다.247* **여러 세션을 한 번에 이동**: `Cmd`-클릭(Mac) / `Ctrl`-클릭(Windows/Linux)으로 각 세션을 선택하거나, `Shift`-클릭으로 범위를 선택한 후 선택 항목을 마우스 오른쪽 버튼으로 클릭합니다.

241* **탭에서 세션 그룹화**: 명령 팔레트에서 **Claude Code: Add Session Tab to Group**을 실행하거나, 세션의 편집기 탭을 마우스 오른쪽 버튼으로 클릭한 후 그룹을 선택하거나 만듭니다. Claude Code v2.1.257 이상이 필요합니다.248* **탭에서 세션 그룹화**: 명령 팔레트에서 **Claude Code: Add Session Tab to Group**을 실행한 후 그룹을 선택하거나 만듭니다. Claude Code v2.1.257 이상이 필요합니다.

242* **그룹 이름 바꾸기 또는 삭제**: 그룹 헤더를 마우스 오른쪽 버튼으로 클릭합니다. 그룹을 삭제하면 그룹만 제거되고 해당 세션은 그룹화되지 않은 목록으로 돌아갑니다.249* **그룹 이름 바꾸기 또는 삭제**: 그룹 헤더를 마우스 오른쪽 버튼으로 클릭합니다. 그룹을 삭제하면 그룹만 제거되고 해당 세션은 그룹화되지 않은 목록으로 돌아갑니다.

243 250 

244확장 프로그램은 작업 영역 폴더별로 그룹을 저장하므로, 창을 다시 로드해도 유지되며 같은 폴더를 여는 모든 창에 표시됩니다. 목록을 검색할 때 확장 프로그램은 모든 그룹에서 일치하는 항목을 하나의 평면 목록으로 표시합니다.251확장 프로그램은 작업 영역 폴더별로 그룹을 저장하므로, 창을 다시 로드해도 유지되며 같은 폴더를 여는 모든 창에 표시됩니다. 목록을 검색할 때 확장 프로그램은 모든 그룹에서 일치하는 항목을 하나의 평면 목록으로 표시합니다.


359| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | 가장 최근에 닫은 Claude 세션 탭을 다시 열기. 마지막으로 닫은 탭이 Claude 세션이 아닌 경우 VS Code의 일반 닫힌 편집기 다시 열기로 폴스루됨. `enableReopenClosedSessionShortcut`으로 비활성화 |366| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | 가장 최근에 닫은 Claude 세션 탭을 다시 열기. 마지막으로 닫은 탭이 Claude 세션이 아닌 경우 VS Code의 일반 닫힌 편집기 다시 열기로 폴스루됨. `enableReopenClosedSessionShortcut`으로 비활성화 |

360| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | 현재 파일 및 선택 항목에 대한 참조 삽입(편집기가 포커스되어 있어야 함) |367| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | 현재 파일 및 선택 항목에 대한 참조 삽입(편집기가 포커스되어 있어야 함) |

361| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | 대화에서 도구 활동 숨기기 또는 표시. Claude 패널 또는 사이드바가 표시되는 동안 작동. Claude Code v2.1.221 이상 필요 |368| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | 대화에서 도구 활동 숨기기 또는 표시. Claude 패널 또는 사이드바가 표시되는 동안 작동. Claude Code v2.1.221 이상 필요 |

362| Rename Session Tab | - | 활성 Claude 탭의 세션 이름 바꾸기. 명령어는 탭의 우클릭 메뉴에도 나타남. Claude Code v2.1.257 이상 필요 |369| Rename Session Tab | - | 활성 Claude 탭의 세션 이름 바꾸기. Claude Code v2.1.257 이상 필요 |

363| Add Session Tab to Group | - | 활성 Claude 탭의 세션을 선택하거나 만드는 [세션 그룹](#organize-sessions-into-groups)에 추가. 명령어는 탭의 우클릭 메뉴에도 나타남. Claude Code v2.1.257 이상 필요 |370| Add Session Tab to Group | - | 활성 Claude 탭의 세션을 선택하거나 만드는 [세션 그룹](#organize-sessions-into-groups)에 추가. Claude Code v2.1.257 이상 필요 |

364| Mark Session as Unread | - | 활성 Claude 탭의 세션을 세션 목록에서 읽지 않음으로 표시. 명령어는 탭의 우클릭 메뉴에도 나타남. Claude Code v2.1.257 이상 필요 |371| Mark Session as Unread | - | 활성 Claude 탭의 세션을 세션 목록에서 읽지 않음으로 표시. Claude Code v2.1.257 이상 필요 |

365| Show Logs | - | 확장 프로그램 디버그 로그 보기 |372| Show Logs | - | 확장 프로그램 디버그 로그 보기 |

366| Logout | - | Anthropic 계정에서 로그아웃 |373| Logout | - | Anthropic 계정에서 로그아웃 |

367 374 


424 431 

425확장 프로그램에는 두 가지 유형의 설정이 있습니다:432확장 프로그램에는 두 가지 유형의 설정이 있습니다:

426 433 

427* **VS Code의 확장 프로그램 설정**: VS Code 내에서 확장 프로그램의 동작을 제어합니다. `Cmd+,`(Mac) 또는 `Ctrl+,`(Windows/Linux)로 열고, Extensions → Claude Code로 이동합니다. `/`를 입력하고 **General Config**를 선택하여 설정을 열 수도 있습니다.434* **VS Code의 확장 프로그램 설정**: VS Code 내에서 확장 프로그램의 동작을 제어합니다. `Cmd+,`(Mac) 또는 `Ctrl+,`(Windows/Linux)로 열고, Extensions → Claude Code로 이동합니다. `/`를 입력하고 \*\*General config…\*\*를 선택하여 설정을 열 수도 있습니다.

428* **`~/.claude/settings.json`의 Claude Code 설정**: 확장 프로그램과 CLI 간에 공유됩니다. 허용된 명령, 환경 변수, hooks 및 MCP 서버에 사용합니다. Pro, Max 및 Team 플랜에서는 권한 모드 대화가 시작되는 입력 중 하나이기도 합니다. [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에서 순서를 나열합니다. 자세한 내용은 [설정](/docs/ko/settings)을 참조하세요.435* **`~/.claude/settings.json`의 Claude Code 설정**: 확장 프로그램과 CLI 간에 공유됩니다. 허용된 명령, 환경 변수, hooks 및 MCP 서버에 사용합니다. Pro, Max 및 Team 플랜에서는 권한 모드 대화가 시작되는 입력 중 하나이기도 합니다. [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에서 순서를 나열합니다. 자세한 내용은 [설정](/docs/ko/settings)을 참조하세요.

429 436 

430<Tip>437<Tip>


6594. **충돌하는 확장 프로그램 비활성화**: 다른 AI 확장 프로그램(Cline, Continue 등) 임시 비활성화6664. **충돌하는 확장 프로그램 비활성화**: 다른 AI 확장 프로그램(Cline, Continue 등) 임시 비활성화

6605. **작업 영역 신뢰 확인**: 확장 프로그램은 제한된 모드에서 작동하지 않습니다6675. **작업 영역 신뢰 확인**: 확장 프로그램은 제한된 모드에서 작동하지 않습니다

661 668 

662또는 [`preferredLocation`](#extension-settings)을 `sidebar`로 설정했거나 **Claude Code: Open in Side Bar**로 Claude를 열었다면, **상태 표시줄**(우측 하단 모서리)의 "✱ Claude Code"를 클릭하세요. 이는 파일이 열려 있지 않아도 작동합니다. **명령 팔레트**(`Cmd+Shift+P` / `Ctrl+Shift+P`)를 사용하고 "Claude Code"를 입력할 수도 있습니다.669또는 [`preferredLocation`](#extension-settings)을 `sidebar`로 설정했거나 **Claude Code: Open in Side Bar**로 Claude를 열었다면, **상태 표시줄**(우측 하단 모서리)의 "✻ Claude Code"를 클릭하세요. 이는 파일이 열려 있지 않아도 작동합니다. **명령 팔레트**(`Cmd+Shift+P` / `Ctrl+Shift+P`)를 사용하고 "Claude Code"를 입력할 수도 있습니다.

663 670 

664<h3 id="cmd-esc-does-nothing-on-macos">671<h3 id="cmd-esc-does-nothing-on-macos">

665 macOS에서 Cmd+Esc가 작동하지 않음672 macOS에서 Cmd+Esc가 작동하지 않음

Details

93 터미널에서 연결93 터미널에서 연결

94</h3>94</h3>

95 95 

96이미 GitHub CLI(`gh`)를 사용하는 경우, 브라우저를 열지 않고 웹에서 Claude Code를 설정할 수 있습니다. 이는 [Claude Code CLI](/docs/ko/quickstart)가 필요합니다. Team 및 Enterprise 플랜에서 `/web-setup`은 Owner가 [Quick web setup](/docs/ko/claude-code-on-the-web#github-authentication-options)을 켠 후에만 사용 가능합니다.96이미 GitHub CLI(`gh`)를 사용하는 경우, 터미널에서 웹에서 Claude Code를 설정할 수 있습니다. 이는 [Claude Code CLI](/docs/ko/quickstart)가 필요합니다. Team 및 Enterprise 플랜에서 `/web-setup`은 Owner가 [Quick web setup](/docs/ko/claude-code-on-the-web#github-authentication-options)을 켠 후에만 사용 가능합니다.

97 97 

98`/web-setup`을 실행하면 Claude Code는 `gh auth token`이 출력하는 토큰을 읽고, 확인을 요청하고, 토큰을 Anthropic으로 보냅니다. Anthropic은 claude.ai 계정으로 암호화하여 저장하고, 클라우드 세션은 [토큰을 제거](#remove-the-web-setup-token)할 때까지 GitHub 접근을 위해 이를 사용합니다. 클라우드 세션은 그 후 해당 토큰이 접근할 수 있는 모든 저장소에 접근할 수 있으며, Claude GitHub 앱 설치가 필요하지 않습니다.98`/web-setup`을 실행하면 Claude Code는 `gh auth token`이 출력하는 토큰을 읽고, 확인을 요청하고, 토큰을 Anthropic으로 보냅니다. Anthropic은 claude.ai 계정으로 암호화하여 저장하고, 클라우드 세션은 [토큰을 제거](#remove-the-web-setup-token)할 때까지 GitHub 접근을 위해 이를 사용합니다. 클라우드 세션은 그 후 해당 토큰이 접근할 수 있는 모든 저장소에 접근할 수 있으며, Claude GitHub 앱 설치가 필요하지 않습니다.

99 99 

worktrees.md +1 −1

Details

9[git worktree](https://git-scm.com/docs/git-worktree)는 자체 파일과 브랜치를 가진 별도의 작업 디렉토리이며, 메인 체크아웃과 동일한 저장소 히스토리 및 원격을 공유합니다. 각 Claude Code 세션을 자체 worktree에서 실행하면 한 세션의 편집이 다른 세션의 파일을 건드리지 않으므로, 한 세션이 기능을 구축하는 동안 두 번째 세션이 버그를 수정할 수 있습니다.9[git worktree](https://git-scm.com/docs/git-worktree)는 자체 파일과 브랜치를 가진 별도의 작업 디렉토리이며, 메인 체크아웃과 동일한 저장소 히스토리 및 원격을 공유합니다. 각 Claude Code 세션을 자체 worktree에서 실행하면 한 세션의 편집이 다른 세션의 파일을 건드리지 않으므로, 한 세션이 기능을 구축하는 동안 두 번째 세션이 버그를 수정할 수 있습니다.

10 10 

11<Note>11<Note>

12 Worktree는 git 저장소가 필요합니다. 다른 버전 관리 시스템의 경우 [훅을 구성하여 git 로직을 대체](#non-git-version-control)합니다. [데스크톱 앱](/docs/ko/desktop#work-in-parallel-with-sessions)에서는 모든 새 세션이 자동으로 자체 worktree를 가져옵니다.12 Worktree는 git 저장소가 필요합니다. 다른 버전 관리 시스템의 경우 [훅을 구성하여 git 로직을 대체](#non-git-version-control)합니다. [데스크톱 앱](/docs/ko/desktop#work-in-parallel-with-sessions)에서는 세션을 시작할 때 **worktree** 옵션을 선택하여 자체 worktree를 제공합니다.

13</Note>13</Note>

14 14 

15Worktree는 Claude를 병렬로 실행하는 여러 방법 중 하나입니다. 이들은 파일 편집을 격리합니다. [서브에이전트](/docs/ko/sub-agents)는 한 세션 내에서 작업을 분할하고, [크로스 세션 메시징](/docs/ko/cross-session-messaging)을 통해 Claude는 worktree의 세션 간에 발견 사항을 전달할 수 있습니다. [Claude를 병렬로 실행](/docs/ko/agents)을 참조하여 접근 방식을 비교하거나, [worktree로 서브에이전트 격리](#isolate-subagents-with-worktrees)로 건너뛰어 worktree와 서브에이전트를 함께 사용합니다.15Worktree는 Claude를 병렬로 실행하는 여러 방법 중 하나입니다. 이들은 파일 편집을 격리합니다. [서브에이전트](/docs/ko/sub-agents)는 한 세션 내에서 작업을 분할하고, [크로스 세션 메시징](/docs/ko/cross-session-messaging)을 통해 Claude는 worktree의 세션 간에 발견 사항을 전달할 수 있습니다. [Claude를 병렬로 실행](/docs/ko/agents)을 참조하여 접근 방식을 비교하거나, [worktree로 서브에이전트 격리](#isolate-subagents-with-worktrees)로 건너뛰어 worktree와 서브에이전트를 함께 사용합니다.