SpyBara
Go Premium

Documentation 2026-09-28 22:59 UTC to 2026-09-29 11:57 UTC

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

111 메뉴 및 프롬프트에 답변하기111 메뉴 및 프롬프트에 답변하기

112</h2>112</h2>

113 113 

114스크린 리더 모드에서 일반적으로 화살표 키로 탐색하는 메뉴(권한 프롬프트 포함)는 번호가 매겨진 목록이 됩니다. Claude Code는 각 옵션을 번호가 매겨진 줄로 알리고, 유효한 범위를 나타내는 `Enter selection` 프롬프트를 알립니다. 원하는 옵션의 번호를 입력하고 Enter를 누릅니다.114스크린 리더 모드에서 일반적으로 화살표 키로 탐색하는 메뉴(권한 프롬프트 포함)는 번호가 매겨진 목록이 됩니다. Claude Code는 각 옵션을 번호가 매겨진 줄로 알리고, 유효한 범위를 나타내는 `Select with numbers` 프롬프트를 알립니다. 원하는 옵션의 번호를 입력하고 Enter를 누릅니다.

115 115 

116* Escape를 눌러 프롬프트가 `or Escape to cancel`로 끝나는 메뉴를 취소합니다.116* Escape를 눌러 프롬프트가 `or Escape to cancel`로 끝나는 메뉴를 취소합니다.

117* 목록에 없는 번호를 입력하면 Claude Code는 유효한 범위를 알리고 다시 시도할 수 있게 합니다.117* 목록에 없는 번호를 입력하면 Claude Code는 유효한 범위를 알리고 다시 시도할 수 있게 합니다.

admin-setup.md +34 −34

Details

88WSL 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 및 네이티브 세션에 대해 동일하게 내보내집니다.

89 89 

90<h2 id="decide-what-to-enforce">90<h2 id="decide-what-to-enforce">

91 시행할 항목 결정91 적용할 항목 결정

92</h2>92</h2>

93 93 

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

95 95 

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

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

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

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

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

101| [Sandboxing](/docs/ko/sandboxing) | 도메인 허용 목록이 있는 OS 수준 파일 시스템 및 네트워크 격리 | `sandbox.enabled`, `sandbox.network.allowedDomains` |101| [샌드박싱](/docs/ko/sandboxing) | 도메인 허용 목록이 있는 OS 수준 파일 시스템 및 네트워크 격리 | `sandbox.enabled`, `sandbox.network.allowedDomains` |

102| [Managed policy CLAUDE.md](/docs/ko/memory#deploy-organization-wide-claude-md) | 모든 세션에서 로드되는 조직 전체 지침, 제외할 수 없음 | 관리 정책 경로의 파일 |102| [관리되는 정책 CLAUDE.md](/docs/ko/memory#deploy-organization-wide-claude-md) | 모든 세션에서 로드되는 조직 전체 지침, 제외할 수 없음 | 관리되는 정책 경로의 파일 |

103| [MCP server control](/docs/ko/managed-mcp) | 사용자가 추가하거나 연결할 수 있는 MCP 서버 제한, 고정된 집합 배포, 또는 모든 사용자에게 자신의 서버와 함께 원격 서버 제공 | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, 또는 배포된 `managed-mcp.json` 파일 |103| [MCP 서버 제어](/docs/ko/managed-mcp) | 사용자가 추가하거나 연결할 수 있는 MCP 서버를 제한하고, 고정 집합을 배포하거나, 모든 사용자에게 자신의 서버와 함께 원격 서버를 제공합니다 | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, 또는 배포된 `managed-mcp.json` 파일 |

104| [Plugin marketplace control](/docs/ko/plugins/org#restrict-what-users-can-install) | 사용자가 추가하고 설치할 수 있는 마켓플레이스 소스 제한, 단일 실행을 위해 플러그인, 에이전트 및 MCP 서버를 사이드로드하는 CLI 플래그 거부, [`command` 플러그인 소스](/docs/ko/plugins/marketplace-reference#command-plugin-source) 차단, 마켓플레이스의 플러그인을 제안할 수 있는 항목 허용 목록 | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |104| [플러그인 마켓플레이스 제어](/docs/ko/plugins/org#restrict-what-users-can-install) | 사용자가 추가하고 설치할 수 있는 마켓플레이스 소스를 제한하고, 단일 실행을 위해 플러그인, 에이전트 및 MCP 서버를 사이드로드하는 CLI 플래그를 거부하며, [`command` 플러그인 소스](/docs/ko/plugins/marketplace-reference#command-plugin-source)를 차단하고, 어떤 마켓플레이스의 플러그인을 제안할 수 있는지 허용 목록에 추가합니다 | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |

105| [Customization lockdown](/docs/ko/settings-reference#strictpluginonlycustomization) | skills, agents, hooks 및 MCP 서버를 사용자 및 프로젝트 소스에서 차단하여 플러그인 또는 관리 설정에서만 제공되도록 함. skills를 잠그면 [개발자가 claude.ai에서 활성화하는 skills](/docs/ko/skills#where-synced-skills-load)가 동기화되는 것도 중지됩니다 | `strictPluginOnlyCustomization` |105| [사용자 정의 잠금](/docs/ko/settings-reference#strictpluginonlycustomization) | skills, 에이전트, hooks 및 MCP 서버가 사용자 및 프로젝트 소스에서 오지 않도록 차단하여 플러그인 또는 관리되는 설정에서만 올 수 있도록 합니다. skills를 잠금하면 [개발자가 claude.ai에서 활성화하는 skills](/docs/ko/skills#where-synced-skills-load)도 동기화되지 않습니다 | `strictPluginOnlyCustomization` |

106| [Disable claude.ai sync](/docs/ko/settings-reference#syncclaudeaiskills) | Claude Code가 개발자가 claude.ai에서 활성화하는 [skills](/docs/ko/skills#how-synced-skills-behave) 및 [plugins](/docs/ko/plugins/loading#synced-plugins)를 로드하는 것을 중지합니다. 조직에서 claude.ai의 Skills를 비활성화하면 Claude Code는 둘 다 동기화를 중지하며, v2.1.273 이상에서는 이미 동기화된 항목도 제거합니다. Skills를 비활성화하지 않고 둘 중 하나를 중지하려면 관리 설정에서 해당 키를 `false`로 설정합니다 | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |106| [claude.ai 동기화 비활성화](/docs/ko/settings-reference#syncclaudeaiskills) | Claude Code가 개발자가 claude.ai에서 활성화하는 [skills](/docs/ko/skills#how-synced-skills-behave) 및 [플러그인](/docs/ko/plugins/loading#synced-plugins)을 로드하지 않도록 합니다. 조직의 claude.ai에서 Skills를 끄면 Claude Code는 둘 다 동기화를 중지하고, v2.1.273 이상에서는 이미 동기화한 것도 제거합니다. Skills를 끄지 않고 둘 중 하나를 중지하려면 관리되는 설정에서 해당 키를 `false`로 설정합니다 | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |

107| [Hook restrictions](/docs/ko/settings-reference#allowmanagedhooksonly) | 실행되는 hooks 제한 및 HTTP hook URL 제한; [allowManagedHooksOnly에서 실행되는 항목](/docs/ko/settings-reference#what-runs-under-allowmanagedhooksonly)에서 전체 효과 목록을 참조하세요 | `allowManagedHooksOnly`, `allowedHttpHookUrls` |107| [Hook 제한](/docs/ko/settings-reference#allowmanagedhooksonly) | 실행되는 hooks를 제한하고 HTTP hook URL을 제한합니다. 전체 효과 목록은 [`allowManagedHooksOnly` 아래에서 실행되는 것](/docs/ko/settings-reference#what-runs-under-allowmanagedhooksonly)을 참조하세요 | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

108| [Login enforcement](/docs/ko/settings-reference#forceloginmethod) | 특정 방법 또는 Anthropic 조직으로 로그인 제한합니다. 방법 제한은 VS Code 확장, Agent SDK, `claude setup-token` 및 `/install-github-app`에 적용되며, 터미널의 대화형 로그인 화면은 `/login` 또는 처음 실행 온보딩으로 도달하며 방법을 미리 선택하지만 시행하지는 않습니다. Claude Code는 터미널, VS Code 확장 및 Agent SDK의 claude.ai 계정 로그인에 대해 조직을 확인하며, Claude Console 로그인 또는 [gateway](/docs/ko/claude-apps-gateway) 로그인에 대해서는 확인하지 않습니다. v2.1.212 이전에는 터미널 로그인만 두 키를 모두 적용했습니다. 설정되면 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`로 인증된 세션은 시작 시 차단됩니다. 클라우드 공급자 세션은 영향을 받지 않습니다 | `forceLoginMethod`, `forceLoginOrgUUID` |108| [로그인 적용](/docs/ko/settings-reference#forceloginmethod) | 로그인을 특정 방법 또는 Anthropic 조직으로 제한합니다. 메서드 제한은 VS Code 확장, Agent SDK, `claude setup-token` 및 `/install-github-app` 전체에 적용되며, 터미널의 대화형 로그인 화면은 `/login` 또는 처음 실행 온보딩으로 도달하며, 메서드를 적용하지 않고 미리 선택합니다. Claude Code는 터미널, VS Code 확장 및 Agent SDK에서 claude.ai 계정 로그인에 대한 조직을 확인하며, Claude Console 로그인 또는 [gateway](/docs/ko/claude-apps-gateway) 로그인에 대해서는 확인하지 않습니다. v2.1.212 이전에는 터미널 로그인만 두 키를 모두 적용했습니다. 설정되면 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`로 인증된 세션은 시작 시 차단됩니다. 클라우드 공급자 세션은 이러한 자격 증명 중 하나 또는 이전 Claude Console 로그인으로 저장된 API 키도 있는 경우가 아니면 영향을 받지 않습니다 | `forceLoginMethod`, `forceLoginOrgUUID` |

109| [Disable agent view](/docs/ko/agent-view#how-background-sessions-are-hosted) | `claude agents`, `--bg`, `/background` 및 온디맨드 감독자 비활성화 | `disableAgentView` |109| [에이전트 보기 비활성화](/docs/ko/agent-view#how-background-sessions-are-hosted) | `claude agents`, `--bg`, `/background` 및 온디맨드 감독자를 끕니다 | `disableAgentView` |

110| [Configure the corporate launcher](/docs/ko/corporate-launcher) | [background-agent supervisor](/docs/ko/agent-view#how-background-sessions-are-hosted), 해당 워커 및 [다른 적용 대상 백그라운드 프로세스](/docs/ko/corporate-launcher#what-the-launcher-covers)에 에이전트 뷰를 끄는 대신 필수 corporate launcher를 접두사로 붙입니다 | `processWrapper` |110| [기업 런처 구성](/docs/ko/corporate-launcher) | [백그라운드 에이전트 감독자](/docs/ko/agent-view#how-background-sessions-are-hosted), 해당 워커 및 [다른 적용 대상 백그라운드 프로세스](/docs/ko/corporate-launcher#what-the-launcher-covers)에 에이전트 보기를 끄는 대신 필수 기업 런처를 접두사로 붙입니다 | `processWrapper` |

111| [Model restrictions](/docs/ko/model-config#restrict-model-selection) | `availableModels`는 선택기에 나타나는 모델을 필터링합니다. `enforceAvailableModels`를 추가하면 자동 선택된 기본 모델도 제한합니다. 이 설정이 CLI, 웹 및 IDE에 어떻게 도달하는지는 [surface coverage](/docs/ko/model-config#surface-coverage)를 참조하세요 | `availableModels`, `enforceAvailableModels` |111| [모델 제한](/docs/ko/model-config#restrict-model-selection) | `availableModels`는 선택기에 나타나는 모델을 필터링합니다. `enforceAvailableModels`를 추가하면 자동 선택된 기본 모델도 제한합니다. 이 설정이 CLI, 웹 및 IDE에 도달하는 방법은 [표면 적용 범위](/docs/ko/model-config#surface-coverage)를 참조하세요 | `availableModels`, `enforceAvailableModels` |

112| [Effort cap](/docs/ko/settings-reference#maxeffortlevel) | 모든 모델 또는 모델별로 모든 공급자에서 [effort level](/docs/ko/model-config#adjust-effort-level)을 제한합니다 | `maxEffortLevel` |112| [노력 상한](/docs/ko/settings-reference#maxeffortlevel) | 모든 모델 또는 모델별로 모든 공급자에서 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 제한합니다 | `maxEffortLevel` |

113| [Version floor](/docs/ko/settings-reference#minimumversion) | 자동 업데이트가 조직 전체 최소값 아래로 설치되는 것을 방지 | `minimumVersion` |113| [버전 하한](/docs/ko/settings-reference#minimumversion) | 자동 업데이트가 조직 전체 최소값 이하로 설치되지 않도록 방지합니다 | `minimumVersion` |

114| [Required version range](/docs/ko/settings-reference#requiredminimumversion) | 실행 중인 버전이 조직 승인 범위를 벗어날 때 시작을 거부합니다. 다운그레이드만 차단하는 `minimumVersion`보다 더 강력합니다 | `requiredMinimumVersion`, `requiredMaximumVersion` |114| [필수 버전 범위](/docs/ko/settings-reference#requiredminimumversion) | 실행 중인 버전이 조직 승인 범위를 벗어날 때 시작을 완전히 거부합니다. 다운그레이드만 차단하는 `minimumVersion`보다 강력합니다 | `requiredMinimumVersion`, `requiredMaximumVersion` |

115| [Telemetry opt-out](/docs/ko/data-usage#telemetry-services) | 모든 디바이스에서 Anthropic 바운드 사용 메트릭, 오류 보고서 및 설문조사 비활성화 | `env`에 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`을 `1`로 설정; 연결된 섹션에서 카테고리별 변수를 나열합니다 |115| [원격 분석 옵트아웃](/docs/ko/data-usage#telemetry-services) | 모든 디바이스에서 Anthropic 바운드 사용 메트릭, 오류 보고서 및 설문조사를 끕니다 | `env`에 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`을 `1`로 설정합니다. 연결된 섹션에서 카테고리별 변수를 나열합니다 |

116 116 

117claude.ai 또는 Anthropic API를 통해 인증하는 구성원이 있고 Claude Enterprise 플랜을 사용 중인 경우 설정을 배포하지 않고도 조직의 관리 설정에서 모델을 관리할 수 있습니다.117구성원이 claude.ai 또는 Anthropic API를 통해 로그인하고 Claude Enterprise 플랜을 사용 중인 경우 아무것도 배포하지 않고 조직의 관리자 설정에서 모델을 관리할 수도 있습니다:

118 118 

119* [Organization model restrictions](/docs/ko/model-config#organization-model-restrictions): 개별 모델을 비활성화합니다. 서버 측에서 시행됩니다.119* [조직 모델 제한](/docs/ko/model-config#organization-model-restrictions): 개별 모델을 비활성화합니다. 서버 측에서 적용됩니다.

120* [Organization default model](/docs/ko/model-config#organization-default-model): 새 세션이 시작되는 모델을 설정합니다. 조직이 기본값을 시행하지 않는 한 사용자가 변경할 수 있으며, 이는 제한된 조직 집합에서 사용 가능합니다. 가용성에 대해 Anthropic 계정 팀에 문의하세요.120* [조직 기본 모델](/docs/ko/model-config#organization-default-model): 새 세션이 시작되는 모델을 설정합니다. 사용자는 조직이 기본값을 적용하지 않는 한 변경할 수 있으며, 이는 제한된 조직 집합에서 사용 가능합니다. Anthropic 계정 팀에 문의하세요.

121* [Organization effort limits](/docs/ko/model-config#organization-effort-limits): 역할별 노력 수준을 제한합니다. 서버 측에서 시행됩니다.121* [조직 노력 제한](/docs/ko/model-config#organization-effort-limits): 역할별 노력 수준을 제한합니다. 서버 측에서 적용됩니다.

122 122 

123이러한 제어 중 어느 것도 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)의 세션에 도달하지 않습니다. 이러한 공급자에서는 관리 설정을 대신 사용합니다. 제한을 위해 `availableModels`, 기본값을 위해 `model`, 그리고 노력 제한을 위해 [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel)을 사용합니다.123이러한 제어 중 어느 것도 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws)의 세션에 도달하지 않습니다. 이러한 공급자에서는 대신 관리되는 설정을 사용합니다: 제한을 위한 `availableModels`, 기본값을 위한 `model`, 노력 상한을 위한 [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel).

124 124 

125[Cloud sessions](/docs/ko/claude-code-on-the-web)은 자체 관리 표면을 가지고 있습니다. 관리 설정의 Cloud 환경 페이지에서 소유자는 구성원의 클라우드 세션에 대한 [network access level](/docs/ko/cloud-environments#network-access), 환경 변수 및 설정 스크립트를 설정하는 [organization-shared environments](/docs/ko/cloud-environments#organization-shared-environments)를 생성합니다. 소유자는 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)에서 조직의 기본 환경을 별도로 선택합니다.125[클라우드 세션](/docs/ko/claude-code-on-the-web)에는 자체 관리자 표면이 있습니다: 관리자 설정의 클라우드 환경 페이지에서 소유자는 구성원의 클라우드 세션에 대한 [네트워크 액세스 수준](/docs/ko/cloud-environments#network-access), 환경 변수 및 설정 스크립트를 설정하는 [조직 공유 환경](/docs/ko/cloud-environments#organization-shared-environments)을 만듭니다. 소유자는 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)에서 조직의 기본 환경을 별도로 선택합니다.

126 126 

127권한 규칙 및 샌드박싱은 다양한 계층을 다룹니다. WebFetch를 거부하면 Claude의 fetch 도구가 차단되지만 Bash가 허용되면 `curl` 및 `wget`은 여전히 모든 URL에 도달할 수 있습니다. 샌드박싱은 OS 수준에서 시행되는 네트워크 도메인 허용 목록으로 그 격차를 닫습니다.127권한 규칙과 샌드박싱은 다른 계층을 다룹니다. WebFetch를 거부하면 Claude의 fetch 도구가 차단되지만, Bash가 허용되면 `curl` 및 `wget`은 여전히 모든 URL에 도달할 수 있습니다. 샌드박싱은 OS 수준에서 적용되는 네트워크 도메인 허용 목록으로 그 격차를 닫습니다.

128 128 

129이러한 제어가 방어하는 위협 모델은 [Security](/docs/ko/security)를 참조하세요.129이러한 제어가 방어하는 위협 모델에 대해서는 [보안](/docs/ko/security)을 참조하세요.

130 130 

131<h2 id="set-up-usage-visibility">131<h2 id="set-up-usage-visibility">

132 사용량 가시성 설정132 사용량 가시성 설정

advisor.md +3 −2

Details

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

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

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

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

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

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

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

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


159 159 

160* **Reviewed**: 줄은 조언자가 대화를 검토했음을 확인합니다. 조언자가 읽을 수 있는 지침을 반환한 경우 `Ctrl+O`를 눌러 읽으세요.160* **Reviewed**: 줄은 조언자가 대화를 검토했음을 확인합니다. 조언자가 읽을 수 있는 지침을 반환한 경우 `Ctrl+O`를 눌러 읽으세요.

161* **Declined**: 줄은 `Advisor declined to advise on this request`로 표시됩니다. 조언자가 이유를 제공한 경우 `Ctrl+O`를 눌러 읽으세요.161* **Declined**: 줄은 `Advisor declined to advise on this request`로 표시됩니다. 조언자가 이유를 제공한 경우 `Ctrl+O`를 눌러 읽으세요.

162* **Unavailable**: 조언자 호출이 실패했으며 줄은 `Advisor unavailable (<error_code>)`로 표시됩니다. 여기서 `<error_code>`는 호출이 반환한 코드입니다.

162 163 

163Claude는 일반적으로 조언자의 지침을 따르지만 자신의 증거가 특정 주장과 모순될 때 적응합니다. 권장 단계가 시도했을 때 실패하거나 파일 내용이 조언과 모순되면 Claude는 지침을 무조건 따르기보다는 충돌을 표시합니다.164Claude는 일반적으로 조언자의 지침을 따르지만 자신의 증거가 특정 주장과 모순될 때 적응합니다. 권장 단계가 시도했을 때 실패하거나 파일 내용이 조언과 모순되면 Claude는 지침을 무조건 따르기보다는 충돌을 표시합니다.

164 165 

Details

129전체 매개변수 세부 정보(JSON 스키마 입력 형식 및 반환 값 구조 포함)는 [`tool()`](/docs/ko/agent-sdk/typescript#tool) TypeScript 참조 또는 [`@tool`](/docs/ko/agent-sdk/python#tool) Python 참조를 참조하세요.129전체 매개변수 세부 정보(JSON 스키마 입력 형식 및 반환 값 구조 포함)는 [`tool()`](/docs/ko/agent-sdk/typescript#tool) TypeScript 참조 또는 [`@tool`](/docs/ko/agent-sdk/python#tool) Python 참조를 참조하세요.

130 130 

131<Tip>131<Tip>

132 매개변수를 선택사항으로 만들려면: TypeScript에서 Zod 필드에 `.default()`를 추가합니다. Python에서는 딕셔너리 스키마가 모든 키를 필수로 취급하므로 스키마에서 매개변수를 생략하고, 설명 문자열에서 언급하고, 핸들러에서 `args.get()`으로 읽습니다. 아래의 [`get_precipitation_chance` 도구](#add-more-tools)는 두 패턴을 모두 보여줍니다.132 매개변수를 선택사항으로 만들려면: TypeScript에서 Zod 필드에 `.optional()`을 추가하고 핸들러에서 기본값을 적용합니다. Python에서는 딕셔너리 스키마가 모든 키를 필수로 취급하므로 스키마에서 매개변수를 생략하고, 설명 문자열에서 언급하고, 핸들러에서 `args.get()`으로 읽습니다. 아래의 [`get_precipitation_chance` 도구](#add-more-tools)는 두 패턴을 모두 보여줍니다.

133</Tip>133</Tip>

134 134 

135<h3 id="call-a-custom-tool">135<h3 id="call-a-custom-tool">


248 .int()248 .int()

249 .min(1)249 .min(1)

250 .max(24)250 .max(24)

251 .default(12) // .default() makes the parameter optional251 .optional() // .optional() lets Claude omit the parameter

252 .describe("How many hours of forecast to return")252 .describe("How many hours of forecast to return")

253 },253 },

254 async (args) => {254 async (args) => {

255 const hours = args.hours ?? 12; // Apply the default in the handler

255 const response = await fetch(256 const response = await fetch(

256 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&hourly=precipitation_probability&forecast_days=1`257 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&hourly=precipitation_probability&forecast_days=1`

257 );258 );

258 const data: any = await response.json();259 const data: any = await response.json();

259 const chances = data.hourly.precipitation_probability.slice(0, args.hours);260 const chances = data.hourly.precipitation_probability.slice(0, hours);

260 261 

261 return {262 return {

262 content: [{ type: "text", text: `Next ${args.hours} hours: ${chances.join("%, ")}%` }]263 content: [{ type: "text", text: `Next ${hours} hours: ${chances.join("%, ")}%` }]

263 };264 };

264 }265 }

265 );266 );


469 이미지470 이미지

470</h3>471</h3>

471 472 

472이미지 블록은 이미지 바이트를 인라인으로 base64로 인코딩하여 전달합니다. URL 필드는 없습니다. URL에 있는 이미지를 반환하려면 핸들러에서 이를 가져오고, 응답 바이트를 읽은 후 base64로 인코딩하여 반환합니다. 결과는 시각적 입력으로 처리됩니다.473이미지 블록은 이미지 바이트를 인라인으로 base64로 인코딩하여 전달합니다. URL 필드는 없습니다. URL에 있는 이미지를 반환하려면 핸들러에서 이를 가져오고, 응답 바이트를 읽은 후 base64로 인코딩하여 반환합니다. PNG, JPEG, GIF 또는 WebP 이미지는 Claude에 시각적 입력으로 도달합니다. 다른 유형의 이미지는 디스크에 저장되고 Claude는 파일 경로를 텍스트로 수신합니다.

473 474 

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

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


538 리소스539 리소스

539</h3>540</h3>

540 541 

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

542 543 

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

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


548| `resource.blob` | `string` | 바이너리인 경우 base64로 인코딩된 콘텐츠입니다. TypeScript만 해당: Python SDK는 도구 결과에서 바이너리 리소스를 제거하고 경고를 기록합니다 |549| `resource.blob` | `string` | 바이너리인 경우 base64로 인코딩된 콘텐츠입니다. TypeScript만 해당: Python SDK는 도구 결과에서 바이너리 리소스를 제거하고 경고를 기록합니다 |

549| `resource.mimeType` | `string` | 선택사항 |550| `resource.mimeType` | `string` | 선택사항 |

550 551 

551이 예제는 도구 핸들러 내부에서 반환된 리소스 블록을 보여줍니다. URI `file:///tmp/report.md`는 Claude가 나중에 참조할 수 있는 레이블입니다. SDK는 해당 경로에서 읽지 않습니다.552이 예제는 도구 핸들러 내부에서 반환된 리소스 블록을 보여줍니다. SDK는 예제의 URI인 `file:///tmp/report.md`에서 읽지 않습니다.

552 553 

553<CodeGroup>554<CodeGroup>

554 ```typescript TypeScript theme={null}555 ```typescript TypeScript theme={null}


572 {573 {

573 "type": "resource",574 "type": "resource",

574 "resource": {575 "resource": {

575 "uri": "file:///tmp/report.md", # Claude가 참조할 수 있는 레이블이며, SDK가 읽는 경로가 아닙니다576 "uri": "file:///tmp/report.md", # SDK가 읽는 경로가 아닙니다

576 "mimeType": "text/markdown",577 "mimeType": "text/markdown",

577 "text": "# Report\n...", # 실제 콘텐츠이며, 인라인입니다578 "text": "# Report\n...", # 실제 콘텐츠이며, 인라인입니다

578 },579 },

Details

6 6 

7> 구축하려는 것과 일치하는 완전하고 실행 가능한 Agent SDK 프로젝트 또는 Claude Cookbook의 가이드 레시피를 찾습니다.7> 구축하려는 것과 일치하는 완전하고 실행 가능한 Agent SDK 프로젝트 또는 Claude Cookbook의 가이드 레시피를 찾습니다.

8 8 

9이 페이지는 완전하고 실행 가능한 Agent SDK 프로젝트 및 가이드 Claude Cookbook 레시피로 안내합니다. TypeScript 애플리케이션은 [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) 저장소에 있으며, Python 레시피는 [Claude Cookbook](https://platform.claude.com/cookbook)에 있습니다.9이 페이지는 완전하고 실행 가능한 Agent SDK 프로젝트 및 가이드 Claude Cookbook 레시피로 안내합니다. 애플리케이션은 [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) 저장소에 있으며, Python 레시피는 [Claude Cookbook](https://platform.claude.com/cookbook)에 있습니다.

10 10 

11<h2 id="run-a-minimal-agent-first">11<h2 id="run-a-minimal-agent-first">

12 먼저 최소한의 에이전트 실행12 먼저 최소한의 에이전트 실행


18 18 

19* [Hello World](https://github.com/anthropics/claude-agent-sdk-demos/tree/main/hello-world): 저장소 코드에서 시작하려고 할 때 복제할 최소한의 TypeScript 프로젝트19* [Hello World](https://github.com/anthropics/claude-agent-sdk-demos/tree/main/hello-world): 저장소 코드에서 시작하려고 할 때 복제할 최소한의 TypeScript 프로젝트

20 20 

21<h2 id="explore-a-typescript-application">21<h2 id="explore-a-demo-application">

22 TypeScript 애플리케이션 탐색22 데모 애플리케이션 탐색

23</h2>23</h2>

24 24 

25[`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos)의 TypeScript 애플리케이션은 이메일 클라이언트에서 다중 에이전트 연구 시스템에 이르기까지 로컬 개발을 위한 데모입니다. 구축 중인 것과 모양이 일치하는 데모를 복제하십시오.25[`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos)의 애플리케이션은 이메일 클라이언트에서 다중 에이전트 연구 시스템에 이르기까지 로컬 개발을 위한 데모입니다. 구축 중인 것과 모양이 일치하는 데모를 복제하십시오.

26 26 

27<h2 id="work-through-a-python-recipe">27<h2 id="work-through-a-python-recipe">

28 Python 레시피 작업28 Python 레시피 작업

Details

247 ```247 ```

248 </CodeGroup>248 </CodeGroup>

249 249 

250 세션 ID와 체크포인트 ID를 캡처한 경우 CLI에서도 되돌릴 수 있습니다. 이 명령은 [Claude Code 설치](/docs/ko/setup)에서 제공되는 `claude` 실행 파일이 필요하며 SDK 패키지에는 설치되지 않습니다. SDK는 체크포인팅을 활성화하지만, `claude -p`를 직접 실행할 때는 `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING` 환경 변수를 설정해야 합니다:250 세션 ID와 체크포인트 ID를 캡처한 경우 CLI에서도 되돌릴 수 있습니다. 이 명령은 [Claude Code 설치](/docs/ko/setup)에서 제공되는 `claude` 실행 파일이 필요합니다. SDK는 체크포인팅을 활성화하지만, `claude -p`를 직접 실행할 때는 `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING` 환경 변수를 설정해야 합니다:

251 251 

252 ```bash theme={null}252 ```bash theme={null}

253 CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true claude -p --resume <session-id> --rewind-files <checkpoint-uuid>253 CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true claude -p --resume <session-id> --rewind-files <checkpoint-uuid>

Details

127 127 

128예제 워크로드에는 들어오는 메일을 분류하고 응답하는 이메일 에이전트, 컨테이너 포트를 통해 사용자별 편집 가능한 사이트를 호스팅하는 사이트 빌더, Slack과 같은 플랫폼에서 지속적인 트래픽을 처리하는 채팅봇이 포함됩니다.128예제 워크로드에는 들어오는 메일을 분류하고 응답하는 이메일 에이전트, 컨테이너 포트를 통해 사용자별 편집 가능한 사이트를 호스팅하는 사이트 빌더, Slack과 같은 플랫폼에서 지속적인 트래픽을 처리하는 채팅봇이 포함됩니다.

129 129 

130컨테이너는 HTTP 또는 WebSocket 엔드포인트를 노출하고 각 활성 세션을 장기 실행 쿼리 및 그 뒤의 서브프로세스에 매핑합니다. TypeScript에서는 [`streamInput()`](/docs/ko/agent-sdk/typescript#query-object)을 사용하여 활성 세션에 턴을 추가하고 [`startup()`](/docs/ko/agent-sdk/typescript#startup)을 사용하여 들어오는 트래픽 전에 서브프로세스를 미리 준비합니다. Python에서는 [`ClaudeSDKClient`](/docs/ko/agent-sdk/python#claudesdkclient)를 사용하여 여러 턴에 걸쳐 세션을 열린 상태로 유지합니다. 컨테이너 크기를 메모리에 보유할 수 있는 최대 동시 세션 수에 맞게 조정하십시오.130컨테이너는 HTTP 또는 WebSocket 엔드포인트를 노출하고 각 활성 세션을 장기 실행 쿼리 및 그 뒤의 서브프로세스에 매핑합니다. 세션을 열린 상태로 유지하고 따뜻하게 유지하는 호출은 SDK 간에 다릅니다:

131 

132* **TypeScript**: [`streamInput()`](/docs/ko/agent-sdk/typescript#query-object)을 사용하여 활성 세션에 턴을 추가합니다. [`startup()`](/docs/ko/agent-sdk/typescript#startup)을 호출하여 들어오는 트래픽 전에 서브프로세스를 미리 준비합니다. 세션의 작업 디렉토리를 첫 번째 요청이 도착할 때까지 알 수 없으면 대신 [`prewarm()`](/docs/ko/agent-sdk/typescript#prewarm)으로 미리 준비합니다.

133* **Python**: [`ClaudeSDKClient`](/docs/ko/agent-sdk/python#claudesdkclient)를 사용하여 여러 턴에 걸쳐 세션을 열린 상태로 유지합니다.

134 

135컨테이너 크기를 메모리에 보유할 수 있는 최대 동시 세션 수에 맞게 조정하십시오.

131 136 

132<h3 id="hybrid-sessions">137<h3 id="hybrid-sessions">

133 하이브리드 세션138 하이브리드 세션


314 319 

315* TypeScript에서 `settingSources: []`를 전달하거나 Python에서 `setting_sources=[]`를 전달하여 사용자, 프로젝트 및 로컬 설정을 건너뛰십시오.320* TypeScript에서 `settingSources: []`를 전달하거나 Python에서 `setting_sources=[]`를 전달하여 사용자, 프로젝트 및 로컬 설정을 건너뛰십시오.

316* `env`에서 `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`을 설정하십시오. [자동 메모리](/docs/ko/memory#auto-memory)는 `~/.claude/projects/<project>/memory/`에서 `settingSources`에 관계없이 시스템 프롬프트로 로드됩니다. [settingSources가 제어하지 않는 것](/docs/ko/agent-sdk/claude-code-features#what-settingsources-does-not-control)에서 무조건 로드되는 다른 입력을 참조하십시오.321* `env`에서 `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`을 설정하십시오. [자동 메모리](/docs/ko/memory#auto-memory)는 `~/.claude/projects/<project>/memory/`에서 `settingSources`에 관계없이 시스템 프롬프트로 로드됩니다. [settingSources가 제어하지 않는 것](/docs/ko/agent-sdk/claude-code-features#what-settingsources-does-not-control)에서 무조건 로드되는 다른 입력을 참조하십시오.

317* `CLAUDE_CONFIG_DIR`을 테넌트별 디렉토리로 지정하여 테넌트가 `~/.claude.json` 전역 구성을 공유하지 않도록 하십시오. 각 구성 디렉토리가 하나의 작업 디렉토리를 제공하고 테넌트 간에 [`SessionStore`](/docs/ko/agent-sdk/session-storage)를 공유하지 않을 때, `env`에서 [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/ko/sessions#name-the-project-directory-yourself)을 설정하여 그 아래의 트랜스크립트 경로를 짧게 유지할 수도 있습니다. TypeScript Agent SDK v0.3.234 이상 또는 Python Agent SDK v0.2.140 이상이 필요합니다.322* `CLAUDE_CONFIG_DIR`을 테넌트별 디렉토리로 지정하여 테넌트가 `~/.claude.json` 전역 구성을 공유하지 않도록 하십시오. 각 구성 디렉토리가 하나의 작업 디렉토리를 제공하고 [`SessionStore`](/docs/ko/agent-sdk/session-storage)를 전달하지 않을 때, `env`에서 [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/ko/sessions#name-the-project-directory-yourself)을 설정하여 그 아래의 트랜스크립트 경로를 짧게 유지할 수도 있습니다. TypeScript Agent SDK v0.3.234 이상 또는 Python Agent SDK v0.2.140 이상이 필요합니다.

318* 테넌트별 작업 디렉토리를 사용하십시오. 모든 `query()` 호출에서 `cwd`를 명시적으로 전달하십시오.323* 테넌트별 작업 디렉토리를 사용하십시오. 모든 `query()` 호출에서 `cwd`를 명시적으로 전달하십시오.

319* 프록시에서 테넌트별 이그레스 규칙을 적용하십시오(예: 서로 다른 아웃바운드 IP, 자격증명 또는 도메인 허용 목록). 이렇게 하면 손상된 테넌트가 다른 테넌트의 아웃바운드 정책을 통해 데이터를 유출할 수 없습니다.324* 프록시에서 테넌트별 이그레스 규칙을 적용하십시오(예: 서로 다른 아웃바운드 IP, 자격증명 또는 도메인 허용 목록). 이렇게 하면 손상된 테넌트가 다른 테넌트의 아웃바운드 정책을 통해 데이터를 유출할 수 없습니다.

320 325 

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) | 예, 연결되고 도구를 나열할 때까지 | [`MCP_TIMEOUT`](/docs/ko/env-vars), 기본값 30초, 연결 시도당; 해당 기한에 연결이 실패합니다 |

166 166 

167[설정 파일](#from-a-config-file)(예: `.mcp.json`)이나 플러그인에서 로드된 서버는 일반적으로 init 메시지에서 `pending` 상태를 표시합니다. `options.mcpServers`가 stdio, HTTP 또는 SSE 서버를 포함할 때, 첫 번째 턴은 이러한 보류 중인 서버도 기다리며, `MCP_TIMEOUT`까지 대기합니다. `options.mcpServers`가 비어 있거나 SDK 서버만 포함할 때, 첫 번째 턴은 대신 최대 2초까지 대기합니다:167[설정 파일](#from-a-config-file)(예: `.mcp.json`)이나 플러그인에서 로드된 서버는 일반적으로 init 메시지에서 `pending` 상태를 표시합니다. `options.mcpServers`가 stdio, HTTP 또는 SSE 서버를 포함할 때, 첫 번째 턴은 이러한 보류 중인 서버도 기다리며, `MCP_TIMEOUT`까지 대기합니다. `options.mcpServers`가 비어 있거나 SDK 서버만 포함할 때, 첫 번째 턴은 대신 최대 2초까지 대기합니다:

168 168 

Details

14 14 

15시스템 프롬프트는 대화 전체에서 Claude의 동작 방식을 형성하는 초기 명령 집합입니다. Agent SDK에는 이에 대한 세 가지 시작점이 있습니다:15시스템 프롬프트는 대화 전체에서 Claude의 동작 방식을 형성하는 초기 명령 집합입니다. Agent SDK에는 이에 대한 세 가지 시작점이 있습니다:

16 16 

17* **최소 기본값**: TypeScript에서 `systemPrompt`를 설정하지 않거나 Python에서 `system_prompt`를 설정하지 않으면, SDK는 도구 호출을 다루지만 `claude_code` 프리셋의 나머지 콘텐츠(보안 및 안전 명령과 작업 디렉토리 및 환경에 대한 컨텍스트 포함)를 생략하는 최소 프롬프트를 사용합니다. 이는 기본적으로 Claude Code 시스템 프롬프트를 사용하는 `claude -p`와 다릅니다. CLI에서 마이그레이션하고 일치하는 동작을 원하면 `claude_code` 프리셋을 설정합니다.17* **최소 기본값**: TypeScript에서 `systemPrompt`를 설정하지 않거나 Python에서 `system_prompt`를 설정하지 않으면, SDK는 도구 호출을 다루지만 `claude_code` 프리셋의 나머지 콘텐츠(보안 및 안전 명령 포함)를 생략하는 최소 프롬프트를 사용합니다. 이는 기본적으로 Claude Code 시스템 프롬프트를 사용하는 `claude -p`와 다릅니다. CLI에서 마이그레이션하고 일치하는 동작을 원하면 `claude_code` 프리셋을 설정합니다.

18* **`claude_code` 프리셋**: Claude Code CLI가 사용하는 시스템 프롬프트로, 도구 사용 명령, 보안 및 안전 명령, 작업 디렉토리 및 환경에 대한 컨텍스트를 포함합니다. TypeScript에서 `systemPrompt: { type: "preset", preset: "claude_code" }`를 설정하거나 Python에서 `system_prompt={"type": "preset", "preset": "claude_code"}`를 설정하고, 선택적으로 `append`를 사용하여 끝에 자신의 명령을 추가합니다.18* **`claude_code` 프리셋**: Claude Code CLI가 사용하는 시스템 프롬프트로, 도구 사용 명령 및 보안과 안전 명령을 포함합니다. TypeScript에서 `systemPrompt: { type: "preset", preset: "claude_code" }`를 설정하거나 Python에서 `system_prompt={"type": "preset", "preset": "claude_code"}`를 설정하고, 선택적으로 `append`를 사용하여 끝에 자신의 명령을 추가합니다.

19* **사용자 정의 문자열**: 직접 작성한 프롬프트입니다. SDK는 제공하는 것만 전송합니다.19* **사용자 정의 문자열**: 직접 작성한 프롬프트입니다. SDK는 제공하는 것만 전송합니다.

20 20 

21<h3 id="decide-on-a-starting-point">21<h3 id="decide-on-a-starting-point">


26 26 

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

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

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

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

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

32| 에이전트 페르소나가 없는 얇은 도구 호출 루프로, 사용자 프롬프트에서 모든 동작을 제공합니다 | `systemPrompt` 옵션 없음 | 최소 기본값: 도구 호출 지원 및 그 이상 없음 |32| 에이전트 페르소나가 없는 얇은 도구 호출 루프로, 사용자 프롬프트에서 모든 동작을 제공합니다 | `systemPrompt` 옵션 없음 | 최소 기본값: 도구 호출 지원 및 그 이상 없음 |


225 사용자 및 머신 전체에서 프롬프트 캐싱 개선225 사용자 및 머신 전체에서 프롬프트 캐싱 개선

226</h4>226</h4>

227 227 

228기본적으로, 동일한 `claude_code` 프리셋과 `append` 텍스트를 사용하는 두 세션은 다른 작업 디렉토리에서 실행되는 경우 프롬프트 캐시 항목을 공유할 수 없습니다. 이는 프리셋이 `append` 텍스트 앞의 시스템 프롬프트에 세션별 컨텍스트를 포함하기 때문입니다: 작업 디렉토리, git 저장소 여부, 플랫폼, 활성 셸, OS 버전, 그리고 자동 메모리 경로. 해당 컨텍스트의 차이는 다른 시스템 프롬프트를 생성하고 캐시 미스를 초래합니다. CLAUDE.md 내용은 SDK가 이를 시스템 프롬프트가 아닌 대화에 주입하기 때문에 시스템 프롬프트 캐시에 영향을 주지 않습니다.228기본적으로, 동일한 `claude_code` 프리셋과 `append` 텍스트를 사용하는 두 세션은 자동 메모리 위치가 다를 때 프롬프트 캐시 항목을 공유할 수 없습니다. 프리셋은 `append` 텍스트 앞의 시스템 프롬프트에 해당 위치를 포함하므로, 사용자, 머신, 체크아웃 전체에서 다릅니다.

229 229 

230세션 전체에서 시스템 프롬프트를 동일하게 만들려면, TypeScript에서 `excludeDynamicSections: true`를 설정하거나 Python에서 `"exclude_dynamic_sections": True`를 설정하십시오. 세션별 컨텍스트는 첫 번째 사용자 메시지로 이동하여, 정적 프리셋과 `append` 텍스트만 시스템 프롬프트에 남으므로 동일한 구성이 사용자 및 머신 전체에서 캐시 항목을 공유합니다.230CLAUDE.md 내용과 작업 디렉토리, 플랫폼, 셸, OS 버전과 같은 환경 세부 정보는 Claude Code가 이를 시스템 프롬프트가 아닌 대화에 전달하기 때문에 시스템 프롬프트 캐시에 영향을 주지 않습니다.

231 

232세션 전체에서 시스템 프롬프트를 동일하게 만들려면, TypeScript에서 `excludeDynamicSections: true`를 설정하거나 Python에서 `"exclude_dynamic_sections": True`를 설정하십시오. 사용자별 컨텍스트는 첫 번째 사용자 메시지로 이동하여, 정적 프리셋과 `append` 텍스트만 시스템 프롬프트에 남으므로 동일한 구성이 사용자 및 머신 전체에서 캐시 항목을 공유합니다.

231 233 

232<Note>234<Note>

233 `excludeDynamicSections`는 `@anthropic-ai/claude-agent-sdk` v0.2.98 이상 또는 Python의 경우 `claude-agent-sdk` v0.1.58 이상이 필요합니다. 프리셋 객체 형식에만 설정하십시오. SDK는 사용자 정의 프롬프트 대신 프리셋을 전달할 때 이를 무시합니다. 사용자 정의 프롬프트의 명령을 TypeScript SDK에서 캐시된 상태로 유지하려면, [Cache the static part of a custom prompt](#cache-the-static-part-of-a-custom-prompt)를 참조하십시오.235 `excludeDynamicSections`는 `@anthropic-ai/claude-agent-sdk` v0.2.98 이상 또는 Python의 경우 `claude-agent-sdk` v0.1.58 이상이 필요합니다. 프리셋 객체 형식에만 설정하십시오. SDK는 사용자 정의 프롬프트 대신 프리셋을 전달할 때 이를 무시합니다. 사용자 정의 프롬프트의 명령을 TypeScript SDK에서 캐시된 상태로 유지하려면, [Cache the static part of a custom prompt](#cache-the-static-part-of-a-custom-prompt)를 참조하십시오.

234</Note>236</Note>

235 237 

236다음 예제는 공유 `append` 블록을 `excludeDynamicSections`와 쌍으로 만들어 다양한 디렉토리에서 실행되는 에이전트 플릿이 동일한 캐시된 시스템 프롬프트를 재사용할 수 있도록 합니다:238다음 예제는 공유 `append` 블록을 `excludeDynamicSections`와 쌍으로 만들어 에이전트 플릿이 동일한 캐시된 시스템 프롬프트를 재사용할 수 있도록 합니다:

237 239 

238<CodeGroup>240<CodeGroup>

239 ```typescript TypeScript theme={null}241 ```typescript TypeScript theme={null}


279 ```281 ```

280</CodeGroup>282</CodeGroup>

281 283 

282**트레이드오프:** 작업 디렉토리, git 저장소 플래그, 플랫폼, 활성 셸, OS 버전, 그리고 자동 메모리 경로는 여전히 Claude에 도달하지만, 시스템 프롬프트가 아닌 첫 번째 사용자 메시지의 일부로 도달합니다. 사용자 메시지의 명령은 시스템 프롬프트의 동일한 텍스트보다 약간 덜 가중치를 가지므로, Claude는 현재 디렉토리 또는 자동 메모리 경로에 대해 추론할 때 이를 덜 강하게 의존할 수 있습니다. 교차 세션 캐시 재사용이 최대한 권위 있는 환경 컨텍스트보다 더 중요할 때 이 옵션을 활성화하십시오.284**트레이드오프:** 시스템 프롬프트 밖으로 이동한 텍스트는 여전히 Claude에 도달하지만, 사용자 메시지에서입니다. 그 텍스트는 최소한 자동 메모리 디렉토리의 위치이며, 종종 전체 자동 메모리 섹션입니다. 사용자 메시지의 명령은 시스템 프롬프트의 동일한 텍스트보다 약간 덜 가중치를 가지므로, Claude는 자동 메모리 지침을 덜 일관되게 따를 수 있습니다. 교차 세션 캐시 재사용이 그보다 더 중요할 때 이 옵션을 활성화하십시오.

283 285 

284비대화형 CLI 모드의 동등한 플래그는 [`--exclude-dynamic-system-prompt-sections`](/docs/ko/cli-reference)를 참조하십시오.286비대화형 CLI 모드의 동등한 플래그는 [`--exclude-dynamic-system-prompt-sections`](/docs/ko/cli-reference)를 참조하십시오.

285 287 


418 420 

419기본적으로 `append` 또는 사용자 정의 프롬프트를 기록하려면 Claude Code v2.1.265 이상이 필요하며, TypeScript Agent SDK는 v0.3.265부터 이를 번들로 제공하고 Python Agent SDK는 v0.2.153부터 제공합니다. Claude Code v2.1.268 이전에는 [feature flags를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry의 세션 포함)이 모든 요청에서 프롬프트를 다시 빌드했으며 `snapshot`은 효과가 없었습니다.421기본적으로 `append` 또는 사용자 정의 프롬프트를 기록하려면 Claude Code v2.1.265 이상이 필요하며, TypeScript Agent SDK는 v0.3.265부터 이를 번들로 제공하고 Python Agent SDK는 v0.2.153부터 제공합니다. Claude Code v2.1.268 이전에는 [feature flags를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry의 세션 포함)이 모든 요청에서 프롬프트를 다시 빌드했으며 `snapshot`은 효과가 없었습니다.

420 422 

423<h2 id="context-claude-code-adds-outside-the-system-prompt">

424 Claude Code가 시스템 프롬프트 외부에 추가하는 컨텍스트

425</h2>

426 

427시스템 알림은 Claude Code가 세션 중에 대화에 추가하는 메시지로, CLAUDE.md 파일의 내용이나 파일이 디스크에서 변경되었다는 메모와 같은 Claude에 컨텍스트를 제공합니다. Claude Code는 이를 시스템 프롬프트가 아닌 대화에 전송하므로, `claude_code` 사전 설정을 사용하거나 `systemPrompt`로 자신의 문자열을 전달하든 Claude에 도달합니다.

428 

429이 섹션에서는 [에이전트의 동작을 변경할 가능성이 가장 높은 알림](#reminders-claude-code-adds-to-the-conversation), [에이전트가 대체하는 컨텍스트를 끄는 방법](#turn-off-the-context-your-agent-replaces), 그리고 [특정 요청에서 Claude가 받은 내용을 확인하는 방법](#see-what-claude-received)을 다룹니다.

430 

431<h3 id="reminders-claude-code-adds-to-the-conversation">

432 Claude Code가 대화에 추가하는 알림

433</h3>

434 

435시스템 알림은 Claude Code가 코드에서 전송하는 프롬프트와 함께 대화에 추가하는 텍스트입니다. 다음 알림들은 에이전트의 동작을 변경할 가능성이 가장 높은 것들입니다:

436 

437* **프로젝트 지침**: [`settingSources`](#claude-md-files-for-project-level-instructions) 옵션이 로드하는 CLAUDE.md 파일

438* **출력 스타일 지침**: 주 대화에서 활성 [출력 스타일](#output-styles-for-persistent-configurations)의 지침

439* **커밋 및 풀 요청 속성**: [`attribution`](/docs/ko/settings-reference#attribution) 설정의 `Co-Authored-By` 트레일러 및 풀 요청 푸터

440* **훅 출력**: [훅](/docs/ko/agent-sdk/hooks#outputs)이 `additionalContext`로 반환하는 텍스트

441* **사용 가능한 스킬**: Claude가 호출할 수 있는 [스킬](/docs/ko/agent-sdk/skills)의 이름 및 설명

442* **사용 가능한 서브에이전트**: Claude가 시작할 수 있는 [서브에이전트](/docs/ko/agent-sdk/subagents)의 이름 및 설명

443* **작업 목록 알림**: [작업 추적 도구가 있는 세션](/docs/ko/agent-sdk/todo-tracking#model-availability)에서 Claude가 여러 턴 동안 작업 목록을 건드리지 않았을 때 작업 목록을 업데이트하라는 프롬프트

444* **파일 변경 메모**: Claude가 이전에 읽은 파일이 디스크에서 변경되었다는 메모

445 

446Claude Code는 CLAUDE.md 파일을 Claude에게 지침이 기본 동작을 재정의한다고 알려주는 줄로 소개합니다.

447 

448`systemPrompt`로 자신의 문자열을 전달하는 경우, 시스템 알림이 무엇인지 설명하는 문장을 추가합니다. `claude_code` 사전 설정에는 하나가 있으며, 문자열이 전체 사전 설정을 대체합니다. 없으면 프롬프트의 아무것도 Claude에게 CLAUDE.md 콘텐츠 및 훅 출력과 같은 알림이 사용자가 아닌 애플리케이션에서 오는 것임을 알려주지 않습니다. 예를 들어:

449 

450```text theme={null}

451애플리케이션이 이 대화에 시스템 알림을 추가합니다. 이를 사용자의 메시지가 아닌 애플리케이션의 컨텍스트로 취급합니다.

452```

453 

454<h3 id="turn-off-the-context-your-agent-replaces">

455 에이전트가 대체하는 컨텍스트 끄기

456</h3>

457 

458에이전트가 동일한 지침의 자체 버전을 제공할 때 기본 제공 컨텍스트의 일부를 끕니다. 예를 들어, 프롬프트가 Claude에게 커밋 메시지를 `PROJ-142: fix login redirect`로 작성하도록 지시하고 트레일러가 없으면, Claude Code는 여전히 Claude에게 각 커밋 메시지를 `Co-Authored-By` 트레일러로 끝내도록 지시하므로 Claude는 동일한 커밋에 대해 두 가지 충돌하는 지침을 받습니다.

459 

460TypeScript에서 [`settings`](/docs/ko/agent-sdk/typescript#options) 옵션을 통해 설정 키를 전달하고, Python에서 [`settings`](/docs/ko/agent-sdk/python#claudeagentoptions)를 통해 전달하며, `env` 옵션을 통해 환경 변수를 전달합니다. TypeScript에서 [`env`](/docs/ko/agent-sdk/typescript#options)는 상속된 환경을 대체하므로 `process.env`를 이에 전개합니다.

461 

462| 기본 제공 컨텍스트 | 끄는 방법 |

463| :- | :- |

464| 기본 제공 커밋 및 풀 요청 지침과 git 상태 스냅샷 | [`includeGitInstructions`](/docs/ko/settings-reference#includegitinstructions)를 `false`로 설정하거나 `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=1` |

465| `Co-Authored-By` 트레일러 및 풀 요청 푸터 | [`attribution.commit`](/docs/ko/settings-reference#attribution-commit) 및 [`attribution.pr`](/docs/ko/settings-reference#attribution-pr)을 자신의 텍스트로 설정하거나 제거하려면 빈 문자열로 설정 |

466| 사용자 또는 프로젝트 설정 소스(CLAUDE.md 포함) | [`settingSources`](/docs/ko/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)에서 `'user'` 또는 `'project'` 제외 |

467| 모든 CLAUDE.md 파일 | `CLAUDE_CODE_DISABLE_CLAUDE_MDS=1` 설정 |

468| 작업 목록 알림, 파일 변경 메모 및 스킬 목록 | `CLAUDE_CODE_DISABLE_ATTACHMENTS=1` 설정 |

469 

470Claude Code의 기본 제공 커밋 및 풀 요청 지침은 알림이 아닙니다. 이는 Bash 도구의 설명의 일부이므로 사용자 정의 `systemPrompt`를 전달할 때도 Claude에 도달합니다.

471 

472`CLAUDE_CODE_DISABLE_ATTACHMENTS`를 설정하면, Claude Code는 `@` 파일 언급을 파일 콘텐츠로 확장하는 대신 일반 텍스트로 전송합니다. 사용 가능한 서브에이전트 목록 및 백그라운드 작업 알림은 여전히 도착합니다.

473 

474다음 예제는 `append`에 자체 커밋 규칙을 포함하는 에이전트용입니다. 트레일러 및 푸터를 제거하기 위해 두 `attribution` 키를 빈 문자열로 설정하고, Claude Code의 자체 커밋 워크플로우 지침이 귀하의 지침과 경쟁하지 않도록 `includeGitInstructions`를 끕니다:

475 

476<CodeGroup>

477 ```typescript TypeScript theme={null}

478 import { query } from "@anthropic-ai/claude-agent-sdk";

479 

480 for await (const message of query({

481 prompt: "Commit the staged changes for ticket PROJ-142",

482 options: {

483 systemPrompt: {

484 type: "preset",

485 preset: "claude_code",

486 append: "Write commit messages as: <ticket id>: <summary>. Add no trailers."

487 },

488 settings: {

489 includeGitInstructions: false,

490 attribution: { commit: "", pr: "" }

491 },

492 allowedTools: ["Bash(git *)"]

493 }

494 })) {

495 if (message.type === "result") console.log(message.subtype);

496 }

497 ```

498 

499 ```python Python theme={null}

500 import asyncio

501 from claude_agent_sdk import query, ClaudeAgentOptions

502 

503 

504 async def main():

505 async for message in query(

506 prompt="Commit the staged changes for ticket PROJ-142",

507 options=ClaudeAgentOptions(

508 system_prompt={

509 "type": "preset",

510 "preset": "claude_code",

511 "append": "Write commit messages as: <ticket id>: <summary>. Add no trailers.",

512 },

513 settings='{"includeGitInstructions": false, "attribution": {"commit": "", "pr": ""}}',

514 allowed_tools=["Bash(git *)"],

515 ),

516 ):

517 print(message)

518 

519 

520 asyncio.run(main())

521 ```

522</CodeGroup>

523 

524변경 사항을 확인하려면 스테이징된 변경 사항이 있는 저장소에서 예제를 실행하고 `git log -1`로 새 커밋을 확인합니다. 메시지는 `Co-Authored-By` 트레일러 없이 끝납니다.

525 

526<h3 id="see-what-claude-received">

527 Claude가 받은 내용 확인

528</h3>

529 

530SDK 메시지 스트림에는 시스템 알림이 포함되지 않으므로, 코드가 받는 메시지를 읽으면 Claude가 본 내용을 보여주지 않습니다. 이를 확인하려면 Claude Code가 전송하는 요청을 기록합니다:

531 

532* **원본 요청 로깅**: [`OTEL_LOG_RAW_API_BODIES`](/docs/ko/monitoring-usage#api-request-body-event)를 `file:<dir>`로 설정합니다. Claude Code는 각 요청 본문을 해당 디렉토리에 씁니다.

533* **제어하는 게이트웨이**: [`ANTHROPIC_BASE_URL`](/docs/ko/llm-gateway)을 요청 본문을 기록하는 프록시로 지정합니다.

534 

535기록된 요청에서 `messages` 배열을 확인합니다. 알림은 `<system-reminder>` 태그로 래핑된 사용자 메시지 내에 나타나거나, 일부 모델에서는 `system` 역할을 가진 별도의 메시지로 나타납니다.

536 

421<h2 id="compare-the-four-approaches">537<h2 id="compare-the-four-approaches">

422 네 가지 방식 모두 비교538 네 가지 방식 모두 비교

423</h2>539</h2>


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

432| **기본 도구** | 유지됨 | 유지됨 | 유지됨 | 손실됨(포함되지 않은 경우) |548| **기본 도구** | 유지됨 | 유지됨 | 유지됨 | 손실됨(포함되지 않은 경우) |

433| **기본 제공 안전** | 유지됨 | 유지됨 | 유지됨 | 추가해야 함 |549| **기본 제공 안전** | 유지됨 | 유지됨 | 유지됨 | 추가해야 함 |

434| **환경 컨텍스트** | 자동 | 자동 | 자동 | 제공해야 함 |

435| **사용자 정의 수준** | 추가만 | 기본값 바꾸기 또는 확장 | 추가만 | 완전 제어 |550| **사용자 정의 수준** | 추가만 | 기본값 바꾸기 또는 확장 | 추가만 | 완전 제어 |

436| **버전 제어** | 프로젝트와 함께 | 예 | 코드와 함께 | 코드와 함께 |551| **버전 제어** | 프로젝트와 함께 | 예 | 코드와 함께 | 코드와 함께 |

437| **범위** | 프로젝트별 | 사용자 또는 프로젝트 | 코드 세션 | 코드 세션 |552| **범위** | 프로젝트별 | 사용자 또는 프로젝트 | 코드 세션 | 코드 세션 |

Details

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

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

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

251| `OTEL_LOG_TOOL_DETAILS=1` | `claude_code.tool_result` 이벤트의 도구 입력 인수(파일 경로, 셸 명령, 검색 패턴) |251| `OTEL_LOG_TOOL_DETAILS=1` | `claude_code.tool_result` 이벤트의 도구 입력 인수(파일 경로, 셸 명령, 검색 패턴) 및 [비용 및 토큰 메트릭](/docs/ko/monitoring-usage#cost-counter)의 실제 에이전트, 스킬, 플러그인 및 MCP 서버 이름 |

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

253| `OTEL_LOG_RAW_API_BODIES` | `claude_code.api_request_body` 및 `claude_code.api_response_body` 로그 이벤트로 전체 Anthropic Messages API 요청 및 응답 JSON. 인라인 본문의 경우 `1`로 설정하여 기본적으로 60KB에서 잘리거나, 이벤트의 `body_ref` 경로가 있는 디스크의 잘리지 않은 본문의 경우 `file:<dir>`로 설정합니다. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`는 인라인 잘림 제한을 구성하며, Claude Code v2.1.214 이상 필요합니다. 본문에는 전체 대화 기록이 포함되며 확장 사고 콘텐츠가 수정됩니다. 이를 활성화하면 위의 세 변수가 드러낼 모든 것에 대한 동의를 의미합니다 |253| `OTEL_LOG_RAW_API_BODIES` | `claude_code.api_request_body` 및 `claude_code.api_response_body` 로그 이벤트로 전체 Anthropic Messages API 요청 및 응답 JSON. 인라인 본문의 경우 `1`로 설정하여 기본적으로 60KB에서 잘리거나, 이벤트의 `body_ref` 경로가 있는 디스크의 잘리지 않은 본문의 경우 `file:<dir>`로 설정합니다. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`는 인라인 잘림 제한을 구성하며, Claude Code v2.1.214 이상 필요합니다. 본문에는 전체 대화 기록이 포함되며 확장 사고 콘텐츠가 수정됩니다. 이를 활성화하면 위의 세 변수가 드러낼 모든 것에 대한 동의를 의미합니다 |

254 254 

255에이전트가 처리하는 데이터를 저장하도록 관찰성 파이프라인이 승인되지 않은 경우 이를 설정하지 마세요. 모니터링 참조의 [보안 및 개인정보](/docs/ko/monitoring-usage#security-and-privacy)에서 모든 속성 및 수정 동작의 전체 목록을 확인하세요.255에이전트가 처리하는 데이터를 저장하도록 관찰성 파이프라인이 승인되지 않은 경우 이를 설정하지 마세요. 모니터링 참조의 [보안 및 개인정보](/docs/ko/monitoring-usage#security-and-privacy)에서 모든 속성 및 수정 동작의 전체 목록을 확인하세요.

Details

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)입니다. `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` 모드에서는 거부됩니다.44 `allow` 규칙(`allowed_tools` 및 settings.json에서)을 확인합니다. 규칙이 일치하면 도구가 승인됩니다. 도구가 자체적으로 승인하는 호출도 이 단계에서 규칙 없이 해결됩니다. 예를 들어 작업 디렉토리 내의 파일 읽기 또는 [읽기 전용 Bash 명령](/docs/ko/permissions#read-only-commands)입니다.

45 

46 [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거는 allow 규칙으로 절대 승인되지 않습니다. 그 후 콜백에 도달하는지 여부는 권한 모드에 따라 달라집니다. 예를 들어 `auto` 모드의 Agent SDK 세션에서 Claude Code는 기본적으로 호출하지 않고 거부합니다. [중요 경로](/docs/ko/permission-modes#critical-paths) 모드 테이블은 각 모드가 이들을 어떻게 처리하는지 나열합니다.

45 </Step>47 </Step>

46 48 

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


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

90 92 

91<Warning>93<Warning>

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` 모드에서 이러한 호출은 콜백을 호출하지 않고 대신 거부됩니다.94 **자동 승인된 도구는 `canUseTool`에 도달하지 않습니다.** `acceptEdits` 또는 `bypassPermissions`에 의해 또는 허용 규칙에 의해 이전 단계에서 승인된 도구 호출은 `canUseTool` 콜백을 건너뛰므로, 거기에 넣은 권한 검사는 해당 도구에 대해 자동으로 무시됩니다.

95 

96 허용 규칙은 `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` 제거를 자동 승인하지 않습니다. `dontAsk` 모드에서 Claude Code는 콜백을 호출하지 않고 이러한 호출을 거부합니다. 다른 모드에서는 처음 세 가지가 콜백에 도달합니다. [권한 모드](/docs/ko/permission-modes#critical-paths)에 따라, 중요 경로 제거는 콜백에 도달하거나 Claude Code는 기본적으로 `auto` 모드의 Agent SDK 세션에 대해 수행하는 것처럼 콜백을 호출하지 않고 거부합니다.

93 97 

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

95</Warning>99</Warning>


301 305 

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

303 307 

304`allowDangerouslySkipPermissions: true`를 `permissionMode: 'plan'`과 함께 설정하면 파일 편집 및 파일을 수정하는 셸 명령은 여전히 `canUseTool` 콜백에 도달합니다. 이 옵션을 사용하면 나중에 `setPermissionMode()`로 `bypassPermissions`로 전환할 수 있습니다.308TypeScript SDK에서 `allowDangerouslySkipPermissions: true`를 `permissionMode: 'plan'`과 함께 설정하면 파일 편집 및 파일을 수정하는 셸 명령은 여전히 `canUseTool` 콜백에 도달합니다. 이 옵션을 사용하면 나중에 `setPermissionMode()`로 `bypassPermissions`로 전환할 수 있습니다.

305 309 

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

307 311 

Details

331 플러그인이 로드되지 않음331 플러그인이 로드되지 않음

332</h3>332</h3>

333 333 

334플러그인이 초기화 메시지에 나타나지 않으면:334플러그인이 초기화 메시지의 `plugins` 목록에 나타나지 않으면 [`plugin_errors`](/docs/ko/agent-sdk/typescript#sdksystemmessage) 필드에서 이유를 확인한 후 다음 확인 사항을 진행합니다:

335 335 

3361. **경로 확인**: 경로가 플러그인 루트 디렉터리를 가리키는지 확인합니다. 이는 `skills/`, `agents/`, `hooks/`, `commands/` 또는 `.claude-plugin/`의 상위 디렉터리입니다3361. **경로 확인**: 경로가 플러그인 루트 디렉터리를 가리키는지 확인합니다. 이는 `skills/`, `agents/`, `hooks/`, `commands/` 또는 `.claude-plugin/`의 상위 디렉터리입니다

3372. **plugin.json 검증**: 플러그인에 매니페스트가 포함되어 있으면 유효한 JSON 구문을 가지고 있는지 확인합니다3372. **plugin.json 검증**: 플러그인에 매니페스트가 포함되어 있으면 유효한 JSON 구문을 가지고 있는지 확인합니다

Details

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

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

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

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

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

300| `file_size` | `int \| None` | 세션 파일 크기 (바이트) (원격 저장소 백엔드의 경우 `None`) |300| `file_size` | `int \| None` | 세션 파일 크기 (바이트) (원격 저장소 백엔드의 경우 `None`) |

301| `custom_title` | `str \| None` | 사용자가 설정한 세션 제목 |301| `custom_title` | `str \| None` | 사용자가 설정한 세션 제목 |


875 include_partial_messages: bool = False875 include_partial_messages: bool = False

876 include_hook_events: bool = False876 include_hook_events: bool = False

877 forward_subagent_text: bool = False877 forward_subagent_text: bool = False

878 verbatim_prompts: bool = False

878 fork_session: bool = False879 fork_session: bool = False

879 resume_session_at: str | None = None880 resume_session_at: str | None = None

880 resume_drops_turn: str | None = None881 resume_drops_turn: str | None = None


928| `include_partial_messages` | `bool` | `False` | 부분 메시지 스트리밍 이벤트 포함. 활성화되면 [`StreamEvent`](#streamevent) 메시지가 생성됩니다 |929| `include_partial_messages` | `bool` | `False` | 부분 메시지 스트리밍 이벤트 포함. 활성화되면 [`StreamEvent`](#streamevent) 메시지가 생성됩니다 |

929| `include_hook_events` | `bool` | `False` | 메시지 스트림에 hook 라이프사이클 이벤트를 `HookEventMessage` 객체로 포함 |930| `include_hook_events` | `bool` | `False` | 메시지 스트림에 hook 라이프사이클 이벤트를 `HookEventMessage` 객체로 포함 |

930| `forward_subagent_text` | `bool` | `False` | 메시지 스트림에서 서브에이전트 텍스트 및 생각 블록을 전달합니다. 이 옵션 없이 Claude Code는 서브에이전트 `tool_use` 및 `tool_result` 블록을 내보내지만 텍스트 또는 생각은 내보내지 않습니다. Python Agent SDK 0.2.140 이상 필요 |931| `forward_subagent_text` | `bool` | `False` | 메시지 스트림에서 서브에이전트 텍스트 및 생각 블록을 전달합니다. 이 옵션 없이 Claude Code는 서브에이전트 `tool_use` 및 `tool_result` 블록을 내보내지만 텍스트 또는 생각은 내보내지 않습니다. Python Agent SDK 0.2.140 이상 필요 |

932| `verbatim_prompts` | `bool` | `False` | 모든 프롬프트를 작성된 대로 전달합니다. SDK는 각 사용자 메시지를 `client_composed`가 `True`로 설정되어 전송합니다. Claude Code가 이 메시지에서 건너뛰는 것은 [`client_composed`](/docs/ko/agent-sdk/typescript#sdkusermessage)를 참조하십시오. 프롬프트 텍스트에 최종 사용자가 입력하지 않은 콘텐츠가 포함될 때 이 옵션을 사용합니다. 턴별 제어를 위해 이를 끄고 대신 스트리밍된 메시지에서 개별적으로 `"client_composed": True`를 설정합니다. 옵션이 켜져 있는 동안 SDK는 설정한 모든 `client_composed` 값을 덮어씁니다. Python Agent SDK 0.2.158 이상 및 Claude Code v2.1.248 이상 필요. 이 SDK 버전과 함께 번들된 CLI는 Claude Code 요구사항을 충족합니다 |

931| `fork_session` | `bool` | `False` | `resume`으로 재개할 때, 원본 세션을 계속하는 대신 새 세션 ID로 포크합니다 |933| `fork_session` | `bool` | `False` | `resume`으로 재개할 때, 원본 세션을 계속하는 대신 새 세션 ID로 포크합니다 |

932| `resume_session_at` | `str \| None` | `None` | 재개할 때, 이 UUID를 가진 메시지까지 포함하여 대화만 로드합니다. `resume`과 함께 사용하고, 보통 `fork_session`과 함께 사용하여 이전 지점에서 분기합니다. Python Agent SDK 0.2.137 이상 필요 |934| `resume_session_at` | `str \| None` | `None` | 재개할 때, 이 UUID를 가진 메시지까지 포함하여 대화만 로드합니다. `resume`과 함께 사용하고, 보통 `fork_session`과 함께 사용하여 이전 지점에서 분기합니다. Python Agent SDK 0.2.137 이상 필요 |

933| `resume_drops_turn` | `str \| None` | `None` | UUID는 `resume_session_at` 잘림이 버리는 턴의 사용자 프롬프트입니다. 설정하면 CLI는 버려진 범위가 해당 턴에 귀속되지 않는 항목을 보유하는 경우 재개를 거부합니다. Python Agent SDK 0.2.137 이상 및 Claude Code v2.1.223 이상 필요. 이 SDK 버전과 함께 번들된 CLI는 Claude Code 요구사항을 충족합니다 |935| `resume_drops_turn` | `str \| None` | `None` | UUID는 `resume_session_at` 잘림이 버리는 턴의 사용자 프롬프트입니다. 설정하면 CLI는 버려진 범위가 해당 턴에 귀속되지 않는 항목을 보유하는 경우 재개를 거부합니다. Python Agent SDK 0.2.137 이상 및 Claude Code v2.1.223 이상 필요. 이 SDK 버전과 함께 번들된 CLI는 Claude Code 요구사항을 충족합니다 |


1221 "plan", # Planning mode - explore without editing1223 "plan", # Planning mode - explore without editing

1222 "dontAsk", # Deny anything not pre-approved instead of prompting1224 "dontAsk", # Deny anything not pre-approved instead of prompting

1223 "bypassPermissions", # Bypass permission checks; explicit ask rules still prompt (use with caution)1225 "bypassPermissions", # Bypass permission checks; explicit ask rules still prompt (use with caution)

1224 "auto", # Model classifier approves or denies permission prompts1226 "auto", # A model classifier reviews actions such as shell commands and network requests

1225]1227]

1226```1228```

1227 1229 


3791<Warning>3793<Warning>

3792 `dangerouslyDisableSandbox: True`로 실행되는 명령은 전체 시스템 접근 권한이 있습니다. `can_use_tool` 핸들러가 이러한 요청을 신중하게 검증하는지 확인하십시오.3794 `dangerouslyDisableSandbox: True`로 실행되는 명령은 전체 시스템 접근 권한이 있습니다. `can_use_tool` 핸들러가 이러한 요청을 신중하게 검증하는지 확인하십시오.

3793 3795 

3794 `permission_mode`가 `bypassPermissions`로 설정되고 `allow_unsandboxed_commands`가 활성화되면, 모델은 [모드가 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)을 제외하고 승인 프롬프트 없이 샌드박스 외부에서 명령을 자동으로 실행할 수 있습니다. 이 조합은 모델이 샌드박스 격리를 조용히 탈출할 수 있도록 효과적으로 허용합니다.3796 `permission_mode`가 `bypassPermissions`로 설정되고 `allowUnsandboxedCommands`가 활성화되면, 모델은 [모드가 자동 승인하지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)을 제외하고 승인 프롬프트 없이 샌드박스 외부에서 명령을 자동으로 실행할 수 있습니다. 이 조합은 모델이 샌드박스 격리를 조용히 탈출할 수 있도록 효과적으로 허용합니다.

3795</Warning>3797</Warning>

3796 3798 

3797<h2 id="see-also">3799<h2 id="see-also">

Details

330 알려진 제한 사항330 알려진 제한 사항

331</h2>331</h2>

332 332 

333* **구조화된 출력**: JSON 결과는 스트리밍 델타가 아닌 최종 `ResultMessage.structured_output`에만 나타납니다. 자세한 내용은 [구조화된 출력](/docs/ko/agent-sdk/structured-outputs)을 참조하십시오.333* **구조화된 출력**: 부분 메시지가 활성화된 경우, JSON은 도구 호출의 검증되지 않은 `input_json_delta` 청크로 스트리밍되며, 검증된 결과만 최종 `ResultMessage.structured_output`에 도달합니다. 자세한 내용은 [구조화된 출력](/docs/ko/agent-sdk/structured-outputs)을 참조하십시오.

334 334 

335<h2 id="next-steps">335<h2 id="next-steps">

336 다음 단계336 다음 단계

Details

162 structured\_output is None but the result says success162 structured\_output is None but the result says success

163</h3>163</h3>

164 164 

165결과 메시지는 `subtype: "success"`로 끝날 수 있지만 Python에서 `structured_output`은 `None`이거나 TypeScript에서 `undefined`입니다. 실행이 완료되지만 검증된 출력이 없습니다. 이를 발생시키는 한 가지 방법은 충돌하는 길이 제약과 같이 출력이 만족할 수 없는 스키마입니다. 실행은 검증 오류 없이 끝나고 유일한 신호는 누락된 `structured_output`입니다.165결과 메시지는 `subtype: "success"`로 끝날 수 있지만 Python에서 `structured_output`은 `None`이거나 TypeScript에서 `undefined`입니다. 실행이 완료되지만 검증된 출력이 없습니다. 이를 발생시키는 한 가지 방법은 충돌하는 길이 제약과 같이 출력이 만족할 수 없는 스키마입니다.

166 166 

167애플리케이션 코드에서 이 결과를 실패로 취급합니다. `structured_output`을 사용하기 전에 `subtype`이 `success`이고 `structured_output`이 존재하는지 확인합니다. [오류 처리](/docs/ko/agent-sdk/structured-outputs#error-handling) 섹션은 두 SDK 모두에 대해 이 패턴을 보여줍니다.167애플리케이션 코드에서 이 결과를 실패로 취급합니다. `structured_output`을 사용하기 전에 `subtype`이 `success`이고 `structured_output`이 존재하는지 확인합니다. [오류 처리](/docs/ko/agent-sdk/structured-outputs#error-handling) 섹션은 두 SDK 모두에 대해 이 패턴을 보여줍니다.

168 168 

Details

54* 크로스 컴파일하려면 일치하지 않는 플랫폼 패키지를 설치하세요. 예를 들어 `npm install @anthropic-ai/claude-agent-sdk-linux-x64 --force`입니다.54* 크로스 컴파일하려면 일치하지 않는 플랫폼 패키지를 설치하세요. 예를 들어 `npm install @anthropic-ai/claude-agent-sdk-linux-x64 --force`입니다.

55* Windows에서 바이너리 하위 경로는 `claude.exe`입니다. 예를 들어 `@anthropic-ai/claude-agent-sdk-win32-x64/claude.exe`입니다.55* Windows에서 바이너리 하위 경로는 `claude.exe`입니다. 예를 들어 `@anthropic-ai/claude-agent-sdk-win32-x64/claude.exe`입니다.

56 56 

57<h3 id="import-the-/core-entry-when-you-bundle-the-agent-sdk">

58 Agent SDK를 번들할 때 `/core` 항목을 가져오기

59</h3>

60 

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

62 

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

64 

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

66 

57<h2 id="functions">67<h2 id="functions">

58 함수68 함수

59</h2>69</h2>


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

94</h3>104</h3>

95 105 

96프롬프트를 사용할 수 있기 전에 CLI 부프로세스를 생성하고 초기화 핸드셰이크를 완료하여 미리 준비합니다. 반환된 [`WarmQuery`](#warmquery) 핸들은 나중에 프롬프트를 수락하고 이미 준비된 프로세스에 작성하므로 첫 번째 `query()` 호출이 부프로세스 생성 및 초기화 비용을 인라인으로 지불하지 않고 해결됩니다.106프롬프트를 사용할 수 있기 전에 CLI 부프로세스를 생성하고 초기화 핸드셰이크를 완료하여 미리 준비합니다. 반환된 [`WarmQuery`](#warmquery) 핸들은 나중에 프롬프트를 수락하고 이미 준비된 프로세스에 작성하므로 첫 번째 `query()` 호출이 부프로세스 생성 및 초기화 비용을 인라인으로 지불하지 않고 해결됩니다. 세션의 작업 디렉토리를 아직 모르는 경우 대신 [`prewarm()`](#prewarm)을 사용합니다.

97 107 

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

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


135}145}

136```146```

137 147 

148<h3 id="prewarm">

149 `prewarm()`

150</h3>

151 

152*알파.* Claude Code 프로세스를 미리 시작하여 어느 세션을 제공할지 알기 전에 [`claim()`](#spareprocess)으로 나중에 세션에 바인딩할 수 있습니다. 사용자가 폴더를 선택하기 전에 부팅되는 애플리케이션에서 사용합니다. TypeScript Agent SDK v0.3.282 이상이 필요합니다.

153 

154`prewarm()`은 [`startup()`](#startup)과 동일한 초기화 핸드셰이크를 완료하며, `options.cwd`를 설정할 때 해당 디렉토리에서 프로세스가 대기하고, 그렇지 않으면 Claude Code 구성 디렉토리 아래의 개인 임시 디렉토리에서 대기합니다. 세션의 작업 디렉토리, 해당 `SessionStart` 훅, 해당 stdio MCP 서버, 해당 CLAUDE.md 및 git 컨텍스트는 클레임을 기다립니다. 스페어는 대기하는 동안 대략 230\~260 MB의 메모리를 보유합니다. [`spawnClaudeCodeProcess`](#options)가 다른 머신이나 컨테이너에서 Claude Code를 실행하는 경우 `options.cwd`를 스페어가 대기할 디렉토리로 설정합니다.

155 

156```typescript theme={null}

157function prewarm(params?: {

158 options?: Options;

159 initializeTimeoutMs?: number;

160}): Promise<SpareProcess>;

161```

162 

163`options` 및 `initializeTimeoutMs`는 `startup()`과 동일한 의미를 가지며, `options.cwd`는 스페어가 대기하는 디렉토리만 설정합니다. 프로미스는 프로세스가 초기화 핸드셰이크를 완료한 후 [`SpareProcess`](#spareprocess)로 해결됩니다. `prewarm()`은 `options`가 `resume`, `continue` 또는 `forkSession`을 설정하면 throw합니다. 스페어는 아직 세션이 없기 때문입니다. 클레임이 설정할 수 없는 모든 것(예: `mcpServers`, `hooks`, `canUseTool`, `settingSources`, `systemPrompt` 및 `plugins`)은 스페어의 수명 동안 고정되므로 해당 옵션의 고유한 집합마다 하나의 스페어를 유지하고 변경될 때 다시 미리 준비합니다.

164 

165<h4 id="example-2">

166 예제

167</h4>

168 

169애플리케이션 부팅 시 미리 준비한 다음 사용자가 세션을 시작할 때 스페어를 클레임합니다:

170 

171```typescript theme={null}

172import { prewarm } from "@anthropic-ai/claude-agent-sdk";

173 

174// 애플리케이션 부팅 시, 세션의 폴더가 알려지기 전

175const spare = await prewarm({ options: { maxTurns: 3 } });

176 

177// 나중에 사용자가 폴더에서 세션을 시작할 때

178const claimedQuery = spare.claim({

179 prompt: "What files are here?",

180 options: { cwd: "/path/to/project" },

181});

182 

183spare.claimed.catch((error: Error) => {

184 // 메시지가 "option_not_applied"로 시작하지 않으면 프롬프트가 실행되지 않았습니다:

185 // 대신 이 세션을 query()로 시작합니다

186 console.error("Claim failed:", error.message);

187});

188 

189for await (const message of claimedQuery) {

190 console.log(message);

191}

192```

193 

138<h3 id="tool">194<h3 id="tool">

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

140</h3>196</h3>


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

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

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

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

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

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

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


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

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

261 317 

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

263 예제319 예제

264</h4>320</h4>

265 321 


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

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

314 370 

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

316 예제372 예제

317</h4>373</h4>

318 374 


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

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

454 510 

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

456 예제512 예제

457</h4>513</h4>

458 514 


547| `toolAliases` | `Record<string, string>` | `undefined` | 기본 제공 도구 이름을 MCP 도구 이름으로 매핑하여 Claude가 기본 제공 대신 MCP 구현을 호출하도록 합니다. 예를 들어 `{ Bash: 'mcp__workspace__bash' }` |603| `toolAliases` | `Record<string, string>` | `undefined` | 기본 제공 도구 이름을 MCP 도구 이름으로 매핑하여 Claude가 기본 제공 대신 MCP 구현을 호출하도록 합니다. 예를 들어 `{ Bash: 'mcp__workspace__bash' }` |

548| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | 기본 제공 도구 동작의 구성입니다. 세부 정보는 [`ToolConfig`](#toolconfig)를 참조하세요 |604| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | 기본 제공 도구 동작의 구성입니다. 세부 정보는 [`ToolConfig`](#toolconfig)를 참조하세요 |

549| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | 도구 구성입니다. 도구 이름 배열을 전달하거나 프리셋을 사용하여 Claude Code의 기본 도구를 가져옵니다 |605| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | 도구 구성입니다. 도구 이름 배열을 전달하거나 프리셋을 사용하여 Claude Code의 기본 도구를 가져옵니다 |

606| `verbatimPrompts` | `boolean` | `false` | 작성된 대로 모든 프롬프트를 전달합니다. SDK는 각 사용자 메시지를 `client_composed: true`로 보냅니다. [`client_composed`](#sdkusermessage)에서 Claude Code가 이 메시지들을 건너뛰는 것을 참조하세요. 최종 사용자가 입력하지 않은 콘텐츠를 프롬프트 텍스트에 포함할 때 이 옵션을 사용하세요. 턴별 제어의 경우 이를 끄고 대신 스트리밍된 개별 메시지에서 `client_composed`를 설정하세요. TypeScript 에이전트 SDK v0.3.280 이상 및 Claude Code v2.1.248 이상이 필요합니다. 해당 SDK 버전과 함께 번들된 Claude Code 버전이 Claude Code 요구 사항을 충족합니다 |

550 607 

551<h4 id="handle-slow-or-stalled-api-responses">608<h4 id="handle-slow-or-stalled-api-responses">

552 느리거나 정지된 API 응답 처리609 느리거나 정지된 API 응답 처리


617 path: string,674 path: string,

618 options?: { maxBytes?: number; encoding?: 'utf-8' | 'base64' }675 options?: { maxBytes?: number; encoding?: 'utf-8' | 'base64' }

619 ): Promise<SDKControlReadFileResponse | null>;676 ): Promise<SDKControlReadFileResponse | null>;

677 reloadPlugins(options?: {

678 holdOnCacheImpact?: boolean;

679 }): Promise<SDKControlReloadPluginsResponse>;

620 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;680 reloadSkills(): Promise<SDKControlReloadSkillsResponse>;

681 reloadOutputStyles(): Promise<SDKControlReloadOutputStylesResponse>;

621 accountInfo(): Promise<AccountInfo>;682 accountInfo(): Promise<AccountInfo>;

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

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


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

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

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

714| `reloadPlugins(options?)` | 디스크에서 플러그인을 다시 로드하여 중간 세션에서 설치하거나 편집한 플러그인이 실행 중인 세션에 도달하도록 합니다. 세션의 명령어, 서브에이전트, 플러그인 및 MCP 서버 상태를 나열하는 [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse)로 해결됩니다. 에이전트 SDK v0.2.85 이상이 필요합니다. [`holdOnCacheImpact` 옵션](#sdkcontrolreloadpluginsresponse)은 에이전트 SDK v0.3.268 이상이 필요합니다 |

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

716| `reloadOutputStyles()` | [출력 스타일](/docs/ko/output-styles)을 디스크에서 다시 읽어 중간 세션에서 추가하거나 편집한 스타일 파일을 실행 중인 세션에서 사용할 수 있도록 합니다. 다시 로드 후 사용 가능한 스타일 이름을 나열하는 [`SDKControlReloadOutputStylesResponse`](#sdkcontrolreloadoutputstylesresponse)로 해결됩니다. 에이전트 SDK v0.3.261 이상이 필요합니다 |

654| `accountInfo()` | 계정 정보를 반환합니다 |717| `accountInfo()` | 계정 정보를 반환합니다 |

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

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


672* **현재 턴 중에 적용됨**: `model`. Claude가 턴에서 작업 중일 때 `model`을 전환하면 Claude가 이미 생성 중인 응답은 이전 모델에서 완료되고 Claude Code가 모델에 수행하는 다음 호출부터 시작하는 턴의 나머지는 새 모델을 사용합니다. 서브에이전트는 자신의 모델을 유지합니다. v2.1.212 이전에는 중간 턴 전환이 다음 턴을 기다렸습니다.735* **현재 턴 중에 적용됨**: `model`. Claude가 턴에서 작업 중일 때 `model`을 전환하면 Claude가 이미 생성 중인 응답은 이전 모델에서 완료되고 Claude Code가 모델에 수행하는 다음 호출부터 시작하는 턴의 나머지는 새 모델을 사용합니다. 서브에이전트는 자신의 모델을 유지합니다. v2.1.212 이전에는 중간 턴 전환이 다음 턴을 기다렸습니다.

673* **중간 세션에 영향 없음**: 시스템 프롬프트 옵션입니다. 이는 시작 시 한 번 해결되므로 실행 중인 세션은 호출이 성공하더라도 원본 값을 유지합니다. 변경하려면 새 세션을 시작하세요.736* **중간 세션에 영향 없음**: 시스템 프롬프트 옵션입니다. 이는 시작 시 한 번 해결되므로 실행 중인 세션은 호출이 성공하더라도 원본 값을 유지합니다. 변경하려면 새 세션을 시작하세요.

674 737 

675`effortLevel`은 [노력 수준](/docs/ko/model-config#adjust-effort-level) 이름을 허용합니다. 또한 `"ultracode"`를 허용하며, 이는 [ultracode](/docs/ko/workflows#let-claude-decide-with-ultracode)가 켜진 `xhigh` 노력을 요청합니다. `applyFlagSettings()`는 해당 값 없이 `effortLevel`을 선언하므로 TypeScript에서 동등한 `{ ultracode: true }`를 전달하세요. `ultracode` 값은 Claude Code v2.1.203 이상이 필요하며 설정 파일의 `effortLevel` 키가 아닌 `applyFlagSettings()`에서만 허용됩니다.738`effortLevel`은 [노력 수준](/docs/ko/model-config#adjust-effort-level) 이름을 허용합니다. 또한 `"ultracode"`를 허용하며, 이는 [ultracode](/docs/ko/workflows#let-claude-decide-with-ultracode)가 켜진 `xhigh` 노력을 요청합니다. `applyFlagSettings()`는 해당 값 없이 `effortLevel`을 선언하므로 TypeScript에서 동등한 `{ ultracode: true, effortLevel: "xhigh" }`를 전달하거나 [`ultracode`](/docs/ko/settings-reference#ultracode) 키 단독으로 세션의 현재 노력 수준에서 ultracode를 켜세요. `ultracode` 값은 Claude Code v2.1.203 이상이 필요하며 설정 파일의 `effortLevel` 키가 아닌 `applyFlagSettings()`에서만 허용됩니다. v2.1.284 이전에는 `ultracode` 키 단독도 수준을 `xhigh`로 설정했습니다.

676 739 

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

678 741 


741 804 

742`WarmQuery`는 `AsyncDisposable`을 구현하므로 자동 정리를 위해 `await using`과 함께 사용할 수 있습니다.805`WarmQuery`는 `AsyncDisposable`을 구현하므로 자동 정리를 위해 `await using`과 함께 사용할 수 있습니다.

743 806 

807<h3 id="spareprocess">

808 `SpareProcess`

809</h3>

810 

811*알파.* [`prewarm()`](#prewarm)에서 반환된 핸들입니다. 시작된 Claude Code 프로세스로, 아직 세션에 바인딩되지 않았으며 한 번 청구할 수 있습니다. TypeScript 에이전트 SDK v0.3.282 이상이 필요합니다.

812 

813```typescript theme={null}

814interface SpareProcess extends AsyncDisposable {

815 claim(params: {

816 prompt: string | AsyncIterable<SDKUserMessage>;

817 options: ClaimOptions;

818 }): Query;

819 readonly claimed: Promise<{ cwd: string; sessionId: string; parkedMs?: number; sdkMcpSettled: boolean }>;

820 readonly exited: Promise<void>;

821 close(): void;

822}

823```

824 

825<h4 id="members">

826 멤버

827</h4>

828 

829| 멤버 | 설명 |

830| :- | :- |

831| `claim({ prompt, options })` | 스페어를 `options.cwd`의 세션에 바인딩하고 첫 번째 메시지를 보냅니다. [`Query`](#query-object)를 동기적으로 반환합니다. `query()`처럼 한 번만 호출할 수 있습니다 |

832| `claimed` | Claude Code가 청구를 수락하면 세션의 작업 디렉토리 및 ID로 해결됩니다. Claude Code가 청구를 거부할 때, 프로세스가 종료되거나 먼저 닫혔을 때, 그리고 `option_not_applied`로 시작하는 메시지로 세션이 요청한 `model` 또는 `maxThinkingTokens` 없이 실행 중일 때 거부됩니다 |

833| `exited` | 프로세스가 종료되면 정착합니다. 청구 전에 종료되는 스페어를 교체하세요 |

834| `close()` | 프로세스를 종료합니다. 청구 전에 스페어를 버리고 `claimed`를 거부합니다 |

835 

836`options.cwd`는 필수입니다. 청구는 또한 `additionalDirectories`, `model`, `permissionMode`, `maxThinkingTokens`, `settings`의 플래그 설정 오버레이, `appendSystemPrompt`, `title`, `agents` 및 `env`의 세션별 토큰을 설정할 수 있습니다.

837 

838Claude Code는 청구를 거부할 수 있습니다. 예를 들어 존재하지 않는 폴더 또는 프로젝트 설정이 `env`, `agent` 또는 `model`을 설정하는 폴더의 경우입니다. `claimed`가 `option_not_applied`로 시작하는 메시지로 거부되면 세션이 요청한 `model` 또는 `maxThinkingTokens` 없이 실행 중입니다. 다른 거부 후 프롬프트가 실행되지 않았으므로 대신 `query()`로 세션을 시작하세요.

839 

744<h3 id="sdkcontrolinitializeresponse">840<h3 id="sdkcontrolinitializeresponse">

745 `SDKControlInitializeResponse`841 `SDKControlInitializeResponse`

746</h3>842</h3>


824 tokens: number;920 tokens: number;

825 color: string;921 color: string;

826 isDeferred?: boolean;922 isDeferred?: boolean;

923 kind: "used" | "free" | "buffer" | "deferred";

827 }[];924 }[];

828 totalTokens: number;925 totalTokens: number;

829 maxTokens: number;926 maxTokens: number;


913 1010 

914컬렉션 필드에서 토큰 귀속을 읽으세요:1011컬렉션 필드에서 토큰 귀속을 읽으세요:

915 1012 

916* `categories`는 카테고리별 합계를 보유합니다.1013* `categories`는 카테고리별 합계를 보유합니다. 각 항목의 `kind`는 [`SDKContextUsageCategory`](#sdkcontextusagecategory)와 동일한 값으로 행을 분류합니다. 표시 `name`이 아닌 `kind`에서 행을 분류하세요. 필드는 에이전트 SDK v0.3.268 이상이 필요합니다.

917* `mcpTools` 및 `agents`는 개별 MCP 도구 및 서브에이전트에 토큰을 귀속합니다.1014* `mcpTools` 및 `agents`는 개별 MCP 도구 및 서브에이전트에 토큰을 귀속합니다.

918* `memoryFiles`는 각 로드된 메모리 파일을 비용과 함께 나열합니다.1015* `memoryFiles`는 각 로드된 메모리 파일을 비용과 함께 나열합니다.

919* `skills.skillFrontmatter`는 포함된 각 스킬에 스킬 목록의 토큰을 귀속합니다. 스킬별 수는 Claude Code가 실제로 보내는 각 스킬의 목록 항목을 측정하며, 스킬의 전체 프론트매터보다 짧을 수 있습니다. `skills.totalSkills`를 `skills.includedSkills`와 비교하여 발견된 모든 스킬이 목록에 포함되었는지 확인하세요.1016* `skills.skillFrontmatter`는 포함된 각 스킬에 스킬 목록의 토큰을 귀속합니다. 스킬별 수는 Claude Code가 실제로 보내는 각 스킬의 목록 항목을 측정하며, 스킬의 전체 프론트매터보다 짧을 수 있습니다. `skills.totalSkills`를 `skills.includedSkills`와 비교하여 발견된 모든 스킬이 목록에 포함되었는지 확인하세요.


950 1047 

951Read 거부 및 요청 규칙은 여전히 일치하는 경로를 차단하고, 광범위한 Read 허용 규칙은 `readFile()`에 나머지 파일 시스템을 열지 않습니다. 다른 것의 경우 호출은 `null`로 해결됩니다.1048Read 거부 및 요청 규칙은 여전히 일치하는 경로를 차단하고, 광범위한 Read 허용 규칙은 `readFile()`에 나머지 파일 시스템을 열지 않습니다. 다른 것의 경우 호출은 `null`로 해결됩니다.

952 1049 

1050<h3 id="sdkcontrolreloadpluginsresponse">

1051 `SDKControlReloadPluginsResponse`

1052</h3>

1053 

1054[`reloadPlugins()`](#query-object)의 반환 유형입니다.

1055 

1056```typescript theme={null}

1057type SDKControlReloadPluginsResponse = {

1058 commands: SlashCommand[];

1059 agents: AgentInfo[];

1060 plugins: {

1061 name: string;

1062 path: string;

1063 source?: string;

1064 version?: string;

1065 }[];

1066 mcpServers: McpServerStatus[];

1067 error_count: number;

1068 held?: boolean;

1069 cache_impact?: {

1070 mcp_servers_added: string[];

1071 mcp_servers_removed: string[];

1072 lsp_tool_change: ("adds" | "may-add" | "removes" | "may-remove") | null;

1073 };

1074};

1075```

1076 

1077컬렉션 필드는 호출 후 세션을 설명합니다:

1078 

1079* `commands`, `agents` 및 `mcpServers`: 세션의 명령어, 서브에이전트 및 MCP 서버 상태(동일한 형태로 `supportedCommands()`, `supportedAgents()` 및 `mcpServerStatus()`가 반환). `supportedAgents()`는 초기화 시 캡처된 목록을 계속 반환하므로 다시 로드 후 집합에 대해 여기서 `agents`를 읽으세요

1080* `plugins`: 각 로드된 플러그인의 `name` 및 설치 `path`입니다. `version`은 플러그인의 매니페스트가 선언하는 것을 반복하며 플러그인 작성자가 제어하므로 신뢰하기 전에 검증하세요. 매니페스트가 선언하지 않으면 생략됩니다

1081* `error_count`: 플러그인 로드의 오류 수

1082 

1083`reloadPlugins()`에 `{ holdOnCacheImpact: true }`를 전달하여 대화의 프롬프트 캐시를 무효화할 다시 로드를 적용하는 대신 보류합니다. Claude Code는 대화형 `/reload-plugins` 명령어가 [캐시 비용에 대해 경고](/docs/ko/prompt-caching#enabling-or-disabling-a-plugin)하기 전에 수행하는 검사를 실행합니다. 옵션은 에이전트 SDK v0.3.268 이상이 필요합니다. `pathToClaudeCodeExecutable`이 가리키는 것과 같은 v2.1.268보다 오래된 Claude Code 실행 파일은 옵션을 무시하고 다시 로드를 적용합니다.

1084 

1085옵션을 전달하면 `held`를 읽어 발생한 일을 알아보세요:

1086 

1087* `true`: 다시 로드가 적용되지 않았으며 컬렉션 필드는 여전히 세션을 설명합니다. `cache_impact`는 적용이 변경할 것을 말합니다. 어쨌든 적용하려면 옵션 없이 `reloadPlugins()`를 다시 호출하세요.

1088* `false`: 검사에서 캐시 영향을 찾지 못했으며 다시 로드가 적용되었습니다.

1089* 없음: 옵션을 전달하지 않았거나 Claude Code 실행 파일이 v2.1.268보다 오래되어 다시 로드를 적용했습니다.

1090 

1091`cache_impact`는 `held: true`와 함께만 존재합니다. `mcp_servers_added` 및 `mcp_servers_removed`는 다시 로드가 등록하거나 삭제할 플러그인 MCP 서버를 범위 지정된 `plugin:<plugin>:<server>` 이름으로 명시합니다. 이름은 플러그인 작성자가 작성했으므로 표시하기 전에 검증하세요. `lsp_tool_change`는 적용이 LSP 도구를 추가하거나 제거할지 또는 둘 다 하지 않을지 `null`을 말합니다. `may-` 형식은 검사가 대기 중인 플러그인 집합을 완전히 볼 수 없음을 의미합니다.

1092 

953<h3 id="sdkcontrolreloadskillsresponse">1093<h3 id="sdkcontrolreloadskillsresponse">

954 `SDKControlReloadSkillsResponse`1094 `SDKControlReloadSkillsResponse`

955</h3>1095</h3>


964 1104 

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

966 1106 

1107<h3 id="sdkcontrolreloadoutputstylesresponse">

1108 `SDKControlReloadOutputStylesResponse`

1109</h3>

1110 

1111[`reloadOutputStyles()`](#query-object)의 반환 유형입니다.

1112 

1113```typescript theme={null}

1114type SDKControlReloadOutputStylesResponse = {

1115 available_output_styles: string[];

1116};

1117```

1118 

1119`available_output_styles`는 다시 로드 후 사용 가능한 기본 제공 및 사용자 정의 출력 스타일의 이름을 나열합니다.

1120 

967<h3 id="sdkcontrolmcpreadresourceresponse">1121<h3 id="sdkcontrolmcpreadresourceresponse">

968 `SDKControlMcpReadResourceResponse`1122 `SDKControlMcpReadResourceResponse`

969</h3>1123</h3>


984 1138 

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

986 1140 

987각 `contents` 항목은 서버가 보낸 하나의 콘텐츠 항목입니다. `blob`은 바이너리 항목의 base64 데이터를 보유하고, `_meta`는 항목 자체의 `_meta`이며, MCP Apps 서버는 리소스의 `ui.csp` 및 `ui.permissions`를 여기에 넣습니다. 콘텐츠는 신뢰할 수 없는 제3자 HTML이므로 샌드박스에서 렌더링하세요.1141각 `contents` 항목은 서버가 보낸 하나의 콘텐츠 항목입니다. `com.anthropic/` 접두사 아래의 `_meta` 키는 Claude Code용으로 예약되어 있으므로 제외됩니다. `blob`은 바이너리 항목의 base64 데이터를 보유하고, `_meta`는 항목 자체의 `_meta`이며, MCP Apps 서버는 리소스의 `ui.csp` 및 `ui.permissions`를 여기에 넣습니다. 콘텐츠는 신뢰할 수 없는 제3자 HTML이므로 샌드박스에서 렌더링하세요.

988 1142 

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

990 `AgentDefinition`1144 `AgentDefinition`


1142 blockedPath?: string;1296 blockedPath?: string;

1143 mcpServer?: { name: string; source: string };1297 mcpServer?: { name: string; source: string };

1144 decisionReason?: string;1298 decisionReason?: string;

1299 defaultToNo?: boolean;

1300 suppressAlwaysAllowRule?: boolean;

1145 toolUseID: string;1301 toolUseID: string;

1146 agentID?: string;1302 agentID?: string;

1147 requestId: string;1303 requestId: string;


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

1157| `mcpServer` | `{ name: string; source: string }` | `mcp__*` 도구의 경우 해당 도구를 제공하는 MCP 서버 및 해당 서버의 정의가 나온 위치([`McpServerProvenance`](#mcpserverprovenance)의 필드 포함). 다른 도구의 경우 없습니다. 에이전트 SDK v0.3.274 이상이 필요합니다 |1313| `mcpServer` | `{ name: string; source: string }` | `mcp__*` 도구의 경우 해당 도구를 제공하는 MCP 서버 및 해당 서버의 정의가 나온 위치([`McpServerProvenance`](#mcpserverprovenance)의 필드 포함). 다른 도구의 경우 없습니다. 에이전트 SDK v0.3.274 이상이 필요합니다 |

1158| `decisionReason` | `string` | 이 권한 요청이 트리거된 이유를 설명합니다 |1314| `decisionReason` | `string` | 이 권한 요청이 트리거된 이유를 설명합니다 |

1315| `defaultToNo` | `boolean` | 이 `true`일 때 단일 오류 키 입력이 이 요청을 승인하면 안 됩니다. 승인 옵션에서 프롬프트를 열고 사전 선택하지 마세요. 일회성 승인 바로 가기를 제공하지 마세요. 에이전트 SDK v0.3.268 이상이 필요합니다 |

1316| `suppressAlwaysAllowRule` | `boolean` | 이 `true`일 때 이 요청에 대한 영구적 항상 허용 선택을 제공하지 마세요. 규칙이 요청 자체의 작업보다 더 많이 부여하기 때문입니다. 에이전트 SDK v0.3.268 이상이 필요합니다 |

1159| `toolUseID` | `string` | 어시스턴트 메시지 내 이 특정 도구 호출의 고유 식별자 |1317| `toolUseID` | `string` | 어시스턴트 메시지 내 이 특정 도구 호출의 고유 식별자 |

1160| `agentID` | `string` | 서브에이전트 내에서 실행 중인 경우 서브에이전트의 ID |1318| `agentID` | `string` | 서브에이전트 내에서 실행 중인 경우 서브에이전트의 ID |

1161| `requestId` | `string` | `control_request` 봉투의 `request_id`입니다. 애플리케이션이 SDK 외부의 자체 채널(예: 서명된 HTTP POST)을 통해 보내는 `control_response`는 이 값을 에코해야 Claude Code 프로세스가 응답을 요청과 일치시킬 수 있습니다 |1319| `requestId` | `string` | `control_request` 봉투의 `request_id`입니다. 애플리케이션이 SDK 외부의 자체 채널(예: 서명된 HTTP POST)을 통해 보내는 `control_response`는 이 값을 에코해야 Claude Code 프로세스가 응답을 요청과 일치시킬 수 있습니다 |


1380 context_usage?: SDKContextUsage;1538 context_usage?: SDKContextUsage;

1381 user_message_uuid?: string;1539 user_message_uuid?: string;

1382 user_message_uuids?: string[];1540 user_message_uuids?: string[];

1541 resume_reason?: string;

1383};1542};

1384```1543```

1385 1544 


1394 1553 

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

1396 1555 

1397Claude Code는 [`user_message_uuid`](#user_message_uuid)의 조건에 따라 턴의 첫 번째 어시스턴트 메시지에 `user_message_uuid`와 `user_message_uuids`를 설정합니다.1556Claude Code는 [`user_message_uuid`](#user_message_uuid)의 조건에 따라 턴의 첫 번째 어시스턴트 메시지에 `user_message_uuid`와 `user_message_uuids`를 설정합니다. Claude Code가 재시작으로 인해 중단된 턴을 다시 실행할 때, 다시 실행의 어시스턴트 메시지가 이러한 필드를 전달하면 [`resume_reason`](#resume_reason)도 전달합니다.

1398 1557 

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

1400 1559 


1416 parent_tool_use_id: string | null;1575 parent_tool_use_id: string | null;

1417 isSynthetic?: boolean;1576 isSynthetic?: boolean;

1418 shouldQuery?: boolean;1577 shouldQuery?: boolean;

1578 client_composed?: true;

1419 tool_use_result?: unknown;1579 tool_use_result?: unknown;

1420 origin?: SDKMessageOrigin;1580 origin?: SDKMessageOrigin;

1421 inline_pastes?: string[];1581 inline_pastes?: string[];


1424 1584 

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

1426 1586 

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

1588 

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

1590* `client_composed`: Claude Code가 메시지 텍스트를 작성된 대로 전달하도록 `true`로 설정합니다. Claude Code는 `@path` 또는 [`@server:resource`](/docs/ko/mcp#use-mcp-resources) 언급을 확장하지 않으며, `/`로 시작하는 텍스트를 명령으로 실행하지 않습니다. [`verbatimPrompts`](#options) 옵션이 켜져 있는 동안 SDK는 모든 메시지에 필드를 설정합니다. TypeScript Agent SDK v0.3.280 이상 및 Claude Code v2.1.248 이상이 필요합니다.

1428 1591 

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

1430 1593 


1448 message: MessageParam;1611 message: MessageParam;

1449 parent_tool_use_id: string | null;1612 parent_tool_use_id: string | null;

1450 isSynthetic?: boolean;1613 isSynthetic?: boolean;

1614 client_composed?: true;

1451 tool_use_result?: unknown;1615 tool_use_result?: unknown;

1452 origin?: SDKMessageOrigin;1616 origin?: SDKMessageOrigin;

1453 isReplay: true;1617 isReplay: true;


1480 ttft_stream_ms?: number;1644 ttft_stream_ms?: number;

1481 user_message_uuid?: string;1645 user_message_uuid?: string;

1482 user_message_uuids?: string[];1646 user_message_uuids?: string[];

1647 resume_reason?: string;

1648 local_command?: string;

1483 request_sent_wall_ms?: number;1649 request_sent_wall_ms?: number;

1484 first_content_frame_ms?: number;1650 first_content_frame_ms?: number;

1485 first_stream_post_ms?: number;1651 first_stream_post_ms?: number;


1493 structured_output?: unknown;1659 structured_output?: unknown;

1494 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };1660 deferred_tool_use?: { id: string; name: string; input: Record<string, unknown> };

1495 terminal_reason?: TerminalReason;1661 terminal_reason?: TerminalReason;

1662 result_index?: number;

1496 fast_mode_state?: FastModeState;1663 fast_mode_state?: FastModeState;

1497 fast_mode_disabled_reason?: FastModeDisabledReason;1664 fast_mode_disabled_reason?: FastModeDisabledReason;

1498 origin?: SDKMessageOrigin;1665 origin?: SDKMessageOrigin;


1520 startup_failure_reason?: SDKStartupFailureReason;1687 startup_failure_reason?: SDKStartupFailureReason;

1521 user_message_uuid?: string;1688 user_message_uuid?: string;

1522 user_message_uuids?: string[];1689 user_message_uuids?: string[];

1690 resume_reason?: string;

1523 terminal_reason?: TerminalReason;1691 terminal_reason?: TerminalReason;

1692 result_index?: number;

1524 fast_mode_state?: FastModeState;1693 fast_mode_state?: FastModeState;

1525 fast_mode_disabled_reason?: FastModeDisabledReason;1694 fast_mode_disabled_reason?: FastModeDisabledReason;

1526 origin?: SDKMessageOrigin;1695 origin?: SDKMessageOrigin;


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

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

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

1706* `resume_reason`: Claude Code가 재시작으로 인해 중단된 턴을 다시 실행한 이유입니다. 양쪽 분기에 있으며, 그러한 다시 실행에만 있습니다. [`resume_reason`](#resume_reason)을 참조하세요.

1707*

1708 

1709`local_command`: 턴이 발송한 명령의 이름으로, `/compact`와 같이 에이전트 루프에 들어가지 않고 명령이 완료된 턴의 성공 결과에서만 있습니다. 이름은 소문자 문자와 밑줄로 접혀 있으므로 `/reload-plugins`는 `reload_plugins`를 보고합니다. MCP 서버가 제공하는 명령과 기본 제공 `/mcp`는 `mcp`를 보고합니다. 자신이 정의한 명령은 `custom`을 보고합니다. 인수는 절대 포함되지 않습니다. 에이전트 루프에 들어간 모든 턴과 명령을 실행하지 않은 전송에서 없습니다. Agent SDK v0.3.268 이상이 필요합니다.

1710 

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

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

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

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

1715 

1716*

1717 

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

1719 

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

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

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

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

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

1725 

1726`result_index`: 이 결과가 실행의 전달 순서에서 어디에 떨어지는지로, 프로세스가 작성하는 모든 결과에서 0부터 계산합니다. 양쪽 분기에 있습니다. 쓰기가 실패한 결과도 번호를 소비하므로 시퀀스의 간격은 결과가 손실되었음을 의미합니다. Agent SDK v0.3.268 이상이 필요합니다.

1727 

1728*

1729 

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

1731 

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

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

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


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

1581 1768 

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

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

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

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

1773 

1774*

1775 

1776**Claude Code가 [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ko/env-vars) 아래에서 다시 실행하기 위해 생성하는 프롬프트**: 중단된 턴의 마지막 프롬프트가 보낸 일반 메시지일 때, 턴을 열었는지 또는 Claude Code가 턴 중에 선택했는지 여부에 관계없이 다시 실행은 처음에 해당 메시지에 답변합니다. [`resume_reason`](#resume_reason)은 중단된 시도의 다시 실행 프레임을 말합니다. 마지막 프롬프트가 보낸 일반 메시지가 아닐 때, 다시 실행은 처음에 보낸 메시지에 답변하지 않습니다. Claude Code가 도구 호출 사이에 보낸 일반 메시지를 선택하면 턴은 그 이후로 선택된 메시지에 답변합니다. 중단된 턴의 프롬프트 에코는 Agent SDK v0.3.268 이상이 필요합니다.

1777 

1778*

1779 

1780**Claude Code가 자체 생성한 다른 프롬프트**: 턴은 처음에 보낸 메시지에 답변하지 않으며 프레임은 에코를 전달하지 않습니다. Claude Code가 도구 호출 사이에 보낸 일반 메시지를 선택하면 턴은 그 이후로 해당 메시지에 답변합니다. 픽업 에코는 Agent SDK v0.3.265 이상이 필요합니다. 이전 버전은 이러한 턴에서 아무것도 에코하지 않습니다.

1585 1781 

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

1587 1783 

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

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

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

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

1788 

1789*

1790 

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

1591 1792 

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

1593 1794 


1608 1809 

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

1610 1811 

1812<h4 id="resume_reason">

1813 `resume_reason`

1814</h4>

1815 

1816Claude Code가 재시작으로 인해 중단된 턴을 다시 실행한 이유입니다. Claude Code는 [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ko/env-vars) 아래에서 다시 실행한 턴에 이 필드를 설정하므로 다시 실행의 회신과 결과를 중단된 시도의 것과 구별할 수 있습니다. Agent SDK v0.3.268 이상이 필요합니다.

1817 

1818Claude Code는 두 가지 종류의 프레임에 필드를 설정합니다:

1819 

1820* **다시 실행의 결과**: 성공 및 오류 분기 모두에서, 결과가 `user_message_uuid`를 전달하는지 여부에 관계없이.

1821* **다시 실행의 회신 프레임**: [`user_message_uuid`](#user_message_uuid)를 전달하는 것들.

1822 

1823값은 `interrupted_turn`과 같이 턴이 다시 실행된 이유를 명명하는 짧은 소문자 토큰입니다. 필드는 다른 모든 턴에는 없습니다.

1824 

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

1612 `queued_turn_count`1826 `queued_turn_count`

1613</h4>1827</h4>


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

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

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

1660| `managed_settings_invalid` | 관리 정책 설정을 읽을 수 없거나 핀이 조직을 명명하지 않음 |1874| `managed_settings_invalid` | 관리 정책 설정을 읽을 수 없거나 핀이 조직을 명명하지 않음 또는 [관리 모델 제한](/docs/ko/errors#managed-settings-block-the-default-model)이 기본 옵션에 대해 허용된 모델을 남기지 않음 |

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

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

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


1701 output_style: string;1915 output_style: string;

1702 skills: string[];1916 skills: string[];

1703 plugins: { name: string; path: string }[];1917 plugins: { name: string; path: string }[];

1918 plugin_errors?: {

1919 plugin: string;

1920 type: string;

1921 message: string;

1922 path?: string;

1923 }[];

1704 fast_mode_state?: FastModeState;1924 fast_mode_state?: FastModeState;

1705 fast_mode_disabled_reason?: FastModeDisabledReason;1925 fast_mode_disabled_reason?: FastModeDisabledReason;

1706 effort?: "low" | "medium" | "high" | "xhigh" | "max" | null;1926 effort?: "low" | "medium" | "high" | "xhigh" | "max" | null;


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

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

1727 1947 

1948`plugin_errors` 배열은 플러그인 로드 실패를 나열합니다. 항목은 로드되지 않은 플러그인을 설명하고 `plugins`에서 없거나 훅 파일과 같은 부분 없이 로드된 플러그인을 설명합니다. 아무것도 실패하지 않으면 키가 생략됩니다. `SDKSystemMessage`는 Agent SDK v0.3.283 이상에서 `plugin_errors`를 선언합니다.

1949 

1950[`plugins` 옵션](#options)의 디렉토리 또는 아카이브 자체가 로드되지 않으면 항목의 `plugin` 필드는 플러그인 이름 대신 `inline[0]`과 같은 위치 태그를 보유합니다. 이는 예를 들어 경로가 존재하지 않거나 매니페스트가 유효하지 않을 때 발생합니다. 그러한 항목을 `path` 필드로 옵션과 일치시킵니다.

1951 

1952아래 테이블은 각 `plugin_errors` 항목의 필드를 나열합니다.

1953 

1954| 필드 | 타입 | 설명 |

1955| - | - | - |

1956| `plugin` | `string` | 실패한 플러그인의 ID 또는 플러그인 디렉토리나 아카이브 자체가 로드되지 않았을 때 `inline[0]`과 같은 위치 태그 |

1957| `type` | `string` | `path-not-found` 또는 `manifest-validation-error`와 같은 열린 집합의 오류 카테고리입니다. 인식하지 못하는 값을 일반 실패로 취급합니다 |

1958| `message` | `string` | 실패를 설명하는 표시 텍스트 |

1959| `path` | `string` | 플러그인 디렉토리 또는 아카이브 자체가 로드되지 않았을 때만 있습니다. 절대 경로로, [`cwd`](#options) 옵션에 대해 해결된 `plugins` 옵션의 상대 경로 |

1960 

1728<h3 id="sdkpartialassistantmessage">1961<h3 id="sdkpartialassistantmessage">

1729 `SDKPartialAssistantMessage`1962 `SDKPartialAssistantMessage`

1730</h3>1963</h3>


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

1742 user_message_uuid?: string;1975 user_message_uuid?: string;

1743 user_message_uuids?: string[];1976 user_message_uuids?: string[];

1977 resume_reason?: string;

1744};1978};

1745```1979```

1746 1980 

1747Claude Code는 턴의 첫 번째 비핑 스트림 이벤트에 `user_message_uuid`와 `user_message_uuids`를 설정하고, 턴이 답변하는 메시지가 변경될 때 [`user_message_uuid`](#user_message_uuid)의 조건에 따라 다시 설정합니다.1981Claude Code는 턴의 첫 번째 비핑 스트림 이벤트에 `user_message_uuid`와 `user_message_uuids`를 설정하고, 턴이 답변하는 메시지가 변경될 때 [`user_message_uuid`](#user_message_uuid)의 조건에 따라 다시 설정합니다. Claude Code가 재시작으로 인해 중단된 턴을 다시 실행할 때, 다시 실행의 스트림 이벤트가 이러한 필드를 전달하면 [`resume_reason`](#resume_reason)도 전달합니다.

1748 1982 

1749<h3 id="sdkcompactboundarymessage">1983<h3 id="sdkcompactboundarymessage">

1750 `SDKCompactBoundaryMessage`1984 `SDKCompactBoundaryMessage`


1769 `SDKInformationalMessage`2003 `SDKInformationalMessage`

1770</h3>2004</h3>

1771 2005 

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

1773 2007 

1774```typescript theme={null}2008```typescript theme={null}

1775type SDKInformationalMessage = {2009type SDKInformationalMessage = {


2874 도구 입력 타입3108 도구 입력 타입

2875</h2>3109</h2>

2876 3110 

2877모든 기본 제공 Claude Code 도구의 입력 스키마 문서입니다. 이 타입은 `@anthropic-ai/claude-agent-sdk`에서 내보내지며 타입 안전 도구 상호작용에 사용할 수 있습니다.3111모든 기본 제공 Claude Code 도구의 입력 스키마 문서입니다. 이 타입은 `@anthropic-ai/claude-agent-sdk/sdk-tools`에서 내보내지며 타입 안전 도구 상호작용에 사용할 수 있습니다.

2878 3112 

2879<h3 id="toolinputschemas">3113<h3 id="toolinputschemas">

2880 `ToolInputSchemas`3114 `ToolInputSchemas`

2881</h3>3115</h3>

2882 3116 

2883`@anthropic-ai/claude-agent-sdk`에서 내보낸 도구 입력 타입의 합집합입니다. 멤버는 다음을 포함합니다:3117`@anthropic-ai/claude-agent-sdk/sdk-tools`에서 내보낸 도구 입력 타입의 합집합입니다. 멤버는 다음을 포함합니다:

2884 3118 

2885```typescript theme={null}3119```typescript theme={null}

2886type ToolInputSchemas =3120type ToolInputSchemas =


3682 도구 출력 타입3916 도구 출력 타입

3683</h2>3917</h2>

3684 3918 

3685모든 기본 제공 Claude Code 도구의 출력 스키마 문서입니다. 이 타입은 `@anthropic-ai/claude-agent-sdk`에서 내보내지며 각 도구에서 반환된 실제 응답 데이터를 나타냅니다.3919모든 기본 제공 Claude Code 도구의 출력 스키마 문서입니다. 이 타입은 `@anthropic-ai/claude-agent-sdk/sdk-tools`에서 내보내지며 각 도구에서 반환된 실제 응답 데이터를 나타냅니다.

3686 3920 

3687<h3 id="tooloutputschemas">3921<h3 id="tooloutputschemas">

3688 `ToolOutputSchemas`3922 `ToolOutputSchemas`

3689</h3>3923</h3>

3690 3924 

3691`@anthropic-ai/claude-agent-sdk`에서 내보낸 도구 출력 타입의 합집합입니다. 멤버는 다음을 포함합니다:3925`@anthropic-ai/claude-agent-sdk/sdk-tools`에서 내보낸 도구 출력 타입의 합집합입니다. 멤버는 다음을 포함합니다:

3692 3926 

3693```typescript theme={null}3927```typescript theme={null}

3694type ToolOutputSchemas =3928type ToolOutputSchemas =


5528 `SDKTaskProgressMessage`5762 `SDKTaskProgressMessage`

5529</h3>5763</h3>

5530 5764 

5531서브에이전트 또는 백그라운드 작업이 실행 중일 때 주기적으로 내보내집니다. `summary` 필드는 [`agentProgressSummaries`](#options)가 활성화되었을 때만 채워집니다.5765서브에이전트 또는 백그라운드 작업이 실행 중일 때 주기적으로 내보내집니다.

5766 

5767서브에이전트 작업의 경우, `summary` 필드는 모델 생성 진행 상황 요약을 전달하며 [`agentProgressSummaries`](#options)가 활성화되었을 때만 채워집니다. [백그라운드 MCP 도구 호출](/docs/ko/mcp#automatic-backgrounding-of-long-tool-calls)의 경우, `summary`는 MCP 서버의 최신 보고된 진행 상황을 전달하며 해당 옵션에 따라 달라지지 않습니다.

5532 5768 

5533```typescript theme={null}5769```typescript theme={null}

5534type SDKTaskProgressMessage = {5770type SDKTaskProgressMessage = {


5692사용 가능한 명령 집합이 세션 중간에 변경될 때 내보내집니다. 예를 들어 에이전트가 하위 디렉토리에 들어갈 때 스킬이 발견될 때입니다. `commands` 배열은 전체 업데이트된 목록이므로, 캐시된 명령 목록을 이 페이로드로 바꾸세요.&#x20;5928사용 가능한 명령 집합이 세션 중간에 변경될 때 내보내집니다. 예를 들어 에이전트가 하위 디렉토리에 들어갈 때 스킬이 발견될 때입니다. `commands` 배열은 전체 업데이트된 목록이므로, 캐시된 명령 목록을 이 페이로드로 바꾸세요.&#x20;

5693이 메시지 후 [`supportedCommands()`](#query-object)를 호출하면 동일한 업데이트된 목록을 반환합니다. 메서드는 최신 푸시를 추적하기 때문입니다. 이는 Agent SDK v0.3.216 이상이 필요합니다. 이전 SDK 버전에서 `supportedCommands()`는 초기화 시 캡처된 스냅샷을 반환하며 세션 중간 변경을 반영하지 않습니다.5929이 메시지 후 [`supportedCommands()`](#query-object)를 호출하면 동일한 업데이트된 목록을 반환합니다. 메서드는 최신 푸시를 추적하기 때문입니다. 이는 Agent SDK v0.3.216 이상이 필요합니다. 이전 SDK 버전에서 `supportedCommands()`는 초기화 시 캡처된 스냅샷을 반환하며 세션 중간 변경을 반영하지 않습니다.

5694 5930 

5931Claude Code는 또한 MCP 서버의 [프롬프트](/docs/ko/mcp#use-mcp-prompts-as-commands)가 목록에 참여하거나 떠날 때 이 메시지를 내보냅니다. 예를 들어 세션이 시작된 후 서버가 연결을 완료할 때입니다. 이는 Claude Code v2.1.281 이상이 필요합니다.

5932 

5695```typescript theme={null}5933```typescript theme={null}

5696type SDKCommandsChangedMessage = {5934type SDKCommandsChangedMessage = {

5697 type: "system";5935 type: "system";


5729 new_conversation_id: UUID;5967 new_conversation_id: UUID;

5730 uuid: UUID;5968 uuid: UUID;

5731 session_id: string;5969 session_id: string;

5970 trigger?: "clear" | "plan_mode_exit" | "fresh_session" | "onboarding";

5971 user_message_uuid?: string;

5972 timestamp?: string;

5732};5973};

5733```5974```

5734 5975 

5976선택적 필드는 재설정을 설명합니다:

5977 

5978* `trigger`: 대화를 버린 것입니다. 이 필드가 없거나 인식하지 못하는 값을 전달하는 경우를 포함하여 모든 `conversation_reset` 메시지에서 트랜스크립트를 재설정하세요.

5979* `user_message_uuid`: `/clear`를 전달한 사용자 메시지의 `uuid`입니다. 이를 사용하여 재설정을 해당 메시지와 일치시키세요.

5980* `timestamp`: 재설정이 발생한 시간이며, UTC의 ISO 8601 문자열입니다. 메시지 순서 지정이 아닌 표시에 사용하세요.

5981 

5982`trigger`, `user_message_uuid` 및 `timestamp` 필드는 Claude Code v2.1.281 이상이 필요합니다.

5983 

5735SDK의 게시된 타이핑은 Claude Code v2.1.203 이상에서 `SDKConversationResetMessage`를 선언합니다. v2.1.203 이전에는 `SDKMessage`가 타입을 선언하지 않고 참조했으므로, `skipLibCheck`가 비활성화되었을 때 `type === "conversation_reset"`에 대한 좁혀지기가 타입 검사에 실패했습니다.5984SDK의 게시된 타이핑은 Claude Code v2.1.203 이상에서 `SDKConversationResetMessage`를 선언합니다. v2.1.203 이전에는 `SDKMessage`가 타입을 선언하지 않고 참조했으므로, `skipLibCheck`가 비활성화되었을 때 `type === "conversation_reset"`에 대한 좁혀지기가 타입 검사에 실패했습니다.

5736 5985 

5737<h3 id="aborterror">5986<h3 id="aborterror">


5848| `allowedDomains` | `string[]` | `[]` | 샌드박스된 프로세스가 액세스할 수 있는 도메인 이름 |6097| `allowedDomains` | `string[]` | `[]` | 샌드박스된 프로세스가 액세스할 수 있는 도메인 이름 |

5849| `deniedDomains` | `string[]` | `[]` | 샌드박스된 프로세스가 액세스할 수 없는 도메인 이름입니다. `allowedDomains`보다 우선합니다 |6098| `deniedDomains` | `string[]` | `[]` | 샌드박스된 프로세스가 액세스할 수 없는 도메인 이름입니다. `allowedDomains`보다 우선합니다 |

5850| `strictAllowlist` | `boolean` | `false` | [네트워크 허용 목록](/docs/ko/sandboxing#network-isolation) 외부의 호스트에 대한 샌드박스된 명령 액세스를 거부합니다. 프롬프트 대신 거부합니다. 샌드박스된 명령에만 적용됩니다. WebFetch와 같은 프로세스 내 도구는 이에 의해 제한되지 않습니다. 사용자, 관리형 또는 CLI `--settings` 설정에서만 적용됩니다. 프로젝트 설정은 무시됩니다. Claude Code v2.1.219 이상이 필요합니다 |6099| `strictAllowlist` | `boolean` | `false` | [네트워크 허용 목록](/docs/ko/sandboxing#network-isolation) 외부의 호스트에 대한 샌드박스된 명령 액세스를 거부합니다. 프롬프트 대신 거부합니다. 샌드박스된 명령에만 적용됩니다. WebFetch와 같은 프로세스 내 도구는 이에 의해 제한되지 않습니다. 사용자, 관리형 또는 CLI `--settings` 설정에서만 적용됩니다. 프로젝트 설정은 무시됩니다. Claude Code v2.1.219 이상이 필요합니다 |

5851| `allowManagedDomainsOnly` | `boolean` | `false` | 관리형 설정 전용입니다. [관리형 설정](/docs/ko/managed-settings)에서 설정되었을 때 관리형 설정의 `allowedDomains` 항목 및 관리형 설정의 `WebFetch(domain:...)` 허용 규칙만 적용되며 사용자, 프로젝트 또는 로컬 설정의 허용 항목은 무시됩니다. SDK 옵션을 통해 설정되었을 때는 효과가 없습니다 |6100| `allowManagedDomainsOnly` | `boolean` | `false` | 관리형 설정 전용입니다. [관리형 설정](/docs/ko/managed-settings)에서 설정되었을 때 관리형 설정의 `allowedDomains` 항목 및 관리형 설정의 `WebFetch(domain:...)` 허용 규칙만 적용되며 사용자, 프로젝트 또는 로컬 설정의 허용 항목은 무시됩니다. SDK에서 [`managedSettings`](#options) 옵션을 통해 전달합니다 |

5852| `allowLocalBinding` | `boolean` | `false` | 프로세스가 로컬 포트에 바인딩하도록 허용합니다 (예: 개발 서버의 경우) |6101| `allowLocalBinding` | `boolean` | `false` | 프로세스가 로컬 포트에 바인딩하도록 허용합니다 (예: 개발 서버의 경우) |

5853| `allowUnixSockets` | `string[]` | `[]` | 프로세스가 액세스할 수 있는 Unix 소켓 경로 (예: Docker 소켓) |6102| `allowUnixSockets` | `string[]` | `[]` | 프로세스가 액세스할 수 있는 Unix 소켓 경로 (예: Docker 소켓) |

5854| `allowAllUnixSockets` | `boolean` | `false` | 모든 Unix 소켓에 대한 액세스 허용 |6103| `allowAllUnixSockets` | `boolean` | `false` | 모든 Unix 소켓에 대한 액세스 허용 |

Details

296 <Tab title="승인 및 기억">296 <Tab title="승인 및 기억">

297 사용자가 승인하고 이런 종류의 호출에 대해 다시 묻지 않기를 원합니다. 세 번째 콜백 인수는 `suggestions`을 포함하며, 이는 준비된 [`PermissionUpdate`](/docs/ko/agent-sdk/typescript#permissionupdate) 항목의 배열입니다. `updatedPermissions`에서 하나를 다시 에코하여 적용합니다. `localSettings` 대상이 있는 제안은 규칙을 `.claude/settings.local.json`에 작성하므로 향후 세션에서 일치하는 호출에 대한 프롬프트를 건너뜁니다.297 사용자가 승인하고 이런 종류의 호출에 대해 다시 묻지 않기를 원합니다. 세 번째 콜백 인수는 `suggestions`을 포함하며, 이는 준비된 [`PermissionUpdate`](/docs/ko/agent-sdk/typescript#permissionupdate) 항목의 배열입니다. `updatedPermissions`에서 하나를 다시 에코하여 적용합니다. `localSettings` 대상이 있는 제안은 규칙을 `.claude/settings.local.json`에 작성하므로 향후 세션에서 일치하는 호출에 대한 프롬프트를 건너뜁니다.

298 298 

299 TypeScript에서는 옵션이 [`suppressAlwaysAllowRule: true`](/docs/ko/agent-sdk/typescript#canusetool)를 포함하는 요청에 대해 항상 허용 선택을 건너뜁니다. 힌트는 Agent SDK v0.3.268 이상이 필요하며, Python `context`는 이를 포함하지 않습니다.

300 

299 Python 예제는 `claude-agent-sdk` 0.1.80 이상이 필요합니다.301 Python 예제는 `claude-agent-sdk` 0.1.80 이상이 필요합니다.

300 302 

301 <CodeGroup>303 <CodeGroup>

agent-teams.md +3 −1

Details

333 컨텍스트 및 통신333 컨텍스트 및 통신

334</h3>334</h3>

335 335 

336각 팀원은 자신의 컨텍스트 윈도우를 가집니다. 생성될 때, 팀원은 일반 세션과 동일한 프로젝트 컨텍스트를 로드합니다: CLAUDE.md, MCP 서버, skills. 또한 리더의 생성 프롬프트를 받습니다. 리더의 대화 기록은 전달되지 않습니다.336각 팀원은 자신의 컨텍스트 윈도우를 가집니다. 생성될 때, 팀원은 일반 세션과 동일한 프로젝트 컨텍스트를 로드합니다: CLAUDE.md, MCP 서버, skills. [`--setting-sources`](/docs/ko/cli-reference#cli-flags)로 리더를 시작하면, 팀원들은 동일한 제한된 소스 목록에서 로드합니다. v2.1.281 이전에는 [분할 창](#choose-a-display-mode) 팀원들이 모든 설정 소스를 로드했습니다.

337 

338팀원은 또한 리더의 생성 프롬프트를 받습니다. 리더의 대화 기록은 전달되지 않습니다.

337 339 

338**팀원들이 정보를 공유하는 방법:**340**팀원들이 정보를 공유하는 방법:**

339 341 

agent-view.md +159 −143

Details

260 260 

261`←`를 누르면 대화에 메시지가 없을 때도 세션의 행이 생성되므로 `→`는 여전히 이를 반환합니다.261`←`를 누르면 대화에 메시지가 없을 때도 세션의 행이 생성되므로 `→`는 여전히 이를 반환합니다.

262 262 

263`/config`에서 `leftArrowOpensAgents` 설정으로 이 단축키를 끌 수 있습니다.263`/config`에서 [`leftArrowOpensAgents`](/docs/ko/settings-reference#leftarrowopensagents) 설정으로 이 단축키를 끌 수 있습니다.

264 264 

265<h3 id="organize-the-list">265<h3 id="organize-the-list">

266 목록 구성266 목록 구성


346 에이전트 뷰에서346 에이전트 뷰에서

347</h3>347</h3>

348 348 

349에이전트 뷰 하단의 입력에 프롬프트를 입력하고 `Enter`를 눌러 새로운 백그라운드 세션을 시작합니다. 세션은 프롬프트에서 자동으로 이름이 지정됩니다. 나중에 `Ctrl+R`로 이름을 바꿀 수 있습니다.349에이전트 뷰 하단의 입력 필드에 프롬프트를 입력하고 `Enter`를 눌러 새로운 백그라운드 세션을 시작합니다. 세션은 프롬프트에서 자동으로 이름이 지정되며, 나중에 `Ctrl+R`로 이름을 바꿀 수 있습니다.

350 350 

351자동 이름은 [Haiku-class 모델](/docs/ko/model-config)로 작성된 짧은 레이블입니다. 세션이 나중에 받는 이름도 행에 나타나며, [생성된 제목](/docs/ko/sessions#name-your-sessions)을 포함합니다. 이는 해당 세션에서 [계획을 수락](/docs/ko/permission-modes#review-and-approve-a-plan)할 때 세션이 받는 제목입니다.351자동 이름은 [Haiku-class 모델](/docs/ko/model-config)에서 작성한 짧은 레이블입니다. 세션이 나중에 받는 이름도 해당 행에 표시되며, 여기에는 해당 세션에서 [플랜을 수락](/docs/ko/permission-modes#review-and-approve-a-plan)할 때 세션이 받는 [생성된 제목](/docs/ko/sessions#name-your-sessions)이 포함됩니다.

352 352 

353프롬프트에 이미지를 붙여넣어 작업에 스크린샷이나 다이어그램을 포함합니다.353이미지를 프롬프트에 붙여넣어 작업과 함께 스크린샷이나 다이어그램을 포함할 수 있습니다.

354 354 

355800자보다 길거나 3줄 이상인 붙여넣은 텍스트는 `[Pasted text #N]` 자리 표시자로 축소되어 입력이 한 줄로 유지됩니다. 디스패치할 때 전체 텍스트가 전송됩니다. 디스패치하기 전에 축소된 텍스트를 검토하거나 편집하려면 동일한 텍스트를 다시 붙여넣으면 자리 표시자가 입력으로 다시 확장됩니다.355800자를 초과하거나 3줄 이상인 붙여넣은 텍스트는 입력이 한 줄로 유지되도록 `[Pasted text #N]` 플레이스홀더로 축소됩니다. 전체 텍스트는 디스패치할 때 전송됩니다. 디스패치하기 전에 축소된 텍스트를 검토하거나 편집하려면 동일한 텍스트를 다시 붙여넣으면 플레이스홀더가 입력으로 다시 확장됩니다.

356 356 

357프롬프트의 일부를 접두사로 붙이거나 언급하여 세션이 시작되는 방식을 제어합니다:357프롬프트의 일부를 접두사로 붙이거나 언급하여 세션이 시작되는 방식을 제어합니다:

358 358 

359| 입력 | 효과 |359| 입력 | 효과 |

360| :- | :- |360| :- | :- |

361| `<agent-name> <prompt>` | 첫 번째 단어가 사용자 정의 [서브에이전트](/docs/ko/sub-agents) 이름과 일치하면 해당 서브에이전트가 프론트매터의 구성으로 세션의 주 에이전트로 실행됩니다 |361| `<agent-name> <prompt>` | 첫 번째 단어가 사용자 정의 [서브에이전트](/docs/ko/sub-agents) 이름과 일치하면, 해당 서브에이전트가 프론트매터의 구성으로 세션의 주 에이전트로 실행됩니다 |

362| `@<agent-name>` | 프롬프트의 어디든지 사용자 정의 서브에이전트를 언급하여 주 에이전트로 실행합니다 |362| `@<agent-name>` | 프롬프트의 어디든지 사용자 정의 서브에이전트를 언급하여 주 에이전트로 실행합니다 |

363| `@<repo>` | 저장소를 언급하여 세션을 거기서 실행합니다. 어떤 저장소가 나열되는지는 [특정 디렉토리로 디스패치](#dispatch-to-a-specific-directory)를 참조하십시오 |363| `@<repo>` | 저장소를 언급하여 해당 위치에서 세션을 실행합니다. 어떤 저장소가 나열되는지는 [특정 디렉토리로 디스패치](#dispatch-to-a-specific-directory)를 참조하세요 |

364| `/<command>` | [스킬](/docs/ko/skills) 및 [명령](/docs/ko/commands)을 프롬프트로 디스패치하도록 제안합니다 |364| `/<command>` | [스킬](/docs/ko/skills) 및 [명령어](/docs/ko/commands)를 제안하여 프롬프트로 디스패치합니다 |

365| `! <command>` | Claude 세션을 시작하는 대신 백그라운드 작업으로 셸 명령을 실행합니다. 작업은 연결하고, 감시하고, 분리할 수 있는 행으로 나타납니다 |365| `! <command>` | Claude 세션을 시작하는 대신 셸 명령어를 백그라운드 작업으로 실행합니다. 작업은 연결하고, 감시하고, 분리할 수 있는 행으로 나타납니다 |

366| `#<number>` 또는 풀 리퀘스트 또는 병합 리퀘스트 URL | 세션이 이미 해당 풀 리퀘스트 또는 병합 리퀘스트에서 작업 중이면 디스패치 대신 해당 행을 선택합니다 |366| `#<number>` 또는 풀 또는 병합 요청 URL | 세션이 이미 해당 풀 요청 또는 병합 요청에서 작업 중이면, Claude Code는 새 세션을 디스패치하는 대신 해당 행을 선택합니다 |

367 367 

368에이전트 뷰 자체에서만 실행되는 작은 명령 집합이 있습니다:368작은 명령어 집합은 디스패치하는 대신 에이전트 뷰 자체에서 실행됩니다:

369 369 

370* `/exit` 및 `/quit`는 에이전트 뷰를 닫습니다370* `/exit` 및 `/quit`는 에이전트 뷰를 닫습니다

371* `/logout`은 로그아웃합니다371* `/logout`은 로그아웃합니다

372* `/model`은 [디스패치 모델](#set-the-model)을 설정합니다372* `/model`은 [디스패치 모델](#set-the-model)을 설정합니다

373* `/login`은 세션에 연결하지 않고 다시 로그인할 수 있도록 로그인 대화 상자를 엽니다373* `/login`은 세션에 연결하지 않고 다시 로그인할 수 있도록 로그인 대화를 엽니다

374* 기본 `/resume` 또는 별칭 `/continue`는 저장소의 과거 세션 선택기를 열어 [하나를 백그라운드 세션으로 복구](#organize-the-list)합니다. Claude Code v2.1.212 이상이 필요합니다374* 단순 `/resume` 또는 그 별칭 `/continue`는 저장소의 과거 세션 선택기를 열어 [하나를 다시 가져옵니다](#organize-the-list) 백그라운드 세션으로. Claude Code v2.1.212 이상이 필요합니다

375 375 

376스킬, 사용자 정의 명령 및 `/init`과 같은 프롬프트 확장 기본 제공 명령은 새로운 백그라운드 세션으로 첫 번째 프롬프트로 전송됩니다. 다른 기본 제공 명령은 대신 `세션에 연결하여 실행` 힌트를 표시합니다. 입력한 모든 내용은 힌트 옆의 입력에 유지되므로 편집할 수 있습니다.376스킬, 사용자 정의 명령어, 그리고 `/init`과 같은 프롬프트 확장 기본 제공 명령어는 새로운 백그라운드 세션으로 첫 번째 프롬프트로 전송됩니다. 다른 기본 제공 명령어는 `attach to a session to run it` 힌트를 대신 표시합니다. 입력한 모든 것이 힌트 옆의 입력에 남아 있으므로 편집할 수 있습니다.

377 377 

378반복되는 작업을 [스킬](/docs/ko/skills)로 패키징하면 프롬프트를 다시 입력하지 않고 에이전트 뷰에서 동일한 워크플로우를 여러 번 시작할 수 있습니다.378반복되는 작업을 [스킬](/docs/ko/skills)로 패키징하면 프롬프트를 다시 입력하지 않고도 에이전트 뷰에서 동일한 워크플로우를 반복적으로 시작할 수 있습니다.

379 379 

380동일한 `@name`이 서브에이전트와 형제 저장소 모두와 일치하면 서브에이전트가 우선합니다. 첫 단어 일치도 적용되므로 서브에이전트 이름 중 하나로 시작하는 프롬프트는 해당 서브에이전트를 디스패치합니다. 명시적으로 하려면 `@` 형식을 사용하거나, 일치를 피하기 위해 다른 단어로 프롬프트를 시작합니다.380동일한 `@name`이 서브에이전트와 형제 저장소 모두와 일치하면 서브에이전트가 우선합니다. 단순 첫 단어 일치도 적용되므로, 서브에이전트 이름 중 하나로 시작하는 프롬프트는 단어를 일반 텍스트로 취급하는 대신 해당 서브에이전트를 디스패치합니다. 명시적으로 하려면 `@` 형식을 사용하거나, 일치를 피하려면 프롬프트를 다른 단어로 시작합니다.

381 381 

382<h4 id="dispatch-to-a-specific-directory">382<h4 id="dispatch-to-a-specific-directory">

383 특정 디렉토리로 디스패치383 특정 디렉토리로 디스패치


386새로운 세션은 에이전트 뷰를 연 디렉토리에서 실행됩니다. 다른 디렉토리를 대상으로 하려면 다음 중 하나를 사용합니다:386새로운 세션은 에이전트 뷰를 연 디렉토리에서 실행됩니다. 다른 디렉토리를 대상으로 하려면 다음 중 하나를 사용합니다:

387 387 

388* 해당 디렉토리에서 `claude agents`를 엽니다.388* 해당 디렉토리에서 `claude agents`를 엽니다.

389* 상위 디렉토리에서 `claude agents`를 열고 프롬프트에서 `@<repo>`로 하위 저장소를 언급합니다. `@`를 입력하면 이러한 대상이 나열됩니다:389* 상위 디렉토리에서 `claude agents`를 열고 프롬프트에서 `@<repo>`로 자식 저장소를 언급합니다. `@`를 입력하면 다음 대상이 나열됩니다:

390 390 

391 * 실행 디렉토리 아래 한 수준의 Git 저장소391 * 시작 디렉토리 아래 한 수준의 Git 저장소

392 * 실행한 저장소의 등록된 [git worktrees](/docs/ko/worktrees)로, 디렉토리 트리 내부에 있으며, 체크아웃된 브랜치로 레이블이 지정됩니다. Claude가 `.claude/worktrees/` 아래에 생성한 것들이 표시되며, 체크아웃된 브랜치로 레이블이 지정됩니다. `git worktree add ../feature`와 같이 저장소 외부에 추가된 Worktree는 나열되지 않습니다392 * 시작한 저장소의 등록된 [git 워크트리](/docs/ko/worktrees)로, 디렉토리 트리 내에 있는 것들(예: Claude가 `.claude/worktrees/` 아래에 생성한 것들)이며, 체크아웃된 브랜치로 레이블이 지정됩니다. `git worktree add ../feature`와 같이 저장소 외부에 추가된 워크트리는 나열되지 않습니다

393 * 이미 목록에 세션이 있는 모든 디렉토리393 * 이미 목록에 세션이 있는 모든 디렉토리

394 394 

395 이름에 공백이 포함된 디렉토리는 나열되지 않습니다.395 이름에 공백이 포함된 디렉토리는 나열되지 않습니다.

396* 셸에서 디렉토리로 `cd`하고 `claude --bg "<prompt>"`를 실행합니다.396* 셸에서 `cd`로 디렉토리로 이동하고 `claude --bg "<prompt>"`를 실행합니다.

397 397 

398에이전트 뷰가 디렉토리별로 그룹화되면 선택된 행의 디렉토리로 디스패치가 전송되므로 그룹을 선택하고 경로를 다시 입력하지 않고 디스패치할 수 있습니다.398에이전트 뷰가 디렉토리별로 그룹화되면, 디스패치는 선택한 행의 디렉토리로 프롬프트를 보내므로, 경로를 다시 입력하지 않고도 그룹을 선택하고 그 안으로 디스패치할 수 있습니다.

399 399 

400<h3 id="from-inside-a-session">400<h3 id="from-inside-a-session">

401 세션 내에서401 세션 내부에서

402</h3>402</h3>

403 403 

404두 명령이 작업을 현재 세션에서 백그라운드로 이동합니다: `/background`는 현재 대화를 백그라운드로 보내고 터미널을 해제하며, `/fork`는 복사본을 보내면서 현재 위치에서 계속 작업합니다.404두 명령어는 작업을 현재 세션에서 백그라운드로 이동합니다: `/background`는 현재 대화를 백그라운드로 보내고 터미널을 해제하며, `/fork`는 복사본을 보내면서 현재 위치에서 계속 작업합니다.

405 405 

406<h4 id="send-the-session-to-the-background">406<h4 id="send-the-session-to-the-background">

407 세션을 백그라운드로 보내기407 세션을 백그라운드로 보내기

408</h4>408</h4>

409 409 

410`/background` 또는 별칭 `/bg`를 실행하여 현재 대화를 백그라운드 세션으로 이동합니다. `/bg run the test suite and fix any failures`와 같은 프롬프트를 전달하여 먼저 하나의 추가 명령을 보냅니다. Claude가 응답 중일 때 `/bg`를 실행하면 응답이 백그라운드 세션에서 계속됩니다.410`/background` 또는 그 별칭 `/bg`를 실행하여 현재 대화를 백그라운드 세션으로 이동합니다. `/bg run the test suite and fix any failures`와 같은 프롬프트를 전달하여 먼저 하나의 추가 지시사항을 제공합니다. Claude가 `/bg`를 실행할 때 응답 중이면, 응답은 백그라운드 세션에서 계속됩니다.

411 411 

412백그라운드 작업이 실행 중인 세션(예: 서브에이전트, 백그라운드 셸 명령, 워크플로우 또는 [모니터](/docs/ko/tools-reference#monitor-tool))을 종료하면 즉시 종료되지 않고 `Background work is running` 대화 상자가 표시됩니다. `백그라운드로 이동하고 종료`를 선택하여 `/background`와 동일한 방식으로 세션을 백그라운드로 이동한 다음 셸로 돌아갑니다. 에이전트 뷰가 [꺼져](#turn-off-agent-view) 있을 때는 이 옵션이 표시되지 않습니다.412서브에이전트, 백그라운드 셸 명령어, 워크플로우, 또는 [모니터](/docs/ko/tools-reference#monitor-tool)와 같은 백그라운드 작업이 여전히 실행 중인 세션을 종료하면, 즉시 종료하는 대신 `Background work is running` 대화가 표시됩니다. 세션을 `/background`와 동일한 방식으로 백그라운드로 이동하고 셸로 돌아가려면 `Move to background and exit`를 선택합니다. 에이전트 뷰가 [꺼져 있으면](#turn-off-agent-view) 옵션이 표시되지 않습니다.

413 413 

414백그라운드 세션 목록에 이미 대화의 이름이 있는 경우 Claude Code는 새 행의 이름을 `my-session (2)`와 같이 번호를 매기고 기존 행의 이름은 그대로 둡니다. 새 행의 이름을 바꾸려면 에이전트 뷰에서 선택하고 `Ctrl+R`을 누릅니다.414목록의 백그라운드 세션이 이미 대화의 이름을 가지고 있으면, Claude Code는 새 행의 이름을 `my-session (2)`와 같이 번호를 매기고 기존 행의 이름은 그대로 둡니다. 새 행의 이름을 바꾸려면 에이전트 뷰에서 선택하고 `Ctrl+R`을 누릅니다.

415 415 

416<h4 id="copy-the-session-with-/fork">416<h4 id="copy-the-session-with-/fork">

417 /fork로 세션 복사417 /fork로 세션 복사

418</h4>418</h4>

419 419 

420`/fork`를 실행하여 현재 대화를 새로운 백그라운드 세션으로 복사하면서 원본은 계속 실행됩니다. 복사본은 그 시점까지의 대화의 모든 것으로 시작합니다. 아래 글머리 기호를 참조하여 복사본이 실행되는 위치를 확인하십시오. 또한 모델, 권한 모드, 노력 수준 및 세션 중에 추가한 모든 디렉토리 또는 "다시 묻지 않기" 권한 부여를 전달합니다. 복사본은 에이전트 뷰에서 자신의 행으로 나타납니다.420`/fork`를 실행하여 현재 대화를 새로운 백그라운드 세션으로 복사하면서 원본은 계속 실행됩니다. 복사본은 그 시점까지의 대화의 모든 것으로 시작합니다. 복사본이 실행되는 위치는 아래 글머리 기호를 참조하세요. 또한 모델, 권한 모드, 노력 수준, 그리고 세션 중에 추가한 모든 디렉토리 또는 "다시 묻지 않기" 권한 부여를 이월합니다. 복사본은 에이전트 뷰에서 자신의 행으로 나타납니다.

421 421 

422포크 후 두 대화는 독립적입니다: 복사본이 수행하는 작업은 자체적으로 원본 대화에 들어가지 않습니다. 다만 [교차 세션 메시징](/docs/ko/cross-session-messaging)이 활성화된 세션에서는 어느 세션의 Claude든 명시적으로 다른 세션에 메시지를 보낼 수 있습니다.422포크 후, 두 대화는 독립적입니다: 복사본이 하는 것은 자동으로 원본 대화에 들어가지 않습니다. 다만 [교차 세션 메시징](/docs/ko/cross-session-messaging)이 활성화된 세션에서는 어느 세션의 Claude든 명시적으로 다른 세션에 메시지를 보낼 수 있습니다.

423 423 

424세션 복사에는 Claude Code v2.1.212 이상이 필요합니다. v2.1.161부터 v2.1.211까지는 `/fork`가 대신 [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 시작하며, 이제 `/subtask`입니다. [에이전트 뷰가 꺼져](#turn-off-agent-view) 있을 때 `/fork`는 포크된 서브에이전트 동작을 유지하고 `/subtask`는 사용할 수 없습니다.424세션 복사에는 Claude Code v2.1.212 이상이 필요합니다. v2.1.161부터 v2.1.211까지는 `/fork`가 대신 [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 시작하며, 이제는 `/subtask`입니다. [에이전트 뷰가 꺼져 있으면](#turn-off-agent-view), `/fork`는 포크된 서브에이전트 동작을 유지하고 `/subtask`는 사용할 수 없습니다.

425 425 

426`/fork open a draft pull request with the work so far`와 같은 프롬프트를 전달하면 복사본이 즉시 작업을 시작합니다. 프롬프트가 없으면 복사본은 첫 번째 명령을 기다립니다: `claude agents`에서 해당 행을 선택하고 `Space`를 눌러 보내거나 `claude attach <id>`를 실행합니다. 선택된 행은 기다리는 동안 `space to send it a prompt`를 표시합니다.426`/fork open a draft pull request with the work so far`와 같은 프롬프트를 전달하면 복사본이 즉시 작업을 시작합니다. 프롬프트가 없으면 복사본은 첫 번째 지시사항을 기다립니다: `claude agents`에서 해당 행을 선택하고 `Space`를 눌러 하나를 보내거나, `claude attach <id>`를 실행합니다. 선택한 행은 기다리는 동안 `space to send it a prompt`를 표시합니다.

427 427 

428`/fork` 확인은 `session running`과 같은 복사본의 상태, 에이전트 뷰 행의 이름 및 `claude attach`용 세션 ID를 표시하는 한 줄입니다. 이름을 클릭하여 복사본으로 전환합니다: 이 세션은 백그라운드로 이동하며 `←`를 누르는 것과 동일하고, 에이전트 뷰는 복사본의 세션을 엽니다.428`/fork` 확인은 복사본의 상태(예: `session running`), 에이전트 뷰 행의 이름, 그리고 `claude attach`를 위한 세션 ID를 보여주는 한 줄입니다. 이름을 클릭하여 복사본으로 전환합니다: 이 세션은 백그라운드로 이동하며, `←`를 누르는 것과 동일하고, 에이전트 뷰는 복사본의 세션을 엽니다.

429 429 

430복사본이 [제자리에서 편집](#how-file-edits-are-isolated)하는 경우를 제외하고 Claude Code는 코드 변경을 수행하기 전에 자신의 worktree를 생성하도록 지시합니다. git 저장소 외부에서는 복사본이 훅으로 생성된 worktree에서 이동할 때만 지시를 받습니다. [`WorktreeCreate` 훅](/docs/ko/hooks#worktreecreate)이 없으면 복사본은 제자리에서 편집합니다. worktree에서 이동된 복사본은 또한 해당 worktree를 편집, 실행 명령 또는 입력하지 않도록 지시받으며, 격리 설정이 무엇이든 상관없습니다.430복사본이 [제자리에서 편집](#how-file-edits-are-isolated)하는 경우를 제외하고, Claude Code는 코드 변경을 하기 전에 자신의 워크트리를 생성하도록 지시합니다. git 저장소 외부에서는 훅으로 생성된 워크트리에서 이동한 복사본만 지시사항을 받습니다. [`WorktreeCreate` 훅](/docs/ko/hooks#worktreecreate)이 없으면 복사본은 제자리에서 편집합니다. 워크트리에서 이동한 복사본은 또한 격리 설정이 무엇이든 해당 워크트리를 편집, 명령어 실행, 또는 입력하지 않도록 지시받습니다.

431 431 

432복사본이 시작되는 위치는 현재 세션이 실행되는 위치에 따라 다릅니다:432복사본이 시작되는 위치는 현재 세션이 실행 중인 위치에 따라 다릅니다:

433 433 

434* 모든 디스패치된 세션과 마찬가지로 복사본은 [파일을 편집하기 전에 자신의 worktree로 이동](#how-file-edits-are-isolated)합니다. 이 경우 확인은 복사본이 실행되는 위치를 언급하지 않습니다.434* 디스패치된 모든 세션과 마찬가지로, 복사본은 [파일을 편집하기 전에 자신의 워크트리로 이동합니다](#how-file-edits-are-isolated). 이 경우 확인은 복사본이 실행되는 위치를 언급하지 않습니다.

435* 세션이 시작 후 연결된 [worktree](/docs/ko/worktrees)로 이동한 경우 복사본은 이동 전 세션이 있던 위치로 돌아가며, [제자리에서 편집](#how-file-edits-are-isolated)하지 않는 한 자신의 worktree에서 코드 변경을 수행합니다. worktree가 브랜치에 체크아웃되어 있으면 해당 지시는 또한 작업을 기반으로 하는 복사본에 당신의 브랜치를 기반으로 새 브랜치를 만들도록 지시합니다. 당신의 브랜치는 당신의 worktree에서 체크아웃된 상태로 유지되기 때문입니다. 확인은 `runs in the origin tree`로 끝납니다.435* 세션이 시작 후 연결된 [워크트리](/docs/ko/worktrees)로 이동했을 때, 복사본은 이동 전 세션이 있던 위치에서 시작하며, [제자리에서 편집](#how-file-edits-are-isolated)하지 않으면 자신의 코드 변경을 자신의 워크트리에서 수행합니다. 워크트리가 브랜치에 체크아웃되면, 해당 지시사항은 또한 작업이 사용자의 작업을 기반으로 하는 복사본에 사용자의 브랜치를 기반으로 새 브랜치를 만들도록 지시합니다. 사용자의 브랜치는 워크트리에서 체크아웃된 상태로 유지되기 때문입니다. 확인은 `runs in the origin tree`로 끝납니다.

436* 주 작업 트리가 있는 저장소의 연결된 worktree 내부에서 세션을 실행한 경우 복사본은 해당 주 작업 트리에서 시작하며, 동일한 worktree 규칙이지만 브랜치 지시는 없습니다. 확인은 여기서도 `runs in the origin tree`로 끝납니다.436* 주 워킹 트리가 있는 저장소의 연결된 [워크트리](/docs/ko/worktrees) 내부에서 세션을 시작했을 때, 복사본은 해당 주 워킹 트리에서 시작하며, 동일한 워크트리 자체 규칙이지만 브랜치 지시사항은 없습니다. 확인은 여기서도 `runs in the origin tree`로 끝납니다.

437* 베어 저장소 레이아웃의 worktree 내부에서 실행된 세션은 반환할 주 작업 트리가 없으므로 복사본은 그대로 유지되며 확인은 `edits this checkout`으로 끝납니다. worktree 격리가 [꺼져](#how-file-edits-are-isolated) 있는 연결된 worktree 내부가 아닌 세션에서도 동일한 메모가 나타나며, 복사본이 열려 있는 파일을 편집하기 때문입니다.437* 주 워킹 트리가 없는 베어 저장소 레이아웃의 워크트리 내부에서 시작한 세션은 돌아갈 주 워킹 트리가 없으므로, 복사본은 제자리에 남아 있으며, 확인은 `edits this checkout`으로 끝납니다. 워크트리 격리가 [꺼져 있으면](#how-file-edits-are-isolated) 연결된 워크트리 내부가 아닌 세션에서도 동일한 메모가 나타납니다. 복사본이 열려 있는 파일을 편집하기 때문입니다.

438 438 

439복사본이 상속하지 않을 실행 플래그로 시작된 세션(예: 대체된 시스템 프롬프트 또는 `--tools` 허용 목록)은 포크할 수 없습니다. Claude Code는 부분 복사본을 만드는 대신 그렇게 말합니다. 에이전트 뷰에서 디스패치된 세션은 정상적으로 포크됩니다: 복사본은 동일한 [에이전트 정의](/docs/ko/sub-agents) 및 추가 지시와 함께 실행됩니다.439복사본이 상속하지 않을 시작 플래그로 시작한 세션(예: 대체된 시스템 프롬프트 또는 `--tools` 허용 목록)은 포크할 수 없습니다. Claude Code는 부분 복사본을 만드는 대신 그렇게 말합니다. 에이전트 뷰에서 디스패치된 세션은 정상적으로 포크됩니다: 복사본은 세션이 온 것과 동일한 [에이전트 정의](/docs/ko/sub-agents) 및 추가된 지시사항으로 시작됩니다.

440 440 

441<h4 id="what-carries-over-when-you-background">441<h4 id="what-carries-over-when-you-background">

442 백그라운드로 이동할 때 전달되는 것442 백그라운드로 이동할 때 이월되는 것

443</h4>443</h4>

444 444 

445백그라운드로 이동하면 저장된 대화에서 재개되는 새로운 프로세스가 시작되며, 진행 중인 작업이 이동됩니다: 실행 중인 백그라운드 셸 명령, 백그라운드 서브에이전트, 동적 워크플로우, [`/loop`](/docs/ko/scheduled-tasks)로 생성한 예약된 작업 및 Claude의 [아티팩트 댓글에 대한 자동 회신](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)이 모두 백그라운드 세션으로 이동하고 계속 실행됩니다. 서브에이전트는 시작한 모든 것과 함께 이동하므로 모든 작업이 이동할 수 있을 때만 이동합니다. 진행 중인 작업을 이동하는 대신 중지하려면 [`CLAUDE_DISABLE_ADOPT=1`](/docs/ko/env-vars#variables) 환경 변수를 설정합니다. Claude Code는 백그라운드로 이동하기 전에 확인을 요청합니다.445백그라운드로 이동하면 저장된 대화에서 재개하는 새로운 프로세스가 시작되며, 진행 중인 작업이 이동합니다: 실행 중인 백그라운드 셸 명령어, 백그라운드된 서브에이전트, 동적 워크플로우, [`/loop`](/docs/ko/scheduled-tasks)로 생성한 예약된 작업, 그리고 Claude의 [아티팩트 댓글에 대한 자동 회신](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)이 모두 이월되고 계속 실행됩니다. 서브에이전트는 시작한 모든 것과 함께 이동하므로, 모든 작업이 이동할 수 있을 때만 이월됩니다. 진행 중인 작업을 이월하는 대신 중지하려면 [`CLAUDE_DISABLE_ADOPT=1`](/docs/ko/env-vars#variables) 환경 변수를 설정합니다. Claude Code는 백그라운드로 이동하기 전에 확인을 요청합니다.

446 446 

447[동적 워크플로우](/docs/ko/workflows)가 여전히 서브에이전트를 실행 중일 때 Claude Code는 `Background this session?` 대화 상자로 백그라운드로 이동하기 전에 묻습니다. 이는 몇 개의 서브에이전트가 다시 시작될 것인지 말합니다. `Stay`를 선택하여 먼저 완료되도록 합니다. 확인하면 Claude Code는 백그라운드 세션에서 실행을 재생합니다: 여전히 실행 중이던 서브에이전트는 처음부터 다시 시작되므로 지금까지 사용한 토큰이 다시 소비됩니다. [일시 중지 후 재개](/docs/ko/workflows#resume-after-a-pause)를 참조하여 완료된 서브에이전트가 저장된 결과를 반환하는지 또는 다시 실행되는지 확인하십시오.447[동적 워크플로우](/docs/ko/workflows)가 여전히 실행 중인 서브에이전트를 가지고 있을 때, Claude Code는 `Background this session?` 대화로 백그라운드로 이동하기 전에 요청하며, 몇 개의 서브에이전트가 재시작될 것인지 말합니다. 먼저 완료되도록 하려면 `Stay`를 선택합니다. 확인하면, Claude Code는 백그라운드 세션에서 실행을 재생합니다: 여전히 실행 중이던 서브에이전트는 처음부터 다시 시작되므로, 지금까지 사용한 토큰이 다시 소비됩니다. 어떤 완료된 서브에이전트가 저장된 결과를 반환하고 어떤 것이 다시 실행되는지는 [일시 중지 후 재개](/docs/ko/workflows#resume-after-a-pause)를 참조하세요.

448 448 

449Claude Code는 실행 중인 [모니터](/docs/ko/tools-reference#monitor-tool)와 같이 이동할 수 없는 작업을 중지하고, 모니터를 소유한 백그라운드 서브에이전트를 함께 중지합니다. 이러한 작업이 실행 중일 때 Claude Code는 `Background this session?` 대화 상자를 표시하므로 중지되기 전에 확인할 수 있습니다.449Claude Code는 실행 중인 [모니터](/docs/ko/tools-reference#monitor-tool)와 같이 이월할 수 없는 작업을 중지하고, 모니터를 소유한 백그라운드된 서브에이전트를 함께 중지합니다. 이러한 작업이 실행 중이면, Claude Code는 `Background this session?` 대화를 표시하여 작업을 중지하기 전에 확인할 수 있습니다.

450 450 

451백그라운드에 있으면 세션은 새로운 서브에이전트, 모니터 및 백그라운드 명령을 시작할 수 있으며, 이들은 나중의 분리 및 재연결 전체에서 계속 실행됩니다.451백그라운드에 있으면, 세션은 새로운 서브에이전트, 모니터, 백그라운드 명령어를 시작할 수 있으며, 이들은 나중의 분리 및 재연결 전반에 걸쳐 계속 실행됩니다.

452 452 

453원본 실행의 구성 플래그는 백그라운드로 이동된 세션으로 전달되므로 MCP 서버, 설정 및 폴백 모델이 계속 적용됩니다:453원본 시작의 구성 플래그는 백그라운드된 세션으로 전달되므로, 해당 MCP 서버, 설정, 그리고 폴백 모델이 계속 적용됩니다:

454 454 

455* `--mcp-config` 및 `--strict-mcp-config`455* `--mcp-config` 및 `--strict-mcp-config`

456* `--settings`456* `--settings`

457* `--setting-sources`

457* `--add-dir`458* `--add-dir`

458* `--plugin-dir`459* `--plugin-dir`

459* `--fallback-model`460* `--fallback-model`

460* `--allow-dangerously-skip-permissions`461* `--allow-dangerously-skip-permissions`

461 462 

462[`/add-dir`](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)로 세션 중에 추가한 디렉토리도 전달됩니다. `--allow-dangerously-skip-permissions`를 전달하면 백그라운드 세션에서 `bypassPermissions`에 도달할 수 있지만 새로운 것을 부여하지는 않습니다. 이 모드는 여전히 [권한 모드, 모델 및 노력](#permission-mode-model-and-effort)에 설명된 동일한 일회성 대화형 수락이 필요합니다.463세션 중에 [`/add-dir`](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)로 추가한 디렉토리도 이월됩니다. `--allow-dangerously-skip-permissions`를 이월하면 백그라운드된 세션에서 `bypassPermissions`에 도달할 수 있지만, 새로운 것을 부여하지는 않습니다: 모드는 여전히 [권한 모드, 모델, 및 노력](#permission-mode-model-and-effort)에 설명된 일회성 대화형 수락이 필요합니다.

463 464 

464<h3 id="from-your-shell">465<h3 id="from-your-shell">

465 셸에서466 셸에서

466</h3>467</h3>

467 468 

468`--bg` 또는 긴 형식 `--background`를 전달하여 백그라운드로 직접 이동하는 세션을 시작합니다:469`--bg` 또는 그 긴 형식 `--background`를 전달하여 백그라운드로 바로 가는 세션을 시작합니다:

469 470 

470```bash theme={null}471```bash theme={null}

471claude --bg "investigate the flaky SettingsChangeDetector test"472claude --bg "investigate the flaky SettingsChangeDetector test"

472```473```

473 474 

474프롬프트는 위치 인수이며 `-p` 값이 아닙니다. Claude Code는 세션이 생성되기 전에 `--bg`를 `-p` 또는 `--print`와 결합하면 거부합니다. `--print`는 `claude agents`가 연결하는 대화형 세션을 시작하지 않기 때문입니다.475프롬프트는 `-p` 값이 아닌 위치 인수입니다. Claude Code는 세션이 생성되기 전에 `-p` 또는 `--print`와 결합된 `--bg`를 거부합니다. `--print`는 `claude agents`가 연결하는 대화형 세션을 시작하지 않기 때문입니다.

475 476 

476특정 [서브에이전트](/docs/ko/sub-agents)(예: `code-reviewer`)를 세션의 주 에이전트로 실행하려면 `--bg`를 `--agent`와 결합합니다:477[신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)하지 않은 디렉토리의 터미널에서 `claude --bg`를 실행하면, 워크스페이스 신뢰 대화가 먼저 나타나고 수락하면 세션이 시작됩니다. 거부하면, Claude Code는 세션을 시작하지 않고 종료합니다. 스크립트와 같이 대화가 나타날 수 없는 곳에서는 명령어가 [`Workspace not trusted`](/docs/ko/errors#workspace-not-trusted-when-dispatching-a-background-session) 오류로 종료됩니다.

478 

479`code-reviewer`와 같이 정의한 특정 [서브에이전트](/docs/ko/sub-agents)를 세션의 주 에이전트로 실행하려면, `--bg`를 `--agent`와 결합합니다:

477 480 

478```bash theme={null}481```bash theme={null}

479claude --agent code-reviewer --bg "address review comments on PR 1234"482claude --agent code-reviewer --bg "address review comments on PR 1234"

480```483```

481 484 

482이름이 서브에이전트와 일치하지 않으면 실행이 실패합니다: Claude Code는 `no agent named` 경고를 인쇄하고 여전히 세션을 백그라운드로 보고하지만 세션은 `--agent '<name>' not found` 오류로 즉시 종료됩니다.485이름이 서브에이전트와 일치하지 않으면, 시작이 실패합니다: Claude Code는 `no agent named` 경고를 인쇄하고 여전히 세션을 백그라운드로 보고하지만, 세션은 `--agent '<name>' not found` 오류로 즉시 종료됩니다.

483 486 

484백그라운드 세션이 나중에 재개되거나 다시 시작되면 Claude Code는 에이전트의 도구 제한을 복원합니다. 시스템 프롬프트에 대해서는 [재개된 대화의 시스템 프롬프트 플래그](/docs/ko/cli-reference#system-prompt-flags-in-resumed-conversations)를 참조하십시오. [해당 작업 공간을 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)한 경우 세션의 자신의 디렉토리에서 에이전트를 먼저 검색하므로 프로젝트 범위 에이전트는 다른 디렉토리에서 세션을 재개할 때도 로드됩니다. 에이전트가 더 이상 존재하지 않으면 세션은 기본 도구로 계속되며 해당 기록은 [에이전트 이름을 지정하는 경고](/docs/ko/errors#session-agent-no-longer-available)와 함께 열립니다.487백그라운드된 세션이 나중에 재개되거나 재시작될 때, Claude Code는 에이전트 및 해당 도구 제한을 복원합니다. 시스템 프롬프트는 [재개된 대화의 시스템 프롬프트 플래그](/docs/ko/cli-reference#system-prompt-flags-in-resumed-conversations)를 참조하세요. 세션의 자신의 디렉토리에서 에이전트를 먼저 검색합니다. [해당 워크스페이스를 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)했다면, 프로젝트 범위 에이전트는 다른 디렉토리에서 세션이 재개될 때도 로드됩니다. 에이전트가 더 이상 존재하지 않으면, 세션은 기본 도구로 계속되고 해당 트랜스크립트는 [에이전트 이름을 지정하는 경고](/docs/ko/errors#session-agent-no-longer-available)와 함께 열립니다.

485 488 

486기존 대화를 백그라운드에서 계속하려면 `--resume`으로 전체 세션 ID를 전달합니다:489기존 대화를 백그라운드에서 계속하려면, `--resume`으로 전체 세션 ID를 전달합니다:

487 490 

488```bash theme={null}491```bash theme={null}

489claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"492claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"

490```493```

491 494 

492Claude Code v2.1.257 이상에서 Claude Code는 동일한 ID로 해당 세션을 계속하거나 새 ID로 복사본을 시작하고 이동할 수 없는 이유를 설명하는 `note:` 줄을 인쇄합니다. 세션이 제자리에서 계속되면 `claude agents`는 이에 대해 하나의 행을 표시합니다.495Claude Code v2.1.257 이상에서, Claude Code는 동일한 ID로 해당 세션을 계속하거나, 새로운 ID로 복사본을 시작하고 제자리에서 계속할 수 없는 이유를 설명하는 `note:` 줄을 인쇄합니다. 세션이 제자리에서 계속되면, `claude agents`는 해당 행 하나를 표시합니다.

493 496 

494`--bg`를 `--continue`, 기본 `--resume` 또는 이름 또는 파일 경로가 있는 `--resume`과 결합하면 Claude Code는 항상 이러한 복사본을 시작합니다. 목적상 복사본을 시작하려면 `--fork-session`을 추가하십시오. 참고 없이.497`--bg`를 `--continue`, 단순 `--resume`, 또는 이름이나 파일 경로가 있는 `--resume`과 결합하면, Claude Code는 항상 이러한 복사본을 시작합니다. 메모 없이 의도적으로 복사본을 시작하려면 `--fork-session`을 추가합니다.

495 498 

496`--name`을 전달하여 자동 생성된 이름 대신 에이전트 뷰에서 세션의 표시 이름을 설정합니다:499`--name`을 전달하여 자동 생성된 이름 대신 에이전트 뷰에서 세션의 표시 이름을 설정합니다:

497 500 


499claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"502claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

500```503```

501 504 

502백그라운드로 보낸 후 Claude는 세션의 짧은 ID와 관리 명령을 인쇄합니다. 백그라운드 세션을 호스팅하는 서비스가 아직 실행 중이 아닐 때 `--bg`는 이 출력 위에 `Starting background service…`를 먼저 인쇄할 수 있습니다. `--name`을 전달하면 짧은 ID 뒤에 이름이 나타납니다:505백그라운드로 이동한 후, Claude는 세션의 짧은 ID와 관리 명령어를 인쇄합니다. 백그라운드 세션을 호스팅하는 서비스가 아직 실행 중이 아니면, `--bg`는 먼저 이 출력 위에 `Starting background service…`를 인쇄할 수 있습니다. `--name`을 전달하면, 이름이 짧은 ID 뒤에 나타납니다:

503 506 

504```text theme={null}507```text theme={null}

505backgrounded · 7c5dcf5d · flaky-test-fix508backgrounded · 7c5dcf5d · flaky-test-fix


510```513```

511 514 

512<h4 id="run-a-shell-command">515<h4 id="run-a-shell-command">

513 셸 명령 실행516 셸 명령어 실행

514</h4>517</h4>

515 518 

516셸 명령을 Claude 세션 대신 백그라운드 작업으로 실행하려면 `--exec`를 전달합니다. 다음 예제는 `pytest -x`를 백그라운드 작업으로 실행합니다:519Claude 세션 대신 셸 명령어를 백그라운드 작업으로 실행하려면, `--exec`을 전달합니다. 다음 예제는 `pytest -x`를 백그라운드 작업으로 실행합니다:

517 520 

518```bash theme={null}521```bash theme={null}

519claude --bg --exec 'pytest -x'522claude --bg --exec 'pytest -x'

520```523```

521 524 

522에이전트 뷰에서 디스패치 입력의 첫 번째 문자로 `!`를 입력하여 동일한 종류의 작업을 디스패치합니다: `!`는 접두사로 표시되며 그 뒤에 입력하는 모든 것이 명령입니다. `Enter`를 눌러 작업을 시작합니다.525에이전트 뷰에서, 디스패치 입력의 첫 번째 문자로 `!`를 입력하여 동일한 종류의 작업을 디스패치합니다: `!`는 접두사로 표시되고, 그 뒤의 모든 것이 명령어이며, `Enter`가 작업을 시작합니다.

523 526 

524명령은 PTY 기반 작업으로 실행되며 에이전트 뷰에 행으로 나타나며, 가장 최근의 출력 라인이 상태입니다. 셸 작업은 Claude 대신 명령을 실행하므로 모델이 호출되지 않으며 출력이 세션으로 전송되지 않습니다.527명령어는 PTY 지원 작업으로 실행되고 에이전트 뷰에 행으로 나타나며, 가장 최근 출력 줄이 상태입니다. 셸 작업은 Claude 대신 명령어를 실행하므로, 모델이 호출되지 않고 출력이 어떤 세션으로도 전송되지 않습니다.

525 528 

526출력을 보려면 행에 연결하고, `Space`를 눌러 연결하지 않고 엿보거나, 셸에서 `claude logs <id>`를 실행합니다. 캡처된 출력은 메모리에 유지되며 디스크에 기록되지 않습니다. 행과 출력은 명령이 종료된 후 약 5분 후에 자동으로 정리되므로 결과가 필요하면 그 전에 읽습니다.529출력을 보려면, 행에 연결하고, `Space`를 눌러 연결하지 않고 미리 보거나, 셸에서 `claude logs <id>`를 실행합니다. 캡처된 출력은 메모리에 유지되고 디스크에 기록되지 않습니다. 행과 해당 출력은 명령어가 종료된 후 약 5분 후에 자동으로 정리되므로, 결과가 필요하면 그 전에 읽으세요.

527 530 

528<h3 id="how-file-edits-are-isolated">531<h3 id="how-file-edits-are-isolated">

529 파일 편집이 격리되는 방식532 파일 편집이 격리되는 방식

530</h3>533</h3>

531 534 

532모든 백그라운드 세션(에이전트 뷰, `/bg` 또는 `claude --bg`에서 시작된)은 작업 디렉토리에서 시작됩니다. 파일을 편집하기 전에 Claude는 세션을 `.claude/worktrees/` 아래의 격리된 [git worktree](/docs/ko/worktrees)로 이동하므로 병렬 세션은 동일한 체크아웃을 읽을 수 있지만 각각은 자신의 것에 씁니다. 세션이 worktree에 있으면 Claude Code는 [worktree 격리를 적용](/docs/ko/worktrees#how-claude-code-enforces-isolation)합니다. 세션 및 생성하는 모든 서브에이전트에 대해.535에이전트 뷰, `/bg`, 또는 `claude --bg`에서 시작한 모든 백그라운드 세션은 워킹 디렉토리에서 시작합니다. 파일을 편집하기 전에, Claude는 세션을 `.claude/worktrees/` 아래의 격리된 [git 워크트리](/docs/ko/worktrees)로 이동하므로, 병렬 세션은 동일한 체크아웃을 읽을 수 있지만 각각은 자신의 것에 씁니다. 세션이 워크트리에 있으면, Claude Code는 [워크트리 격리를 적용합니다](/docs/ko/worktrees#how-claude-code-enforces-isolation) 세션 및 생성하는 모든 서브에이전트에 대해.

533 536 

534Claude는 다음의 경우 worktree를 건너뜁니다:537Claude는 다음의 경우 워크트리를 건너뜁니다:

535 538 

536* 세션이 이미 연결된 git worktree 내부에 있으며, Claude가 `.claude/worktrees/` 아래에 생성했거나 다른 곳에서 `git worktree add`로 생성했는지 여부539* 세션이 이미 연결된 git 워크트리 내부에 있으며, Claude가 `.claude/worktrees/` 아래에 생성했거나 `git worktree add`로 다른 곳에 생성했는지 여부

537* Claude가 편집하는 파일이 연결된 git worktree 내부에 있으며, 예를 들어 세션 또는 서브에이전트가 `git worktree add`로 생성한 것540* Claude가 편집하는 파일이 연결된 git 워크트리 내부에 있으며, 예를 들어 세션이나 서브에이전트가 `git worktree add`로 생성한 것

538* 작업 디렉토리가 git 저장소가 아니고 [`WorktreeCreate` 훅](/docs/ko/hooks#worktreecreate)이 구성되지 않음541* 워킹 디렉토리가 git 저장소가 아니고 [`WorktreeCreate` 훅](/docs/ko/hooks#worktreecreate)이 구성되지 않음

539* 쓰기가 작업 디렉토리 외부542* 쓰기가 워킹 디렉토리 외부

540 543 

541git worktree가 비실용적인 저장소에 대해 worktree 격리를 끄려면 [`worktree.bgIsolation`](/docs/ko/settings-reference#worktree-bgisolation)을 `"none"`으로 설정합니다. 백그라운드 세션은 먼저 worktree로 이동하지 않고 작업 복사본을 직접 편집합니다. 프로젝트의 `.claude/settings.json`에 설정을 추가합니다:544git 워크트리가 비실용적인 저장소에 대해 워크트리 격리를 끄려면, [`worktree.bgIsolation`](/docs/ko/settings-reference#worktree-bgisolation)을 `"none"`으로 설정합니다. 백그라운드 세션은 먼저 워크트리로 이동하지 않고 워킹 복사본을 직접 편집합니다. 프로젝트의 `.claude/settings.json`에 설정을 추가합니다:

542 545 

543```json theme={null}546```json theme={null}

544{547{


548}551}

549```552```

550 553 

551git 저장소 외부에서 세션은 작업 디렉토리에 직접 쓰며 서로 격리되지 않으므로 동일한 파일을 편집하는 병렬 세션을 디스패치하지 않도록 합니다. 다른 버전 제어 시스템을 사용하는 경우 [`WorktreeCreate` 훅](/docs/ko/worktrees#non-git-version-control)을 구성하면 Claude는 git에 대해 수행하는 것과 동일한 방식으로 편집을 격리합니다.554git 저장소 외부에서, 세션은 워킹 디렉토리에 직접 쓰고 서로 격리되지 않으므로, 동일한 파일을 편집하는 병렬 세션을 디스패치하지 않도록 합니다. 다른 버전 제어 시스템을 사용하면, [`WorktreeCreate` 훅](/docs/ko/worktrees#non-git-version-control)을 구성하고 Claude는 git과 동일한 방식으로 편집을 격리합니다.

552 555 

553훅이 git 저장소가 아닌 디렉토리에서 실패하면 Claude는 해당 디렉토리에 대한 격리를 건너뛰고 작업 디렉토리를 제자리에서 편집합니다. git 저장소 내부에서 Claude Code는 Claude가 세션을 worktree로 이동할 때까지 공유 체크아웃에 대한 쓰기를 차단합니다.556git 저장소가 아닌 디렉토리에서 훅이 실패하면, Claude는 해당 디렉토리에 대한 격리를 건너뛰고 워킹 디렉토리를 제자리에서 편집합니다. git 저장소 내부에서, Claude Code는 Claude가 세션을 워크트리로 이동할 때까지 공유 체크아웃에 대한 쓰기를 차단합니다.

554 557 

555세션의 worktree 경로를 찾으려면 세션을 엿보거나 연결하고 작업 디렉토리를 확인합니다.558세션의 워크트리 경로를 찾으려면, 세션을 미리 보거나 연결하고 워킹 디렉토리를 확인합니다.

556 559 

557백그라운드 세션이 생성하는 [서브에이전트](/docs/ko/sub-agents)는 세션의 작업 디렉토리를 상속하므로 파일 편집은 세션의 worktree에 저장됩니다. 서브에이전트에 자신의 별도 worktree를 제공하려면 프론트매터에서 [`isolation: worktree`](/docs/ko/sub-agents#supported-frontmatter-fields)를 설정하거나 생성할 때 `isolation: "worktree"`를 전달합니다.560백그라운드 세션이 생성하는 [서브에이전트](/docs/ko/sub-agents)는 세션의 워킹 디렉토리를 상속하므로, 해당 파일 편집은 워킹 복사본이 아닌 세션의 워크트리에 도달합니다. 서브에이전트에 별도의 워크트리를 제공하려면, 프론트매터에서 [`isolation: worktree`](/docs/ko/sub-agents#supported-frontmatter-fields)를 설정하거나 생성할 때 `isolation: "worktree"`를 전달합니다.

558 561 

559백그라운드 세션이 Claude가 입력한 worktree에서 코드 변경을 수행한 경우 Claude Code는 완료하기 전에 작업을 보존하도록 Claude에 지시하므로 세션 및 worktree를 삭제해도 생존합니다:562백그라운드 세션이 Claude가 입력한 워크트리에서 코드 변경을 했을 때, Claude Code는 Claude에게 완료하기 전에 작업을 보존하도록 지시하므로, 세션 및 워크트리를 삭제해도 생존합니다:

560 563 

561* **커밋 및 푸시**: Claude는 묻지 않고 커밋하며, 저장소에 원격이 있을 때 브랜치를 푸시합니다.564* **커밋 및 푸시**: Claude는 묻지 않고 커밋하며, 저장소에 원격이 있을 때 브랜치를 푸시합니다.

562* **초안 풀 리퀘스트**: Claude는 작업이 필요할 때 열며, [`#N` 레이블](#pull-request-status)이 행에 나타납니다.565* **초안 풀 요청**: Claude는 작업이 요구할 때 열며, [`#N` 레이블](#pull-request-status)이 행에 나타납니다.

563* **절대 안 됨**: `main` 또는 `master`로 푸시, 강제 푸시 및 병합.566* **절대 안 함**: `main` 또는 `master`로 푸시, 강제 푸시, 병합.

564* **당신의 git 지시가 우선합니다**: 작업, `CLAUDE.md` 또는 [메모리](/docs/ko/memory)가 당신이 직접 커밋 또는 푸시를 처리한다고 말하면 Claude는 git을 당신에게 맡깁니다.567* **사용자의 git 지시사항이 우선합니다**: 작업, `CLAUDE.md`, 또는 [메모리](/docs/ko/memory)가 커밋 또는 푸시를 직접 처리한다고 말하면, Claude는 git을 사용자에게 맡깁니다.

565 568 

566격리하지 않은 체크아웃을 편집하는 세션은 여전히 커밋하거나 브랜치를 전환하기 전에 묻습니다. 이는 격리가 `"none"`으로 설정되었을 때, worktree 이동이 실패했을 때 또는 세션이 이미 존재하는 worktree 내부에서 시작되었을 때 적용됩니다.569자신을 격리하지 않은 체크아웃을 편집하는 세션은 여전히 커밋 또는 브랜치 전환 전에 요청합니다. 이는 격리가 `"none"`으로 설정되었을 때, 워크트리 이동이 실패했을 때, 또는 세션이 이미 존재하는 워크트리 내부에서 시작했을 때 적용됩니다.

567 570 

568작업이 무엇이든 Claude는 작업을 완료하고 수행한 작업과 작업이 있는 위치를 말하는 보고서로 작업을 종료합니다: 경로, 브랜치, 풀 리퀘스트 또는 답변 자체.571작업이 무엇이든, Claude는 작업을 수행한 것과 작업이 있는 위치를 말하는 보고서로 작업을 끝냅니다: 경로, 브랜치, 풀 요청, 또는 답변 자체.

569 572 

570<h4 id="what-deleting-a-session-removes">573<h4 id="what-deleting-a-session-removes">

571 세션 삭제 시 제거되는 것574 세션 삭제가 제거하는 것

572</h4>575</h4>

573 576 

574[에이전트 뷰](#organize-the-list)에서 `Ctrl+X` 두 번으로 세션을 삭제하거나 [`claude rm`](#manage-sessions-from-the-shell)으로 삭제합니다. 아래의 유지된 경우를 제외하고 세션은 목록을 떠납니다. 해당 기록은 `claude --resume`을 통해 머신에 유지되며 감독자 재시작이 제거를 유지합니다.577[에이전트 뷰](#organize-the-list)에서 `Ctrl+X`를 두 번 누르거나 [`claude rm`](#manage-sessions-from-the-shell)으로 세션을 삭제합니다. 아래의 유지된 경우를 제외하고, 세션은 목록을 떠납니다. 해당 트랜스크립트는 `claude --resume`을 통해 머신에 남아 있으며, 제거는 감독자 재시작을 견딥니다.

578 

579Claude가 세션을 위해 생성한 워크트리에 어떤 일이 일어나는지:

580 

581* 에이전트 뷰는 커밋되지 않은 변경 사항을 포함하여 제거하므로, 유지하려는 것을 먼저 커밋합니다.

582* `claude rm`은 커밋되지 않은 변경 사항이 있을 때 워크트리와 함께 세션 행을 유지합니다.

583* 에이전트 뷰와 `claude rm` 모두 다른 실행 중인 세션이 사용 중이거나 잠금한 워크트리를 제거하지 않으며, 다시 삭제해도 변경되지 않습니다. Claude Code는 워크트리와 세션을 유지하고, 유지된 디렉토리와 이유의 이름을 지정합니다. 에이전트 뷰에서 세션의 행은 `not deleted`를 표시합니다. 다른 세션을 닫은 다음 다시 삭제합니다.

584* 워크트리에 Claude Code가 다른 곳에 저장되었는지 확인할 수 없는 커밋이 있는 세션을 삭제할 때, Claude Code는 워크트리와 세션을 유지하고, 메시지는 워크트리의 브랜치와 푸시되지 않은 커밋 수의 이름을 지정합니다. 메시지는 또한 두 가지 방법을 제공합니다: 커밋을 푸시하거나, 다시 삭제하여 버립니다.

585 

586 원격의 커밋은 삭제를 차단하지 않습니다. 로컬 복사본의 `origin` 원격의 기본 브랜치의 커밋도 마찬가지입니다. 해당 브랜치가 메인 체크아웃(저장소 디렉토리 자체가 아닌 워크트리)에 체크아웃되어 있으면.

575 587 

576Claude가 세션에 대해 생성한 worktree에 어떤 일이 발생하는지:588 그 거부 후, 다음을 선택합니다:

577 589 

578* 에이전트 뷰는 커밋되지 않은 변경 사항을 포함하여 제거하므로 유지하려는 변경 사항을 먼저 커밋합니다.590 * 커밋을 유지하려면, 푸시하거나 해당 기본 브랜치에 병합한 다음 세션을 다시 삭제합니다.

579* `claude rm`은 커밋되지 않은 변경 사항이 있을 때 worktree를 유지하고 세션 행과 함께 유지합니다.591 * 버리려면, 푸시하지 않고 다시 삭제합니다: 에이전트 뷰의 행에서 `Ctrl+X`를 두 번 누르거나, 거부가 인쇄한 `claude rm <id> --discard-unpushed` 명령어를 실행합니다. 이는 세션과 워크트리를 제거하고 푸시되지 않은 커밋과 커밋되지 않은 변경 사항을 버립니다.

580* 에이전트 뷰와 `claude rm` 모두 다른 실행 중인 세션이 사용 중이거나 잠금한 worktree를 제거하지 않으며, 다시 삭제해도 변경되지 않습니다. Claude Code는 worktree 및 세션을 유지하고 유지된 디렉토리와 이유의 이름을 지정합니다. 에이전트 뷰에서 세션의 행은 `not deleted`를 표시합니다. 다른 세션을 닫은 다음 다시 삭제합니다.

581* 세션을 삭제할 때 worktree에 Claude Code가 다른 곳에 저장되었는지 확인할 수 없는 커밋이 있으면 Claude Code는 worktree 및 세션을 유지하고 메시지는 worktree의 브랜치와 푸시되지 않은 커밋 수를 지정합니다. 메시지는 또한 두 가지 방법을 제공합니다: 커밋을 푸시하거나 다시 삭제하여 버립니다.

582 592 

583 원격의 커밋은 삭제를 차단하지 않습니다. 로컬 복사본의 `origin` 원격의 기본 브랜치에 있는 커밋도 마찬가지입니다. 해당 브랜치가 주 체크아웃(저장소 디렉토리 자체가 아닌 worktree)에서 체크아웃되어 있는 한.593 다시 삭제할 때, Claude Code는 거부가 표시한 것만 버립니다: 워크트리가 그 이후로 커밋을 얻었으면, Claude Code는 다시 유지하고 업데이트된 상태를 표시합니다.

584 594 

585 그 거부 후 당신은 선택합니다:595 다른 완료된 세션의 기록이 워크트리의 이름을 지정할 때도, 다시 삭제할 때 유지됩니다. 커밋을 푸시한 다음 다시 삭제합니다.

596* git이 더 이상 인식하지 않는 워크트리(예: `git worktree prune` 후)는 삭제를 차단하지 않습니다. Claude Code는 세션을 삭제하고 디렉토리를 디스크에 남깁니다.

597* git이나 [`WorktreeRemove` 훅](/docs/ko/hooks#worktreeremove)이 워크트리를 제거하지 못할 때, Claude Code는 워크트리와 세션을 유지하고, 메시지는 원인의 이름을 지정합니다. 훅의 경우, 메시지는 `exited 1`과 같이 어떻게 끝났는지 말하고 stderr의 시작을 인용합니다. 메시지는 또한 다음 중 어느 것을 다음에 할지 알려줍니다:

586 598 

587 * 커밋을 유지하려면 푸시하거나 해당 기본 브랜치에 병합한 다음 세션을 다시 삭제합니다.599 * 세션을 다시 삭제하여 어쨌든 디렉토리를 제거합니다. 에이전트 뷰의 행에서 `Ctrl+X`를 두 번 누르거나, 거부가 인쇄한 `claude rm <id> --force-remove-worktree <worktree-id>` 명령어를 실행합니다. 워크트리의 브랜치는 저장소에 남아 있습니다.

588 * 버리려면 푸시하지 않고 다시 삭제합니다: 에이전트 뷰의 행에서 `Ctrl+X` 두 번을 누르거나 거부가 인쇄한 `claude rm <id> --discard-unpushed` 명령을 실행합니다. 이는 세션 및 worktree를 제거하고 브랜치와 함께 푸시되지 않은 커밋 및 커밋되지 않은 변경 사항을 버립니다.

589 600 

590 다시 삭제할 때 Claude Code는 거부가 표시한 것만 버립니다: worktree가 이후 커밋을 얻었으면 Claude Code는 다시 유지하고 업데이트된 상태를 표시합니다.601 Claude Code는 다음을 모두 확인할 수 있을 때만 이를 제공합니다:

591 602 

592 다른 완료된 세션의 기록이 worktree의 이름을 지정할 때도 다시 삭제할 때 유지됩니다. 커밋을 푸시한 다음 다시 삭제합니다.603 * 디렉토리는 저장소의 `.claude/worktrees/` 아래의 연결된 워크트리 중 하나입니다

593* git이 더 이상 인식하지 않는 worktree(예: `git worktree prune` 후)는 삭제를 차단하지 않습니다. Claude Code는 세션을 삭제하고 디렉토리를 디스크에 남깁니다.604 * 워크트리나 체크아웃된 서브모듈은 추적된 파일에 커밋되지 않은 변경 사항이 없습니다

594* git 또는 [`WorktreeRemove` 훅](/docs/ko/hooks#worktreeremove)이 worktree를 제거하지 못하면 Claude Code는 worktree 및 세션을 유지하고 메시지는 원인을 지정합니다. 훅의 경우 메시지는 `exited 1`과 같이 종료된 방식을 말하고 stderr의 시작을 인용합니다. 메시지는 또한 다음 중 어느 것을 수행할지 알려줍니다:605 * 다른 세션의 기록이 이름을 지정하지 않습니다

595 606 

596 * 에이전트 뷰의 행에서 `Ctrl+X` 두 번을 누르거나 `claude rm` 거부가 인쇄한 `claude rm <id> --force-remove-worktree <worktree-id>` 명령을 실행하여 어쨌든 디렉토리를 제거하려면 세션을 다시 삭제합니다. Claude Code는 디렉토리가 저장소의 연결된 worktrees 중 하나임을 확인할 수 있을 때만 이를 제공합니다. `.claude/worktrees/` 아래에 커밋되지 않은 변경 사항이 없고, 추적된 파일에 대한 변경 사항이 없으며, 내부에 중첩된 저장소가 없고, 다른 세션의 기록이 이를 지정하지 않습니다. worktree의 브랜치는 저장소에 유지됩니다.607 Claude Code가 별도의 git 저장소로 대체된 서브모듈 체크아웃의 상태를 확인할 수 없을 때, 이것도 제공하지 않습니다.

597 * 커밋 또는 숨김 커밋되지 않은 변경 사항, 디렉토리를 사용 중인 것 닫기 또는 훅 수정과 같이 방해가 되는 것을 수정한 다음 세션을 다시 삭제합니다.608 * 방해가 되는 것을 수정합니다. 예를 들어 커밋 또는 스태시 커밋되지 않은 변경 사항, 워크트리에서 별도의 git 저장소 이동, 디렉토리를 사용 중인 것 닫기, 또는 훅 수정. 그런 다음 세션을 다시 삭제합니다.

598 * 디렉토리를 직접 제거한 다음 세션을 다시 삭제합니다.609 * 디렉토리를 직접 제거한 다음 세션을 다시 삭제합니다.

599 610 

600직접 생성한 worktree이고 세션을 시작한 경우 어느 쪽이든 그대로 유지됩니다.611직접 생성하고 세션을 시작한 워크트리는 어느 쪽이든 제자리에 남아 있습니다.

601 612 

602worktree 디렉토리가 git 저장소에 속하지 않는 세션(저장소가 삭제되었거나 [`WorktreeCreate` 훅](/docs/ko/hooks#worktreecreate)이 디렉토리를 다른 곳에 생성했기 때문)은 여전히 삭제할 수 있습니다. 디렉토리에 파일이 남아 있는 동안:613워크트리 디렉토리가 git 저장소에 속하지 않는 세션(저장소가 삭제되었거나 [`WorktreeCreate` 훅](/docs/ko/hooks#worktreecreate)이 디렉토리를 다른 곳에 생성했기 때문)도 여전히 삭제할 수 있습니다. 디렉토리에 파일이 남아 있는 동안:

603 614 

604* 에이전트 뷰는 버리기 전에 동일한 `Ctrl+X` 이중 누르기를 요청합니다. 훅으로 생성된 디렉토리의 경우 [`WorktreeRemove` 훅](/docs/ko/hooks#worktreeremove)을 실행하고, 없으면 삭제를 거부하고 세션을 유지합니다.615* 에이전트 뷰는 버리기 전에 동일한 `Ctrl+X` 이중 누르기를 요청합니다. 훅으로 생성된 디렉토리의 경우 [`WorktreeRemove` 훅](/docs/ko/hooks#worktreeremove)을 실행하고, 없으면 삭제를 거부하고 세션을 유지합니다.

605* `claude rm`은 세션 및 worktree를 유지하고 이유를 지정합니다.616* `claude rm`은 세션과 워크트리를 유지하고 이유의 이름을 지정합니다.

606 617 

607어느 경로든 다른 완료된 세션의 기록이 지정하는 디렉토리를 유지합니다.618어느 경로든 다른 완료된 세션의 기록이 이름을 지정하는 디렉토리를 유지합니다.

608 619 

609<h3 id="set-the-model">620<h3 id="set-the-model">

610 모델 설정621 모델 설정

611</h3>622</h3>

612 623 

613에이전트 뷰 헤더에 표시된 모델 이름은 디스패치 기본값입니다. 입력에서 시작하는 새로운 세션은 이 모델을 사용하며, 이는 사용자 설정의 [`model` 설정](/docs/ko/settings-reference#model)에서 제공됩니다. [`/model` 선택기](/docs/ko/model-config)에서 모델을 선택하여 설정하거나 설정을 직접 편집합니다.624에이전트 뷰 헤더에 표시된 모델 이름은 디스패치 기본값입니다. 입력에서 시작하는 새로운 세션은 이 모델을 사용하며, 이는 사용자 설정의 [`model` 설정](/docs/ko/settings-reference#model)에서 옵니다. [`/model` 선택기](/docs/ko/model-config)에서 모델을 선택하거나 설정을 직접 편집하여 설정합니다.

614 625 

615전체 에이전트 뷰 세션에 대해 이를 재정의하려면 에이전트 뷰를 열 때 `--model`을 전달합니다. [권한 모드, 모델 및 노력](#permission-mode-model-and-effort)을 참조하십시오.626전체 에이전트 뷰 세션에 대해 디스패치 기본값을 재정의하려면, 에이전트 뷰를 열 때 `--model`을 전달합니다. [권한 모드, 모델, 및 노력](#permission-mode-model-and-effort)을 참조하세요.

616 627 

617에이전트 뷰 내에서 디스패치 기본값을 변경하려면 디스패치 입력에서 `/model` 뒤에 모델 이름을 입력하고 `Enter`를 누릅니다. 헤더는 `(session)` 마커와 함께 해당 모델을 표시하도록 업데이트되며, 그 후 디스패치하는 세션은 이를 사용합니다. `/model default`를 입력하여 재정의를 지우고 디스패치 기본값으로 돌아갑니다. 이 재정의는 현재 `claude agents` 실행의 나머지 동안 지속되며, 설정 파일에 쓰지 않습니다. 다음 예제는 Opus에서 한 세션을 디스패치하고 Sonnet에서 다음 세션을 디스패치합니다:628에이전트 뷰 내부에서 디스패치 기본값을 변경하려면, 디스패치 입력에 `/model` 뒤에 모델 이름을 입력하고 `Enter`를 누릅니다. 헤더는 `(session)` 마커와 함께 해당 모델을 표시하도록 업데이트되며, 그 후 디스패치하는 세션은 이를 사용합니다. `/model default`를 입력하여 재정의를 지우고 디스패치 기본값으로 돌아갑니다. 이 재정의는 현재 `claude agents` 실행의 나머지 동안 지속되고 설정 파일에 쓰지 않습니다. 다음 예제는 Opus에서 한 세션을 디스패치하고 Sonnet에서 다음을 디스패치합니다:

618 629 

619```text theme={null}630```text theme={null}

620/model opus631/model opus


623run the test suite634run the test suite

624```635```

625 636 

626각 백그라운드 세션은 다른 모델에서 실행될 수 있습니다. 한 세션에 대해 이를 재정의하려면:637각 백그라운드 세션은 다른 모델에서 실행될 수 있습니다. 한 세션에 대해 재정의하려면:

627 638 

628* 셸에서 `claude --bg`와 함께 `--model`을 전달합니다.639* 셸에서, `claude --bg`와 함께 `--model`을 전달합니다.

629* 실행 중인 세션에 연결하고 `/model`을 실행하여 전환합니다: 선택기에서 선택하거나 입력한 `/model <name>`은 선택기에서 `s`를 누르지 않는 한 새 세션의 기본값으로 저장됩니다. 세션 전용 전환은 세션이 다시 생성되면 유지됩니다.640* 실행 중인 세션에 연결하고 `/model`을 실행하여 전환합니다: 선택기에서 선택하거나 입력한 `/model <name>`은 선택기에서 `s`를 누르지 않으면 새 세션의 기본값으로 저장됩니다. 세션 전용 전환은 세션이 재생성되면 지속됩니다.

630* 프론트매터가 `model` 필드를 설정하는 [서브에이전트](/docs/ko/sub-agents)를 디스패치합니다.641* 프론트매터가 `model` 필드를 설정하는 [서브에이전트](/docs/ko/sub-agents)를 디스패치합니다.

631 642 

632<h3 id="permission-mode-model-and-effort">643<h3 id="permission-mode-model-and-effort">

633 권한 모드, 모델 및 노력644 권한 모드, 모델, 및 노력

634</h3>645</h3>

635 646 

636백그라운드 세션은 설정, 공급자, 권한 모드, 모델 및 노력을 디스패치된 위치와 방식에서 가져옵니다. 아래 소절은 각 소스와 감독자가 세션을 다시 시작할 때 지속되는 것을 다룹니다.647백그라운드 세션은 설정, 제공자, 권한 모드, 모델, 그리고 노력을 디스패치한 위치와 방식에서 가져옵니다. 아래 소절은 각 소스와 감독자가 세션을 재시작할 때 지속되는 것을 다룹니다.

637 648 

638<h4 id="settings-and-provider">649<h4 id="settings-and-provider">

639 설정 및 공급자650 설정 및 제공자

640</h4>651</h4>

641 652 

642백그라운드 세션은 실행되는 디렉토리에서 [설정](/docs/ko/settings)을 읽으며, 마치 거기서 `claude`를 시작한 것처럼 동일합니다. 여기에는 프로젝트 설정의 [`env` 값](/docs/ko/settings-reference#env)이 포함되므로 거기에 설정된 `ANTHROPIC_MODEL` 또는 공급자 변수가 해당 디렉토리의 백그라운드 세션에 적용됩니다.653백그라운드 세션은 [설정](/docs/ko/settings)을 실행하는 디렉토리에서 읽으며, 이는 [이월한 구성 플래그](/docs/ko/settings#what-carries-over-when-you-background)와 함께 거기서 `claude`를 시작한 것과 동일합니다. 여기에는 프로젝트 설정의 [`env` 값](/docs/ko/settings-reference#env)이 포함되므로, 거기에 설정된 `ANTHROPIC_MODEL` 또는 제공자 변수는 해당 디렉토리의 모든 백그라운드 세션에 적용됩니다.

643 654 

644백그라운드 세션은 또한 디스패치한 셸의 `PATH`로 실행되므로 실행하는 명령이 터미널과 동일한 도구를 찾습니다. `CLAUDE_CODE_USE_BEDROCK` 또는 `CLAUDE_CODE_USE_VERTEX`와 같은 클라우드 공급자 선택, `ANTHROPIC_DEFAULT_*_MODEL` 별칭 및 내보낸 모든 [`CLAUDE_CODE_EXTRA_BODY`](/docs/ko/env-vars) 재정의도 유지합니다.655백그라운드 세션은 또한 디스패치한 셸의 `PATH`로 실행되므로, 실행하는 명령어는 터미널과 동일한 도구를 찾습니다. `CLAUDE_CODE_USE_BEDROCK` 또는 `CLAUDE_CODE_USE_VERTEX`와 같은 클라우드 제공자 선택도 유지하며, `ANTHROPIC_DEFAULT_*_MODEL` 별칭과 내보낸 모든 [`CLAUDE_CODE_EXTRA_BODY`](/docs/ko/env-vars) 재정의도 유지합니다.

645 656 

646<h4 id="llm-gateway">657<h4 id="llm-gateway">

647 LLM 게이트웨이658 LLM 게이트웨이

648</h4>659</h4>

649 660 

650[LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 Claude Code를 라우팅하는 경우 게이트웨이 변수를 셸에서 내보내는 대신 설정 파일의 `env` 블록에 넣고 백그라운드 세션은 나머지 설정과 함께 읽습니다. [설정 파일에서 설정](/docs/ko/llm-gateway-connect#set-in-a-settings-file)은 블록과 자격 증명에 사용할 설정 파일을 표시합니다.661[LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 Claude Code를 라우팅하면, 게이트웨이 변수를 셸에서 내보내는 대신 설정 파일의 `env` 블록에 넣고, 백그라운드 세션은 나머지 설정과 함께 읽습니다. [설정 파일에서 설정](/docs/ko/llm-gateway-connect#set-in-a-settings-file)은 블록과 자격 증명에 사용할 설정 파일을 표시합니다.

651 662 

652게이트웨이 `ANTHROPIC_BASE_URL`을 셸에서만 내보내는 경우 [감독자](#the-supervisor-process)가 동일한 게이트웨이를 내보낸 셸에서 시작되었을 때만 백그라운드 세션에 도달하며, 이 경우에만:663대신 셸에서만 게이트웨이 `ANTHROPIC_BASE_URL`을 내보내면, 백그라운드 세션에 도달합니다. [감독자](#the-supervisor-process)가 동일한 게이트웨이를 내보낸 셸에서 시작되었을 때만, 그리고 `ANTHROPIC_CUSTOM_HEADERS` 및 자격 증명과 함께 내보낸 경우에만, 그리고 이 경우에만:

653 664 

654* `←` 또는 `/background`로 자신의 세션을 백그라운드로 이동합니다665* `←` 또는 `/background`로 자신의 세션을 백그라운드로 이동합니다

655* 세션을 현재 디렉토리로 디스패치합니다666* 현재 있는 디렉토리로 세션을 디스패치합니다

656* 현재 디렉토리에서 중지된 세션을 깨우거나 회신합니다667* 현재 있는 디렉토리에서 중지된 세션을 깨우거나 회신합니다

657 668 

658Claude Code는 클라우드 공급자 앞의 게이트웨이를 전달합니다. 디스패치한 셸이 공급자를 선택하고 인증 바이패스 플래그와 함께 게이트웨이 엔드포인트를 내보내면 Claude Code는 엔드포인트 및 플래그 쌍을 `ANTHROPIC_BASE_URL`에 적용되는 조건 아래 세션으로 전달하며, `ANTHROPIC_CUSTOM_HEADERS`와 함께. 예를 들어 `CLAUDE_CODE_USE_VERTEX=1`을 `ANTHROPIC_VERTEX_BASE_URL` 및 `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`과 함께 내보내면 Claude Code는 해당 엔드포인트 및 플래그를 전달합니다.669Claude Code는 클라우드 제공자 앞의 게이트웨이를 전달합니다. 디스패치한 셸이 제공자를 선택하고 해당 인증 바이패스 플래그와 함께 게이트웨이 엔드포인트를 내보내면, Claude Code는 `ANTHROPIC_BASE_URL`에 적용되는 조건 아래에서 엔드포인트 및 플래그 쌍을 `ANTHROPIC_CUSTOM_HEADERS`와 함께 전달합니다. 예를 들어, `CLAUDE_CODE_USE_VERTEX=1`을 `ANTHROPIC_VERTEX_BASE_URL` 및 `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`과 함께 내보내면, Claude Code는 해당 엔드포인트와 플래그를 전달합니다.

659 670 

660Claude Code는 전달된 게이트웨이를 해당 세션의 실행 프로세스에만 적용하며 디스크에 쓰지 않습니다.671Claude Code는 전달된 게이트웨이를 해당 세션의 실행 중인 프로세스에만 적용하고 디스크에 쓰지 않습니다.

661 672 

662<h4 id="permission-mode">673<h4 id="permission-mode">

663 권한 모드674 권한 모드

664</h4>675</h4>

665 676 

666[권한 모드](/docs/ko/permissions)는 세션을 시작한 방식에 따라 달라집니다:677[권한 모드](/docs/ko/permissions)는 세션을 시작한 방식에 따라 다릅니다:

667 678 

668* **`/bg` 또는 `←`로 백그라운드로 이동**: Claude Code는 세션이 있던 권한 모드를 유지하므로 `acceptEdits` 또는 `auto`로 전환한 세션은 분리 후에도 해당 모드에 유지됩니다679* **`/bg` 또는 `←`로 백그라운드된**: Claude Code는 세션이 있던 권한 모드를 유지하므로, `acceptEdits` 또는 `auto`로 전환한 것은 분리 후에도 유지됩니다

669* **`←`로 열린 에이전트 뷰에서 디스패치**: 대상의 자신의 구성이 먼저 오고, 다른 것이 설정하지 않을 때 온 세션의 권한 모드가 적용됩니다680* **`←`로 연 에이전트 뷰에서 디스패치됨**: 대상의 자신의 구성이 먼저 오고, 세션의 권한 모드가 다른 것이 설정하지 않을 때 적용됩니다

670* **셸에서 시작된 `claude agents` 또는 `claude --bg`에서 디스패치**: 새 세션은 해당 디렉토리의 새 `claude` 세션이 시작되는 방식으로 시작되며, [디스패치 기본값](#dispatch-defaults)에서 열린 에이전트 뷰에서 디스패치하지 않는 한. [세션이 시작되는 권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)는 순서를 나열합니다681* **셸에서 시작한 `claude agents` 또는 `claude --bg`에서 디스패치됨**: 새 세션은 해당 디렉토리에서 새 `claude` 세션이 시작되는 방식으로 시작됩니다. [세션이 시작되는 권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)는 순서를 나열합니다

671 682 

672`←`로 열린 에이전트 뷰에서 디스패치한 세션의 경우 Claude Code는 다음 중 첫 번째에서 권한 모드를 가져옵니다:683`←`로 연 에이전트 뷰에서 디스패치한 세션의 경우, Claude Code는 다음 중 첫 번째 적용되는 것에서 권한 모드를 가져옵니다:

673 684 

6741. 대상 디렉토리의 [`permissions.defaultMode`](/docs/ko/settings-reference#permissions-defaultmode). 두 소스 규칙이 적용됩니다:6851. 대상 디렉토리의 [`permissions.defaultMode`](/docs/ko/settings-reference#permissions-defaultmode). 두 소스 규칙이 적용됩니다:

675 * `auto` 및 `bypassPermissions`는 [관리 설정, `--settings` 파일 또는 `~/.claude/settings.json`에서만 적용됩니다](/docs/ko/settings-reference#permissions-defaultmode).686 * `auto` 및 `bypassPermissions`은 [관리 설정, `--settings` 파일, 또는 `~/.claude/settings.json`에서만 적용됩니다](/docs/ko/settings-reference#permissions-defaultmode).

676 * Claude Code는 온 세션이 있던 것보다 더 허용적인 모드를 선택하는 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`에서 `defaultMode`를 거부합니다.687 * Claude Code는 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`에서 온 `defaultMode`를 거부합니다. 이는 세션이 있던 것보다 더 허용적인 모드를 선택합니다.

6772. 온 세션의 권한 모드6882. 세션의 권한 모드

678 689 

679Claude Code가 소스의 모드를 너무 허용적으로 거부하면 목록의 다음 소스가 결정합니다. 예를 들어 계획 모드 세션에서 `acceptEdits`를 요청하는 확인된 설정이 있는 디렉토리로 디스패치하면 새 세션은 계획 모드에서 시작됩니다. 해당 `defaultMode`를 `~/.claude/settings.json`으로 이동하면 온 세션의 권한 모드와 관계없이 적용됩니다.690Claude Code가 소스의 모드를 너무 허용적으로 거부하면, 목록의 다음 소스가 결정합니다. 예를 들어, 플랜 모드 세션에서 `acceptEdits`를 요청하는 체크인된 설정이 있는 디렉토리로 디스패치하면, 새 세션은 플랜 모드에서 시작됩니다. 해당 `defaultMode`를 `~/.claude/settings.json`으로 이동하면, 세션의 권한 모드와 관계없이 적용됩니다.

680 691 

681허용성은 계획, 그 다음 Manual 및 `dontAsk`, 그 다음 `acceptEdits` 및 auto(각각 다른 것보다 더 허용적으로 계산), 그 다음 `bypassPermissions`를 실행합니다.692허용성은 플랜, 그 다음 Manual 및 `dontAsk`, 그 다음 `acceptEdits` 및 auto(각각 다른 것보다 더 허용적으로 계산됨), 그 다음 `bypassPermissions`입니다.

682 693 

683<h4 id="dispatch-defaults">694<h4 id="dispatch-defaults">

684 디스패치 기본값695 디스패치 기본값

685</h4>696</h4>

686 697 

687에이전트 뷰를 열 때 `--permission-mode`, `--model`, `--effort` 또는 `--agent` 중 하나를 전달하여 에이전트 뷰에서 디스패치하는 모든 세션에 대한 기본값을 설정합니다:698에이전트 뷰에서 디스패치하는 모든 세션에 대해 기본값을 설정하려면, 열 때 `--permission-mode`, `--model`, `--effort`, 또는 `--agent` 중 하나를 전달합니다:

688 699 

689```bash theme={null}700```bash theme={null}

690claude agents --permission-mode plan --model opus --effort high701claude agents --permission-mode plan --model opus --effort high

691```702```

692 703 

693`--effort`는 여기서 `ultracode`를 포함하여 [최상위 `--effort` 플래그](/docs/ko/cli-reference#cli-flags)와 동일한 값을 허용합니다.704여기서 `--effort`는 `ultracode`를 포함한 [최상위 `--effort` 플래그](/docs/ko/cli-reference#cli-flags)와 동일한 값을 허용합니다.

694 705 

695`--agent`는 디스패치 프롬프트가 `@name` 또는 첫 번째 단어로 이름을 지정하지 않을 때 사용되는 [서브에이전트](/docs/ko/sub-agents)를 설정합니다. 설정된 경우 [`agent` 설정](/docs/ko/settings-reference#agent)으로 기본값이 지정되며, 그렇지 않으면 기본 제공 catch-all `claude` 에이전트입니다. 디스패치 입력에서 서브에이전트의 이름을 지정하면 둘 다 재정의됩니다.706`--agent`는 디스패치 프롬프트가 `@name` 또는 첫 단어로 이름을 지정하지 않을 때 사용되는 [서브에이전트](/docs/ko/sub-agents)를 설정합니다. 설정된 [`agent` 설정](/docs/ko/settings-reference#agent)이 있으면 기본값이고, 그렇지 않으면 기본 제공 catch-all `claude` 에이전트입니다. 디스패치 입력에서 서브에이전트의 이름을 지정하면 둘 다 재정의합니다.

696 707 

697`claude agents`는 또한 `--dangerously-skip-permissions`를 `--permission-mode bypassPermissions`의 약자로 허용하며, `--allow-dangerously-skip-permissions`를 사용하여 각 디스패치된 세션의 `Shift+Tab` 사이클에서 `bypassPermissions`를 사용 가능하게 만들 수 있습니다. 둘 다 [최상위 CLI 플래그](/docs/ko/cli-reference)와 일치합니다.708`claude agents`는 또한 `--dangerously-skip-permissions`를 `--permission-mode bypassPermissions`의 약자로 허용하고, `--allow-dangerously-skip-permissions`를 각 디스패치된 세션의 `Shift+Tab` 사이클에서 `bypassPermissions`를 사용 가능하게 하여 해당 모드에서 시작하지 않습니다. 둘 다 [최상위 CLI 플래그](/docs/ko/cli-reference)와 일치합니다.

698 709 

699`--restricted`를 전달하여 뷰에서 디스패치하는 모든 세션을 [제한 모드](/docs/ko/cli-reference#cli-flags)에서 시작하도록 합니다. 마치 각각이 최상위 `--restricted` 플래그로 실행된 것처럼. Claude Code v2.1.248 이상이 필요합니다.710`--restricted`를 전달하여 뷰에서 디스패치하는 모든 세션을 [제한된 모드](/docs/ko/cli-reference#cli-flags)에서 시작합니다. 각각이 최상위 `--restricted` 플래그로 시작된 것처럼. Claude Code v2.1.248 이상이 필요합니다.

700 711 

701활성 기본값은 디스패치 입력 아래의 바닥글에 나타납니다.712활성 기본값은 디스패치 입력 아래의 바닥글에 나타납니다.

702 713 

703Claude Code는 대화형으로 한 번 실행하여 해당 모드를 수락할 때까지 `claude --bg --permission-mode bypassPermissions`를 거부합니다. 이 모드는 감시하지 않는 세션이 승인 없이 작동하도록 허용하기 때문입니다. `claude agents`에 `--dangerously-skip-permissions` 또는 `--permission-mode bypassPermissions`를 전달하면 이전에 수락하지 않은 경우 동일한 면책 조항을 표시하고, 수락하면 해당 세션에서 시작하지 않고 `bypassPermissions`를 `Shift+Tab` 사이클에서 사용 가능하게 만듭니다. `--allow-dangerously-skip-permissions`를 전달하면 동일한 면책 조항을 표시하고, 수락하면 `bypassPermissions`를 해당 세션의 `Shift+Tab` 사이클에서 사용 가능하게 만듭니다.714Claude Code는 `claude --bg --permission-mode bypassPermissions`를 거부합니다. 대화형으로 `claude --dangerously-skip-permissions`를 한 번 실행하여 바이패스 면책사항을 수락할 때까지. 해당 모드는 감시하지 않는 세션이 승인 없이 작동하도록 합니다. `--dangerously-skip-permissions` 또는 `--permission-mode bypassPermissions`를 `claude agents`에 전달하면 이전에 수락하지 않았을 때 동일한 면책사항을 표시하고, 수락하면 `bypassPermissions`를 뷰에서 시작하는 세션에 적용합니다. `--allow-dangerously-skip-permissions`를 전달하면 동일한 면책사항도 표시되고, 수락하면 `bypassPermissions`를 해당 세션의 `Shift+Tab` 사이클에서 사용 가능하게 하여 시작하지 않습니다.

704 715 

705<h4 id="what-persists-across-restarts">716<h4 id="what-persists-across-restarts">

706 재시작 전체에서 지속되는 것717 재시작 전반에 지속되는 것

707</h4>718</h4>

708 719 

709백그라운드 세션에 대해 선택한 권한 모드, 모델 및 노력은 [구성 플래그](#what-carries-over-when-you-background)와 함께 감독자가 나중에 [세션의 프로세스를 중지하고 다시 시작](#the-supervisor-process)할 때 지속됩니다. `claude --bg --dangerously-skip-permissions` 또는 `claude --bg --permission-mode bypassPermissions`로 실행한 세션은 해당 재시작 후 `bypassPermissions`에 유지됩니다. `/model` 또는 `/effort`로 세션 중에 변경한 모델 또는 노력도 유지됩니다.720백그라운드 세션에 대해 선택한 권한 모드, 모델, 및 노력. [이월한 구성 플래그](#what-carries-over-when-you-background)와 함께, 감독자가 나중에 [중지 및 재시작](#the-supervisor-process)할 때 모두 지속됩니다. `claude --bg --dangerously-skip-permissions` 또는 `claude --bg --permission-mode bypassPermissions`로 시작한 세션은 해당 재시작 후 `bypassPermissions`에 유지됩니다. `/model` 또는 `/effort`로 중간 세션에서 변경한 모델 또는 노력도 유지됩니다.

710 721 

711세션이 설정에서 노력을 가져온 경우 `--effort` 또는 `/effort`에서 가져온 것이 아니면 Claude Code는 세션에 대한 프로세스를 시작할 때마다 설정을 다시 읽습니다. 따라서 `settings.json`에서 저장된 노력을 편집하면 변경이 `←` 또는 `/bg`로 백그라운드로 이동한 세션과 이후 재시작에 도달합니다. 저장된 노력은 [`effortLevel`](/docs/ko/settings-reference#effortlevel) 키 또는 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 항목입니다.722세션이 `--effort` 또는 `/effort`가 아닌 설정에서 노력을 가져온 경우, Claude Code는 세션을 시작할 때마다 설정을 다시 읽습니다. `settings.json`에서 저장된 노력을 편집한 후, 변경은 `←` 또는 `/bg`로 백그라운드하는 세션에 도달하고, 나중의 재시작에 도달합니다. 저장된 노력은 [`effortLevel`](/docs/ko/settings-reference#effortlevel) 키 또는 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 항목입니다.

712 723 

713Claude Code는 [`/rename`](/docs/ko/commands) 또는 `Ctrl+R`로 설정한 이름도 해당 재시작 전체에서 유지하므로 [`claude --resume <name>`](/docs/ko/sessions#name-your-sessions)으로 세션에 도달할 수 있습니다.724Claude Code는 또한 [`/rename`](/docs/ko/commands) 또는 `Ctrl+R`로 설정한 이름을 해당 재시작 전반에 유지하므로, [`claude --resume <name>`](/docs/ko/sessions#name-your-sessions)을 실행하여 세션에 도달할 수 있습니다.

714 725 

715[`Ctrl+S`](/docs/ko/interactive-mode#general-controls)로 연결된 동안 숨긴 프롬프트도 세션과 함께 유지됩니다. 재시작 후 세션을 다시 열고 `Ctrl+S`는 숨겨진 텍스트를 복원합니다. 숨김의 붙여넣은 내용은 재시작을 생존하지 않습니다.726[`Ctrl+S`](/docs/ko/interactive-mode#general-controls)로 연결된 동안 스태시한 프롬프트도 세션과 함께 유지됩니다. 중지되거나 재시작된 후 세션을 다시 열고, `Ctrl+S`는 스태시된 텍스트를 복원합니다. 스태시의 붙여넣은 콘텐츠는 재시작을 견디지 못합니다.

716 727 

717<h3 id="settings-plugins-and-mcp-servers">728<h3 id="settings-plugins-and-mcp-servers">

718 설정, 플러그인 및 MCP 서버729 설정, 플러그인, 및 MCP 서버

719</h3>730</h3>

720 731 

721에이전트 뷰는 설정, 플러그인, MCP 서버 및 추가 디렉토리를 로드하기 위해 `claude`와 동일한 구성 플래그를 허용합니다. 에이전트 뷰는 `--settings` 및 `--plugin-dir`을 자신에게 적용하고 모든 구성 플래그를 디스패치하는 세션으로 전달하므로 이러한 방식으로 로드하는 플러그인 또는 MCP 서버는 해당 세션에서도 사용 가능합니다.732에이전트 뷰는 설정, 플러그인, MCP 서버, 및 추가 디렉토리를 로드하기 위해 `claude`와 동일한 구성 플래그를 허용합니다. 에이전트 뷰는 `--settings`, `--setting-sources`, 및 `--plugin-dir`을 자신에게 적용하고 모든 구성 플래그를 디스패치하는 세션으로 전달하므로, 이 방식으로 로드하는 플러그인 또는 MCP 서버는 해당 세션에서 사용 가능합니다.

722 733 

723| 플래그 | 효과 |734| 플래그 | 효과 |

724| :- | :- |735| :- | :- |

725| [`--settings <file-or-json>`](/docs/ko/settings) | 에이전트 뷰 및 디스패치된 세션에 대한 설정 재정의 |736| [`--settings <file-or-json>`](/docs/ko/settings) | 에이전트 뷰 및 디스패치된 세션에 대한 설정 재정의 |

737| [`--setting-sources <sources>`](/docs/ko/cli-reference#cli-flags) | 에이전트 뷰 및 디스패치된 세션에서 명명된 설정 소스만 로드 |

726| [`--add-dir <path>`](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration) | 추가 디렉토리에 파일 액세스 권한 부여 |738| [`--add-dir <path>`](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration) | 추가 디렉토리에 파일 액세스 권한 부여 |

727| [`--plugin-dir <path>`](/docs/ko/plugins) | 로컬 디렉토리에서 플러그인 로드 |739| [`--plugin-dir <path>`](/docs/ko/plugins/create#load-a-directory-or-archive-for-one-session) | 로컬 디렉토리에서 플러그인 로드 |

728| [`--mcp-config <file-or-json>`](/docs/ko/mcp) | 구성 파일 또는 JSON 문자열에서 MCP 서버 로드 |740| [`--mcp-config <file-or-json>`](/docs/ko/mcp) | 구성 파일 또는 JSON 문자열에서 MCP 서버 로드 |

729| `--strict-mcp-config` | `--mcp-config`에서만 MCP 서버를 사용하고 다른 MCP 구성 무시. 관리 MCP 파일 아래에서 플래그가 수행하는 작업에 대해 [managed-mcp.json으로 독점 제어](/docs/ko/managed-mcp#exclusive-control-with-managed-mcp-json)를 참조하십시오 |741| `--strict-mcp-config` | `--mcp-config`에서만 MCP 서버를 사용하고 다른 MCP 구성을 무시합니다. 관리 MCP 파일 아래에서 플래그가 수행하는 작업은 [관리 mcp.json으로 배타적 제어](/docs/ko/managed-mcp#exclusive-control-with-managed-mcp-json)를 참조하세요 |

730 742 

731`--add-dir`, `--plugin-dir` 또는 `--mcp-config`를 값당 한 번씩 반복합니다. `claude agents`는 `--add-dir a b c`와 같은 공백으로 구분된 형식을 지원하지 않습니다.743`--add-dir`, `--plugin-dir`, 또는 `--mcp-config`를 값당 한 번 반복합니다. `claude agents`는 `--add-dir a b c`와 같은 공백으로 구분된 형식을 지원하지 않습니다.

732 744 

733`--settings` 및 `--plugin-dir`을 `agents` 전이나 후에 배치할 수 있습니다. `--add-dir` 및 `--mcp-config`를 `agents` 후에 유지합니다: `agents` 전에 둘 중 하나를 배치하면 [`claude agents --json`](#manage-sessions-from-the-shell)이 `unknown option` 오류로 실패합니다.745`--settings`, `--setting-sources`, 및 `--plugin-dir`을 `agents` 전에 또는 후에 배치할 수 있습니다. `--add-dir` 및 `--mcp-config`를 `agents` 후에 유지합니다: `agents` 전에 둘 중 하나를 배치하면, [`claude agents --json`](#manage-sessions-from-the-shell)이 `unknown option` 오류로 실패합니다.

734 746 

735다음 예제는 설정 재정의 및 하나의 추가 디렉토리로 에이전트 뷰를 엽니다:747다음 예제는 설정 재정의 및 하나의 추가 디렉토리로 에이전트 뷰를 엽니다:

736 748 


738claude agents --settings ./ci-settings.json --add-dir ../shared-lib750claude agents --settings ./ci-settings.json --add-dir ../shared-lib

739```751```

740 752 

741`--settings`는 파일 경로 또는 인라인 JSON 문자열을 허용합니다. 파일 경로는 기존 파일을 가리켜야 합니다. Claude Code는 파일이 없으면 `Settings file not found` 오류로 종료됩니다.753`--settings`는 파일 경로 또는 인라인 JSON 문자열을 허용합니다. 파일 경로는 기존 파일을 가리켜야 합니다. 그렇지 않으면 Claude Code는 `Settings file not found` 오류로 종료됩니다.

742 754 

743<h2 id="manage-sessions-from-the-shell">755<h2 id="manage-sessions-from-the-shell">

744 셸에서 세션 관리756 셸에서 세션 관리


1048 1060 

1049| 버전 | 변경 사항 |1061| 버전 | 변경 사항 |

1050| - | - |1062| - | - |

1063| v2.1.281 | [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 제한이 `←` 또는 `/bg`로 백그라운드하는 세션과 에이전트 뷰에서 디스패치하는 세션으로 [이월](#what-carries-over-when-you-background)됩니다. 이 릴리스 이전에는 생성된 세션이 모든 설정 소스를 로드했습니다. |

1064| v2.1.281 | `claude --bg`와 세션을 다시 시작하는 명령은 먼저 세션의 디렉터리에 대한 워크스페이스 신뢰를 확인합니다. 해당 디렉터리의 터미널에서 [신뢰 대화가 나타나며](#from-your-shell) 아직 수락하지 않았다면 표시됩니다. 스크립트와 같이 대화가 나타날 수 없는 곳에서는 명령이 [`Workspace not trusted`](/docs/ko/errors#workspace-not-trusted-when-dispatching-a-background-session) 오류로 종료됩니다. |

1065| v2.1.274 | 자동 업데이트 후 약 1시간 동안 떠나 있던 에이전트 뷰는 새 빌드로 자신을 다시 시작할 수 있습니다. 이렇게 할 때 열었던 [디스패치 기본값](#dispatch-defaults)을 유지합니다: `--model`, `--effort`, `--permission-mode`, `--allow-dangerously-skip-permissions`, `--agent`. 이 릴리스 이전에는 다시 시작된 뷰가 `--cwd` 및 `--settings`, `--mcp-config`와 같은 구성 플래그만 유지했으므로 그 후 디스패치한 세션은 해당 기본값 없이 시작되었습니다. |

1066| v2.1.274 | [삭제가 거부](#what-deleting-a-session-removes)될 때 git이나 `WorktreeRemove` 훅이 워크트리를 제거할 수 없기 때문에 Claude Code가 추적된 파일에 커밋되지 않은 변경 사항이 없음을 확인한 체크아웃된 서브모듈은 다시 삭제하고 디렉터리를 어쨌든 제거하는 제안을 차단하지 않습니다. 체크아웃된 서브모듈 내의 커밋되지 않은 작업은 커밋되지 않은 변경 사항으로 계산되며 메시지는 서브모듈의 이름을 지정합니다. 이 릴리스 이전에는 워크트리의 모든 서브모듈 체크아웃이 제안을 차단했으며 메시지는 워크트리에 중첩된 저장소가 포함되어 있다고 말했습니다. |

1051| v2.1.268 | [삭제가 거부](#what-deleting-a-session-removes)될 때 git이나 `WorktreeRemove` 훅이 워크트리를 제거할 수 없기 때문에 메시지는 원인을 명시하며, 훅이 어떻게 종료되었는지와 stderr의 시작을 포함합니다. 저장소의 `.claude/worktrees/` 아래의 연결된 워크트리로, 추적된 파일에 커밋되지 않은 변경 사항이 없고, 내부에 중첩된 저장소가 없으며, 다른 세션의 레코드가 이를 명시하지 않으면 세션을 다시 삭제하면 에이전트 뷰에서 또는 `claude rm <id> --force-remove-worktree <worktree-id>`로 디렉터리가 어쨌든 제거됩니다. 이 릴리스 이전에는 행이 `worktree could not be removed (WorktreeRemove hook failed)` 또는 git의 오류만 표시했으며, 훅의 stderr은 디버그 로그로만 이동했고, 다시 삭제하면 같은 방식으로 거부되었습니다. |1067| v2.1.268 | [삭제가 거부](#what-deleting-a-session-removes)될 때 git이나 `WorktreeRemove` 훅이 워크트리를 제거할 수 없기 때문에 메시지는 원인을 명시하며, 훅이 어떻게 종료되었는지와 stderr의 시작을 포함합니다. 저장소의 `.claude/worktrees/` 아래의 연결된 워크트리로, 추적된 파일에 커밋되지 않은 변경 사항이 없고, 내부에 중첩된 저장소가 없으며, 다른 세션의 레코드가 이를 명시하지 않으면 세션을 다시 삭제하면 에이전트 뷰에서 또는 `claude rm <id> --force-remove-worktree <worktree-id>`로 디렉터리가 어쨌든 제거됩니다. 이 릴리스 이전에는 행이 `worktree could not be removed (WorktreeRemove hook failed)` 또는 git의 오류만 표시했으며, 훅의 stderr은 디버그 로그로만 이동했고, 다시 삭제하면 같은 방식으로 거부되었습니다. |

1052| v2.1.268 | 첫 `←`가 `Press ← again to open agents` 또는 연결된 세션에서 `Press ← again to go back to agents`를 표시한 후 [최소 1초 후에 도착하는 첫 번째 누름이 전환](#switch-sessions-without-leaving-the-terminal)되며, 그 사이의 더 빠른 누름이 무시되었어도 전환됩니다. 이 릴리스 이전에는 무시된 각 누름이 대기를 다시 시작했으므로 `←`를 꾸준한 속도로 다시 누르면 1초 이상 일시 중지할 때까지 전환되지 않았습니다. |1068| v2.1.268 | 첫 `←`가 `Press ← again to open agents` 또는 연결된 세션에서 `Press ← again to go back to agents`를 표시한 후 [최소 1초 후에 도착하는 첫 번째 누름이 전환](#switch-sessions-without-leaving-the-terminal)되며, 그 사이의 더 빠른 누름이 무시되었어도 전환됩니다. 이 릴리스 이전에는 무시된 각 누름이 대기를 다시 시작했으므로 `←`를 꾸준한 속도로 다시 누르면 1초 이상 일시 중지할 때까지 전환되지 않았습니다. |

1053| v2.1.260 | [세션을 백그라운드로 이동](#from-inside-a-session)할 때 다른 세션의 [에이전트 목록](/docs/ko/cross-session-messaging#see-which-sessions-claude-can-reach)은 대화를 한 번 표시하며, 백그라운드 세션으로 표시되고 이에 대한 메시지는 더 이상 이동한 터미널에 도달하지 않습니다. 이 릴리스 이전에는 해당 터미널이 대화 이름 아래 두 번째 대화형 세션으로 나열될 수 있었으며, 이동 전에 대화에 메시지를 보낸 세션은 계속해서 해당 터미널에 전달했습니다. |1069| v2.1.260 | [세션을 백그라운드로 이동](#from-inside-a-session)할 때 다른 세션의 [에이전트 목록](/docs/ko/cross-session-messaging#see-which-sessions-claude-can-reach)은 대화를 한 번 표시하며, 백그라운드 세션으로 표시되고 이에 대한 메시지는 더 이상 이동한 터미널에 도달하지 않습니다. 이 릴리스 이전에는 해당 터미널이 대화 이름 아래 두 번째 대화형 세션으로 나열될 수 있었으며, 이동 전에 대화에 메시지를 보낸 세션은 계속해서 해당 터미널에 전달했습니다. |


1062| v2.1.257 | 열린 백그라운드 세션 내에서 `Ctrl+S`로 숨겨진 프롬프트는 [세션과 함께 유지](#what-persists-across-restarts)되므로 세션의 프로세스가 중지되고 다시 시작된 후 `Ctrl+S`가 이를 복원합니다. 이 릴리스 이전에는 숨김이 실행 중인 프로세스에만 존재했으며 세션이 충분히 오래 유휴 상태가 되어 프로세스가 중지되거나 중지되었다가 다시 열릴 때 손실되었습니다. |1078| v2.1.257 | 열린 백그라운드 세션 내에서 `Ctrl+S`로 숨겨진 프롬프트는 [세션과 함께 유지](#what-persists-across-restarts)되므로 세션의 프로세스가 중지되고 다시 시작된 후 `Ctrl+S`가 이를 복원합니다. 이 릴리스 이전에는 숨김이 실행 중인 프로세스에만 존재했으며 세션이 충분히 오래 유휴 상태가 되어 프로세스가 중지되거나 중지되었다가 다시 열릴 때 손실되었습니다. |

1063| v2.1.251 | [워크트리로 이동](#how-file-edits-are-isolated)하지 않은 백그라운드 세션에서 Claude와 생성하는 서브에이전트는 연결된 git 워크트리 내의 파일을 편집할 수 있습니다. |1079| v2.1.251 | [워크트리로 이동](#how-file-edits-are-isolated)하지 않은 백그라운드 세션에서 Claude와 생성하는 서브에이전트는 연결된 git 워크트리 내의 파일을 편집할 수 있습니다. |

1064| v2.1.251 | Claude Code는 디스패치하는 셸에서 내보낸 클라우드 제공자 게이트웨이(예: `ANTHROPIC_VERTEX_BASE_URL` 또는 `ANTHROPIC_BEDROCK_BASE_URL`과 그 인증 우회 플래그)를 `ANTHROPIC_BASE_URL`과 같은 조건 아래 [세션의 워커](#llm-gateway)로 전달합니다. 이 릴리스 이전에는 이러한 게이트웨이를 통해서만 인증된 셸에서 백그라운드하거나 디스패치했다면 세션이 만드는 모든 요청이 실패했습니다. 엔드포인트와 플래그가 환경에서 삭제되었기 때문입니다. |1080| v2.1.251 | Claude Code는 디스패치하는 셸에서 내보낸 클라우드 제공자 게이트웨이(예: `ANTHROPIC_VERTEX_BASE_URL` 또는 `ANTHROPIC_BEDROCK_BASE_URL`과 그 인증 우회 플래그)를 `ANTHROPIC_BASE_URL`과 같은 조건 아래 [세션의 워커](#llm-gateway)로 전달합니다. 이 릴리스 이전에는 이러한 게이트웨이를 통해서만 인증된 셸에서 백그라운드하거나 디스패치했다면 세션이 만드는 모든 요청이 실패했습니다. 엔드포인트와 플래그가 환경에서 삭제되었기 때문입니다. |

1065| v2.1.251 | 백그라운드 세션이 다른 Claude Code 프로세스가 [플러그인 마켓플레이스](/docs/ko/plugin-marketplaces)를 새로 고치는 동안 시작될 때(예: [마켓플레이스 자동 업데이트](/docs/ko/discover-plugins#configure-auto-updates)를 실행하는 형제 세션) Claude Code는 해당 마켓플레이스의 플러그인을 사용 가능하게 유지합니다. 이 릴리스 이전에는 이러한 세션이 해당 마켓플레이스의 스킬, 에이전트, 훅, MCP 서버 없이 시작될 수 있었으며 전체 실행 동안 그대로 유지되었습니다. |1081| v2.1.251 | 백그라운드 세션이 다른 Claude Code 프로세스가 [플러그인 마켓플레이스](/docs/ko/plugins/overview)를 새로 고치는 동안 시작될 때(예: [마켓플레이스 자동 업데이트](/docs/ko/plugins/install#keep-plugins-updated)를 실행하는 형제 세션) Claude Code는 해당 마켓플레이스의 플러그인을 사용 가능하게 유지합니다. 이 릴리스 이전에는 이러한 세션이 해당 마켓플레이스의 스킬, 에이전트, 훅, MCP 서버 없이 시작될 수 있었으며 전체 실행 동안 그대로 유지되었습니다. |

1066| v2.1.248 | [디스패치 입력](#keyboard-shortcuts)에서 `Shift+Enter`는 줄바꿈을 삽입하여 주 프롬프트와 일치하며, `Ctrl+Enter`는 `?` 오버레이가 `ctrl+enter to start and open`을 나열하는 터미널에서 즉시 디스패치하고 연결합니다. 이 릴리스 이전에는 `Shift+Enter`가 디스패치하고 연결했습니다. |1082| v2.1.248 | [디스패치 입력](#keyboard-shortcuts)에서 `Shift+Enter`는 줄바꿈을 삽입하여 주 프롬프트와 일치하며, `Ctrl+Enter`는 `?` 오버레이가 `ctrl+enter to start and open`을 나열하는 터미널에서 즉시 디스패치하고 연결합니다. 이 릴리스 이전에는 `Shift+Enter`가 디스패치하고 연결했습니다. |

1067| v2.1.248 | [세션 삭제](#what-deleting-a-session-removes)는 워크트리의 커밋이 이미 `origin` 원격의 기본 분기의 로컬 복사본에 있고 주 체크아웃이 해당 분기를 체크아웃했을 때 성공합니다. 이 릴리스 이전에는 삭제가 `has commits that are not pushed anywhere`로 거부되었습니다. |1083| v2.1.248 | [세션 삭제](#what-deleting-a-session-removes)는 워크트리의 커밋이 이미 `origin` 원격의 기본 분기의 로컬 복사본에 있고 주 체크아웃이 해당 분기를 체크아웃했을 때 성공합니다. 이 릴리스 이전에는 삭제가 `has commits that are not pushed anywhere`로 거부되었습니다. |

1068| v2.1.248 | `←` 또는 `/background`로 백그라운드된 세션은 실행되는 동안 워크트리에 [`git worktree lock`](/docs/ko/worktrees#clean-up-subagent-and-background-session-worktrees)을 유지합니다. 이 릴리스 이전에는 백그라운드하면 잠금이 해제되었으며 정리 또는 `git worktree remove`가 실행 중인 세션 아래의 워크트리를 제거할 수 있었습니다. |1084| v2.1.248 | `←` 또는 `/background`로 백그라운드된 세션은 실행되는 동안 워크트리에 [`git worktree lock`](/docs/ko/worktrees#clean-up-subagent-and-background-session-worktrees)을 유지합니다. 이 릴리스 이전에는 백그라운드하면 잠금이 해제되었으며 정리 또는 `git worktree remove`가 실행 중인 세션 아래의 워크트리를 제거할 수 있었습니다. |

agents.md +1 −1

Details

13| [서브에이전트](/docs/ko/sub-agents) | 한 세션 내에서 자신의 컨텍스트에서 부작업을 수행하고 요약을 반환하는 위임된 작업자 | 부작업이 검색 결과, 로그 또는 다시 참조하지 않을 파일 내용으로 주 대화를 넘칠 때 |13| [서브에이전트](/docs/ko/sub-agents) | 한 세션 내에서 자신의 컨텍스트에서 부작업을 수행하고 요약을 반환하는 위임된 작업자 | 부작업이 검색 결과, 로그 또는 다시 참조하지 않을 파일 내용으로 주 대화를 넘칠 때 |

14| [에이전트 뷰](/docs/ko/agent-view) | `claude agents`로 열 수 있는 백그라운드에서 실행 중인 세션을 디스패치하고 모니터링하는 하나의 화면. 연구 미리보기 | 여러 개의 독립적인 작업이 있고 작업을 넘기고, 상태를 한눈에 확인하고, 필요할 때만 개입하고 싶을 때 |14| [에이전트 뷰](/docs/ko/agent-view) | `claude agents`로 열 수 있는 백그라운드에서 실행 중인 세션을 디스패치하고 모니터링하는 하나의 화면. 연구 미리보기 | 여러 개의 독립적인 작업이 있고 작업을 넘기고, 상태를 한눈에 확인하고, 필요할 때만 개입하고 싶을 때 |

15| [에이전트 팀](/docs/ko/agent-teams) | 공유 작업 목록과 에이전트 간 메시징을 통해 조율되는 여러 세션으로, 리더가 관리합니다. 실험적이며 기본적으로 비활성화됨 | Claude가 프로젝트를 여러 부분으로 나누고, 할당하고, 작업자들을 동기화 상태로 유지하기를 원할 때 |15| [에이전트 팀](/docs/ko/agent-teams) | 공유 작업 목록과 에이전트 간 메시징을 통해 조율되는 여러 세션으로, 리더가 관리합니다. 실험적이며 기본적으로 비활성화됨 | Claude가 프로젝트를 여러 부분으로 나누고, 할당하고, 작업자들을 동기화 상태로 유지하기를 원할 때 |

16| [프로젝트](/docs/ko/claude-projects) | claude.ai/code 또는 데스크톱 앱에서의 지속적인 대화. Claude는 threads라고 불리는 병렬 클라우드 세션을 시작하고, 각 세션에 프로젝트의 저장소, 지침, 메모리를 제공하며, 어느 것이 사용자를 필요로 하는지 표시합니다. Pro 및 Max에서 공개 베타 | 작업이 여러 날 또는 주에 걸쳐 많은 작업을 포함하고, 사용자의 머신이 꺼져 있을 때도 계속 실행되어야 하며, 각 세션을 디스패치하고 추적하기보다는 한 번에 설명하고 싶을 때 |16| [프로젝트](/docs/ko/claude-projects) | claude.ai/code 또는 데스크톱 앱에서의 지속적인 대화. Claude는 threads라고 불리는 병렬 세션을 클라우드에서 시작하거나, 사용자가 요청할 때 Remote Control을 통해 사용자의 컴퓨터에서 시작하고, 각 세션에 프로젝트의 지침을 제공하며, 어느 것이 사용자를 필요로 하는지 표시합니다. Pro 및 Max에서 공개 베타 | 작업이 여러 날 또는 주에 걸쳐 많은 작업을 포함하고, 사용자의 머신이 꺼져 있을 때도 계속 실행되어야 하며, 각 세션을 디스패치하고 추적하기보다는 한 번에 설명하고 싶을 때 |

17| [동적 워크플로우](/docs/ko/workflows) | 많은 서브에이전트를 실행하고 그 결과를 교차 검증하는 스크립트로, 한 번에 조율하기에는 너무 큰 작업용입니다. 한 번의 패스 이상이 필요한 작업용입니다 | 작업이 소수의 서브에이전트로는 조율할 수 없을 때, 또는 결과를 서로 검증하고 싶을 때: 코드베이스 전체 감사, 500개 파일 마이그레이션, 교차 검증된 연구, 또는 여러 각도에서 작성된 계획 |17| [동적 워크플로우](/docs/ko/workflows) | 많은 서브에이전트를 실행하고 그 결과를 교차 검증하는 스크립트로, 한 번에 조율하기에는 너무 큰 작업용입니다. 한 번의 패스 이상이 필요한 작업용입니다 | 작업이 소수의 서브에이전트로는 조율할 수 없을 때, 또는 결과를 서로 검증하고 싶을 때: 코드베이스 전체 감사, 500개 파일 마이그레이션, 교차 검증된 연구, 또는 여러 각도에서 작성된 계획 |

18 18 

19모든 접근 방식에서 작업자는 Claude 세션입니다. 다른 도구를 포함하려면 [MCP 서버](/docs/ko/mcp)로 Claude에 노출하세요.19모든 접근 방식에서 작업자는 Claude 세션입니다. 다른 도구를 포함하려면 [MCP 서버](/docs/ko/mcp)로 Claude에 노출하세요.

artifacts.md +36 −4

Details

305 305 

306타이포그래피의 경우, Claude는 Google Fonts에서 타입페이스를 로드할 수 있으며, 이는 아티팩트 페이지가 로드할 수 있는 유일한 외부 글꼴 소스입니다. Claude는 다른 모든 타입페이스를 `@font-face` 데이터 URI로 인라인하고 모든 타입페이스에 폴백 스택을 제공하므로, 글꼴이 로드되지 않아도 페이지가 여전히 렌더링됩니다. 특정 타입페이스를 사용하려면 프롬프트나 디자인 시스템에서 이름을 지정하세요.306타이포그래피의 경우, Claude는 Google Fonts에서 타입페이스를 로드할 수 있으며, 이는 아티팩트 페이지가 로드할 수 있는 유일한 외부 글꼴 소스입니다. Claude는 다른 모든 타입페이스를 `@font-face` 데이터 URI로 인라인하고 모든 타입페이스에 폴백 스택을 제공하므로, 글꼴이 로드되지 않아도 페이지가 여전히 렌더링됩니다. 특정 타입페이스를 사용하려면 프롬프트나 디자인 시스템에서 이름을 지정하세요.

307 307 

308<h2 id="draft-a-design-canvas">308<h2 id="start-from-a-slides-design-or-docs-template">

309 디자인 캔버스 초안 작성309 슬라이드, 디자인 또는 문서 템플릿에서 시작하기

310</h2>310</h2>

311 311 

312UI, 화면 흐름, 랜딩 페이지 또는 포스터를 구축하기보다는 목업하려면 간단한 설명과 함께 `/design`을 실행하세요. Claude는 디자인을 하나의 캔버스에 아트보드로 초안 작성하고 Design 아티팩트로 캔버스를 게시합니다. 설명은 그려야 할 내용을 지정합니다:312처음부터 페이지를 구축하는 대신 Claude는 claude.ai 계정의 템플릿 중 하나에서 아티팩트를 시작할 수 있습니다: 프레젠테이션을 위한 [Claude Slides](https://support.claude.com/en/articles/17153992-what-are-artifacts-and-how-do-i-use-them#h_11d5a9a5fa), 시각적 디자인을 위한 [Claude Design](https://support.claude.com/en/articles/14604416-get-started-with-claude-design), 또는 다른 사람들이 읽고 편집할 문서를 위한 [Claude Docs](https://support.claude.com/en/articles/16923645-get-started-with-claude-docs). 각각은 claude.ai의 자체 편집기에서 열리며, 사용자와 팀원들이 직접 변경하거나 Claude에 요청할 수 있으며, PowerPoint, PDF 또는 Word와 같은 형식으로 내보낼 수 있습니다.

313 

314템플릿에서 시작하려면 "마이그레이션 노트를 목요일 검토를 위한 덱으로 변환하기" 또는 "이 계획을 팀을 위한 문서로 작성하기"와 같이 원하는 내용을 설명하세요. Claude는 일치하는 템플릿을 선택하고, 요청과 세션에 이미 있는 내용으로 채우며, 링크를 제공합니다. 덱 또는 디자인의 경우 간단한 설명과 함께 `/slides` 또는 `/design`을 실행할 수도 있습니다.

315 

316<Note>

317 템플릿은 베타 버전입니다. Pro, Max 및 Team 플랜에서는 기본적으로 활성화되어 있습니다. Enterprise 플랜에서는 Owner가 **조직 설정 > 아티팩트** 아래에서 [각 템플릿을 활성화합니다](https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans). 조직에서 Slides 템플릿이 비활성화되어 있으면 `/slides`가 나타나지 않습니다. Design 템플릿이 비활성화되어 있으면 `/design`이 디자인을 초안 작성하지 않습니다. 두 명령 모두 Claude Code v2.1.265 이상과 [아티팩트를 사용할 수 있는](#availability) 세션이 필요합니다.

318</Note>

319 

320<h3 id="make-a-slide-deck">

321 슬라이드 덱 만들기

322</h3>

323 

324덱이 다루는 내용과 대상을 설명하는 간단한 설명과 함께 `/slides`를 실행하세요:

325 

326```text wrap theme={null}

327/slides a quarterly review of the platform team's reliability work, for the engineering all-hands

328```

329 

330Claude는 Claude Slides 아티팩트를 생성하고 링크를 제공합니다. 데스크톱 브라우저에서 열어 덱을 편집하거나 프레젠테이션하세요. 간단한 설명 없이 `/slides`를 실행하면 Claude는 덱이 무엇에 관한 것인지 묻고 나서 생성합니다.

331 

332<h3 id="draft-a-design-canvas">

333 디자인 캔버스 초안 작성

334</h3>

335 

336UI, 화면 흐름, 랜딩 페이지 또는 포스터를 구축하기보다는 목업하려면 간단한 설명과 함께 `/design`을 실행하세요. Claude는 디자인을 하나의 캔버스에 아트보드로 초안 작성하고 Claude Design 아티팩트로 캔버스를 게시합니다. 설명은 그려야 할 내용을 지정합니다:

313 337 

314```text wrap theme={null}338```text wrap theme={null}

315/design a settings screen for a mobile banking app339/design a settings screen for a mobile banking app


317 341 

318게시된 아티팩트를 데스크톱 브라우저에서 열어 아트보드를 검토하세요. 아트보드의 요소를 선택하고 변경하면 편집 내용이 자동으로 저장됩니다. 각 아트보드를 PNG 또는 PDF로 내보낼 수 있습니다.342게시된 아티팩트를 데스크톱 브라우저에서 열어 아트보드를 검토하세요. 아트보드의 요소를 선택하고 변경하면 편집 내용이 자동으로 저장됩니다. 각 아트보드를 PNG 또는 PDF로 내보낼 수 있습니다.

319 343 

320`/design`은 [아티팩트를 사용할 수 있는](#availability) 세션과 Claude Code v2.1.265 이상이 필요합니다.344<h3 id="write-a-document-with-claude-docs">

345 Claude Docs로 문서 작성하기

346</h3>

347 

348Claude Docs는 명령이 아닌 claude.ai [커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai)로 Claude Code에 도달합니다. 연결되면 `/mcp`는 이를 `claude.ai Claude Docs`로 나열합니다. 다른 사람들을 위한 문서에 대한 요청은 아티팩트 페이지 대신 Claude Docs로 이동합니다: 사양, 제안 또는 세션에서 작업한 계획의 작성. Claude는 초안이 작성되면 문서의 링크를 제공합니다.

349 

350코드베이스에 속하는 문서(예: README)는 파일로 유지됩니다. Claude가 Claude Docs에 넣을 것에 대한 파일을 얻으려면 `.docx` 또는 저장소의 Markdown 파일과 같은 형식을 지정하세요.

351 

352커넥터를 끄려면 `claude.ai Claude Docs`를 `deniedMcpServers`에 추가하거나 [claude.ai 커넥터 비활성화](/docs/ko/mcp#disable-claude-ai-connectors)에 설명된 `/mcp` 토글을 사용하세요.

321 353 

322<h2 id="page-constraints">354<h2 id="page-constraints">

323 페이지 제약 사항355 페이지 제약 사항

authentication.md +43 −19

Details

32 32 

33로그아웃하고 다시 인증하려면 Claude Code 프롬프트에서 `/logout`을 입력합니다. 로그아웃하면 첫 실행 설정 상태도 재설정되므로 다음에 `claude`를 실행할 때 로그인 및 설정을 다시 진행합니다.33로그아웃하고 다시 인증하려면 Claude Code 프롬프트에서 `/logout`을 입력합니다. 로그아웃하면 첫 실행 설정 상태도 재설정되므로 다음에 `claude`를 실행할 때 로그인 및 설정을 다시 진행합니다.

34 34 

35작업 계정과 개인 계정 같은 여러 계정에 동시에 로그인 상태를 유지하려면 각 계정에 자체 구성 디렉터리를 제공합니다. `claude`를 시작할 때 사용하려는 계정의 디렉터리로 [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars#variables) 환경 변수를 설정합니다. 각 디렉터리에는 자체 설정, 세션 기록 및 claude.ai 로그인 또는 API 키가 있습니다. 예를 들어 Bash 또는 Zsh에서 `~/.bashrc` 또는 `~/.zshrc`에 이 별칭을 추가하면 `claude-work`는 작업 계정을 사용하고 `claude`는 개인 계정을 유지합니다:

36 

37```bash theme={null}

38alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

39```

40 

41새 터미널을 열고 처음으로 `claude-work`를 실행한 후 Claude Code는 새 디렉터리에 대한 로그인 및 설정을 진행합니다. 별도의 디렉터리는 Claude Code가 해당 종류의 로그인을 구성 디렉터리 외부에 저장하기 때문에 Claude Console 로그인 두 개를 [API 키 없이](#sign-in-without-an-api-key) 분리하지 않습니다.

42 

35로그인에 문제가 있으면 [인증 문제 해결](/docs/ko/troubleshoot-install#login-and-authentication)을 참조합니다.43로그인에 문제가 있으면 [인증 문제 해결](/docs/ko/troubleshoot-install#login-and-authentication)을 참조합니다.

36 44 

37<h2 id="set-up-team-authentication">45<h2 id="set-up-team-authentication">


122* 모든 설정 파일이 [`forceLoginOrgUUID`](#restrict-login-to-your-organization)를 설정하거나 `forceLoginMethod`를 `"claudeai"` 또는 `"console"`로 설정합니다.130* 모든 설정 파일이 [`forceLoginOrgUUID`](#restrict-login-to-your-organization)를 설정하거나 `forceLoginMethod`를 `"claudeai"` 또는 `"console"`로 설정합니다.

123* 관리형 설정 파일, MDM 프로필 또는 캐시된 서버 관리 설정과 같은 머신의 관리형 설정 소스가 존재하지만 Claude Code가 [읽을 수 없으며](/docs/ko/managed-settings#invalid-entries-in-managed-settings) 다른 관리형 소스가 정책을 제공하지 않습니다.131* 관리형 설정 파일, MDM 프로필 또는 캐시된 서버 관리 설정과 같은 머신의 관리형 설정 소스가 존재하지만 Claude Code가 [읽을 수 없으며](/docs/ko/managed-settings#invalid-entries-in-managed-settings) 다른 관리형 소스가 정책을 제공하지 않습니다.

124 132 

125키 없이 로그인하기 전에 `ANTHROPIC_API_KEY`를 설정 해제하세요. Claude Code의 자체 Console 로그인 또는 Claude Platform CLI의 `ant auth login`으로 작성된 프로필은 동일한 종류의 자격 증명이므로 다시 로그인하면 이를 바꿉니다.133키 없이 로그인하기 전에 `ANTHROPIC_API_KEY`를 설정 해제하세요.

126 134 

127키 없이 로그인한 후에는 저장된 API 키 대신 프로필이 있습니다.135키 없이 로그인한 후에는 저장된 API 키 대신 프로필이 있습니다.

128 136 


160 168 

161개발자의 claude.ai 로그인이 특정 Anthropic 조직에 속하도록 요구하려면 [관리형 설정](/docs/ko/managed-settings)에서 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod) 및 [`forceLoginOrgUUID`](/docs/ko/settings-reference#forceloginorguuid)를 설정하세요. `forceLoginOrgUUID`를 조직 ID로 설정하세요. 조직 ID는 Claude for Teams 또는 Enterprise 조직의 [claude.ai 관리 설정](https://claude.ai/admin-settings/organization)에 표시됩니다. Claude Code는 다른 조직에 대한 claude.ai 로그인에 대해 오류를 보고하고 사용 중인 claude.ai 자격 증명이 나열되지 않은 조직에 속하는 경우 시작 시 종료됩니다.169개발자의 claude.ai 로그인이 특정 Anthropic 조직에 속하도록 요구하려면 [관리형 설정](/docs/ko/managed-settings)에서 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod) 및 [`forceLoginOrgUUID`](/docs/ko/settings-reference#forceloginorguuid)를 설정하세요. `forceLoginOrgUUID`를 조직 ID로 설정하세요. 조직 ID는 Claude for Teams 또는 Enterprise 조직의 [claude.ai 관리 설정](https://claude.ai/admin-settings/organization)에 표시됩니다. Claude Code는 다른 조직에 대한 claude.ai 로그인에 대해 오류를 보고하고 사용 중인 claude.ai 자격 증명이 나열되지 않은 조직에 속하는 경우 시작 시 종료됩니다.

162 170 

163Claude Console 로그인의 경우 Claude Code는 `forceLoginOrgUUID`를 사용하여 단일 Console 조직 ID로 설정할 때 Console 로그인 페이지에서 조직을 미리 선택합니다. 조직 ID는 [platform.claude.com/settings/organization](https://platform.claude.com/settings/organization)에 표시됩니다. 로그인 시 또는 시작 시 결과 Console 자격 증명이 속한 조직을 확인하지 않으며, 키를 배포하기 전에 Console 계정으로 로그인한 개발자는 로그인 상태를 유지합니다.171Claude Console 로그인의 경우 Claude Code는 `forceLoginOrgUUID`를 사용하여 단일 Console 조직 ID로 설정할 때 Console 로그인 페이지에서 조직을 미리 선택합니다. 조직 ID는 [platform.claude.com/settings/organization](https://platform.claude.com/settings/organization)에 표시됩니다. 로그인 시 또는 시작 시 결과 Console 자격 증명이 속한 조직을 확인하지 않으며, 키를 배포하기 전에 Console 계정으로 로그인한 개발자는 로그인 상태를 유지합니다. 해당 저장된 키는 [게이트웨이](/docs/ko/claude-apps-gateway) 로그인도 요구하는 머신에서 또는 클라우드 공급자를 선택하는 세션에서 차단됩니다.

164 172 

165모든 설정 파일에서 `forceLoginOrgUUID`를 설정하면 Claude Code는 해당 파일이 적용되는 세션에서 [키 없는 Console 로그인](#sign-in-without-an-api-key)을 제공하지 않고 대신 API 키를 생성합니다. 개발자를 claude.ai 로그인으로 유도하려면 `forceLoginMethod`를 `"claudeai"`로 설정하세요.173모든 설정 파일에서 `forceLoginOrgUUID`를 설정하면 Claude Code는 해당 파일이 적용되는 세션에서 [키 없는 Console 로그인](#sign-in-without-an-api-key)을 제공하지 않고 대신 API 키를 생성합니다. 개발자를 claude.ai 로그인으로 유도하려면 `forceLoginMethod`를 `"claudeai"`로 설정하세요.

166 174 

167개발자는 여러 경로에서 로그인할 수 있습니다. 터미널 `/login` 흐름, [VS Code 확장](/docs/ko/vs-code), Agent SDK, `claude setup-token`, `/install-github-app` 및 클라우드 게이트웨이를 통해 라우팅하는 조직의 [게이트웨이](/docs/ko/claude-apps-gateway) 로그인입니다. Claude Code v2.1.212 이상에서는 모든 경로가 `forceLoginMethod`를 적용합니다. v2.1.212 이전에는 터미널 로그인만 두 키를 적용했습니다. 터미널의 대화형 로그인 화면에서 `/login` 또는 처음 실행 온보딩으로 도달하면 Claude Code는 `claudeai` 또는 `console` 방법을 미리 선택하지만 강제하지 않으므로 `forceLoginMethod`가 `"claudeai"`로 설정되어 있어도 개발자는 여전히 Console 로그인을 완료할 수 있습니다. 경로는 `forceLoginOrgUUID`에서 다릅니다.175Claude Code v2.1.212 이상에서는 여기에 나열된 모든 로그인 경로가 `forceLoginMethod`를 적용합니다. 터미널의 대화형 로그인 화면에서 `/login` 또는 처음 실행 온보딩으로 도달하면 Claude Code는 `claudeai` 또는 `console` 방법을 미리 선택하지만 강제하지 않으므로 `forceLoginMethod`가 `"claudeai"`로 설정되어 있어도 개발자는 여전히 Console 로그인을 완료할 수 있습니다. 경로는 `forceLoginOrgUUID`에서 다릅니다.

168 176 

169* **터미널, VS Code 확장 및 Agent SDK 로그인**: claude.ai 계정 로그인에 대해 `forceLoginOrgUUID` 확인177* **터미널, [VS Code 확장](/docs/ko/vs-code) 및 Agent SDK 로그인**: claude.ai 계정 로그인에 대해 `forceLoginOrgUUID` 확인

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

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

172 180 

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"` 값은 이러한 예외 중 하나가 아니므로 두 위치 모두에 유지하세요.181장치 관리 도구를 통해 키를 배포하세요. [서버 관리 설정](/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 182 

183[게이트웨이](/docs/ko/claude-apps-gateway) 배포에서는 [게이트웨이가 제공하는 설정](/docs/ko/claude-apps-gateway-config#managed)에서 `forceLoginMethod` 및 `forceLoginOrgUUID`를 제외하세요.

184 

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

176 186 

177* **`ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`**: 환경 자격 증명에 대해 조직 멤버십을 확인할 수 없으므로 시작 시 차단됩니다.187* **`ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`**: 시작 시 차단됩니다. `forceLoginOrgUUID` 아래에서 환경 자격 증명에 대해 조직 멤버십을 확인할 수 없으며 `forceLoginMethod` 아래에서 자격 증명이 필요한 로그인을 대신할 것입니다. 관리형 설정이 [게이트웨이](/docs/ko/claude-apps-gateway) 로그인도 요구하는 경우 Claude Code는 이전 Claude Console 로그인으로 저장된 API 키를 동일한 방식으로 차단합니다. [관리자 정책에 클라우드 게이트웨이 로그인 필요](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)를 참조하세요.

178* **Amazon Bedrock, Google Cloud's Agent Platform 또는 Microsoft Foundry와 같은 클라우드 공급자 세션**: 클라우드 공급자에 대해 인증하므로 차단되지 않습니다. 클라우드 IAM 정책을 통해 이를 제한하세요.188* **Amazon Bedrock, Google Cloud's Agent Platform 또는 Microsoft Foundry와 같은 클라우드 공급자 세션**: `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper` 자격 증명, 또는 이전 Claude Console 로그인으로 저장된 API 키가 여전히 머신에 있는 동안에만 차단됩니다. 제거하면 세션이 시작됩니다. 이러한 세션은 클라우드 공급자에 대해 인증하며, 클라우드 공급자의 액세스 정책이 이를 제어합니다.

179* **[Anthropic 프로필 또는 페더레이션 자격 증명](#anthropic-profiles-and-federation-credentials)**: 차단되지 않으며 키는 프로필이 속한 조직을 확인하지 않습니다.189* **[Anthropic 프로필 또는 페더레이션 자격 증명](#anthropic-profiles-and-federation-credentials)**: `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper` 자격 증명, 또는 이전 Claude Console 로그인으로 저장된 API 키가 머신에도 있지 않는 한 차단되지 않습니다. 키는 프로필이 속한 조직을 확인하지 않습니다.

180 190 

181<h2 id="credential-management">191<h2 id="credential-management">

182 자격증명 관리192 자격증명 관리


192 * Claude Code는 `/login` 및 `/logout`을 통해 `.credentials.json`을 관리합니다. 요청을 사용자 정의 API 엔드포인트를 통해 라우팅하려면 대신 [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars) 환경 변수를 설정합니다.202 * Claude Code는 `/login` 및 `/logout`을 통해 `.credentials.json`을 관리합니다. 요청을 사용자 정의 API 엔드포인트를 통해 라우팅하려면 대신 [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars) 환경 변수를 설정합니다.

193* **지원되는 인증 유형**: claude.ai 자격증명, Claude API 자격증명, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, Anthropic 프로필 및 [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 자격증명, 그리고 [Claude apps gateway](/docs/ko/claude-apps-gateway) 세션 토큰.203* **지원되는 인증 유형**: claude.ai 자격증명, Claude API 자격증명, Microsoft Foundry Auth, Bedrock Auth, Vertex Auth, Anthropic 프로필 및 [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 자격증명, 그리고 [Claude apps gateway](/docs/ko/claude-apps-gateway) 세션 토큰.

194* **사용자 정의 자격증명 스크립트**: [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정을 구성하여 API 키를 반환하는 셸 스크립트를 실행합니다.204* **사용자 정의 자격증명 스크립트**: [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정을 구성하여 API 키를 반환하는 셸 스크립트를 실행합니다.

195* **새로고침 간격**: Claude Code는 기본적으로 5분 후에 `apiKeyHelper`를 다시 실행합니다. 사용자 정의 새로고침 간격을 위해 `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` 환경 변수를 설정합니다. Claude Code가 도우미를 다시 실행하는 다른 경우는 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper)를 참조합니다.205* **새로고침 간격**: [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper)를 참조하여 Claude Code가 도우미를 다시 실행하는 경우를 확인합니다.

196* **느린 도우미 알림**: `apiKeyHelper`가 키를 반환하는 데 10초 이상 걸리면 Claude Code는 경과 시간을 표시하는 프롬프트 표시줄에 경고 알림을 표시합니다. 이 알림이 정기적으로 표시되면 자격증명 스크립트를 최적화할 수 있는지 확인합니다.206* **느린 도우미 알림**: `apiKeyHelper`가 키를 반환하는 데 10초 이상 걸리면 Claude Code는 경과 시간을 표시하는 프롬프트 표시줄에 경고 알림을 표시합니다. 이 알림이 정기적으로 표시되면 자격증명 스크립트를 최적화할 수 있는지 확인합니다.

197* **도우미 실패**: 스크립트가 오류로 종료되거나 시간 초과되거나 아무것도 인쇄하지 않으면 요청은 3회 시도 내에 [`Your apiKeyHelper script is failing`](/docs/ko/errors#your-apikeyhelper-script-is-failing)으로 실패합니다. v2.1.208 이전에는 도우미 실패가 약 10번의 자동 재시도 후 일반 401로 표시되었습니다.207* **도우미 실패**: 스크립트가 오류로 종료되거나 시간 초과되거나 아무것도 인쇄하지 않으면 요청은 3회 시도 내에 [`Your apiKeyHelper script is failing`](/docs/ko/errors#your-apikeyhelper-script-is-failing)으로 실패합니다.

198 208 

199`apiKeyHelper`, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`은 CLI 및 VS Code 확장 프로그램, Agent SDK, GitHub Actions를 포함하여 이를 래핑하는 표면에 적용됩니다. Claude Desktop 및 클라우드 세션은 `apiKeyHelper`를 호출하거나 이러한 환경 변수를 읽지 않습니다. 이들은 OAuth를 사용하며, [타사 추론 구성](/docs/ko/llm-gateway-connect#desktop-app)을 실행하는 데스크톱 세션은 해당 구성의 자격증명으로 인증합니다.209`apiKeyHelper`, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`은 CLI 및 VS Code 확장 프로그램, Agent SDK, GitHub Actions를 포함하여 이를 래핑하는 표면에 적용됩니다. Claude Desktop 및 클라우드 세션은 `apiKeyHelper`를 호출하거나 이러한 환경 변수를 읽지 않습니다. 이들은 OAuth를 사용하며, [타사 추론 구성](/docs/ko/llm-gateway-connect#desktop-app)을 실행하는 데스크톱 세션은 해당 구성의 자격증명으로 인증합니다.

200 210 


202 만료되는 로그인 갱신212 만료되는 로그인 갱신

203</h3>213</h3>

204 214 

205`/login`으로 생성한 로그인이 만료되기 3일 이내일 때 Claude Code는 시작 시 경고를 표시합니다: `Your login expires in 3 days · run /login to renew`. Claude Code v2.1.203 이상이 필요합니다. v2.1.217 이전에는 경고가 5일 전에 나타났습니다.215`/login`으로 생성한 로그인이 만료되기 3일 이내일 때 Claude Code는 시작 시 경고를 표시합니다: `Your login expires in 3 days · run /login to renew`.

206 216 

207`/login`을 실행하여 갱신합니다. 경고는 정보 제공용이며 요청을 차단하지 않습니다: 로그인이 실제로 만료될 때까지 인증이 계속 작동합니다. 로그인 수명 자체는 변경되지 않습니다. 사전 경고는 v2.1.203이 추가한 것입니다.217`/login`을 실행하여 갱신합니다. 경고는 정보 제공용이며 요청을 차단하지 않습니다: 로그인이 실제로 만료될 때까지 인증이 계속 작동합니다.

208 218 

209저장된 로그인이 만료되고 새로고칠 수 없으면 다시 로그인할 때까지 각 모델 요청은 [`Login expired · Please run /login`](/docs/ko/errors#login-expired)으로 실패합니다. v2.1.206 이전에는 Claude Code가 만료된 로그인을 모델 오류로 보고했습니다.219저장된 로그인이 만료되고 새로고칠 수 없으면 다시 로그인할 때까지 각 모델 요청은 [`Login expired · Please run /login`](/docs/ko/errors#login-expired)으로 실패합니다.

210 220 

211요청이 실패하기 전에 이 상태를 확인할 수 있습니다: [`/status`](/docs/ko/commands)는 `Login` 행을 표시하며 `Expired — log in again`을 읽고, 만료된 로그인에 대해 저장한 조직 및 이메일을 표시합니다. 행은 저장된 claude.ai 또는 Claude Console 로그인이 활성 자격증명일 때만 나타납니다. 행은 Claude Code v2.1.210 이상이 필요합니다.221요청이 실패하기 전에 이 상태를 확인할 수 있습니다: [`/status`](/docs/ko/commands)는 `Login` 행을 표시하며 `Expired — log in again`을 읽고, 만료된 로그인에 대해 저장한 조직 및 이메일을 표시합니다. 행은 저장된 claude.ai 또는 Claude Console 로그인이 활성 자격증명일 때만 나타납니다. 행은 Claude Code v2.1.210 이상이 필요합니다.

212 222 


230 240 

231서명된 [Claude apps gateway](/docs/ko/claude-apps-gateway) 세션은 이 목록 외에 있습니다: Amazon Bedrock 또는 Google Cloud의 Agent Platform과 같은 제공자 선택이며 이들보다 우선합니다. 게이트웨이 세션이 존재할 때 CLI는 `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, 또는 `CLAUDE_CODE_USE_FOUNDRY`가 설정되어 있어도 게이트웨이 토큰으로 인증하며, 베어러 토큰, API 키, `apiKeyHelper`, 프로필과 같은 위의 자격증명 소스는 사용되지 않습니다.241서명된 [Claude apps gateway](/docs/ko/claude-apps-gateway) 세션은 이 목록 외에 있습니다: Amazon Bedrock 또는 Google Cloud의 Agent Platform과 같은 제공자 선택이며 이들보다 우선합니다. 게이트웨이 세션이 존재할 때 CLI는 `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, 또는 `CLAUDE_CODE_USE_FOUNDRY`가 설정되어 있어도 게이트웨이 토큰으로 인증하며, 베어러 토큰, API 키, `apiKeyHelper`, 프로필과 같은 위의 자격증명 소스는 사용되지 않습니다.

232 242 

233머신의 [관리 설정](/docs/ko/managed-settings)이 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정하거나 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl)을 설정하고, `CLAUDE_CODE_USE_BEDROCK` 또는 `CLAUDE_CODE_USE_VERTEX`와 같은 변수를 통해 클라우드 제공자를 선택하지 않으면 세션은 게이트웨이 로그인만 사용합니다. Claude Code는 다른 자격증명 소스를 건너뛰고 `/login`으로 로그인하도록 요청합니다. 각 남은 자격증명으로 표시되는 내용은 [Administrator policy requires a Cloud gateway sign-in](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)을 참조합니다. v2.1.261 이전이거나 `forceLoginGatewayUrl`만 설정하는 머신에서 v2.1.265 이전에는 Claude Code가 게이트웨이에 로그인할 때까지 이러한 머신에서 남은 저장된 로그인을 사용했습니다.243머신의 [관리 설정](/docs/ko/managed-settings)이 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정하거나 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl)을 설정하고, `CLAUDE_CODE_USE_BEDROCK` 또는 `CLAUDE_CODE_USE_VERTEX`와 같은 변수를 통해 클라우드 제공자를 선택하지 않으면 세션은 게이트웨이 로그인만 사용합니다. Claude Code는 다른 자격증명 소스를 건너뛰고 `/login`으로 로그인하도록 요청합니다. 각 남은 자격증명으로 표시되는 내용은 [Administrator policy requires a Cloud gateway sign-in](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)을 참조합니다. Claude Code v2.1.261 이상, 또는 `forceLoginGatewayUrl`만 설정하는 머신에서 v2.1.265 이상이 필요합니다.

234 244 

235활성 Claude 구독이 있지만 환경에 `ANTHROPIC_API_KEY`도 설정되어 있으면 승인된 후 API 키가 우선합니다. 키가 비활성화되거나 만료된 조직에 속하면 인증 실패가 발생할 수 있습니다.245활성 Claude 구독이 있지만 환경에 `ANTHROPIC_API_KEY`도 설정되어 있으면 승인된 후 API 키가 우선합니다. 키가 비활성화되거나 만료된 조직에 속하면 인증 실패가 발생할 수 있습니다.

236 246 


254| 페더레이션 변수 | `ANTHROPIC_FEDERATION_RULE_ID` 및 `ANTHROPIC_ORGANIZATION_ID`, 둘 다 설정됨 | 위 |264| 페더레이션 변수 | `ANTHROPIC_FEDERATION_RULE_ID` 및 `ANTHROPIC_ORGANIZATION_ID`, 둘 다 설정됨 | 위 |

255| 활성 프로필 | 구성 디렉터리의 [`active_config` 파일](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) 또는 `default`라는 프로필 | 인증 모드가 `oidc_federation`일 때 위; 인증 모드가 `user_oauth`일 때 작동하는 `/login` 자격증명 아래 |265| 활성 프로필 | 구성 디렉터리의 [`active_config` 파일](https://platform.claude.com/docs/en/manage-claude/wif-reference#active-profile) 또는 `default`라는 프로필 | 인증 모드가 `oidc_federation`일 때 위; 인증 모드가 `user_oauth`일 때 작동하는 `/login` 자격증명 아래 |

256 266 

257`user_oauth` 규칙은 남은 `ant auth login` 프로필이 `/login`으로 로그인한 계정에서 요청을 이동하는 것을 방지합니다. 페더레이션 변수의 경우 Claude Code는 ID 토큰을 교환할 때 [WIF 참조](https://platform.claude.com/docs/en/manage-claude/wif-reference#environment-variables)의 `ANTHROPIC_IDENTITY_TOKEN_FILE`과 같은 다른 변수도 읽습니다. 프로필 파일 형식은 [WIF 참조](https://platform.claude.com/docs/en/manage-claude/wif-reference#profile-configuration-file)를 참조합니다.267페더레이션 변수의 경우 Claude Code는 ID 토큰을 교환할 때 [WIF 참조](https://platform.claude.com/docs/en/manage-claude/wif-reference#environment-variables)의 `ANTHROPIC_IDENTITY_TOKEN_FILE`과 같은 다른 변수도 읽습니다. 프로필 파일 형식은 [WIF 참조](https://platform.claude.com/docs/en/manage-claude/wif-reference#profile-configuration-file)를 참조합니다.

258 268 

259Claude Code가 선택한 소스를 확인하려면 `/status`를 실행합니다. `Profile` 행은 `Login method` 행 대신 소스의 이름을 지정하고, 프로필이 사용 중인 자격증명일 때 `Organization` 및 `Email` 행은 해당 계정을 표시합니다.269Claude Code가 선택한 소스를 확인하려면 `/status`를 실행합니다. `Profile` 행은 `Login method` 행 대신 소스의 이름을 지정하고, 프로필이 사용 중인 자격증명일 때 `Organization` 및 `Email` 행은 해당 계정을 표시합니다.

260 270 

261`--debug`로 Claude Code를 시작하면 `~/.claude/debug/<session-id>.txt`의 디버그 로그에 소스 이름이 있는 `Using Anthropic profile auth` 행도 작성합니다. Claude Code가 작동하는 `/login` 자격증명이 있기 때문에 `user_oauth` 활성 프로필을 건너뛸 때 claude.ai 로그인을 대신 사용하고 있다는 경고를 디버그 로그에 작성합니다.

262 

263`user_oauth` 프로필의 로그인이 만료되고 Claude Code가 이를 갱신할 수 없으면 요청은 [Anthropic profile login expired](/docs/ko/errors#anthropic-profile-login-expired)로 실패합니다.271`user_oauth` 프로필의 로그인이 만료되고 Claude Code가 이를 갱신할 수 없으면 요청은 [Anthropic profile login expired](/docs/ko/errors#anthropic-profile-login-expired)로 실패합니다.

264 272 

265[claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai) 및 [`/schedule`](/docs/ko/routines)과 같이 claude.ai 로그인이 필요한 기능은 이러한 소스 중 하나가 선택되어 있는 동안 사용할 수 없습니다. Claude Code가 소스를 선택하지 않도록 하려면:273[claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai) 및 [`/schedule`](/docs/ko/routines)과 같이 claude.ai 로그인이 필요한 기능은 이러한 소스 중 하나가 선택되어 있는 동안 사용할 수 없습니다. Claude Code가 소스를 선택하지 않도록 하려면:


279 287 

280명령은 `/login`과 동일한 브라우저 인증 흐름을 열고, 브라우저에서 액세스를 승인한 후 토큰이 터미널에 인쇄됩니다. 토큰을 어디에도 저장하지 않으므로 복사하여 인증하려는 곳에 `CLAUDE_CODE_OAUTH_TOKEN` 환경 변수로 설정합니다:288명령은 `/login`과 동일한 브라우저 인증 흐름을 열고, 브라우저에서 액세스를 승인한 후 토큰이 터미널에 인쇄됩니다. 토큰을 어디에도 저장하지 않으므로 복사하여 인증하려는 곳에 `CLAUDE_CODE_OAUTH_TOKEN` 환경 변수로 설정합니다:

281 289 

282```bash theme={null}290<Tabs>

283export CLAUDE_CODE_OAUTH_TOKEN=your-token291 <Tab title="macOS, Linux, WSL">

284```292 ```bash theme={null}

293 export CLAUDE_CODE_OAUTH_TOKEN=your-token

294 ```

295 </Tab>

296 

297 <Tab title="Windows PowerShell">

298 ```powershell theme={null}

299 $env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"

300 ```

301 </Tab>

302 

303 <Tab title="Windows CMD">

304 ```batch theme={null}

305 set CLAUDE_CODE_OAUTH_TOKEN=your-token

306 ```

307 </Tab>

308</Tabs>

285 309 

286이 토큰은 Claude 구독으로 인증하며 Pro, Max, Team 또는 Enterprise 플랜이 필요합니다. 모델 요청만 수행할 수 있으므로 [Remote Control](/docs/ko/remote-control) 세션을 설정하거나 [claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai)를 가져올 수 없습니다. 로컬로 구성한 MCP 서버는 계속 작동합니다.310이 토큰은 Claude 구독으로 인증하며 Pro, Max, Team 또는 Enterprise 플랜이 필요합니다. 모델 요청만 수행할 수 있으므로 [Remote Control](/docs/ko/remote-control) 세션을 설정하거나 [claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai)를 가져올 수 없습니다. 로컬로 구성한 MCP 서버는 계속 작동합니다.

287 311 

Details

9[자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)를 사용하면 Claude Code가 도구 호출을 분류기를 통해 라우팅하여 비가역적이거나 파괴적이거나 환경 외부를 대상으로 하는 모든 것을 차단함으로써 일상적인 권한 프롬프트 없이 실행될 수 있습니다. 거부 및 명시적 요청 규칙은 분류기 전에 평가되며 여전히 차단하거나 프롬프트합니다. `autoMode` 설정 블록을 사용하여 분류기에 조직이 신뢰하는 저장소, 버킷 및 도메인을 알려주면 일상적인 내부 작업 차단을 중지합니다.9[자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)를 사용하면 Claude Code가 도구 호출을 분류기를 통해 라우팅하여 비가역적이거나 파괴적이거나 환경 외부를 대상으로 하는 모든 것을 차단함으로써 일상적인 권한 프롬프트 없이 실행될 수 있습니다. 거부 및 명시적 요청 규칙은 분류기 전에 평가되며 여전히 차단하거나 프롬프트합니다. `autoMode` 설정 블록을 사용하여 분류기에 조직이 신뢰하는 저장소, 버킷 및 도메인을 알려주면 일상적인 내부 작업 차단을 중지합니다.

10 10 

11<Note>11<Note>

12 자동 모드는 Anthropic API, [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws), Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 로그인된 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션을 포함한 모든 제공자의 모든 사용자가 사용할 수 있습니다. Claude Code가 계정에 대해 자동 모드를 사용할 수 없다고 보고하는 경우 지원되는 모델 및 Team 및 Enterprise 플랜의 조직 수준 제어도 다루는 [전체 요구사항](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)을 확인하십시오. v2.1.158부터 v2.1.206까지 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 Claude 앱 게이트웨이 세션의 자동 모드는 `CLAUDE_CODE_ENABLE_AUTO_MODE=1` 설정이 필요했습니다. v2.1.207은 이 요구사항을 제거했습니다.12 이 페이지는 구성 참조입니다. 자동 모드를 켜고 끄는 것은 권한 모드 페이지에서 다룹니다:

13 

14 * **세션 중간에 자동 모드로 전환하거나 빠져나가기**: [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes) 참조

15 * **자동 모드에서 세션 시작하기**: [다른 권한 모드에서 시작](/docs/ko/permission-modes#start-in-a-different-mode) 참조

13</Note>16</Note>

14 17 

15기본적으로 분류기는 작업 디렉토리와 현재 저장소의 구성된 원격만 신뢰합니다. 회사의 소스 제어 조직으로 푸시하거나 팀 클라우드 버킷에 쓰기와 같은 작업은 `autoMode.environment`에 추가할 때까지 차단됩니다.18자동 모드는 Anthropic API, [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws), Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 로그인된 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션을 포함한 모든 제공자의 모든 사용자가 사용할 수 있습니다. Claude Code가 계정에 대해 자동 모드를 사용할 수 없다고 보고하는 경우 지원되는 모델 및 Team 및 Enterprise 플랜의 조직 수준 제어도 다루는 [전체 요구사항](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)을 확인하십시오.

16 19 

17자동 모드에 세션이 어떻게 진입하고 분류기가 기본적으로 무엇을 차단하는지에 대해서는 [권한 모드 페이지의 자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)를 참조하십시오. 이 페이지는 구성 참조입니다.20기본적으로 분류기는 작업 디렉토리와 현재 저장소의 구성된 원격만 신뢰합니다. 회사의 소스 제어 조직으로 푸시하거나 팀 클라우드 버킷에 쓰기와 같은 작업은 `autoMode.environment`에 추가할 때까지 차단됩니다.

18 21 

19이 페이지에서는 다음을 다룹니다:22이 페이지에서는 다음을 다룹니다:

20 23 

21* [`permissions.ask`를 사용하여 푸시 및 풀 요청에 대한 사람 체크포인트 추가](#add-a-human-checkpoint)24* [`permissions.ask`를 사용하여 푸시 및 풀 요청에 대한 사람 체크포인트 추가](#add-a-human-checkpoint)

22* [CLAUDE.md, 사용자 설정 및 관리 설정 전체에서 규칙을 설정할 위치 선택](#where-the-classifier-reads-configuration)

23* [`autoMode.environment`를 사용하여 신뢰할 수 있는 인프라 정의](#define-trusted-infrastructure)25* [`autoMode.environment`를 사용하여 신뢰할 수 있는 인프라 정의](#define-trusted-infrastructure)

24* [`/auto-mode-setup`을 사용하여 환경 항목 생성](#generate-environment-entries)26* [`/auto-mode-setup`을 사용하여 환경 항목 생성](#generate-environment-entries)

25* [기본값이 파이프라인에 맞지 않을 때 차단 및 허용 규칙 재정의](#override-the-block-and-allow-rules)

26* [`/permissions`에서 설정 파일을 열지 않고 규칙 편집](#edit-rules-from-permissions)

27* [`autoMode.classifyAllShell`을 사용하여 모든 셸 명령을 분류기를 통해 라우팅](#route-all-shell-commands-through-the-classifier)

28* [`claude auto-mode` 하위 명령으로 기본값 및 유효한 구성 검사](#inspect-the-defaults-and-your-effective-config)

29* [거부 사항 검토](#review-denials)하여 다음에 추가할 항목을 파악합니다.27* [거부 사항 검토](#review-denials)하여 다음에 추가할 항목을 파악합니다.

30 28 

31<h2 id="common-boundaries">29<h2 id="common-boundaries">


34 32 

35자동 모드는 작업 중인 저장소의 모든 브랜치(기본 브랜치 포함)로의 푸시와 기본적으로 풀 요청 생성을 허용합니다. `production`, `release`, 또는 `gh-pages`와 같이 배포 또는 게시 대상으로 표시되는 기본이 아닌 브랜치는 해당 기본값에 포함되지 않습니다. 분류기는 프로덕션 배포를 포함하여 자체 조건에 따라 해당 푸시를 판단합니다. 푸시의 콘텐츠도 여전히 확인되므로 강제 푸시, 커밋에 진입하는 시크릿, 또는 CI나 배포 파이프라인이 실행할 때 시크릿을 저장소 외부로 보낼 변경 사항은 차단된 상태로 유지됩니다.33자동 모드는 작업 중인 저장소의 모든 브랜치(기본 브랜치 포함)로의 푸시와 기본적으로 풀 요청 생성을 허용합니다. `production`, `release`, 또는 `gh-pages`와 같이 배포 또는 게시 대상으로 표시되는 기본이 아닌 브랜치는 해당 기본값에 포함되지 않습니다. 분류기는 프로덕션 배포를 포함하여 자체 조건에 따라 해당 푸시를 판단합니다. 푸시의 콘텐츠도 여전히 확인되므로 강제 푸시, 커밋에 진입하는 시크릿, 또는 CI나 배포 파이프라인이 실행할 때 시크릿을 저장소 외부로 보낼 변경 사항은 차단된 상태로 유지됩니다.

36 34 

37<Info>v2.1.211 이전에는 분류기가 작업 브랜치, Claude가 생성한 브랜치, 그리고 기본 브랜치로의 일상적인 푸시만 허용했습니다.</Info>

38 

39Claude의 푸시 및 풀 요청 명령 전에 사람의 체크포인트를 원하신다면 권한 규칙을 추가하십시오. [아래의 레시피](#add-a-human-checkpoint)는 다른 모든 것에 대해 자동 모드를 유지합니다.35Claude의 푸시 및 풀 요청 명령 전에 사람의 체크포인트를 원하신다면 권한 규칙을 추가하십시오. [아래의 레시피](#add-a-human-checkpoint)는 다른 모든 것에 대해 자동 모드를 유지합니다.

40 36 

41<h3 id="add-a-human-checkpoint">37<h3 id="add-a-human-checkpoint">


79| 조직 전체 | [관리되는 설정](/docs/ko/server-managed-settings) | 모든 개발자에게 배포되는 신뢰할 수 있는 인프라 |75| 조직 전체 | [관리되는 설정](/docs/ko/server-managed-settings) | 모든 개발자에게 배포되는 신뢰할 수 있는 인프라 |

80| `--settings` 플래그 또는 Agent SDK | 인라인 JSON | 자동화를 위한 호출별 재정의 |76| `--settings` 플래그 또는 Agent SDK | 인라인 JSON | 자동화를 위한 호출별 재정의 |

81 77 

82분류기는 `.claude/settings.json` 또는 `.claude/settings.local.json`의 프로젝트 설정에서 `autoMode`를 읽지 않습니다. 두 파일 모두 저장소 디렉토리에 있으므로 체크인된 저장소 또는 빌드 단계가 자체 허용 규칙을 주입할 수 있습니다. v2.1.207 이전에는 분류기도 `.claude/settings.local.json`을 읽었습니다. 해당 파일의 `autoMode` 블록을 `~/.claude/settings.json`으로 이동합니다. `.claude/settings.local.json`을 제외하면 저장소가 파일을 커밋하거나 로컬 도구 또는 빌드 단계가 파일을 작성하는 경우도 해결됩니다.78분류기는 `.claude/settings.json` 또는 `.claude/settings.local.json`의 프로젝트 설정에서 `autoMode`를 읽지 않습니다. 두 파일 모두 저장소 디렉토리에 있으므로 체크인된 저장소 또는 빌드 단계가 자체 허용 규칙을 주입할 수 있습니다. `.claude/settings.local.json`의 `autoMode` 블록을 `~/.claude/settings.json`으로 이동합니다.

83 79 

84각 범위의 항목이 결합됩니다. 개발자는 `environment`, `allow`, `soft_deny` 및 `hard_deny`를 개인 항목으로 확장할 수 있지만 관리되는 설정이 제공하는 항목을 제거할 수 없습니다. 허용 규칙이 분류기 내의 소프트 블록 규칙에 대한 예외로 작동하므로 개발자가 추가한 `allow` 항목은 조직의 `soft_deny` 항목을 재정의할 수 있습니다. 조합은 가산적이며 하드 정책 경계가 아닙니다.80각 범위의 항목이 결합됩니다. 개발자는 `environment`, `allow`, `soft_deny` 및 `hard_deny`를 개인 항목으로 확장할 수 있지만 관리되는 설정이 제공하는 항목을 제거할 수 없습니다. 허용 규칙이 분류기 내의 소프트 블록 규칙에 대한 예외로 작동하므로 개발자가 추가한 `allow` 항목은 조직의 `soft_deny` 항목을 재정의할 수 있습니다. 조합은 가산적이며 하드 정책 경계가 아닙니다.

85 81 


93 89 

94대부분의 조직에서 `autoMode.environment`는 설정해야 할 유일한 필드입니다. 이 필드는 분류기에 어떤 저장소, 버킷, 도메인이 신뢰할 수 있는지 알려줍니다. 분류기는 이를 사용하여 "외부"가 무엇인지 결정하므로, 나열되지 않은 모든 대상은 잠재적 데이터 유출 대상입니다.90대부분의 조직에서 `autoMode.environment`는 설정해야 할 유일한 필드입니다. 이 필드는 분류기에 어떤 저장소, 버킷, 도메인이 신뢰할 수 있는지 알려줍니다. 분류기는 이를 사용하여 "외부"가 무엇인지 결정하므로, 나열되지 않은 모든 대상은 잠재적 데이터 유출 대상입니다.

95 91 

96Claude Code v2.1.198부터 `claude auto-mode defaults`는 세 가지 종류의 환경 항목을 출력합니다. v2.1.195 이전 버전은 처음 다섯 개의 신뢰 슬롯만 출력합니다.92`claude auto-mode defaults`는 세 가지 종류의 환경 항목을 출력합니다.

97 93 

98* **컨텍스트 슬롯**: 조직, 스택, 보안 태세를 설명하여 분류기가 컨텍스트의 다른 규칙을 읽을 수 있도록 합니다. 각각은 `None configured`로 기본 설정되거나 옆에 명시된 보수적 가정으로 기본 설정됩니다:94* **컨텍스트 슬롯**: 조직, 스택, 보안 태세를 설명하여 분류기가 컨텍스트의 다른 규칙을 읽을 수 있도록 합니다. 각각은 `None configured`로 기본 설정되거나 옆에 명시된 보수적 가정으로 기본 설정됩니다:

99 * **조직**95 * **조직**


101 * **클라우드 제공자**97 * **클라우드 제공자**

102 * **저장소 가시성**: 저장소는 원격 호스트와 이름이 달리 나타내지 않는 한 비공개로 간주되며, 분류기가 읽는 대화에서 이전의 가시성 확인이 공개임을 보여주는 경우도 예외입니다.98 * **저장소 가시성**: 저장소는 원격 호스트와 이름이 달리 나타내지 않는 한 비공개로 간주되며, 분류기가 읽는 대화에서 이전의 가시성 확인이 공개임을 보여주는 경우도 예외입니다.

103 99 

104 분류기는 Claude Code 자체가 보낸 분류기 요청에서 사용자의 메시지와 Claude가 실행하는 명령을 읽으며 그 출력은 읽지 않습니다. 증거는 저장소를 공개로 명시하는 사용자 자신의 메시지와 같이 분류기가 읽을 수 있는 것이어야 합니다. `gh repo view`의 출력만으로는 분류기에 도달하지 않습니다. 트랜스크립트 증거 확인에는 Claude Code v2.1.200 이상이 필요합니다100 분류기는 Claude Code 자체가 보낸 분류기 요청에서 사용자의 메시지와 Claude가 실행하는 명령을 읽으며 그 출력은 읽지 않습니다. 증거는 저장소를 공개로 명시하는 사용자 자신의 메시지와 같이 분류기가 읽을 수 있는 것이어야 합니다. `gh repo view`의 출력만으로는 분류기에 도달하지 않습니다.

105 * **내부 공유 / 스니펫 호스팅**: 공개 붙여넣기 및 gist 서비스는 사용자가 명시할 때까지 신뢰 경계 외부로 취급됩니다101 * **내부 공유 / 스니펫 호스팅**: 공개 붙여넣기 및 gist 서비스는 사용자가 명시할 때까지 신뢰 경계 외부로 취급됩니다

106 * **조직별 CLI**102 * **조직별 CLI**

107 * **비밀 관리**103 * **비밀 관리**


110 * **호스트 격리**: 개방형 인터넷이 있는 일반 개발자 머신 또는 CI 러너로 기본 설정됩니다. Claude Code가 송신 허용 목록이 있거나 접근하면 안 되는 이웃이 있는 컨테이너, VM 또는 Pod에서 실행되는 경우, 허용된 호스트, 클라우드 메타데이터 엔드포인트에 도달 가능 여부, 작업이 사용하는 클라우드 프로젝트, 클러스터 또는 레지스트리, 그리고 어떤 신원으로 사용하는지 명시합니다. 이 항목이 해당 신원을 명시할 때까지 분류기는 [호스트 자신의 자격 증명에 대한 요청을 차단합니다](/docs/ko/permission-modes#what-the-classifier-blocks-by-default). Claude Code v2.1.257 이상이 필요합니다106 * **호스트 격리**: 개방형 인터넷이 있는 일반 개발자 머신 또는 CI 러너로 기본 설정됩니다. Claude Code가 송신 허용 목록이 있거나 접근하면 안 되는 이웃이 있는 컨테이너, VM 또는 Pod에서 실행되는 경우, 허용된 호스트, 클라우드 메타데이터 엔드포인트에 도달 가능 여부, 작업이 사용하는 클라우드 프로젝트, 클러스터 또는 레지스트리, 그리고 어떤 신원으로 사용하는지 명시합니다. 이 항목이 해당 신원을 명시할 때까지 분류기는 [호스트 자신의 자격 증명에 대한 요청을 차단합니다](/docs/ko/permission-modes#what-the-classifier-blocks-by-default). Claude Code v2.1.257 이상이 필요합니다

111 * **보호된 배포 네임스페이스 / 환경**: 사용자가 명시할 때까지 민감한 원격 대상 휴리스틱으로 폴백됩니다107 * **보호된 배포 네임스페이스 / 환경**: 사용자가 명시할 때까지 민감한 원격 대상 휴리스틱으로 폴백됩니다

112 * **데이터 보존 / 기밀 해제**108 * **데이터 보존 / 기밀 해제**

113* **신뢰 슬롯**: 분류기가 경계 내부로 취급하는 것을 명시합니다. 슬롯은 신뢰할 수 있는 저장소, 소스 제어, 신뢰할 수 있는 내부 도메인, 신뢰할 수 있는 클라우드 버킷, 주요 내부 서비스, 내부 패키지 레지스트리입니다. 저장소 및 소스 제어 항목은 작업 저장소 및 구성된 원격으로 기본 설정됩니다. 다른 모든 신뢰 슬롯은 `None configured`로 기본 설정되므로, 추가할 때까지 다른 것은 신뢰되지 않습니다. 저장소의 가시성은 기밀 자료만 범위를 지정합니다: 비공개 저장소는 기밀 자료의 허용 가능한 대상이지만, 저장소를 비공개로 만든다고 해서 비밀이나 개인 데이터 또는 위탁받은 데이터를 그 안에 넣어도 되는 것은 아니며, 분류기는 작업 저장소 외부에서 이식되거나 재지정되거나 처음 읽은 콘텐츠를 해당 저장소 자신의 작업으로 취급하지 않습니다. 이 범위 지정에는 Claude Code v2.1.203 이상이 필요합니다.109* **신뢰 슬롯**: 분류기가 경계 내부로 취급하는 것을 명시합니다. 슬롯은 신뢰할 수 있는 저장소, 소스 제어, 신뢰할 수 있는 내부 도메인, 신뢰할 수 있는 클라우드 버킷, 주요 내부 서비스, 내부 패키지 레지스트리입니다. 저장소 및 소스 제어 항목은 작업 저장소 및 구성된 원격으로 기본 설정됩니다. 다른 모든 신뢰 슬롯은 `None configured`로 기본 설정되므로, 추가할 때까지 다른 것은 신뢰되지 않습니다. 저장소의 가시성은 기밀 자료만 범위를 지정합니다: 비공개 저장소는 기밀 자료의 허용 가능한 대상이지만, 저장소를 비공개로 만든다고 해서 비밀이나 개인 데이터 또는 위탁받은 데이터를 그 안에 넣어도 되는 것은 아니며, 분류기는 작업 저장소 외부에서 이식되거나 재지정되거나 처음 읽은 콘텐츠를 해당 저장소 자신의 작업으로 취급하지 않습니다.

114* **민감도 슬롯**: 보호 규칙이 고위험으로 취급하는 것을 명시합니다. 슬롯은 민감한 데이터 위치 및 대상, 민감한 원격 대상, 보호된 IaC 범위입니다. 각각은 `prod` 또는 `production`을 포함하는 이름의 모든 호스트 또는 네임스페이스를 민감한 원격 대상으로 취급하는 것과 같은 광범위한 휴리스틱으로 기본 설정되므로, 보호 규칙은 아무것도 구성하기 전에 활성화됩니다. 민감도 슬롯에 구체적인 대상을 명시하면 보호 규칙이 휴리스틱 대신 명시된 대상에 적용됩니다.110* **민감도 슬롯**: 보호 규칙이 고위험으로 취급하는 것을 명시합니다. 슬롯은 민감한 데이터 위치 및 대상, 민감한 원격 대상, 보호된 IaC 범위입니다. 각각은 `prod` 또는 `production`을 포함하는 이름의 모든 호스트 또는 네임스페이스를 민감한 원격 대상으로 취급하는 것과 같은 광범위한 휴리스틱으로 기본 설정되므로, 보호 규칙은 아무것도 구성하기 전에 활성화됩니다. 민감도 슬롯에 구체적인 대상을 명시하면 보호 규칙이 휴리스틱 대신 명시된 대상에 적용됩니다.

115 111 

116<Info>v2.1.211 이전에는 컨텍스트 슬롯에 `main` 및 `master`를 보호된 것으로 취급하는 기본 / 보호된 분기 항목도 포함되었습니다. v2.1.211에서 제거되었습니다: [작업 중인 저장소의 모든 분기로의 푸시](#common-boundaries)는 기본적으로 허용되므로 구성할 보호된 분기 기본값이 없습니다.</Info>

117 

118기본값과 함께 자신의 항목을 추가하려면 배열에 리터럴 문자열 `"$defaults"`를 포함합니다. 기본 항목은 해당 위치에 삽입되므로 사용자 정의 항목은 앞이나 뒤에 올 수 있습니다.112기본값과 함께 자신의 항목을 추가하려면 배열에 리터럴 문자열 `"$defaults"`를 포함합니다. 기본 항목은 해당 위치에 삽입되므로 사용자 정의 항목은 앞이나 뒤에 올 수 있습니다.

119 113 

120다음 예제는 기본 항목을 유지하고 조직의 저장소, 버킷, 도메인, 서비스를 추가합니다.114다음 예제는 기본 항목을 유지하고 조직의 저장소, 버킷, 도메인, 서비스를 추가합니다.


143* **신뢰할 수 있는 내부 도메인**: `*.internal.example.com`과 같은 네트워크 내부의 API, 대시보드, 서비스에 대한 호스트명137* **신뢰할 수 있는 내부 도메인**: `*.internal.example.com`과 같은 네트워크 내부의 API, 대시보드, 서비스에 대한 호스트명

144* **주요 내부 서비스**: CI, 아티팩트 레지스트리, 내부 패키지 인덱스, 인시던트 도구138* **주요 내부 서비스**: CI, 아티팩트 레지스트리, 내부 패키지 인덱스, 인시던트 도구

145* **내부 패키지 레지스트리**: 설치가 라우팅되어야 하는 비공개 npm, PyPI 또는 기타 레지스트리이므로, 공개 레지스트리를 위해 이를 우회하는 설치가 차단됩니다139* **내부 패키지 레지스트리**: 설치가 라우팅되어야 하는 비공개 npm, PyPI 또는 기타 레지스트리이므로, 공개 레지스트리를 위해 이를 우회하는 설치가 차단됩니다

146* **민감한 데이터 위치 및 대상**: 개인 데이터, 기밀 비즈니스 데이터, 자격 증명, 규제 데이터 또는 유사하게 민감한 자료를 보유하는 버킷, 데이터베이스 또는 경로, 그리고 각 위치의 데이터가 공유될 수 있는 대상이므로 분류기가 콘텐츠에서 추측하는 대신 해당 위치를 보호합니다. Claude Code v2.1.195부터 v2.1.197은 이 항목을 PII / 규제 데이터 위치로 명시하고 대상 차원 없이 개인 또는 규제 데이터를 보유하는 위치만 포함합니다140* **민감한 데이터 위치 및 대상**: 개인 데이터, 기밀 비즈니스 데이터, 자격 증명, 규제 데이터 또는 유사하게 민감한 자료를 보유하는 버킷, 데이터베이스 또는 경로, 그리고 각 위치의 데이터가 공유될 수 있는 대상이므로 분류기가 콘텐츠에서 추측하는 대신 해당 위치를 보호합니다.

147* **민감한 원격 대상**: 프로덕션으로 계산되는 네임스페이스, 호스트 또는 컨테이너이므로 원격 셸 및 포트 포워드에는 명시적 승인이 필요합니다141* **민감한 원격 대상**: 프로덕션으로 계산되는 네임스페이스, 호스트 또는 컨테이너이므로 원격 셸 및 포트 포워드에는 명시적 승인이 필요합니다

148* **보호된 IaC 범위**: 적용 또는 삭제가 항상 변경을 명시하도록 요구해야 하는 인프라 리소스142* **보호된 IaC 범위**: 적용 또는 삭제가 항상 변경을 명시하도록 요구해야 하는 인프라 리소스

149* **추가 컨텍스트**: 규제 산업 제약, 다중 테넌트 인프라 또는 분류기가 위험으로 취급해야 할 영향을 미치는 규정 준수 요구 사항143* **추가 컨텍스트**: 규제 산업 제약, 다중 테넌트 인프라 또는 분류기가 위험으로 취급해야 할 영향을 미치는 규정 준수 요구 사항

150 144 

151내부 패키지 레지스트리, 민감한 데이터 위치 및 대상, 민감한 원격 대상, 보호된 IaC 범위 항목에는 Claude Code v2.1.195 이상이 필요합니다. 이전 버전은 여전히 이를 일반 컨텍스트로 읽지만 이를 대상으로 하는 기본 제공 규칙이 없습니다.

152 

153유용한 시작 템플릿: 괄호로 묶인 필드를 채우고 적용되지 않는 줄을 제거합니다.145유용한 시작 템플릿: 괄호로 묶인 필드를 채우고 적용되지 않는 줄을 제거합니다.

154 146 

155```json theme={null}147```json theme={null}


169}161}

170```162```

171 163 

172더 구체적인 컨텍스트를 제공할수록 분류기가 일상적인 내부 작업과 데이터 유출 시도를 더 잘 구분할 수 있습니다.

173 

174모든 것을 한 번에 채울 필요는 없습니다. 합리적인 롤아웃: 기본값으로 시작하여 소스 제어 조직과 주요 내부 서비스를 추가합니다. 이는 자신의 저장소로 푸시하는 것과 같은 가장 일반적인 거짓 양성을 해결합니다. 다음으로 신뢰할 수 있는 도메인과 클라우드 버킷을 추가합니다. 블록이 발생할 때 나머지를 채웁니다.164모든 것을 한 번에 채울 필요는 없습니다. 합리적인 롤아웃: 기본값으로 시작하여 소스 제어 조직과 주요 내부 서비스를 추가합니다. 이는 자신의 저장소로 푸시하는 것과 같은 가장 일반적인 거짓 양성을 해결합니다. 다음으로 신뢰할 수 있는 도메인과 클라우드 버킷을 추가합니다. 블록이 발생할 때 나머지를 채웁니다.

175 165 

176<h2 id="generate-environment-entries">166<h2 id="generate-environment-entries">


309 299 

310기본적으로 좁은 Bash 및 PowerShell 허용 규칙(예: `Bash(npm test)`)은 자동 모드에서 계속 적용됩니다. Claude Code는 명령이 [명령별 허용 도메인](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)을 포함하지 않는 한 분류기가 실행되기 전에 이를 해결합니다. Claude Code는 `Bash(*)` 또는 와일드카드 인터프리터와 같은 임의의 코드 실행을 허용하는 광범위한 규칙만 일시 중단하며, [`Monitor`](/docs/ko/tools-reference#monitor-tool)를 명명하는 모든 규칙과 함께 일시 중단합니다. Monitor 명령은 셸을 통해 실행되기 때문입니다. 이는 좁은 규칙이 여전히 분류기가 보지 못하는 파괴적인 인수(예: 스크립트 경로 또는 규칙의 접두사가 예상하지 못한 플래그)를 통과시킬 수 있음을 의미합니다.300기본적으로 좁은 Bash 및 PowerShell 허용 규칙(예: `Bash(npm test)`)은 자동 모드에서 계속 적용됩니다. Claude Code는 명령이 [명령별 허용 도메인](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)을 포함하지 않는 한 분류기가 실행되기 전에 이를 해결합니다. Claude Code는 `Bash(*)` 또는 와일드카드 인터프리터와 같은 임의의 코드 실행을 허용하는 광범위한 규칙만 일시 중단하며, [`Monitor`](/docs/ko/tools-reference#monitor-tool)를 명명하는 모든 규칙과 함께 일시 중단합니다. Monitor 명령은 셸을 통해 실행되기 때문입니다. 이는 좁은 규칙이 여전히 분류기가 보지 못하는 파괴적인 인수(예: 스크립트 경로 또는 규칙의 접두사가 예상하지 못한 플래그)를 통과시킬 수 있음을 의미합니다.

311 301 

312`autoMode.classifyAllShell`을 `true`로 설정하여 자동 모드가 활성화되어 있는 동안 모든 Bash 및 PowerShell 허용 규칙을 일시 중단하면, 분류기가 허용 목록에 관계없이 모든 셸 명령을 평가합니다.302`autoMode.classifyAllShell`을 `true`로 설정하여 자동 모드가 활성화되어 있는 동안 모든 Bash 및 PowerShell 허용 규칙을 일시 중단하면, 분류기가 허용 목록에 관계없이 모든 셸 명령을 평가합니다. [중요 경로 제거](/docs/ko/permission-modes#critical-paths)는 예외입니다.

313 303 

314```json theme={null}304```json theme={null}

315{305{


323 313 

324이 설정은 자동 모드가 활성화되어 있는 동안에만 적용되며, 다른 권한 모드에서는 허용 규칙이 정상적으로 작동합니다.314이 설정은 자동 모드가 활성화되어 있는 동안에만 적용되며, 다른 권한 모드에서는 허용 규칙이 정상적으로 작동합니다.

325 315 

326<Note>

327 `autoMode.classifyAllShell`은 Claude Code v2.1.193 이상이 필요합니다. 이전 버전은 키를 무시하고 좁은 셸 허용 규칙을 자동 모드로 계속 전달합니다.

328</Note>

329 

330<h2 id="inspect-the-defaults-and-your-effective-config">316<h2 id="inspect-the-defaults-and-your-effective-config">

331 기본값 및 유효한 구성 검사317 기본값 및 유효한 구성 검사

332</h2>318</h2>


375claude auto-mode critique361claude auto-mode critique

376```362```

377 363 

378설정을 저장한 후 `claude auto-mode config`를 실행하여 유효한 규칙이 예상한 것인지 확인합니다. `"$defaults"`는 제자리에 확장됩니다. 사용자 정의 규칙을 작성한 경우 `claude auto-mode critique`는 이를 검토하고 모호하거나, 중복되거나, 거짓 양성을 유발할 가능성이 있는 항목에 플래그를 지정합니다.364사용자 정의 규칙을 작성한 경우 `claude auto-mode critique`는 이를 검토하고 모호하거나, 중복되거나, 거짓 양성을 유발할 가능성이 있는 항목에 플래그를 지정합니다.

379 365 

380사용자 정의를 버리고 기본 제공 기본값으로 돌아가려면 reset 하위 명령어를 실행합니다. Claude Code v2.1.212 이상이 필요하며 사용자 설정 파일에서 `autoMode` 섹션을 제거합니다:366사용자 정의를 버리고 기본 제공 기본값으로 돌아가려면 reset 하위 명령어를 실행합니다. Claude Code v2.1.212 이상이 필요하며 사용자 설정 파일에서 `autoMode` 섹션을 제거합니다:

381 367 


409 395 

410`/permissions` 대화 상자의 [**자동 모드** 탭](#edit-rules-from-permissions)에서 환경 항목 또는 `allow` 규칙을 추가할 수 있습니다.396`/permissions` 대화 상자의 [**자동 모드** 탭](#edit-rules-from-permissions)에서 환경 항목 또는 `allow` 규칙을 추가할 수 있습니다.

411 397 

412대부분의 세션에서 이유는 분류기가 일치한 규칙을 `[Data Exfiltration]` 또는 `[Production Deploy]`와 같이 대괄호로 표시하며, 일부 세션은 짧은 설명을 추가하는 분류기 모델을 실행합니다. Claude Code가 분류기 모델을 선택하므로 표시되는 이유의 형식은 구성할 수 있는 것이 아닙니다.398사각형 괄호 안의 텍스트(예: `[Data Exfiltration]`)는 분류기가 일치시킨 규칙의 이름입니다. 해당 규칙의 전체 내용을 읽으려면 [기본값 및 유효한 구성 검사](#inspect-the-defaults-and-your-effective-config)를 참조합니다.

413 399 

414<h3 id="fix-repeated-denials">400<h3 id="fix-repeated-denials">

415 반복된 거부 해결401 반복된 거부 해결


417 403 

418동일한 대상에 대한 반복된 거부는 일반적으로 분류기가 컨텍스트를 누락했음을 의미합니다. 해당 대상을 `autoMode.environment`에 추가하거나 [/auto-mode-setup 실행](#generate-environment-entries)하여 Claude Code가 항목을 작성하도록 한 다음 `claude auto-mode config`를 실행하여 변경 사항이 적용되었는지 확인합니다.404동일한 대상에 대한 반복된 거부는 일반적으로 분류기가 컨텍스트를 누락했음을 의미합니다. 해당 대상을 `autoMode.environment`에 추가하거나 [/auto-mode-setup 실행](#generate-environment-entries)하여 Claude Code가 항목을 작성하도록 한 다음 `claude auto-mode config`를 실행하여 변경 사항이 적용되었는지 확인합니다.

419 405 

420거부에 프로그래밍 방식으로 반응하려면 [`PermissionDenied` 훅](/docs/ko/hooks#permissiondenied)을 사용합니다.

421 

422<h2 id="see-also">406<h2 id="see-also">

423 참고 항목407 참고 항목

424</h2>408</h2>

Details

46 46 

47* **한 번의 프롬프트에서**: Claude에게 확인을 실행하고 같은 메시지에서 반복하도록 요청하세요. 위의 표와 같습니다.47* **한 번의 프롬프트에서**: Claude에게 확인을 실행하고 같은 메시지에서 반복하도록 요청하세요. 위의 표와 같습니다.

48* **세션 전체에서**: 확인을 [`/goal` 조건](/docs/ko/goal)으로 설정하세요. 별도의 평가자가 매 턴 후에 다시 확인하고 Claude는 조건이 충족될 때까지 계속 작업합니다. Claude가 멈추면 Claude Code는 결국 목표가 여전히 설정된 상태로 실행을 중지합니다 — [/goal 평가가 어떻게 작동하는지](/docs/ko/goal#how-evaluation-works) 참조하세요.48* **세션 전체에서**: 확인을 [`/goal` 조건](/docs/ko/goal)으로 설정하세요. 별도의 평가자가 매 턴 후에 다시 확인하고 Claude는 조건이 충족될 때까지 계속 작업합니다. Claude가 멈추면 Claude Code는 결국 목표가 여전히 설정된 상태로 실행을 중지합니다 — [/goal 평가가 어떻게 작동하는지](/docs/ko/goal#how-evaluation-works) 참조하세요.

49* **결정론적 게이트로**: [Stop hook](/docs/ko/hooks#stop)이 확인을 스크립트로 실행하고 통과할 때까지 턴이 끝나지 않도록 차단합니다. Claude Code는 hook을 무시하고 8번 연속 차단 후 턴을 종료합니다.49* **결정론적 게이트로**: [Stop hook](/docs/ko/hooks#stop)이 확인을 스크립트로 실행하고 통과할 때까지 턴이 끝나지 않도록 차단합니다. [Stop input](/docs/ko/hooks#stop-input)은 연속 차단의 상한을 다룹니다.

50* **두 번째 의견으로**: [검증 서브에이전트](/docs/ko/sub-agents) 또는 자신의 발견을 확인하는 [동적 워크플로우](/docs/ko/workflows)가 새로운 모델로 결과를 반박하려고 시도하므로, 작업을 수행하는 에이전트가 채점하는 것이 아닙니다.50* **두 번째 의견으로**: [검증 서브에이전트](/docs/ko/sub-agents) 또는 자신의 발견을 확인하는 [동적 워크플로우](/docs/ko/workflows)가 새로운 모델로 결과를 반박하려고 시도하므로, 작업을 수행하는 에이전트가 채점하는 것이 아닙니다.

51 51 

52각 단계는 설정을 주의력으로 교환합니다. 프롬프트 버전은 오늘 모든 작업에서 작동합니다. `/goal` 및 Stop hook 버전은 당신이 없어도 무인 실행이 올바르게 완료되도록 하는 것입니다.52각 단계는 설정을 주의력으로 교환합니다. 프롬프트 버전은 오늘 모든 작업에서 작동합니다. `/goal` 및 Stop hook 버전은 당신이 없어도 무인 실행이 올바르게 완료되도록 하는 것입니다.


209 제어를 포기하지 않으면서 더 적은 프롬프트를 받으려면 `/permissions`로 신뢰하는 도구를 미리 승인하고 `/sandbox`로 샌드박스된 명령을 묻지 않고 실행하도록 하십시오. 편집 및 명령을 직접 승인하려고 할 때 수동 모드로 전환하십시오.209 제어를 포기하지 않으면서 더 적은 프롬프트를 받으려면 `/permissions`로 신뢰하는 도구를 미리 승인하고 `/sandbox`로 샌드박스된 명령을 묻지 않고 실행하도록 하십시오. 편집 및 명령을 직접 승인하려고 할 때 수동 모드로 전환하십시오.

210</Tip>210</Tip>

211 211 

212Pro, Max, Team 플랜에서 auto mode는 대화형 터미널 및 VS Code 세션의 [기본 제공 시작 권한 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)입니다: 별도의 분류기 모델이 대부분의 작업을 검토하고 범위 확대, 알 수 없는 인프라, 또는 적대적 콘텐츠 기반 작업과 같이 위험해 보이는 것만 차단합니다.212Claude Code v2.1.283 이상에서는 auto mode가 대화형 터미널 및 VS Code 세션의 [기본 제공 시작 권한 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)입니다: 별도의 분류기 모델이 대부분의 작업을 검토하고 범위 확대, 알 수 없는 인프라, 또는 적대적 콘텐츠 기반 작업과 같이 위험해 보이는 것만 차단합니다. 이전 버전에서는 auto mode가 Pro, Max, Team 플랜에서만 기본 제공 시작 권한 모드입니다.

213 213 

214수동 모드에서는 다른 플랜의 기본 제공 시작 권한 모드이며, Claude Code는 시스템을 수정할 수 있는 작업 전에 묻습니다: 파일 쓰기, Bash 명령, MCP 도구. 이는 안전하지만 번거롭습니다. 10번째 승인 후에는 실제로 검토하지 않고 클릭만 하고 있습니다. 두 가지 도구가 수동 모드에서 이러한 중단을 줄이고 auto mode에서도 적용됩니다:214수동 모드에서는 Claude Code가 시스템을 수정할 수 있는 작업 전에 묻습니다: 파일 쓰기, Bash 명령, MCP 도구. 이는 안전하지만 번거롭습니다. 10번째 승인 후에는 실제로 검토하지 않고 클릭만 하고 있습니다. 두 가지 도구가 수동 모드에서 이러한 중단을 줄이고 auto mode에서도 적용됩니다:

215 215 

216* **권한 허용 목록**: `npm run lint` 또는 `git commit`과 같이 안전하다고 알고 있는 특정 도구 허용216* **권한 허용 목록**: `npm run lint` 또는 `git commit`과 같이 안전하다고 알고 있는 특정 도구 허용

217* **샌드박싱**: Claude가 정의된 경계 내에서 더 자유롭게 작동할 수 있도록 하는 OS 수준 격리를 활성화하여 파일 시스템 및 네트워크 액세스를 제한합니다217* **샌드박싱**: Claude가 정의된 경계 내에서 더 자유롭게 작동할 수 있도록 하는 OS 수준 격리를 활성화하여 파일 시스템 및 네트워크 액세스를 제한합니다

channels.md +1 −1

Details

361 361 

362미리보기 중에 `--channels`는 Anthropic 유지 관리 허용 목록의 플러그인만 허용하거나 관리자가 [`allowedChannelPlugins`](#restrict-which-channel-plugins-can-run)을 설정한 경우 조직의 허용 목록에서만 허용합니다. [claude-plugins-official](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins)의 채널 플러그인은 기본 승인된 집합입니다. 유효한 허용 목록에 없는 것을 전달하면 Claude Code가 정상적으로 시작되지만 채널이 등록되지 않으며 시작 알림이 이유를 알려줍니다.362미리보기 중에 `--channels`는 Anthropic 유지 관리 허용 목록의 플러그인만 허용하거나 관리자가 [`allowedChannelPlugins`](#restrict-which-channel-plugins-can-run)을 설정한 경우 조직의 허용 목록에서만 허용합니다. [claude-plugins-official](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins)의 채널 플러그인은 기본 승인된 집합입니다. 유효한 허용 목록에 없는 것을 전달하면 Claude Code가 정상적으로 시작되지만 채널이 등록되지 않으며 시작 알림이 이유를 알려줍니다.

363 363 

364구축 중인 채널을 테스트하려면 `--dangerously-load-development-channels`를 사용합니다. 구축하는 사용자 정의 채널 테스트에 대한 정보는 [연구 미리보기 중 테스트](/docs/ko/channels-reference#test-during-the-research-preview)를 참조하세요.364구축 중인 채널을 테스트하려면 `plugin:<name>@<marketplace>` 또는 `server:<name>` 형식으로 `--dangerously-load-development-channels`에 전달합니다. 구축하는 사용자 정의 채널 테스트에 대한 정보는 [연구 미리보기 중 테스트](/docs/ko/channels-reference#test-during-the-research-preview)를 참조하세요.

365 365 

366[Claude Code GitHub 저장소](https://github.com/anthropics/claude-code/issues)에서 문제 또는 피드백을 보고합니다.366[Claude Code GitHub 저장소](https://github.com/anthropics/claude-code/issues)에서 문제 또는 피드백을 보고합니다.

367 367 

Details

804 804 

805채널을 설치 가능하고 공유 가능하게 하려면 [플러그인](/docs/ko/plugins/overview)으로 래핑하고 [마켓플레이스](/docs/ko/plugins/overview)에 게시합니다. 사용자는 `/plugin install`로 설치한 다음 `--channels plugin:<name>@<marketplace>`로 세션별로 활성화합니다.805채널을 설치 가능하고 공유 가능하게 하려면 [플러그인](/docs/ko/plugins/overview)으로 래핑하고 [마켓플레이스](/docs/ko/plugins/overview)에 게시합니다. 사용자는 `/plugin install`로 설치한 다음 `--channels plugin:<name>@<marketplace>`로 세션별로 활성화합니다.

806 806 

807자신의 마켓플레이스에 게시된 채널은 [승인된 허용 목록](/docs/ko/channels#supported-channels)에 없으므로 여전히 `--dangerously-load-development-channels`를 실행해야 합니다. 기본 허용 목록은 `claude-plugins-official`의 채널 플러그인입니다. [인앱 제출 양식](/docs/ko/plugins/publish#submit-to-the-community-marketplace)은 플러그인을 커뮤니티 마켓플레이스에 추가하며, 이는 채널 허용 목록에 없습니다.807자신의 마켓플레이스에 게시된 채널은 [승인된 허용 목록](/docs/ko/channels#supported-channels)에 없으므로 여전히 `--dangerously-load-development-channels`를 실행해야 합니다. 기본 허용 목록은 `claude-plugins-official`의 채널 플러그인입니다. 커뮤니티 마켓플레이스는 채널 허용 목록에 없습니다.

808 808 

809Anthropic 파트너 담당자와 함께 작업 중인 경우 공식 마켓플레이스 목록을 조정하기 위해 연락합니다. Team 및 Enterprise 계획에서 관리자는 대신 조직의 자신의 [`allowedChannelPlugins`](/docs/ko/channels#restrict-which-channel-plugins-can-run) 목록에 플러그인을 포함할 수 있으며, 이는 기본 Anthropic 허용 목록을 대체합니다.809Anthropic 파트너 담당자와 함께 작업 중인 경우 공식 마켓플레이스 목록을 조정하기 위해 연락합니다. Team 및 Enterprise 계획에서 관리자는 대신 조직의 자신의 [`allowedChannelPlugins`](/docs/ko/channels#restrict-which-channel-plugins-can-run) 목록에 플러그인을 포함할 수 있으며, 이는 기본 Anthropic 허용 목록을 대체합니다.

810 810 

Details

114 차례 중간에 전송된 메시지가 checkpoint되지 않음114 차례 중간에 전송된 메시지가 checkpoint되지 않음

115</h3>115</h3>

116 116 

117[Claude가 작업하는 동안 대기열에 추가한](/docs/ko/interactive-mode#queue-messages-while-claude-works) 메시지가 실행 중인 차례 내에서 Claude에 도달하면, 새로운 차례를 시작하는 대신 해당 차례에 참여합니다. 메시지는 대화에 나타나지만, Claude Code는 이에 대한 checkpoint를 생성하지 않으며 rewind 메뉴에 나열되지 않습니다. Claude Code가 자신의 차례로 전송하는 대기열 메시지는 일반적으로 checkpoint를 받습니다.117[Claude가 작업하는 동안 대기열에 추가한](/docs/ko/interactive-mode#queue-messages-while-claude-works) 메시지가 실행 중인 차례 내에서 Claude에 도달하면, 새로운 차례를 시작하는 대신 해당 차례에 참여합니다. 메시지는 대화에 나타나지만, Claude Code는 이에 대한 checkpoint를 생성하지 않으며 rewind 메뉴에 나열되지 않습니다. Claude Code가 자신의 차례로 전송하는 대기열 메시지는 일반적으로 checkpoint를 받습니다. 여러 대기열 메시지가 [해당 차례를 공유](/docs/ko/interactive-mode#when-claude-code-sends-what-you-queued)할 때를 포함합니다.

118 118 

119이러한 메시지를 제거하거나 메시지 이후 Claude가 수행한 편집을 실행 취소하려면, 차례를 시작한 프롬프트로 rewind합니다. 이렇게 하면 메시지가 도착하기 전에 Claude가 수행한 작업을 포함하여 전체 차례가 rewind됩니다.119이러한 메시지를 제거하거나 메시지 이후 Claude가 수행한 편집을 실행 취소하려면, 차례를 시작한 프롬프트로 rewind합니다. 이렇게 하면 메시지가 도착하기 전에 Claude가 수행한 작업을 포함하여 전체 차례가 rewind됩니다.

120 120 

Details

450 450 

451여섯 개의 부모 제공 설정은 다섯 개의 잠금이 모두 설정되어도 필터를 통과합니다. 기본 첫 번째 우승 설정에서, 부모를 차단하는 관리 값은 가장 높은 우선순위 관리 소스의 값입니다. [MCP 서버 잠금](#lock-behavior-across-sources)이 켜져 있는 동안 `allowedMcpServers` 제외. `managedSourcesBehavior` 병합 옵트인에서, [Claude Code가 관리 소스를 결합하는 방법](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)은 대신 어느 소스의 값이 적용되는지 말합니다.451여섯 개의 부모 제공 설정은 다섯 개의 잠금이 모두 설정되어도 필터를 통과합니다. 기본 첫 번째 우승 설정에서, 부모를 차단하는 관리 값은 가장 높은 우선순위 관리 소스의 값입니다. [MCP 서버 잠금](#lock-behavior-across-sources)이 켜져 있는 동안 `allowedMcpServers` 제외. `managedSourcesBehavior` 병합 옵트인에서, [Claude Code가 관리 소스를 결합하는 방법](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)은 대신 어느 소스의 값이 적용되는지 말합니다.

452 452 

453* **`forceLoginOrgUUID`**: 가장 높은 우선순위 관리 소스가 조직 UUID를 설정하지 않을 때 Claude Code는 부모 제공 값을 준수합니다. 게이트웨이 로그인은 이 키를 확인하지 않으므로, 첫 번째 당사자 Anthropic 로그인도 사용하는 플릿에만 중요합니다. 가장 높은 우선순위 관리 소스의 조직 UUID는 부모의 값을 차단하며 Claude Code가 적용하는 값이므로, 거기에 `forceLoginOrgUUID`를 설정하세요.453* **`forceLoginOrgUUID`**: 가장 높은 우선순위 관리 소스가 조직 UUID를 설정하지 않을 때 Claude Code는 부모 제공 값을 준수합니다. 게이트웨이 로그인은 이 키를 확인하지 않습니다. 가장 높은 우선순위 관리 소스의 조직 UUID는 부모의 값을 차단하며 Claude Code가 적용하는 값입니다.

454* **`allowedMcpServers`**: 가장 높은 우선순위 관리 소스가 허용 목록을 설정하지 않을 때 Claude Code는 부모 제공 허용 목록을 준수하며, `allowManagedMcpServersOnly`는 이를 차단하지 않습니다. 잠금은 우승 목록을 관리 값으로 적용하기 때문입니다. 가장 높은 우선순위 관리 소스의 목록은 부모의 목록을 차단하며 Claude Code가 적용하는 목록이므로, 잠금 옆에 거기에 `allowedMcpServers`를 설정하세요. v2.1.223 이전에는, 모든 관리 소스의 어느 키에 대한 값이든 부모의 값을 차단했습니다.454* **`allowedMcpServers`**: 가장 높은 우선순위 관리 소스가 허용 목록을 설정하지 않을 때 Claude Code는 부모 제공 허용 목록을 준수하며, `allowManagedMcpServersOnly`는 이를 차단하지 않습니다. 잠금은 우승 목록을 관리 값으로 적용하기 때문입니다. 가장 높은 우선순위 관리 소스의 목록은 부모의 목록을 차단하며 Claude Code가 적용하는 목록이므로, 잠금 옆에 거기에 `allowedMcpServers`를 설정하세요. v2.1.223 이전에는, 모든 관리 소스의 어느 키에 대한 값이든 부모의 값을 차단했습니다.

455* **`availableModels`**: Claude Code는 우승 관리 소스가 모델 목록을 설정하지 않을 때 부모 제공 모델 목록을 준수합니다. 플릿이 모델을 제한하면, 우승 소스에 `availableModels`를 설정하세요.455* **`availableModels`**: Claude Code는 우승 관리 소스가 모델 목록을 설정하지 않을 때 부모 제공 모델 목록을 준수합니다. 플릿이 모델을 제한하면, 우승 소스에 `availableModels`를 설정하세요.

456* **`strictKnownMarketplaces`**: Claude Code는 우승 관리 소스가 플러그인 마켓플레이스 허용 목록을 설정하지 않을 때 부모 제공 플러그인 마켓플레이스 허용 목록을 준수합니다. 플릿이 마켓플레이스를 제한하면, 우승 소스에 `strictKnownMarketplaces`를 설정하세요. Claude Code v2.1.282 이상이 필요합니다.456* **`strictKnownMarketplaces`**: Claude Code는 우승 관리 소스가 플러그인 마켓플레이스 허용 목록을 설정하지 않을 때 부모 제공 플러그인 마켓플레이스 허용 목록을 준수합니다. 플릿이 마켓플레이스를 제한하면, 우승 소스에 `strictKnownMarketplaces`를 설정하세요. Claude Code v2.1.282 이상이 필요합니다.

Details

170| `password` | 아니오 | 데이터베이스 자격증명입니다. 자격증명이 URL에서 벗어나도록 `postgres_url`이 아닌 여기에 설정합니다. 모든 문자를 수락하고 URL 자격증명보다 우선합니다. |170| `password` | 아니오 | 데이터베이스 자격증명입니다. 자격증명이 URL에서 벗어나도록 `postgres_url`이 아닌 여기에 설정합니다. 모든 문자를 수락하고 URL 자격증명보다 우선합니다. |

171| `max_connections` | 아니오 | 복제본당 Postgres 연결 풀 크기입니다. 기본값 `5`로 보수적이고 공유 데이터베이스에 친화적입니다. [지출 제한](#admin)이 활성화되면, 핫 경로는 추론 요청당 몇 가지 작업을 수행하므로, 로드 아래의 전용 데이터베이스에 대해 이것을 올리고, 복제본 × 이것을 데이터베이스의 `max_connections` 아래로 유지합니다. |171| `max_connections` | 아니오 | 복제본당 Postgres 연결 풀 크기입니다. 기본값 `5`로 보수적이고 공유 데이터베이스에 친화적입니다. [지출 제한](#admin)이 활성화되면, 핫 경로는 추론 요청당 몇 가지 작업을 수행하므로, 로드 아래의 전용 데이터베이스에 대해 이것을 올리고, 복제본 × 이것을 데이터베이스의 `max_connections` 아래로 유지합니다. |

172| `connect_timeout_seconds` | 아니오 | 게이트웨이가 Postgres 연결을 열 때 대기하는 초입니다. `1`에서 `60` 사이의 정수이며, 기본값 `5`입니다. 새 게이트웨이 인스턴스가 시작될 때 연결 시도가 시간 초과되면 올립니다. 게이트웨이 서버에서 Claude Code v2.1.274 이상이 필요합니다. 이전 버전은 키가 설정되어 있을 때 시작을 거부합니다. |172| `connect_timeout_seconds` | 아니오 | 게이트웨이가 Postgres 연결을 열 때 대기하는 초입니다. `1`에서 `60` 사이의 정수이며, 기본값 `5`입니다. 새 게이트웨이 인스턴스가 시작될 때 연결 시도가 시간 초과되면 올립니다. 게이트웨이 서버에서 Claude Code v2.1.274 이상이 필요합니다. 이전 버전은 키가 설정되어 있을 때 시작을 거부합니다. |

173| `readiness_grace_seconds` | 아니오 | Postgres가 응답을 중지한 후 `/readyz`가 준비 상태를 계속 보고하는 초입니다. `0`에서 `3600` 사이의 정수이며, 기본값 `0`입니다. 값을 선택하는 방법은 [중단 동작](/docs/ko/claude-apps-gateway-deploy#outage-behavior)을 참조하세요. 게이트웨이 서버에서 Claude Code v2.1.282 이상이 필요합니다. 이전 버전은 키가 설정되어 있을 때 시작을 거부합니다. |

173 174 

174로컬 개발의 경우, `postgres_url`을 일회용 Postgres 컨테이너로 지정합니다. 예를 들어 `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.175로컬 개발의 경우, `postgres_url`을 일회용 Postgres 컨테이너로 지정합니다. 예를 들어 `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.

175 176 


885 `telemetry`886 `telemetry`

886</h3>887</h3>

887 888 

888CLI는 메트릭, 로그 및 활성화되면 추적을 gateway로 보내며, gateway는 이를 각 구성된 대상으로 그대로 릴레이합니다. 내보내기는 OpenTelemetry Protocol(OTLP)을 HTTP를 통해 사용합니다. 릴레이를 건너뛰고 세션이 수집기로 직접 내보내도록 하려면 [정책에서 수집기를 명명하세요](#export-directly-to-your-collector). 사용 모니터링]\(/ko/monitoring-usage)에서 CLI가 내보내는 메트릭 및 이벤트를 참조하세요.889CLI는 메트릭, 로그 및 활성화되면 추적을 gateway로 보내며, gateway는 이를 각 구성된 대상으로 그대로 릴레이합니다. 내보내기는 OpenTelemetry Protocol(OTLP)을 HTTP를 통해 사용합니다. 릴레이를 건너뛰고 세션이 수집기로 직접 내보내도록 하려면 [정책에서 수집기를 명명하세요](#export-directly-to-your-collector). [사용 모니터링](/docs/ko/monitoring-usage)에서 CLI가 내보내는 메트릭 및 이벤트를 참조하세요.

889 890 

890CLI는 gateway 발급 JWT에서 읽은 인증된 사용자의 ID로 각 내보내기에 스탬프를 찍습니다: `user.id`, `user.email` 및 `user.groups` 속성입니다. 개발자별 비용 및 사용 귀속은 따라서 개발자 측 구성 없이 작동합니다.891CLI는 gateway 발급 JWT에서 읽은 인증된 사용자의 ID로 각 내보내기에 스탬프를 찍습니다: `user.id`, `user.email` 및 `user.groups` 속성입니다. 개발자별 비용 및 사용 귀속은 따라서 개발자 측 구성 없이 작동합니다.

891 892 


947* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`948* `OTEL_EXPORTER_OTLP_ENDPOINT=<public_url>`

948* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`949* `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`

949 950 

951[자신의 레이블 추가](#add-your-own-labels)할 때 gateway는 또한 `OTEL_RESOURCE_ATTRIBUTES`를 푸시합니다.

952 

950gateway 서버의 Claude Code v2.1.265 이전에는 gateway가 신호가 옵트인하지 않은 신호를 포함하여 세 개의 내보내기 선택기를 모두 `otlp`로 푸시했습니다.953gateway 서버의 Claude Code v2.1.265 이전에는 gateway가 신호가 옵트인하지 않은 신호를 포함하여 세 개의 내보내기 선택기를 모두 `otlp`로 푸시했습니다.

951 954 

952푸시된 엔드포인트는 공개 URL에서 빌드되므로 메트릭 및 로그는 개발자 또는 정책의 OTEL 구성이 필요하지 않습니다.955푸시된 엔드포인트는 공개 URL에서 빌드되므로 메트릭 및 로그는 개발자 또는 정책의 OTEL 구성이 필요하지 않습니다.


964 967 

965protobuf 및 JSON OTLP 인코딩 모두 릴레이되며 모든 OpenTelemetry 호환 백엔드가 대상으로 작동합니다.968protobuf 및 JSON OTLP 인코딩 모두 릴레이되며 모든 OpenTelemetry 호환 백엔드가 대상으로 작동합니다.

966 969 

967<h4 id="export-directly-to-your-collector">970<h4 id="add-your-own-labels">

968 수집기로 직접 내보내기971 수집기로 직접 내보내기

969</h4>972</h4>

970 973 


991 994 

992개발자가 로그아웃하거나 다른 gateway에 로그인하면 수집기로의 내보내기가 중지되고 Claude Code는 각 남은 배치를 늦게 전달하지 않고 삭제합니다.995개발자가 로그아웃하거나 다른 gateway에 로그인하면 수집기로의 내보내기가 중지되고 Claude Code는 각 남은 배치를 늦게 전달하지 않고 삭제합니다.

993 996 

994<h4 id="when-a-destination-fails">997<h4 id="export-directly-to-your-collector">

995 대상이 실패할 때998 대상이 실패할 때

996</h4>999</h4>

997 1000 


1001 1004 

1002거부된 페이로드는 실패 카운트를 진행하거나 재설정하지 않습니다. gateway는 대상으로 전달을 계속하고 첫 거부 및 그 후 100번마다 경고를 기록하며 대상을 명명합니다.1005거부된 페이로드는 실패 카운트를 진행하거나 재설정하지 않습니다. gateway는 대상으로 전달을 계속하고 첫 거부 및 그 후 100번마다 경고를 기록하며 대상을 명명합니다.

1003 1006 

1007<h4 id="when-a-destination-fails">

1008 자신의 레이블 추가

1009</h4>

1010 

1011고정된 레이블(예: `service.namespace` 또는 `deployment.environment.name`)을 gateway를 통해 서명된 세션의 원격 측정에 넣으려면 `telemetry.resource_attributes`를 설정하세요. 각 레이블은 OpenTelemetry 리소스 속성이며 모든 대상이 동일한 레이블을 받습니다.

1012 

1013세션은 `telemetry.forward_to` 및 `listen.public_url`도 설정할 때만 레이블을 받습니다. 이 예제는 두 개의 레이블을 추가합니다:

1014 

1015```yaml theme={null}

1016telemetry:

1017 forward_to:

1018 - url: https://otel-collector.internal.example.com

1019 resource_attributes:

1020 service.namespace: claude

1021 deployment.environment.name: prod

1022```

1023 

1024gateway는 레이블이 다음 규칙 중 하나를 위반할 때 시작을 거부하며 시작 오류가 레이블을 명명합니다:

1025 

1026* 이름은 문자, 숫자, `.`, `_` 및 `-`만 사용합니다.

1027* 이름은 예약되지 않습니다. 모든 문자 케이스에서 비교하면 예약된 이름은 `user.`, `enduser.` 또는 `identity.`로 시작하는 모든 것과 `service.name`, `service.version`, `claude.deployment_mode`, `host.arch`, `os.type`, `os.version` 및 `wsl.version`입니다.

1028* 값은 공백이 없는 비어있지 않은 인쇄 가능한 ASCII이며 `, ; = \ " %` 중 하나가 아닙니다.

1029* 값은 최대 255자입니다. gateway가 퍼센트 인코딩 후 계산하므로 `/`, `:` 및 `@`는 각각 3자로 계산됩니다.

1030* 값은 텍스트이므로 숫자, `true` 또는 `false`를 인용하세요.

1031 

1032gateway 서버의 Claude Code v2.1.281 이상이 필요합니다. 이전 gateway는 키를 찾으면 시작을 거부하므로 모든 복제본을 업그레이드한 후 키를 추가하고 이전 버전으로 롤백하기 전에 제거하세요.

1033 

1034`/login`을 통해 서명된 터미널 세션은 다른 [원격 측정 변수](#telemetry)와 함께 레이블을 `OTEL_RESOURCE_ATTRIBUTES`로 받습니다. 정책의 `env` 블록에서 `OTEL_RESOURCE_ATTRIBUTES`를 설정하면 해당 정책과 일치하는 터미널 세션은 레이블 대신 해당 값을 받습니다. Claude Desktop은 `user.email` 및 다른 ID 속성과 함께 gateway에서 레이블을 받습니다.

1035 

1036Claude Code는 또한 각 레이블을 모든 메트릭 데이터 포인트에 복사하므로 리소스 속성을 인덱싱하지 않는 백엔드에서 메트릭을 필터링할 수 있습니다. 해당 복사를 끄려면 [메트릭 카디널리티 제어](/docs/ko/monitoring-usage#metrics-cardinality-control)를 참조하세요.

1037 

1004<h3 id="http-tuning">1038<h3 id="http-tuning">

1005 HTTP 튜닝1039 HTTP 튜닝

1006</h3>1040</h3>


1034 1068 

1035`load_test_mode` 블록을 사용하면 모델 공급자를 호출하지 않고 gateway를 부하 테스트할 수 있습니다. 켜져 있는 동안 gateway는 각 공급자 요청을 평소대로 빌드하고 서명하며, 보내지 않고 버리고, 정상적인 응답 경로를 통해 통조림 회신을 다시 스트리밍합니다. 회신은 통조림임을 말하는 문장으로 시작하는 채우기 텍스트입니다.1069`load_test_mode` 블록을 사용하면 모델 공급자를 호출하지 않고 gateway를 부하 테스트할 수 있습니다. 켜져 있는 동안 gateway는 각 공급자 요청을 평소대로 빌드하고 서명하며, 보내지 않고 버리고, 정상적인 응답 경로를 통해 통조림 회신을 다시 스트리밍합니다. 회신은 통조림임을 말하는 문장으로 시작하는 채우기 텍스트입니다.

1036 1070 

1037v2.1.283 이상이 필요합니다. 이전 버전은 키가 설정되면 시작을 거부하므로 모든 복제본을 업그레이드한 후 블록을 추가하고 롤백하기 전에 제거하세요.1071v2.1.282 이상이 필요합니다. 이전 버전은 키가 설정되면 시작을 거부하므로 모든 복제본을 업그레이드한 후 블록을 추가하고 롤백하기 전에 제거하세요.

1038 1072 

1039아래 예제는 기본값으로 모드를 켜며, 약 10초에 걸쳐 스트리밍되는 750개 출력 토큰의 회신입니다:1073아래 예제는 기본값으로 모드를 켜며, 약 10초에 걸쳐 스트리밍되는 750개 출력 토큰의 회신입니다:

1040 1074 


1055 1089 

1056모드가 켜져 있는 동안 요청은 최대 7자리의 정수를 보유하는 `x-load-test-user` 헤더를 전달할 수 있으며, gateway는 각 숫자를 요청과 함께 온 개발자의 이메일 및 그룹을 가진 별도의 개발자로 계산합니다. 부하 테스트 배포에 자체 빈 데이터베이스를 제공하세요. gateway는 모드가 켜져 있고 개발자가 이미 무언가를 지출한 데이터베이스에 대해 시작을 거부합니다.1090모드가 켜져 있는 동안 요청은 최대 7자리의 정수를 보유하는 `x-load-test-user` 헤더를 전달할 수 있으며, gateway는 각 숫자를 요청과 함께 온 개발자의 이메일 및 그룹을 가진 별도의 개발자로 계산합니다. 부하 테스트 배포에 자체 빈 데이터베이스를 제공하세요. gateway는 모드가 켜져 있고 개발자가 이미 무언가를 지출한 데이터베이스에 대해 시작을 거부합니다.

1057 1091 

1092모드가 켜져 있는 동안 요청은 최대 7자리의 정수를 보유하는 `x-load-test-user` 헤더를 전달할 수 있으며, gateway는 각 숫자를 요청과 함께 온 개발자의 이메일 및 그룹을 가진 별도의 개발자로 계산합니다. 부하 테스트 배포에 자체 빈 데이터베이스를 제공하세요. gateway는 모드가 켜져 있고 개발자가 이미 무언가를 지출한 데이터베이스에 대해 시작을 거부합니다.

1093 

1058<Warning>1094<Warning>

1059 개발자가 사용하는 gateway에 대해 이를 켜지 마세요. 모든 요청은 통조림 회신을 받고 모델은 호출되지 않습니다. gateway는 부팅 시 `load_test_mode is on` 경고를 기록하고 모드가 켜져 있는 동안 각 `inference` [감사 이벤트](/docs/ko/claude-apps-gateway-deploy#logs)를 `load_test: true`로 표시합니다.1095 개발자가 사용하는 gateway에 대해 이를 켜지 마세요. 모든 요청은 통조림 회신을 받고 모델은 호출되지 않습니다. gateway는 부팅 시 `load_test_mode is on` 경고를 기록하고 모드가 켜져 있는 동안 각 `inference` [감사 이벤트](/docs/ko/claude-apps-gateway-deploy#logs)를 `load_test: true`로 표시합니다.

1060</Warning>1096</Warning>


1111 postgres_url: ${GATEWAY_POSTGRES_URL}1147 postgres_url: ${GATEWAY_POSTGRES_URL}

1112 # max_connections: 51148 # max_connections: 5

1113 # connect_timeout_seconds: 51149 # connect_timeout_seconds: 5

1150 # readiness_grace_seconds: 300 # 데이터베이스 장애 조치 중에도 준비 상태 확인을 계속 통과합니다.

1114 1151 

1115# /v1/organizations/spend_limits(Anthropic Admin API를 미러링함)를 활성화합니다.1152# /v1/organizations/spend_limits(Anthropic Admin API를 미러링함)를 활성화합니다.

1116# 및 /v1/messages에서 개발자별 지출 적용. 비활성화하려면 생략합니다.1153# 및 /v1/messages에서 개발자별 지출 적용. 비활성화하려면 생략합니다.


1240 1277 

1241Claude Code는 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/ko/settings-reference#gatewayinternalnetworks), 및 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값을 머신의 관리형 소스에서만 인정합니다: `managed-settings.json`, macOS plist 또는 Windows HKLM 레지스트리, 또는 정책 헬퍼. 개발자가 자신의 `~/.claude/settings.json`에서 이들을 설정하는 것은 효과가 없으며, 게이트웨이 페이로드에서 설정하는 것도 마찬가지입니다.1278Claude Code는 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/ko/settings-reference#gatewayinternalnetworks), 및 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값을 머신의 관리형 소스에서만 인정합니다: `managed-settings.json`, macOS plist 또는 Windows HKLM 레지스트리, 또는 정책 헬퍼. 개발자가 자신의 `~/.claude/settings.json`에서 이들을 설정하는 것은 효과가 없으며, 게이트웨이 페이로드에서 설정하는 것도 마찬가지입니다.

1242 1279 

1280`forceLoginMethod` 및 `forceLoginOrgUUID`를 페이로드에서 제외합니다. Claude Code는 여전히 시작 자격 증명 확인을 위해 페이로드에서 두 키를 모두 읽으므로, 머신에 Anthropic 발급 자격 증명을 유지하는 개발자는 로그인 후에도 [관리자 정책이 Cloud 게이트웨이 로그인을 요구합니다](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)에서 설명한 시작 종료를 받게 됩니다.

1281 

1243<h2 id="related">1282<h2 id="related">

1244 관련1283 관련

1245</h2>1284</h2>

Details

155 운영155 운영

156</h2>156</h2>

157 157 

158게이트웨이가 트래픽을 제공하면, 일상적인 운영은 로그를 읽고, 상태를 프로브하며, 일정에 따라 시크릿을 로테이션하는 것입니다. 아래 섹션은 각각을 다루고, Postgres가 보유한 것과 업그레이드 및 롤백이 어떻게 동작하는지를 다룹니다.158게이트웨이가 트래픽을 처리하고 있으면, 일상적인 운영은 로그를 읽고, 상태를 확인하고, 일정에 따라 시크릿을 로테이션하는 것입니다. 다음 섹션에서는 각각을 다루고, Postgres가 보유한 데이터와 업그레이드 및 롤백의 동작 방식을 설명합니다.

159 159 

160<h3 id="logs">160<h3 id="logs">

161 로그161 로그

162</h3>162</h3>

163 163 

164게이트웨이는 stderr에 두 개의 스트림을 작성하며, 둘 다 JSON 친화적입니다:164게이트웨이는 stderr에 두 개의 스트림을 기록하며, 둘 다 JSON 친화적입니다:

165 165 

166* **감사 이벤트**: 보안 관련 이벤트당 한 줄의 JSON. stderr를 로그 수집기로 파이프하세요.166* **감사 이벤트**: 보안 관련 이벤트당 한 줄의 JSON입니다. stderr를 로그 수집기로 파이프합니다.

167 167 

168 내보낸 이벤트는 `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `access.public_client`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert` 및 `admin.limit.delete`를 포함합니다. 필드는 이벤트에 따라 다릅니다:168 발생하는 이벤트에는 `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `access.public_client`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert`, 및 `admin.limit.delete`가 포함됩니다. 필드는 이벤트에 따라 다릅니다:

169 169 

170 * 성공적인 mint 및 refresh 이벤트는 `sub`, `email`, `client_ip` 및 결과를 전달합니다170 * 성공한 mint 및 refresh 이벤트는 `sub`, `email`, `client_ip` 및 결과를 포함합니다

171 * `auth.denied` 및 `access.denied`는 이유 및 클라이언트 IP를 전달하며, `auth.denied`의 경우 요청 경로도 전달합니다. 이러한 거부 시 사용자 ID가 없기 때문입니다. 두 개의 `access.denied` 이유는 이벤트가 전달하는 것을 변경합니다:171 * `auth.denied` 및 `access.denied`는 이유와 클라이언트 IP를 포함하며, `auth.denied`의 경우 요청 경로도 포함합니다. 이러한 거부 시점에는 사용자 신원이 존재하지 않기 때문입니다. 두 가지 `access.denied` 이유는 이벤트가 전달하는 내용을 변경합니다:

172 * `xff_unparseable`: 이벤트는 또한 읽을 수 없었던 `X-Forwarded-For` 항목을 전달합니다172 * `xff_unparseable`: 이벤트는 읽을 수 없었던 `X-Forwarded-For` 항목도 포함합니다

173 * `client_ip_unknown`: `access_control` 목록이 설정되었을 때 연결에 피어 주소가 없었기 때문에 이벤트는 클라이언트 IP를 전달하지 않습니다173 * `client_ip_unknown`: 이벤트는 클라이언트 IP를 포함하지 않습니다. `access_control` 목록이 설정되어 있는 동안 연결에 피어 주소가 없었기 때문입니다

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

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

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

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

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

179 179 

180<h3 id="health">180<h3 id="health">

181 상태181 상태

182</h3>182</h3>

183 183 

184게이트웨이는 `GET /healthz`를 생존 프로브로 제공하고 `GET /readyz`를 준비 프로브로 제공합니다. `/readyz`는 저장소에 도달 가능한지 확인합니다. 둘 다 `access_control.allow_cidrs`에서 제외되므로 프로브는 잠긴 리스너에서 작동합니다.184게이트웨이는 `GET /healthz`를 생존성 프로브로, `GET /readyz`를 준비 상태 프로브로 제공합니다. `/readyz`는 저장소에 도달할 수 있는지 확인합니다. [`store.readiness_grace_seconds`](/docs/ko/claude-apps-gateway-config#store)를 설정하면, `/readyz`는 저장소가 응답을 중단한 후 최대 그 초 동안 준비 상태로 계속 보고합니다.

185 185 

186`/.well-known/oauth-authorization-server`의 OAuth 검색 문서는 구성 로드, OIDC 검색, 업스트림 클라이언트 구성 및 Postgres 마이그레이션이 모두 성공한 후에만 `200`을 반환하므로, 엔드 투 엔드 부팅 확인으로도 작동합니다.186두 엔드포인트 모두 `access_control.allow_cidrs`에서 제외되므로, 프로브는 잠금된 리스너에서 계속 작동합니다.

187 

188`/.well-known/oauth-authorization-server`의 OAuth 검색 문서는 구성 로드, OIDC 검색, 업스트림 클라이언트 구성 및 Postgres 마이그레이션이 모두 성공한 후에만 `200`을 반환하므로, 엔드-투-엔드 부팅 확인으로도 작동합니다.

187 189 

188<h3 id="concurrent-upstream-requests">190<h3 id="concurrent-upstream-requests">

189 동시 업스트림 요청191 동시 업스트림 요청


191 193 

192기본적으로 각 게이트웨이 복제본은 동시에 최대 256개의 요청을 업스트림으로 보냅니다. 스트리밍 응답은 스트림이 끝날 때까지 제한에 대해 계산됩니다.194기본적으로 각 게이트웨이 복제본은 동시에 최대 256개의 요청을 업스트림으로 보냅니다. 스트리밍 응답은 스트림이 끝날 때까지 제한에 대해 계산됩니다.

193 195 

194복제본이 제한에 있을 때 도착하는 요청은 게이트웨이 내에서 빈 슬롯을 기다립니다. 개발자는 시작이 느리거나 중단된 것처럼 보이는 응답을 봅니다. `provider: anthropic` 업스트림에서, [`timeouts.upstream_ttfb_ms`](/docs/ko/claude-apps-gateway-config#http-tuning)보다 오래 기다리는 요청은 해당 업스트림을 포기하고, 나중 업스트림이 이를 제공하지 않으면 502로 실패합니다.196복제본이 제한에 도달한 동안 도착하는 요청은 게이트웨이 내에서 빈 슬롯을 기다립니다. 개발자는 시작이 느리거나 중단된 것처럼 보이는 응답을 봅니다. `provider: anthropic` 업스트림에서, [`timeouts.upstream_ttfb_ms`](/docs/ko/claude-apps-gateway-config#http-tuning)보다 오래 기다리는 요청은 해당 업스트림을 포기하고, 나중의 업스트림이 이를 처리하지 않으면 502로 실패합니다.

195 197 

196`upstream requests:`를 포함하는 시작 로그 줄은 적용 중인 제한을 보여줍니다. 복제본이 제한보다 더 많은 요청을 열어 두는 동안, 또한 `client requests are open`을 포함하는 경고를 최대 분당 한 번 기록합니다.198`upstream requests:`를 포함하는 시작 로그 줄은 적용 중인 제한을 표시합니다. 복제본이 제한보다 더 많은 요청을 열어 두는 동안, 최대 분당 한 번 `client requests are open`을 포함하는 경고도 기록합니다.

197 199 

198동시에 더 많은 요청을 제공하려면 두 가지 옵션이 있습니다:200동시에 더 많은 요청을 처리하려면 두 가지 옵션이 있습니다:

199 201 

200* 복제본을 추가합니다.202* 복제본을 추가합니다.

201* 각 복제본의 제한을 높입니다. 게이트웨이 컨테이너에서 `BUN_CONFIG_MAX_HTTP_REQUESTS` 환경 변수를 1에서 65535 사이의 정수로 설정한 다음 컨테이너를 다시 시작합니다.203* 각 복제본의 제한을 높입니다. 게이트웨이 컨테이너에서 `BUN_CONFIG_MAX_HTTP_REQUESTS` 환경 변수를 1에서 65535 사이의 정수로 설정한 다음 컨테이너를 다시 시작합니다.

202 204 

203복제본은 요청이 열려 있는 평균 초 수로 나눈 제한 정도의 요청 속도로 제한을 채웁니다. 예를 들어, 요청이 평균 10초 동안 열려 있으면, 기본 제한 256의 복제본은 약 초당 26개 요청으로 제한을 채웁니다.205복제본은 요청이 열려 있는 평균 초 수로 나눈 제한 정도의 요청 속도로 제한을 채웁니다. 예를 들어, 요청이 평균 10초 동안 열려 있으면, 기본 제한 256의 복제본은 약 초당 26개 요청으로 제한을 채웁니다.

204 206 

205CPU에서 자동 스케일링하면, 제한의 복제본은 스케일 아웃을 트리거하지 않고 요청을 큐에 넣으므로, 복제본이 `client requests are open` 경고를 기록할 때 표시하는 CPU 수준 아래로 대상을 설정합니다.207CPU에서 자동 확장하는 경우, 제한에 있는 복제본은 확장을 트리거하지 않고 요청을 큐에 넣으므로, 복제본이 `client requests are open` 경고를 기록할 때 표시하는 CPU 수준 아래로 대상을 설정합니다.

206 208 

207<Warning>209<Warning>

208 모든 열린 요청은 스트리밍 중 및 슬롯을 기다리는 동안 게이트웨이 프로세스에서 메모리를 보유합니다. 제한을 256으로 유지하면, 과부하 복제본의 메모리는 여전히 증가합니다. 대기 요청이 요청 본문을 유지하기 때문입니다. 컨테이너의 메모리를 피크 시 열린 요청 수에 맞게 크기를 조정하고, 제한을 변경할 때 메모리를 감시합니다. 메모리가 부족한 복제본은 종료되고 보유한 모든 스트림을 삭제합니다.210 열려 있는 모든 요청은 스트리밍되는 동안 그리고 슬롯을 기다리는 동안 게이트웨이 프로세스에서 메모리를 보유합니다. 제한을 256으로 유지하면, 과부하 상태의 복제본의 메모리는 여전히 증가합니다. 대기 중인 요청이 요청 본문을 유지하기 때문입니다. 컨테이너의 메모리를 피크 시 열려 있는 요청 수에 맞게 크기를 조정하고, 제한을 변경할 때 메모리를 모니터링합니다. 메모리가 부족한 복제본은 종료되고 보유한 모든 스트림을 삭제합니다.

209</Warning>211</Warning>

210 212 

211<h3 id="outage-behavior">213<h3 id="outage-behavior">

212 중단 동작214 중단 동작

213</h3>215</h3>

214 216 

215Postgres가 다운되면, 게이트웨이 자체는 로그인한 개발자를 계속 제공하고 새로운 로그인은 실패합니다. 개발자가 실제로 계속 작동하는지는 오케스트레이터가 준비를 처리하는 방식에 따라 다릅니다:217Postgres가 다운되면, 게이트웨이 자체는 로그인한 개발자를 계속 처리하고 새로운 로그인은 실패합니다. 개발자가 실제로 계속 작동하는지 여부는 오케스트레이터가 준비 상태를 처리하는 방식에 따라 다릅니다:

218 

219* **기존 세션**: 베어러 토큰은 JWT 시크릿으로 로컬에서 검증되고, 세션 새로고침은 저장소를 건드리지 않으며, 게이트웨이 프로세스는 여전히 추론을 처리할 수 있습니다

220* **새로운 로그인**: Postgres가 복구될 때까지 실패합니다. 디바이스 흐름과 그 속도 제한 카운터가 Postgres에 있기 때문입니다

221* **[지출 제한 적용](/docs/ko/claude-apps-gateway-spend-limits#postgres-availability)**: 중단 중에 기본적으로 열린 상태로 실패하므로 추론이 계속 흐릅니다. 계량되지 않은 상태로 실행하기보다는 차단하려면 닫힌 상태로 전환합니다

222* **준비 상태**: 기본적으로 `/readyz`는 Postgres에 도달할 수 없게 되자마자 준비되지 않음으로 보고하므로, 모든 복제본이 한 번에 준비 상태 확인에 실패합니다. 트래픽이 확인을 통과한 복제본에만 도달하는 경우, 게이트웨이가 여전히 처리할 수 있는 추론을 포함한 모든 트래픽은 Postgres가 복구될 때까지 실패합니다. `/healthz`의 생존성 프로브는 전체 기간 동안 계속 통과합니다.

223 

224Postgres가 다운되는 동안 생존성 프로브는 계속 통과합니다.

225 

226IdP가 다운되면, 기존 세션은 `ttl_hours`까지 작동하고 새로운 로그인은 실패합니다. 세션 새로고침은 다시 시도 답변을 받고 IdP가 돌아오면 성공합니다. IdP에 빈번한 유지 보수 창이 있으면 더 긴 `ttl_hours`를 설정합니다.

227 

228<h4 id="readiness-grace-period">

229 준비 상태 유예 기간

230</h4>

231 

232데이터베이스 장애 조치와 같은 짧은 Postgres 중단을 통해 로그인한 개발자를 계속 작동하게 하려면, [`store.readiness_grace_seconds`](/docs/ko/claude-apps-gateway-config#store)를 장애 조치가 걸리는 시간보다 길게 설정합니다(예: `300`). 지출 제한이 켜져 있고 기본 열린 상태 동작을 사용하면, 준비 상태를 유지하는 복제본을 통한 요청은 Postgres가 복구될 때까지 계량되지 않으므로, 장애 조치를 포함하는 만큼 낮게 값을 유지합니다. [`enforcement.fail_closed_on_error: true`](/docs/ko/claude-apps-gateway-config#enforcement)를 설정하면, 게이트웨이는 복제본이 여전히 준비 상태 확인을 통과하는 동안에도 Postgres가 복구될 때까지 로그인한 개발자의 추론을 `429` `spend limit unavailable` 메시지로 거부합니다.

216 233 

217* **기존 세션**: 베어러 토큰은 JWT 시크릿으로 로컬에서 검증되고, 세션 새로고침은 저장소를 건드리지 않으며, 게이트웨이 프로세스는 여전히 추론을 제공할 수 있습니다234이 설정은 게이트웨이 서버의 Claude Code v2.1.282 이상이 필요합니다. 이전 게이트웨이는 키를 찾으면 시작을 거부하므로, 추가하기 전에 모든 복제본을 업그레이드합니다. [업그레이드](#upgrades)는 롤백을 다룹니다.

218* **새로운 로그인**: Postgres가 복구될 때까지 실패합니다. 장치 흐름 및 속도 제한 카운터가 Postgres에 있기 때문입니다

219* **[지출 제한 적용](/docs/ko/claude-apps-gateway-spend-limits#postgres-availability)**: 중단 중에 기본적으로 열린 상태로 실패하므로 추론이 계속 흐릅니다. 차단하는 것을 선호하면 닫힌 상태로 뒤집으세요

220* **준비**: `/readyz`는 중단 중에 준비되지 않음을 보고하므로, 준비에 대한 트래픽을 게이트하는 오케스트레이터는 Postgres가 복구될 때까지 모든 복제본을 한 번에 로테이션에서 제거합니다. 해당 토폴로지에서 게이트웨이가 여전히 제공할 수 있는 추론을 포함한 모든 트래픽은 로드 밸런서에서 실패합니다. `/healthz`의 생존 프로브는 계속 통과하므로 복제본은 다시 시작되지 않습니다. 로그인한 개발자가 저장소 중단을 통해 계속 작동하도록 하려면 준비 프로브를 `/healthz`로 지정하세요. 비용은 새로운 로그인이 여전히 준비됨을 보고하는 복제본에 대해 실패한다는 것입니다.

221 235 

222IdP가 다운되면, 기존 세션은 `ttl_hours`까지 작동하고, 새로운 로그인은 실패하며, 세션 새로고침은 다시 시도 답변을 받고 IdP가 돌아오면 한 번 진행됩니다. IdP가 자주 유지보수 창을 가지면 더 긴 `ttl_hours`를 설정하세요.236준비 상태 프로브를 `/healthz` 대신 가리키면, 복제본도 중단을 통해 계속 통과하지만, `/healthz`는 절대 준비되지 않음으로 보고하지 않으므로, Postgres 연결이 복구되지 않는 복제본은 계속 통과합니다.

223 237 

224<h3 id="jwt-secret-rotation">238<h3 id="jwt-secret-rotation">

225 JWT 시크릿 로테이션239 JWT 시크릿 로테이션

226</h3>240</h3>

227 241 

228기존 세션이 유효하게 유지되도록 3단계로 서명 시크릿을 로테이션하세요:242기존 세션이 유효하게 유지되도록 단계적으로 서명 시크릿을 로테이션합니다:

229 243 

2301. 새 시크릿을 생성하세요. `session.jwt_secret` 배열에 앞에 추가하세요.2441. 새 시크릿을 생성합니다. `session.jwt_secret` 배열에 앞에 추가합니다.

2312. 배포를 롤링하세요. 새 토큰은 새 시크릿으로 서명합니다. 이전 토큰은 여전히 검증합니다.2452. 배포를 롤합니다. 새 토큰은 새 시크릿으로 서명합니다. 이전 토큰은 여전히 검증됩니다.

2323. `ttl_hours`와 여유 후에 이전 시크릿을 제거하고 다시 롤링하세요.2463. `ttl_hours`와 여유 시간 후, 이전 시크릿을 제거하고 다시 롤합니다.

233 247 

234로테이션은 또한 만료 전에 세션을 강제로 제거하는 유일한 방법입니다: 베어러 토큰은 JWT 시크릿에 대해 로컬에서 검증되므로 세션별 해제가 없습니다. 배열에 이전 시크릿을 유지하지 않고 시크릿을 완전히 교체하면 한 번에 모든 미해결 세션이 무효화됩니다. 개별 오프보딩의 경우 IdP에서 사용자를 프로비저닝 해제하세요. 세션은 `ttl_hours` 내에 종료됩니다.248로테이션은 또한 만료되기 전에 세션을 강제로 제거하는 유일한 방법입니다: 베어러 토큰은 JWT 시크릿에 대해 로컬에서 검증되므로, 세션별 해지가 없습니다. 시크릿을 배열에 이전 시크릿을 유지하지 않고 완전히 교체하면, 한 번에 모든 미해결 세션이 무효화됩니다. 개별 오프보딩의 경우, IdP에서 사용자를 프로비저닝 해제합니다. 해당 세션은 `ttl_hours` 내에 종료됩니다.

235 249 

236<h3 id="postgres">250<h3 id="postgres">

237 Postgres251 Postgres

238</h3>252</h3>

239 253 

240게이트웨이는 부팅 시 마이그레이션으로 생성되는 5개의 데이터 테이블과 `_migrations` 테이블을 보유합니다:254게이트웨이는 부팅 시간 마이그레이션으로 생성된 5개의 데이터 테이블과 `_migrations` 테이블을 보유합니다:

241 255 

242| 테이블 | 내용 | 보존 |256| 테이블 | 내용 | 보존 |

243| - | - | - |257| - | - | - |

244| `kv` | 장치 부여(10분 TTL) 및 속도 제한 카운터 | 행별 TTL |258| `kv` | 디바이스 권한 부여(10분 TTL) 및 속도 제한 카운터 | 행당 TTL |

245| `spend` | 주요 기간별 누적 지출 카운터(센트) | `admin.spend_retention_months`, 기본값 13 |259| `spend` | 주체별 기간-현재 지출 카운터(센트 단위) | `admin.spend_retention_months`, 기본값 13 |

246| `spend_limits` | 구성된 지출 상한 | API를 통해 삭제될 때까지 |260| `spend_limits` | 구성된 지출 상한 | API를 통해 삭제될 때까지 |

247| `admin_audit` | 관리자 API 변경 추적 | `admin.audit_retention_days`, 기본값 365 |261| `admin_audit` | 관리자 API 변경 추적 | `admin.audit_retention_days`, 기본값 365 |

248| `principal_emails` | 각 주요의 마지막 확인 이메일, 표시 이름 및 IdP 그룹. PII를 포함합니다. | `admin.identity_retention_days` 마지막 활동 이후, 기본값 90 |262| `principal_emails` | 각 주체의 마지막 확인 이메일, 표시 이름 및 IdP 그룹입니다. PII를 포함합니다. | `admin.identity_retention_days` 마지막 활동 이후, 기본값 90 |

249 263 

25030초 루프는 TTL을 지난 `kv` 행을 만료하고, 시간별 스윕은 지출 테이블의 보존 창을 적용하므로 아무것도 무한정 증가하지 않습니다. [지출 제한](/docs/ko/claude-apps-gateway-spend-limits)이 구성되지 않으면 `kv`만 작성됩니다. 게이트웨이는 부팅 시 자신의 스키마 마이그레이션을 적용하고 모든 업그레이드에서 적용하므로, 데이터베이스 역할은 테이블을 생성하고 변경할 권리가 필요합니다. 게이트웨이 전용 데이터베이스 또는 스키마로 지정하여 해당 권한을 좁게 유지하세요.26430초 루프는 TTL을 초과한 `kv` 행을 만료하고, 시간별 스윕은 지출 테이블의 보존 창을 적용하므로, 아무것도 무한정 증가하지 않습니다. [지출 제한](/docs/ko/claude-apps-gateway-spend-limits)이 구성되지 않으면, `kv`만 기록됩니다. 게이트웨이는 부팅 시 그리고 모든 업그레이드에서 자체 스키마 마이그레이션을 적용하므로, 해당 데이터베이스 역할은 테이블을 생성하고 변경할 수 있는 권한이 필요합니다. 게이트웨이 전용 데이터베이스 또는 스키마를 가리켜 해당 권한을 좁게 유지합니다.

251 265 

252지출 제한이 사용 중이면, 손실된 데이터베이스는 개발자 재로그인뿐만 아니라 손실된 지출 추적 및 상한을 의미하므로 정기적인 백업을 실행하세요. 보존을 기다리지 않고 떠난 개발자 하나를 즉시 지우려면 `DELETE FROM principal_emails WHERE principal = '<sub>'`을 직접 실행하세요. 이는 이메일, 이름 및 그룹을 보유하는 유일한 테이블을 제거합니다. `spend` 및 `admin_audit` 행은 의사명 OIDC `sub`만 참조합니다.266지출 제한이 사용 중이면, 손실된 데이터베이스는 개발자 재로그인뿐만 아니라 손실된 지출 추적 및 상한을 의미하므로, 정기적인 백업을 실행합니다. 보존을 기다리지 않고 떠난 개발자 한 명을 즉시 삭제하려면, `DELETE FROM principal_emails WHERE principal = '<sub>'`를 직접 실행합니다. 이는 이메일, 이름 및 그룹을 보유한 유일한 테이블을 제거합니다. `spend` 및 `admin_audit` 행은 의사명 OIDC `sub`만 참조합니다.

253 267 

254<h3 id="upgrades">268<h3 id="upgrades">

255 업그레이드269 업그레이드

256</h3>270</h3>

257 271 

258복제본은 상태 비저장이므로 롤링 재시작은 게이트웨이 상태를 잃지 않습니다. 게이트웨이는 부팅 시 스키마 마이그레이션을 실행하므로, 새 바이너리를 배포하면 데이터베이스가 자동으로 마이그레이션됩니다. 동시 복제본은 Postgres 자문 잠금에서 직렬화되므로 각 마이그레이션을 적용하는 것은 하나뿐입니다.272복제본은 상태가 없으므로, 롤링 재시작은 게이트웨이 상태를 손실하지 않습니다. 게이트웨이는 부팅 시 스키마 마이그레이션을 실행하므로, 새 바이너리를 배포하면 데이터베이스가 자동으로 마이그레이션됩니다. 동시 복제본은 Postgres 자문 잠금에서 직렬화되므로, 각 마이그레이션을 적용하는 것은 하나뿐입니다.

259 273 

260오케스트레이터가 롤링 재시작 또는 스케일 인에서처럼 `SIGTERM`으로 복제본을 중지할 때, 게이트웨이는 새 연결을 수락하는 것을 중지하고 이미 진행 중인 요청 및 스트림이 종료되기 전에 완료되도록 합니다. 드레인 윈도우라고 불리는 최대 25초를 기다린 다음 여전히 열려 있는 것을 닫습니다. `SIGINT`(예: 터미널의 Ctrl+C)는 동일한 드레인을 시작하고, 드레인 중 두 번째 신호는 열린 요청을 닫고 즉시 종료합니다. 드레인은 게이트웨이 v2.1.274 이상이 필요합니다.274오케스트레이터가 `SIGTERM`으로 복제본을 중지할 때(롤링 재시작 또는 축소 시), 게이트웨이는 새 연결 수락을 중지하고 이미 진행 중인 요청과 스트림이 종료되기 전에 완료되도록 합니다. 드레인 창이라고 불리는 최대 25초를 기다린 다음, 여전히 열려 있는 것을 닫습니다. `SIGINT`(예: 터미널의 Ctrl+C)는 동일한 드레인을 시작하고, 드레인 중 두 번째 신호는 열려 있는 요청을 닫고 즉시 종료합니다. 드레인은 게이트웨이 v2.1.274 이상이 필요합니다.

261 275 

262긴 생성은 몇 분 동안 스트리밍할 수 있습니다. Kubernetes 및 Amazon ECS에서 이 둘을 함께 높여 해당 스트림에 더 많은 시간을 제공합니다:276긴 생성은 몇 분 동안 스트리밍할 수 있습니다. Kubernetes 및 Amazon ECS에서 이 두 가지를 함께 높여 해당 스트림에 더 많은 시간을 제공합니다:

263 277 

264* **드레인 윈도우**: 게이트웨이 컨테이너에서 `CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS` 환경 변수를 `120000`과 같은 양의 정수 밀리초로 설정합니다. 게이트웨이는 `120s`와 같은 다른 형식의 값을 무시하고 25초 기본값을 유지합니다278* **드레인 창**: 게이트웨이 컨테이너에서 `CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS` 환경 변수를 `120000`과 같은 양의 정수 밀리초로 설정합니다. 게이트웨이는 `120s`와 같은 다른 형식의 값을 무시하고 25초 기본값을 유지합니다

265* **오케스트레이터의 유예 기간**: Kubernetes의 `terminationGracePeriodSeconds` 또는 Amazon ECS의 `stopTimeout`279* **오케스트레이터의 유예 기간**: Kubernetes의 `terminationGracePeriodSeconds` 또는 Amazon ECS의 `stopTimeout`

266 280 

267유예 기간은 두 플랫폼 모두에서 기본값 30초입니다. 드레인 윈도우보다 최소 5초 이상 길게 유지하거나, 오케스트레이터가 드레인이 완료되기 전에 게이트웨이를 종료합니다. Kubernetes에서 유예 기간이 게이트웨이가 `SIGTERM`을 받을 때가 아니라 훅이 실행되기 전에 계산을 시작하기 때문에 `preStop` 훅의 기간도 추가합니다.281유예 기간은 두 플랫폼 모두에서 기본값 30초입니다. 드레인 창보다 최소 5초 이상 길게 유지하거나, 오케스트레이터가 드레인이 완료되기 전에 게이트웨이를 종료합니다. Kubernetes에서는 유예 기간이 게이트웨이가 `SIGTERM`을 받을 때가 아니라 훅이 실행되기 전에 계산을 시작하기 때문에 `preStop` 훅의 기간도 추가합니다.

268 282 

269플랫폼은 또한 드레인이 실행될 수 있는 기간을 제한할 수 있습니다:283플랫폼은 또한 드레인이 실행될 수 있는 기간을 제한할 수 있습니다:

270 284 

271* **Amazon ECS on Fargate**: `stopTimeout`은 최대 120초를 허용합니다285* **Amazon ECS on Fargate**: `stopTimeout`은 최대 120초를 허용합니다

272* **Cloud Run**: `SIGTERM` 후 10초 후에 인스턴스를 중지하므로, 열린 스트림은 드레인 윈도우가 무엇이든 최대 10초를 얻습니다286* **Cloud Run**: `SIGTERM` 후 10초 후 인스턴스를 중지하므로, 열려 있는 스트림은 드레인 창이 무엇이든 최대 10초를 얻습니다

273 287 

274드레인 윈도우가 여전히 열린 요청으로 끝나면, 게이트웨이는 `drain window over after`를 포함하는 경고를 기록하고, 자른 요청을 계산하며, 높일 두 설정의 이름을 지정합니다.288드레인 창이 요청이 여전히 열려 있는 상태로 끝나면, 게이트웨이는 `drain window over after`를 포함하는 경고를 기록하고, 자른 요청을 계산하며, 높일 두 설정의 이름을 지정합니다.

275 289 

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

277 291 

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

279 293 

280<h2 id="security">294<h2 id="security">

281 보안295 보안


357| 개발자의 요청이 `Not signed in to the Cloud gateway — run /login.`으로 실패함 | 머신의 관리 설정이 `forceLoginMethod: "gateway"` 또는 `forceLoginGatewayUrl`을 설정했고, 세션에 gateway 로그인이 없음. 남은 claude.ai 로그인은 요구사항을 충족하지 않음 | 개발자가 `/login`을 실행하고 gateway 로그인을 완료하도록 하세요. [관리자 정책이 Cloud gateway 로그인을 요구함](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)도 참조하세요. |371| 개발자의 요청이 `Not signed in to the Cloud gateway — run /login.`으로 실패함 | 머신의 관리 설정이 `forceLoginMethod: "gateway"` 또는 `forceLoginGatewayUrl`을 설정했고, 세션에 gateway 로그인이 없음. 남은 claude.ai 로그인은 요구사항을 충족하지 않음 | 개발자가 `/login`을 실행하고 gateway 로그인을 완료하도록 하세요. [관리자 정책이 Cloud gateway 로그인을 요구함](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)도 참조하세요. |

358| Claude Desktop이 부트스트랩 구성을 가져올 수 없다고 보고함 | `/user/bootstrap`이 404를 반환함: 사용자와 일치하는 정책이 `desktop` 키를 포함하지 않거나 일치하는 정책이 없음. gateway 감사 로그는 각 거부를 `desktop_bootstrap.denied`로 이유와 함께 기록함 | 사용자와 일치하는 정책 또는 `match: {}` 기본 계층에 `desktop` 블록을 추가하세요. 빈 `desktop: {}`으로 충분합니다. [Claude Desktop 오버레이](/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)를 참조하세요. |372| Claude Desktop이 부트스트랩 구성을 가져올 수 없다고 보고함 | `/user/bootstrap`이 404를 반환함: 사용자와 일치하는 정책이 `desktop` 키를 포함하지 않거나 일치하는 정책이 없음. gateway 감사 로그는 각 거부를 `desktop_bootstrap.denied`로 이유와 함께 기록함 | 사용자와 일치하는 정책 또는 `match: {}` 기본 계층에 `desktop` 블록을 추가하세요. 빈 `desktop: {}`으로 충분합니다. [Claude Desktop 오버레이](/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)를 참조하세요. |

359| 시작 시 `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.`를 표시함 | 설치된 Claude Code 빌드가 gateway 지원보다 이전 버전임 | 개발자가 Cloud gateway 지원을 포함하는 릴리스로 Claude Code를 업데이트하도록 하세요 |373| 시작 시 `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.`를 표시함 | 설치된 Claude Code 빌드가 gateway 지원보다 이전 버전임 | 개발자가 Cloud gateway 지원을 포함하는 릴리스로 Claude Code를 업데이트하도록 하세요 |

360| 시작이 `Administrator policy requires a Cloud gateway sign-in on this machine`으로 종료됨 | 개발자의 환경이 `ANTHROPIC_API_KEY` 또는 `ANTHROPIC_AUTH_TOKEN`을 설정하거나, 설정이 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper)를 구성하거나, 이전 Claude Console 로그인의 API 키가 여전히 저장되어 있음 | 해당하는 각각을 지우도록 개발자에게 지시하세요: 변수를 설정 해제하거나, `apiKeyHelper` 항목을 제거하거나, `claude auth logout`을 실행하여 저장된 키를 제거합니다. 그런 다음 `claude`를 시작하고 `/login`으로 로그인하도록 하세요. [관리자 정책이 Cloud gateway 로그인을 요구함](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)도 참조하세요. |374| 시작이 `Administrator policy requires a Cloud gateway sign-in on this machine`으로 종료됨 | 개발자의 환경이 `ANTHROPIC_API_KEY` 또는 `ANTHROPIC_AUTH_TOKEN`을 설정하거나, 설정이 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper)를 구성하거나, 이전 Claude Console 로그인의 API 키가 여전히 저장되어 있음 | 해당하는 각각을 지우도록 개발자에게 지시하세요: 변수를 설정 해제하거나, `apiKeyHelper` 항목을 제거하거나, `claude auth logout`을 실행하여 저장된 키를 제거합니다. `CLAUDE_CODE_USE_*`를 사용하여 클라우드 공급자를 선택하는 세션은 로그인 없이 시작됩니다. 다른 모든 세션의 경우 개발자가 `claude`를 시작하고 `/login`으로 로그인하도록 하세요. [관리자 정책이 Cloud gateway 로그인을 요구함](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)도 참조하세요. |

361| 시작 또는 `/login`이 `/managed/settings` 로드에서 403 후 `Claude Code may not be enabled for your organization`을 보고함 | gateway 또는 그 앞의 무언가가 `/managed/settings` 요청에 403으로 응답함. gateway 자체 설정 경로는 절대 403으로 응답하지 않음. 상태는 [`access_control`](/docs/ko/claude-apps-gateway-config#http-tuning) IP 확인 또는 gateway 앞의 프록시 또는 WAF에서 옴. 감사 로그는 IP 확인 거부를 `access.denied`로 이유와 함께 기록함. 개발자는 로그인 상태를 유지함 | 실패 시간에 `access.denied`에 대한 감사 로그를 확인하고 `access_control` 목록 또는 프론트 엔드를 수정한 후 개발자가 `claude`를 다시 시작하도록 하세요 |375| 시작 또는 `/login`이 `/managed/settings` 로드에서 403 후 `Claude Code may not be enabled for your organization`을 보고함 | gateway 또는 그 앞의 무언가가 `/managed/settings` 요청에 403으로 응답함. gateway 자체 설정 경로는 절대 403으로 응답하지 않음. 상태는 [`access_control`](/docs/ko/claude-apps-gateway-config#http-tuning) IP 확인 또는 gateway 앞의 프록시 또는 WAF에서 옴. 감사 로그는 IP 확인 거부를 `access.denied`로 이유와 함께 기록함. 개발자는 로그인 상태를 유지함 | 실패 시간에 `access.denied`에 대한 감사 로그를 확인하고 `access_control` 목록 또는 프론트 엔드를 수정한 후 개발자가 `claude`를 다시 시작하도록 하세요 |

362| CLI `/login`: `The gateway is limiting sign-in attempts right now`, 또는 이전 버전에서 `Request failed with status code 429`. `/device` 페이지는 이전에 시도하지 않은 개발자에게 `Too many attempts`를 표시할 수 있음 | IP당 로그인 속도 제한에 도달함. `listen.trusted_proxies`가 로드 밸런서를 포함하지 않아 모든 개발자가 해당 주소를 공유하거나, 많은 개발자가 NAT 또는 VPN 송신 주소를 공유함. `result: rate_limited`가 있는 감사 이벤트는 동일한 하나 또는 몇 개의 `client_ip` 값을 표시함. | 먼저 `listen.trusted_proxies`를 로드 밸런서의 소스 범위로 설정한 후, 개발자가 여전히 주소를 공유하는 경우 `rate_limits`를 높이세요. [대규모 롤아웃](#large-rollouts)을 참조하세요. |376| CLI `/login`: `The gateway is limiting sign-in attempts right now`, 또는 이전 버전에서 `Request failed with status code 429`. `/device` 페이지는 이전에 시도하지 않은 개발자에게 `Too many attempts`를 표시할 수 있음 | IP당 로그인 속도 제한에 도달함. `listen.trusted_proxies`가 로드 밸런서를 포함하지 않아 모든 개발자가 해당 주소를 공유하거나, 많은 개발자가 NAT 또는 VPN 송신 주소를 공유함. `result: rate_limited`가 있는 감사 이벤트는 동일한 하나 또는 몇 개의 `client_ip` 값을 표시함. | 먼저 `listen.trusted_proxies`를 로드 밸런서의 소스 범위로 설정한 후, 개발자가 여전히 주소를 공유하는 경우 `rate_limits`를 높이세요. [대규모 롤아웃](#large-rollouts)을 참조하세요. |

363| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | gateway 호스트명이 최소 하나의 공개 IP 주소로 확인됨. Claude Code는 각 확인된 주소를 확인하고 모든 주소가 비공개여야 함. 일반적인 원인은 한 패밀리가 공개 주소로 확인되는 이중 스택 이름이며, AWS 내부 이중 스택 로드 밸런서를 포함하여 공개 범위 AAAA 주소를 반환함 | gateway 이름이 개발자 머신에서 비공개 주소로만 확인되도록 하세요. 이중 스택 이름의 경우 공개 범위 레코드를 삭제하거나 별도의 내부 전용 DNS 이름을 제공하세요. [비공개 네트워크 전제 조건](/docs/ko/claude-apps-gateway#prerequisites)을 참조하세요. 주소가 조직이 소유하고 내부적으로 사용하는 공개 공간인 경우 [해당 블록을 선언](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)하세요. |377| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | gateway 호스트명이 최소 하나의 공개 IP 주소로 확인됨. Claude Code는 각 확인된 주소를 확인하고 모든 주소가 비공개여야 함. 일반적인 원인은 한 패밀리가 공개 주소로 확인되는 이중 스택 이름이며, AWS 내부 이중 스택 로드 밸런서를 포함하여 공개 범위 AAAA 주소를 반환함 | gateway 이름이 개발자 머신에서 비공개 주소로만 확인되도록 하세요. 이중 스택 이름의 경우 공개 범위 레코드를 삭제하거나 별도의 내부 전용 DNS 이름을 제공하세요. [비공개 네트워크 전제 조건](/docs/ko/claude-apps-gateway#prerequisites)을 참조하세요. 주소가 조직이 소유하고 내부적으로 사용하는 공개 공간인 경우 [해당 블록을 선언](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)하세요. |

Details

253 253 

254 store:254 store:

255 postgres_url: ${GATEWAY_POSTGRES_URL} # EKS: ${file:/secrets/postgres-url}255 postgres_url: ${GATEWAY_POSTGRES_URL} # EKS: ${file:/secrets/postgres-url}

256 # readiness_grace_seconds: 300 # RDS 장애 조치를 통해 상태 확인을 계속 통과합니다.

256 257 

257 upstreams:258 upstreams:

258 - provider: bedrock259 - provider: bedrock


285 286 

286 비밀과 달리 `gateway.yaml` 자체는 모든 자격 증명이 [`${VAR}` 또는 `${file:...}` 확장](/docs/ko/claude-apps-gateway-config#secret-expansion)을 통해 부팅 시 확인되므로 비밀 값을 포함하지 않습니다. 모든 것이 컨테이너에 도달하는 방식은 트랙에 따라 다릅니다:287 비밀과 달리 `gateway.yaml` 자체는 모든 자격 증명이 [`${VAR}` 또는 `${file:...}` 확장](/docs/ko/claude-apps-gateway-config#secret-expansion)을 통해 부팅 시 확인되므로 비밀 값을 포함하지 않습니다. 모든 것이 컨테이너에 도달하는 방식은 트랙에 따라 다릅니다:

287 288 

288 * ECS에서 다음 단계의 빌드는 `gateway.yaml`을 이미지에 `/etc/claude/gateway.yaml`로 복사하고, 작업 정의는 3개의 비밀을 `secrets` 필드를 통해 환경 변수로 주입하므로 YAML은 `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}`, `${GATEWAY_POSTGRES_URL}`을 참조합니다.289 * ECS에서 다음 단계의 빌드는 `gateway.yaml`을 이미지에 `/etc/claude/gateway.yaml`으로 복사하고, 작업 정의는 3개의 비밀을 `secrets` 필드를 통해 환경 변수로 주입하므로 YAML은 `${GATEWAY_JWT_SECRET}`, `${OIDC_CLIENT_SECRET}`, `${GATEWAY_POSTGRES_URL}`을 참조합니다.

289 * EKS에서 ConfigMap에서 `gateway.yaml`을 마운트하고 비밀을 `/secrets`의 파일로 마운트하며, `${file:/secrets/...}`로 참조합니다. External Secrets Operator 또는 Secrets Store CSI 드라이버의 AWS 공급자를 사용하여 Secrets Manager에서 Kubernetes Secrets를 소싱하거나 `kubectl`로 직접 생성하십시오.290 * EKS에서 ConfigMap에서 `gateway.yaml`을 마운트하고 비밀을 `/secrets`의 파일로 마운트하며, `${file:/secrets/...}`로 참조합니다. External Secrets Operator 또는 Secrets Store CSI 드라이버의 AWS 공급자를 사용하여 Secrets Manager에서 Kubernetes Secrets를 소싱하거나 `kubectl`로 직접 생성하십시오.

290 </Step>291 </Step>

291 292 

Details

179 179 

180 store:180 store:

181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}181 postgres_url: ${GATEWAY_POSTGRES_URL} # GKE: ${file:/secrets/postgres-url}

182 # readiness_grace_seconds: 300 # keep passing the readiness probe

183 # through a Cloud SQL failover

182 184 

183 upstreams:185 upstreams:

184 - provider: vertex186 - provider: vertex

Details

86 86 

87사전 확인 쿼리는 2초 타임아웃으로 Postgres를 쿼리합니다. 저장소에 연결할 수 없거나 타임아웃되면 기본적으로 적용이 열린 상태로 실패합니다. 요청이 진행되고 게이트웨이가 경고를 기록하며 응답에는 `anthropic-ratelimit-unified-*` 헤더가 없습니다. 대신 [`enforcement.fail_closed_on_error: true`](/docs/ko/claude-apps-gateway-config#enforcement)를 설정하여 닫힌 상태로 실패하면 동일한 `429 billing_error`를 반환하지만 메시지는 `spend limit unavailable`이며 기간, 재설정 시간 또는 `retry-after` 헤더가 없습니다. 열린 상태 실패는 저장소 중단이 추론 중단이 되는 것을 방지합니다. 닫힌 상태 실패는 미계량 지출이 없음을 보장합니다.87사전 확인 쿼리는 2초 타임아웃으로 Postgres를 쿼리합니다. 저장소에 연결할 수 없거나 타임아웃되면 기본적으로 적용이 열린 상태로 실패합니다. 요청이 진행되고 게이트웨이가 경고를 기록하며 응답에는 `anthropic-ratelimit-unified-*` 헤더가 없습니다. 대신 [`enforcement.fail_closed_on_error: true`](/docs/ko/claude-apps-gateway-config#enforcement)를 설정하여 닫힌 상태로 실패하면 동일한 `429 billing_error`를 반환하지만 메시지는 `spend limit unavailable`이며 기간, 재설정 시간 또는 `retry-after` 헤더가 없습니다. 열린 상태 실패는 저장소 중단이 추론 중단이 되는 것을 방지합니다. 닫힌 상태 실패는 미계량 지출이 없음을 보장합니다.

88 88 

89열린 상태 실패는 로드 밸런서 또는 오케스트레이터가 여전히 게이트웨이로 트래픽을 라우팅하는 동안에만 도움이 됩니다. `store.readiness_grace_seconds`에 대해 [중단 동작](/docs/ko/claude-apps-gateway-deploy#outage-behavior)을 참조하십시오. 이는 짧은 중단 동안 복제본이 준비 상태 확인을 통과하도록 유지합니다.

90 

89<h3 id="usage-warnings-in-claude-code">91<h3 id="usage-warnings-in-claude-code">

90 Claude Code의 사용량 경고92 Claude Code의 사용량 경고

91</h3>93</h3>

Details

59 59 

60저장소에 Claude GitHub App을 설치하면 해당 저장소의 풀 요청에 대해 [자동 수정](#auto-fix-pull-requests)도 활성화됩니다.60저장소에 Claude GitHub App을 설치하면 해당 저장소의 풀 요청에 대해 [자동 수정](#auto-fix-pull-requests)도 활성화됩니다.

61 61 

62[프로젝트](/docs/ko/claude-projects)의 스레드는 연결 방법에 관계없이 복제하는 각 저장소에 App이 설치되어 있어야 합니다. [GitHub 액세스 설정](/docs/ko/claude-projects#set-up-github-access)을 참조하세요.62[프로젝트](/docs/ko/claude-projects)의 스레드는 연결 방법에 관계없이 복제하는 각 저장소에 Claude GitHub App이 설치되어 있어야 합니다. [GitHub 액세스 설정](/docs/ko/claude-projects#set-up-github-access)을 참조하세요.

63 

64Anthropic 호스팅 환경에서는 GitHub 자격 증명이 Anthropic 서버에 암호화되어 저장되며 세션의 VM에 절대 들어가지 않습니다. VM의 GitHub 작업은 [GitHub 프록시](/docs/ko/cloud-environments#github-proxy)를 통해 진행되며, 이는 서버 측에서 자격 증명을 첨부합니다.

63 65 

64`/schedule`이 루틴을 생성하기 전에 저장소 액세스를 확인하는 방법은 [저장소 및 분기 권한](/docs/ko/routines#repositories-and-branch-permissions)을 참조하세요. `/web-setup` 안내(포함된 내용 및 제거 방법 포함)는 [터미널에서 연결](/docs/ko/web-quickstart#connect-from-your-terminal)을 참조하세요.66`/schedule`이 루틴을 생성하기 전에 저장소 액세스를 확인하는 방법은 [저장소 및 분기 권한](/docs/ko/routines#repositories-and-branch-permissions)을 참조하세요. `/web-setup` 안내(포함된 내용 및 제거 방법 포함)는 [터미널에서 연결](/docs/ko/web-quickstart#connect-from-your-terminal)을 참조하세요.

65 67 


70</Note>72</Note>

71 73 

72<h2 id="move-tasks-between-terminal-and-cloud">74<h2 id="move-tasks-between-terminal-and-cloud">

73 터미널과 클라우드 간에 작업 이동75 터미널과 클라우드 간 작업 이동

74</h2>76</h2>

75 77 

76이러한 워크플로우는 동일한 claude.ai 계정에 로그인한 [Claude Code CLI](/docs/ko/quickstart)가 필요합니다. 터미널에서 새 클라우드 세션을 시작하거나 클라우드 세션을 터미널로 가져와 로컬에서 계속할 수 있습니다. 클라우드 세션은 노트북을 닫아도 유지되며, Claude 모바일 앱을 포함한 어디서나 모니터링할 수 있습니다.78이러한 워크플로우는 동일한 claude.ai 계정으로 로그인한 [Claude Code CLI](/docs/ko/quickstart)가 필요합니다. 터미널에서 새로운 클라우드 세션을 시작하거나, 클라우드 세션을 터미널로 가져와 로컬에서 계속 작업할 수 있습니다. 클라우드 세션은 노트북을 닫아도 유지되며, Claude 모바일 앱을 포함한 어디서나 모니터링할 수 있습니다.

77 79 

78<Note>80<Note>

79 CLI에서 세션 핸드오프는 일방향입니다: `--teleport`로 클라우드 세션을 터미널로 가져올 수 있지만 기존 터미널 세션을 클라우드로 푸시할 수 없습니다. `--cloud` 플래그는 작업 설명과 함께 현재 저장소에 대한 새로운 클라우드 세션을 생성합니다. `-p` 및 세션 ID 또는 claude.ai/code URL과 함께 [기존 세션에 메시지를 큐에 넣습니다](/docs/ko/claude-code-on-the-web#send-follow-ups-from-the-cli). [Desktop 앱](/docs/ko/desktop#continue-in-another-surface)은 로컬 세션을 클라우드로 보낼 수 있는 **Continue in** 메뉴를 제공합니다.81 CLI에서 세션 핸드오프는 일방향입니다. `--teleport`를 사용하여 클라우드 세션을 터미널로 가져올 수 있지만, 기존 터미널 세션을 클라우드로 푸시할 수는 없습니다. 작업 설명과 함께 `--cloud` 플래그는 현재 저장소에 대한 새로운 클라우드 세션을 생성합니다. `-p`와 세션 ID 또는 claude.ai/code URL을 사용하면 대신 [해당 기존 세션에 메시지를 큐에 넣습니다](/docs/ko/claude-code-on-the-web#send-follow-ups-from-the-cli). [Desktop 앱](/docs/ko/desktop#continue-in-another-surface)은 로컬 세션을 클라우드로 보낼 수 있는 **Continue in** 메뉴를 제공합니다.

80</Note>82</Note>

81 83 

82<h3 id="from-terminal-to-cloud">84<h3 id="from-terminal-to-cloud">

83 터미널에서 클라우드로85 터미널에서 클라우드로

84</h3>86</h3>

85 87 

86`--cloud` 플래그로 명령줄에서 클라우드 세션을 시작하세요:88`--cloud` 플래그를 사용하여 명령줄에서 클라우드 세션을 시작합니다:

87 89 

88```bash theme={null}90```bash theme={null}

89claude --cloud "Fix the authentication bug in src/auth/login.ts"91claude --cloud "Fix the authentication bug in src/auth/login.ts"

90```92```

91 93 

92이렇게 하면 claude.ai에서 새 클라우드 세션이 생성됩니다. 클라우드 VM은 현재 디렉토리의 GitHub 원격을 현재 분기에서 복제하므로, 로컬 커밋이 있으면 먼저 푸시하세요. [GitHub 없이 로컬 저장소 보내기](#send-local-repositories-without-github)를 참조하여 Claude Code가 원격을 복제하는 대신 로컬 저장소를 업로드하는 경우를 확인하세요.94이는 claude.ai에서 새로운 클라우드 세션을 생성합니다. 클라우드 VM은 로컬 체크아웃이 아닌 현재 브랜치에서 현재 디렉토리의 GitHub 원격을 복제하므로, 로컬 커밋이 있으면 먼저 푸시하십시오. 클라우드 코드가 원격을 복제하는 대신 로컬 저장소를 업로드하는 경우는 [GitHub 없이 로컬 저장소 보내기](#send-local-repositories-without-github)를 참조하십시오.

93 95 

94`--cloud`는 한 번에 하나의 저장소에서 작동합니다. 작업은 클라우드에서 실행되는 동안 로컬에서 계속 작업할 수 있습니다. 더 이상 사용되지 않는 `--remote` 표기법은 여전히 `--cloud`의 더 이상 사용되지 않는 별칭으로 작동합니다.96`--cloud`는 한 번에 하나의 저장소에서만 작동합니다. 작업은 클라우드에서 실행되는 동안 로컬에서 계속 작업할 수 있습니다. 이전의 `--remote` 표기법은 여전히 `--cloud`의 더 이상 사용되지 않는 별칭으로 작동합니다.

95 97 

96클라우드 컨테이너가 시작되는 동안 CLI는 저장소 복제 및 [설정 스크립트](/docs/ko/cloud-environments#setup-scripts) 실행과 같은 설정 단계의 라이브 체크리스트를 표시합니다. 프로비저닝 중에 입력한 메시지는 큐에 저장되었다가 세션이 준비되면 전송됩니다.98클라우드 컨테이너가 시작되는 동안 CLI는 저장소 복제 및 [설정 스크립트](/docs/ko/cloud-environments#setup-scripts) 실행과 같은 설정 단계의 라이브 체크리스트를 표시합니다. 프로비저닝 중에 입력한 메시지를 큐에 넣고 세션이 준비되면 전송합니다.

97 99 

98<Note>100<Note>

99 `--cloud`는 클라우드 세션을 생성합니다. `--remote-control`은 관련이 없습니다: 로컬 CLI 세션을 모니터링하고 조종할 수 있게 해줍니다. [Remote Control](/docs/ko/remote-control)을 참조하세요.101 `--cloud`는 클라우드 세션을 생성합니다. `--remote-control`은 관련이 없습니다. 이는 claude.ai 또는 Claude 앱에서 로컬 CLI 세션을 모니터링하고 조종할 수 있게 해줍니다. [Remote Control](/docs/ko/remote-control)을 참조하십시오.

100</Note>102</Note>

101 103 

102claude.ai 또는 Claude 모바일 앱에서 세션을 열어 진행 상황을 확인하거나 직접 상호 작용하세요. 여기서 Claude를 조종하고, 피드백을 제공하거나, 다른 대화처럼 질문에 답변할 수 있습니다.104claude.ai 또는 Claude 모바일 앱에서 세션을 열어 진행 상황을 확인하거나 직접 상호작용합니다. 여기서 Claude를 조종하고, 피드백을 제공하거나, 다른 대화와 마찬가지로 질문에 답할 수 있습니다.

103 105 

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

105 107 

106<h4 id="tips-for-cloud-tasks">108<h4 id="tips-for-cloud-tasks">

107 클라우드 작업 팁109 클라우드 작업 팁

108</h4>110</h4>

109 111 

110**로컬에서 계획하고 클라우드에서 실행**: 복잡한 작업의 경우 Claude를 plan mode에서 시작하여 접근 방식을 협력한 다음 작업을 클라우드로 보내세요:112**로컬에서 계획하고 클라우드에서 실행**: 복잡한 작업의 경우, Claude를 계획 모드로 시작하여 접근 방식을 협력한 다음, 작업을 클라우드로 보냅니다:

111 113 

112```bash theme={null}114```bash theme={null}

113claude --permission-mode plan115claude --permission-mode plan

114```116```

115 117 

116Plan mode에서 Claude는 파일을 읽고, 명령을 실행하여 탐색하고, 소스 코드를 편집하지 않고 계획을 제안합니다. 계획에 만족하면 저장소에 저장하고, 커밋하고, 푸시하여 클라우드 VM이 복제할 수 있도록 한 다음 자율 실행을 위해 클라우드 세션을 시작하세요:118계획 모드에서 Claude는 파일을 읽고, 명령을 실행하여 탐색하고, 소스 코드를 편집하지 않고 계획을 제안합니다. 만족하면 계획을 저장소에 저장하고, 커밋하고, 푸시하여 클라우드 VM이 복제할 수 있도록 합니다. 그런 다음 자동 실행을 위해 클라우드 세션을 시작합니다:

117 119 

118```bash theme={null}120```bash theme={null}

119claude --cloud "Execute the migration plan in docs/migration-plan.md"121claude --cloud "Execute the migration plan in docs/migration-plan.md"


127claude --cloud "Refactor the logger to use structured output"129claude --cloud "Refactor the logger to use structured output"

128```130```

129 131 

130세션이 완료되면 claude.ai/code에서 PR을 생성하거나 [세션을 텔레포트](#from-cloud-to-terminal)하여 터미널에서 계속 작업할 수 있습니다.132세션이 완료되면 claude.ai/code에서 PR을 생성하거나 [teleport](#from-cloud-to-terminal)를 사용하여 세션을 터미널로 가져와 계속 작업할 수 있습니다.

131 133 

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

133 GitHub 없이 로컬 저장소 보내기135 GitHub 없이 로컬 저장소 보내기

134</h4>136</h4>

135 137 

136git 원격이 없는 저장소에서 `claude --cloud`를 실행하거나 Claude GitHub 앱이 설치되지 않은 github.com 저장소에서 실행하면 Claude Code가 로컬 저장소를 번들로 만들어 클라우드 세션에 직접 업로드합니다. 이는 `/web-setup`으로 GitHub를 연결한 경우에도 적용됩니다. 번들에는 모든 분기의 전체 저장소 기록과 추적된 파일에 대한 커밋되지 않은 변경 사항이 포함됩니다.138git 원격이 없는 저장소에서 또는 Claude GitHub 앱이 설치되지 않은 github.com 저장소에서 `claude --cloud`를 실행하면, Claude Code는 로컬 저장소를 번들로 묶어 클라우드 세션에 직접 업로드합니다. 이는 `/web-setup`으로 GitHub를 연결한 경우에도 적용됩니다. 번들에는 모든 브랜치의 전체 저장소 기록과 추적된 파일에 대한 커밋되지 않은 변경 사항이 포함됩니다.

137 139 

138macOS, Linux 및 WSL에서 Claude Code는 자격 증명이나 키처럼 명명된 파일에 대한 커밋되지 않은 변경 사항을 업로드에서 제외하고 제외한 파일의 이름을 지정합니다. 이는 `.env` 파일, Terraform `*.tfvars` 파일 및 `id_rsa` 및 `*.pem`과 같은 키 파일을 포함합니다. 세션은 각각의 커밋된 버전으로 시작하거나 커밋된 것이 없으면 파일 없이 시작합니다. 연결된 worktree, submodule 또는 유사한 레이아웃에서 Claude Code는 이러한 변경 사항을 나머지와 함께 업로드하고 업로드한 파일의 이름을 지정합니다.140macOS, Linux 및 WSL에서 Claude Code는 자격 증명 또는 키와 같은 이름의 파일에 대한 커밋되지 않은 변경 사항을 업로드에서 제외하고 제외한 파일의 이름을 지정합니다. 이는 `.env` 파일, Terraform `*.tfvars` 파일 및 `id_rsa` 및 `*.pem`과 같은 키 파일을 포함합니다. 세션은 각 파일의 커밋된 버전으로 시작하거나, 커밋된 파일이 없으면 파일 없이 시작합니다.

139 141 

140원격을 복제할 수 없을 때 이 폴백이 자동으로 활성화됩니다. 강제하려면 `CCR_FORCE_BUNDLE=1`을 설정하세요:142Claude Code가 원격에서 복제하는 대신 번들을 업로드하도록 하려면 `CCR_FORCE_BUNDLE=1`을 설정합니다:

141 143 

142```bash theme={null}144```bash theme={null}

143CCR_FORCE_BUNDLE=1 claude --cloud "Run the test suite and fix any failures"145CCR_FORCE_BUNDLE=1 claude --cloud "Run the test suite and fix any failures"

144```146```

145 147 

146번들된 저장소는 이러한 제한을 충족해야 합니다:148번들된 저장소는 다음 제한을 충족해야 합니다:

147 149 

148* 디렉토리는 최소 하나의 커밋이 있는 git 저장소여야 합니다150* 디렉토리는 최소 하나의 커밋이 있는 git 저장소여야 합니다

149* 번들된 저장소는 100 MB 미만이어야 합니다. 더 큰 저장소는 현재 분기만 번들로 만들기로 폴백한 다음 작업 트리의 단일 스쿼시 스냅샷으로 폴백하고, 스냅샷이 여전히 너무 크면 실패합니다151* 번들된 저장소는 100 MB 미만이어야 합니다. 더 큰 저장소는 현재 브랜치만 번들로 묶기로 폴백한 다음, 작업 트리의 단일 스쿼시된 스냅샷으로 폴백하고, 스냅샷이 여전히 너무 크면 실패합니다

150* 추적되지 않은 파일은 포함되지 않습니다. 클라우드 세션이 보기를 원하는 파일에 대해 `git add`를 실행하세요152* 추적되지 않은 파일은 포함되지 않습니다. 클라우드 세션이 볼 파일에 대해 `git add`를 실행합니다

151* 번들에서 생성된 세션은 [GitHub 연결](#github-authentication-options)에 해당 저장소에 대한 푸시 액세스 권한이 있을 때만 GitHub 원격으로 다시 푸시할 수 있습니다153* 번들에서 생성된 세션은 [GitHub 연결](#github-authentication-options)이 해당 저장소에 대한 푸시 액세스 권한을 가질 때만 GitHub 원격으로 다시 푸시할 수 있습니다

152 154 

153<h3 id="send-follow-ups-from-the-cli">155<h3 id="send-follow-ups-from-the-cli">

154 CLI에서 후속 메시지 보내기156 CLI에서 후속 메시지 보내기

155</h3>157</h3>

156 158 

157클라우드 세션이 실행 중이면 어디서든 실행되든 `claude auth login`으로 로그인한 모든 머신의 `claude` CLI에서 후속 메시지를 보낼 수 있습니다. CLI는 Anthropic 계정 자격 증명으로 인증하고 로컬 세션 상태를 보내지 않으므로 명령이 세션을 시작한 머신에서 실행될 필요가 없으며 PowerShell을 포함한 모든 셸에서 동일합니다.159클라우드 세션이 실행 중이면, 어디서 실행되든 `claude auth login`으로 로그인한 모든 머신의 `claude` CLI에서 후속 메시지를 보낼 수 있습니다. CLI는 Anthropic 계정 자격 증명으로 인증하고 로컬 세션 상태를 보내지 않으므로, 명령은 세션을 시작한 머신에서 실행할 필요가 없으며, PowerShell을 포함한 모든 셸에서 동일합니다.

158 160 

159명령은 하나의 메시지를 게시하고 종료합니다:161명령은 하나의 메시지를 게시하고 종료합니다:

160 162 


162claude -p "your message" --cloud <session-id>164claude -p "your message" --cloud <session-id>

163```165```

164 166 

165CLI는 메시지를 세션에 큐에 넣고 회신을 기다리지 않고 종료합니다. 이를 사용하여 장시간 실행되는 세션을 조종하거나, 현재 세션이 아직 완료되는 동안 다음 단계를 큐에 넣거나, [CI 스크립트](/docs/ko/self-hosted-environments-testing#run-the-test-loop)에서 후속 메시지를 보내세요. 인수로 전달하는 대신 stdin에서 메시지를 파이프할 수도 있습니다: `echo "your message" | claude -p --cloud <session-id>`.167CLI는 메시지를 세션에 큐에 넣고 응답을 기다리지 않고 종료합니다. 이를 사용하여 장시간 실행되는 세션을 조종하고, 현재 세션이 아직 완료되는 동안 다음 단계를 큐에 넣거나, [CI 스크립트](/docs/ko/self-hosted-environments-testing#run-the-test-loop)에서 후속 메시지를 보냅니다. 또한 인수로 전달하는 대신 stdin에서 메시지를 파이프할 수 있습니다: `echo "your message" | claude -p --cloud <session-id>`.

166 168 

167`<session-id>`의 경우 `session_...` 또는 `cse_...`과 같은 bare ID 또는 세션의 `claude.ai/code/<id>` URL을 전달하세요(스키마 또는 쿼리 문자열 포함 또는 제외). claude.ai/code의 세션 목록에서 ID를 찾으세요.169`<session-id>`의 경우, `session_...` 또는 `cse_...`와 같은 베어 ID 또는 세션의 `claude.ai/code/<id>` URL을 스키마 또는 쿼리 문자열 없이 전달합니다. claude.ai/code의 세션 목록에서 ID를 찾습니다.

168 170 

169<Note>171<Note>

170 `--cloud`는 Anthropic 계정이 필요합니다. Claude Code가 Amazon Bedrock, Google Cloud의 Agent Platform 또는 다른 타사 제공자로 구성된 경우 사용할 수 없습니다. `ANTHROPIC_BASE_URL`을 통해서만 구성된 [LLM gateway](/docs/ko/llm-gateway)는 이 확인을 위해 타사 제공자로 계산되지 않지만 여전히 `claude auth login`으로 로그인해야 합니다. 조직의 `allow_remote_sessions` 정책도 활성화되어야 합니다. Owner는 claude.ai/admin-settings/claude-code의 Claude Code 관리 설정에서 켤 수 있습니다.172 `--cloud`는 Anthropic 계정이 필요합니다. Claude Code가 Amazon Bedrock, Google Cloud의 Agent Platform 또는 다른 타사 제공자로 구성된 경우 사용할 수 없습니다. `ANTHROPIC_BASE_URL`을 통해서만 구성된 [LLM gateway](/docs/ko/llm-gateway)는 이 확인에서 타사 제공자로 간주되지 않지만, 여전히 `claude auth login`으로 로그인해야 합니다. 조직의 `allow_remote_sessions` 정책도 활성화되어야 합니다. 소유자는 claude.ai/admin-settings/claude-code의 Claude Code 관리 설정에서 이를 켤 수 있습니다.

171</Note>173</Note>

172 174 

173<h4 id="output-and-errors">175<h4 id="output-and-errors">


182View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0184View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0

183```185```

184 186 

185기계 판독 가능한 결과를 위해 `--output-format json`을 전달하세요: 성공 시 `{ok, session_id, url}` 또는 세션이 누락되거나 보관된 경우와 같이 전송이 실패할 때 `{ok: false, session_id, error}`. 지원되지 않는 제공자 또는 비활성화된 조직 정책과 같은 구성 오류는 JSON 없이 stderr에 인쇄됩니다. `--output-format stream-json`은 `--cloud <session-id>`에서 지원되지 않습니다.187`--output-format json`을 전달하여 머신이 읽을 수 있는 결과를 얻습니다: 성공 시 `{ok, session_id, url}`, 또는 세션이 누락되거나 보관된 경우와 같이 전송이 실패할 때 `{ok: false, session_id, error}`입니다. 지원되지 않는 제공자 또는 비활성화된 조직 정책과 같은 구성 오류는 JSON 없이 stderr에 인쇄됩니다. `--output-format stream-json`은 `--cloud <session-id>`에서 지원되지 않습니다.

186 188 

187CLI는 오류 앞에 `Error: `를 붙입니다. 실패한 전달은 `failed to send message to cloud session <id>: <reason>`으로 래핑됩니다.189CLI는 오류 앞에 `Error: `를 붙입니다. 실패한 전달은 `failed to send message to cloud session <id>: <reason>`으로 래핑됩니다.

188 190 

189| 메시지 | 의미 |191| 메시지 | 의미 |

190| - | - |192| - | - |

191| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code가 타사 제공자로 구성되어 있습니다. 메시지는 구성이 사용하는 레이블(예: `Amazon Bedrock` 또는 `Google Vertex AI`)과 함께 제공자의 이름을 지정합니다. 예를 들어 `CLAUDE_CODE_USE_BEDROCK`을 설정 해제하여 해당 제공자의 구성을 제거하고 Anthropic 계정(`claude auth login`)으로 로그인하세요. |193| `Cloud sessions aren't available with <provider>. They run on Anthropic's infrastructure and require an Anthropic account.` | Claude Code가 타사 제공자로 구성되어 있습니다. 메시지는 구성에서 사용하는 레이블(예: `Amazon Bedrock` 또는 `Google Vertex AI`)과 함께 제공자의 이름을 지정합니다. 해당 제공자의 구성을 제거합니다(예: `CLAUDE_CODE_USE_BEDROCK` 설정 해제). Anthropic 계정으로 로그인합니다(`claude auth login`). |

192| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | `allow_remote_sessions` 조직 정책이 꺼져 있습니다. |194| `Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.` | `allow_remote_sessions` 조직 정책이 꺼져 있습니다. |

193| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code가 조직의 정책을 가져올 수 없어 클라우드 세션이 허용된다고 가정하기보다는 전송을 거부합니다. 네트워크 연결을 확인하고 다시 시도하세요. |195| `Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.` | Claude Code가 조직의 정책을 가져올 수 없어 클라우드 세션이 허용된다고 가정하지 않고 전송을 거부합니다. 네트워크 연결을 확인하고 다시 시도합니다. |

194| `Attaching to an existing cloud session is not enabled for your account.` | `-p` 없이 `--cloud <session-id>`를 실행했습니다. `claude -p "your message" --cloud <session-id>`로 메시지를 보내세요. |196| `Attaching to an existing cloud session is not enabled for your account.` | `-p` 없이 `--cloud <session-id>`를 실행했습니다. `claude -p "your message" --cloud <session-id>`로 메시지를 보냅니다. |

195| `Session not found: <id>` | ID 또는 URL이 액세스할 수 있는 세션과 일치하지 않습니다. 세션의 claude.ai/code URL에 대해 확인하세요. |197| `Session not found: <id>` | ID 또는 URL이 액세스할 수 있는 세션과 일치하지 않습니다. 세션의 claude.ai/code URL에 대해 확인합니다. |

196| `cloud session <id> is archived and cannot accept new messages` | 세션이 보관되었습니다. 대신 새 세션을 시작하세요. |198| `cloud session <id> is archived and cannot accept new messages` | 세션이 보관되었습니다. 대신 새 세션을 시작합니다. |

197 199 

198<h3 id="from-cloud-to-terminal">200<h3 id="from-cloud-to-terminal">

199 클라우드에서 터미널로201 클라우드에서 터미널로

200</h3>202</h3>

201 203 

202다음 중 하나를 사용하여 클라우드 세션을 터미널로 가져오세요:204다음 중 하나를 사용하여 클라우드 세션을 터미널로 가져옵니다:

203 205 

204* **`--teleport` 사용**: 명령줄에서 `claude --teleport`를 실행하여 대화형 세션 선택기를 사용하거나 `claude --teleport <session-id>`를 실행하여 특정 세션을 직접 재개합니다. 커밋되지 않은 변경 사항이 있으면 먼저 stash하라는 메시지가 표시됩니다.206* **`--teleport` 사용**: 명령줄에서 `claude --teleport`를 실행하여 대화형 세션 선택기를 열거나, `claude --teleport <session-id>`를 실행하여 특정 세션을 직접 재개합니다. 커밋되지 않은 변경 사항이 있으면 먼저 stash하라는 메시지가 표시됩니다.

205* **`/teleport` 사용**: 기존 CLI 세션 내에서 `/teleport` 또는 `/tp`를 실행하여 Claude Code를 다시 시작하지 않고 동일한 세션 선택기를 엽니다.207* **`/teleport` 사용**: 기존 CLI 세션 내에서 `/teleport` 또는 `/tp`를 실행하여 Claude Code를 다시 시작하지 않고 동일한 세션 선택기를 엽니다.

206* **`/tasks`에서**: `/tasks`를 실행하여 백그라운드 세션을 보고 `t`를 눌러 하나로 텔레포트합니다.208* **`/tasks`에서**: `/tasks`를 실행하여 백그라운드 세션을 보고, `t`를 눌러 하나로 teleport합니다.

207* **claude.ai/code에서**: 세션 메뉴에서 **Open in > Terminal**을 선택하여 터미널에 붙여넣을 수 있는 명령을 복사합니다.209* **claude.ai/code에서**: 세션 메뉴에서 **Open in > Terminal**을 선택하여 터미널에 붙여넣을 수 있는 명령을 복사합니다.

208* **클라우드 세션 내에서**: `/teleport`를 입력하면 Claude Code가 해당 세션에 대해 저장소의 체크아웃에서 실행할 준비가 된 정확한 `claude --teleport <session-id>` 명령으로 회신합니다. 세션의 환경에서 Claude Code v2.1.223 이상이 필요합니다.210* **클라우드 세션 내에서**: `/teleport`를 입력하면 Claude Code가 해당 세션에 대한 정확한 `claude --teleport <session-id>` 명령으로 응답하며, 저장소의 체크아웃에서 실행할 준비가 됩니다. 세션의 환경에서 Claude Code v2.1.223 이상이 필요합니다.

209 211 

210세션을 텔레포트하면 Claude가 올바른 저장소에 있는지 확인하고, 클라우드 세션에서 분기를 가져와 체크아웃하고, 전체 대화 기록을 터미널에 로드합니다. 터미널은 세션의 자체 복사본을 가져옵니다: 여기서의 새로운 작업은 로컬로 유지되며 claude.ai의 클라우드 세션이나 Claude 모바일 앱에 나타나지 않습니다. 텔레포트 후 휴대폰에서 조종을 계속하려면 로컬 세션에서 [`/remote-control`](/docs/ko/remote-control)을 시작하세요.212세션을 teleport할 때, Claude는 올바른 저장소에 있는지 확인하고, 클라우드 세션에서 브랜치를 가져와 체크아웃하고, 전체 대화 기록을 터미널에 로드합니다. 터미널은 세션의 자체 복사본을 가집니다. 여기서의 새로운 작업은 로컬로 유지되며 claude.ai의 클라우드 세션이나 Claude 모바일 앱에 나타나지 않습니다. teleport 후 휴대폰에서 계속 조종하려면 로컬 세션에서 [`/remote-control`](/docs/ko/remote-control)을 시작합니다.

211 213 

212`--teleport`는 `--resume`과 다릅니다. `--resume`은 이 머신의 로컬 기록에서 대화를 다시 열고 클라우드 세션을 나열하지 않습니다. `--teleport`는 클라우드 세션과 해당 분기를 가져옵니다.214`--teleport`는 `--resume`과 다릅니다. `--resume`은 이 머신의 로컬 기록에서 대화를 다시 열고 클라우드 세션을 나열하지 않습니다. `--teleport`는 클라우드 세션과 해당 브랜치를 가져옵니다.

213 215 

214<h4 id="teleport-requirements">216<h4 id="teleport-requirements">

215 텔레포트 요구 사항217 Teleport 요구 사항

216</h4>218</h4>

217 219 

218텔레포트는 세션을 재개하기 전에 이러한 요구 사항을 확인합니다. 요구 사항이 충족되지 않으면 오류가 표시되거나 문제를 해결하라는 메시지가 표시됩니다.220Teleport는 세션을 재개하기 전에 이러한 요구 사항을 확인합니다. 요구 사항이 충족되지 않으면 오류가 표시되거나 문제를 해결하라는 메시지가 표시됩니다.

219 221 

220| 요구 사항 | 세부 정보 |222| 요구 사항 | 세부 사항 |

221| - | - |223| - | - |

222| Clean git state | 작업 디렉토리에 커밋되지 않은 변경 사항이 없어야 합니다. 텔레포트가 필요한 경우 변경 사항을 stash하라는 메시지를 표시합니다. |224| 깨끗한 git 상태 | 작업 디렉토리에 커밋되지 않은 변경 사항이 없어야 합니다. Teleport는 필요한 경우 변경 사항을 stash하라는 메시지를 표시합니다. |

223| 올바른 저장소 | fork가 아닌 동일한 저장소의 체크아웃에서 `--teleport`를 실행해야 합니다. 다른 저장소의 체크아웃에서 실행하면 Claude Code는 세션의 저장소와 체크아웃의 저장소 모두의 이름을 지정하는 오류를 표시합니다. v2.1.219 이전에는 오류가 체크아웃의 저장소 이름을 지정하지 않았습니다. Claude Code가 `git@work:owner/repo.git`과 같은 SSH 호스트 별칭으로 원격을 호스트 이름으로 구문 분석할 수 없으면 확인을 요청하고 원격의 소유자 및 저장소 이름이 세션의 저장소와 일치할 때 체크아웃을 수락합니다. |225| 올바른 저장소 | 포크가 아닌 동일한 저장소의 체크아웃에서 `--teleport`를 실행해야 합니다. 다른 저장소의 체크아웃에서 실행하면 Claude Code는 세션의 저장소와 체크아웃의 이름을 모두 지정하는 오류를 표시합니다. v2.1.219 이전에는 오류가 체크아웃의 저장소 이름을 지정하지 않았습니다. Claude Code가 원격을 호스트 이름으로 파싱할 수 없으면(예: `git@work:owner/repo.git`과 같은 SSH 호스트 별칭), 확인을 요청하고 원격의 소유자 및 저장소 이름이 세션의 저장소와 일치할 때 체크아웃을 수락합니다. |

224| 분기 사용 가능 | 클라우드 세션의 분기가 원격으로 푸시되어야 합니다. 텔레포트가 자동으로 가져와 체크아웃합니다. |226| 사용 가능한 브랜치 | 클라우드 세션의 브랜치를 원격으로 푸시해야 합니다. Teleport는 자동으로 가져와 체크아웃합니다. |

225| 동일한 계정 | 클라우드 세션에서 사용한 동일한 claude.ai 계정으로 인증되어야 합니다. |227| 동일한 계정 | 클라우드 세션에서 사용된 동일한 claude.ai 계정으로 인증해야 합니다. |

226 228 

227<h4 id="teleport-is-unavailable">229<h4 id="teleport-is-unavailable">

228 `--teleport`를 사용할 수 없음230 `--teleport`를 사용할 수 없음

229</h4>231</h4>

230 232 

231텔레포트는 claude.ai 구독 인증이 필요합니다. API 키로 인증된 경우 `/login`을 실행하여 대신 claude.ai 계정으로 로그인하세요. 오류가 제공자의 이름을 지정하면 클라우드 세션을 타사 제공자를 통해 사용할 수 없습니다. [오류 표](#output-and-errors)를 참조하세요. 이미 claude.ai를 통해 로그인했는데 `--teleport`를 여전히 사용할 수 없으면 조직이 클라우드 세션을 비활성화했을 수 있습니다.233Teleport는 claude.ai 구독 인증이 필요합니다. API 키를 통해 인증된 경우 `/login`을 실행하여 대신 claude.ai 계정으로 로그인합니다. 오류가 제공자의 이름을 지정하면 클라우드 세션을 타사 제공자를 통해 사용할 수 없습니다. [오류 테이블](#output-and-errors)을 참조하십시오. 이미 claude.ai를 통해 로그인했는데 `--teleport`를 여전히 사용할 수 없으면, 조직이 클라우드 세션을 비활성화했을 수 있습니다.

232 234 

233<h2 id="work-with-sessions">235<h2 id="work-with-sessions">

234 세션 작업236 세션 작업


429클라우드 세션을 워크플로우에 사용하기 전에 다음 제약 사항을 고려하십시오:431클라우드 세션을 워크플로우에 사용하기 전에 다음 제약 사항을 고려하십시오:

430 432 

431* **속도 제한**: 클라우드 세션은 계정 내의 다른 모든 Claude 및 Claude Code 사용과 속도 제한을 공유합니다. 여러 작업을 병렬로 실행하면 비례적으로 더 많은 속도 제한을 소비합니다. 클라우드 VM에 대한 별도의 컴퓨팅 요금은 없습니다.433* **속도 제한**: 클라우드 세션은 계정 내의 다른 모든 Claude 및 Claude Code 사용과 속도 제한을 공유합니다. 여러 작업을 병렬로 실행하면 비례적으로 더 많은 속도 제한을 소비합니다. 클라우드 VM에 대한 별도의 컴퓨팅 요금은 없습니다.

434* **시간 제한**: Claude가 실행하는 명령 및 SessionStart 훅에는 변경할 수 있는 기본 시간 초과가 있으며, 설정 스크립트는 대략 5분 내에 완료될 때만 캐시됩니다. [시간 제한](/docs/ko/cloud-environments#time-limits)을 참조하십시오.

432* **저장소 인증**: 동일한 계정으로 인증된 경우에만 클라우드 세션을 터미널로 가져올 수 있습니다.435* **저장소 인증**: 동일한 계정으로 인증된 경우에만 클라우드 세션을 터미널로 가져올 수 있습니다.

433* **플랫폼 제한**: 저장소 복제 및 풀 요청 생성에는 GitHub이 필요합니다. 자체 호스팅 [GitHub Enterprise Server](/docs/ko/github-enterprise-server) 인스턴스는 Team 및 Enterprise 플랜에서 지원됩니다. `CCR_FORCE_BUNDLE=1`을 설정하여 GitLab, Bitbucket 또는 기타 비-GitHub 저장소를 [로컬 번들](#send-local-repositories-without-github)로 클라우드 세션에 전송할 수 있지만, 세션은 결과를 원격으로 다시 푸시할 수 없습니다.436* **플랫폼 제한**: 저장소 복제 및 풀 요청 생성에는 GitHub이 필요합니다. 자체 호스팅 [GitHub Enterprise Server](/docs/ko/github-enterprise-server) 인스턴스는 Team 및 Enterprise 플랜에서 지원됩니다. `CCR_FORCE_BUNDLE=1`을 설정하여 GitLab, Bitbucket 또는 기타 비-GitHub 저장소를 [로컬 번들](#send-local-repositories-without-github)로 클라우드 세션에 전송할 수 있지만, 세션은 결과를 원격으로 다시 푸시할 수 없습니다.

434* **조직 IP 허용 목록**: 클라우드 세션은 사용자의 네트워크가 아닌 Anthropic 관리 인프라에서 Anthropic API를 호출하는 반면, [자체 호스팅 환경](/docs/ko/self-hosted-environments)의 세션은 사용자의 네트워크에서 호출합니다. 조직에 [IP 허용 목록](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting)이 활성화되어 있으면 모든 Anthropic 호스팅 클라우드 세션이 인증 오류로 실패합니다. 이는 [Code Review](/docs/ko/code-review) 및 Anthropic 호스팅 환경에서 실행되는 [routines](/docs/ko/routines)에도 적용됩니다. 자체 호스팅 환경으로 라우팅된 routine은 사용자의 네트워크에서 API를 호출합니다. [Anthropic 지원](https://support.claude.com/)에 문의하여 조직의 IP 허용 목록에서 Anthropic 호스팅 서비스를 제외하십시오.437* **조직 IP 허용 목록**: 클라우드 세션은 사용자의 네트워크가 아닌 Anthropic 관리 인프라에서 Anthropic API를 호출하는 반면, [자체 호스팅 환경](/docs/ko/self-hosted-environments)의 세션은 사용자의 네트워크에서 호출합니다. 조직에 [IP 허용 목록](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting)이 활성화되어 있으면 모든 Anthropic 호스팅 클라우드 세션이 인증 오류로 실패합니다. 이는 [Code Review](/docs/ko/code-review) 및 Anthropic 호스팅 환경에서 실행되는 [routines](/docs/ko/routines)에도 적용됩니다. 자체 호스팅 환경으로 라우팅된 routine은 사용자의 네트워크에서 API를 호출합니다. [Anthropic 지원](https://support.claude.com/)에 문의하여 조직의 IP 허용 목록에서 Anthropic 호스팅 서비스를 제외하십시오.

Details

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

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

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

1557| `projects/<project>/<session>/tool-results/` | 별도 파일로 유출된 대형 도구 출력 |1557| `projects/<project>/<session>/tool-results/` | 별도 파일로 유출된 대형 도구 출력, 그리고 [MCP 도구가 반환하는 이미지](/docs/ko/mcp#images-in-tool-results)의 전체 크기 복사본 |

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

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

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


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

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

1584 1584 

1585<h3 id="session-scratchpad-directory">

1586 세션 스크래치패드 디렉토리

1587</h3>

1588 

1589스크래치패드는 Claude Code가 Claude에게 제공하는 세션별 디렉토리입니다. 임시 파일용입니다: 중간 결과, 도우미 스크립트, 프로젝트에 속하지 않는 초안. Claude가 무언가를 "스크래치패드에 저장했다"고 말하면 파일이 거기에 있습니다. Claude는 `/tmp` 대신 이를 사용하며 권한 프롬프트 없이 파일을 생성, 편집 및 읽을 수 있습니다.

1590 

1591스크래치패드는 `~/.claude` 대신 Claude Code의 임시 디렉토리 아래에 있습니다. 플랫폼별로 현재 세션의 경로를 찾으세요:

1592 

1593* **macOS**: `/private/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`

1594* **Linux**: `/tmp/claude-<uid>/<project>/<session-id>/scratchpad/`, 또는 시스템이 설정한 경우 `$TMPDIR` 아래의 동일한 형태

1595* **Windows**: `%TEMP%\claude\<project>\<session-id>\scratchpad\`

1596 

1597`<project>`는 문자와 숫자 이외의 모든 문자가 `-`로 바뀐 작업 디렉토리 경로입니다. 예를 들어 `-Users-you-my-project`. [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 설정하면 트리가 대신 해당 디렉토리 아래로 이동합니다. Hook은 현재 세션의 경로를 [`scratchpad_dir`](/docs/ko/hooks#common-input-fields)로 받습니다.

1598 

1599스크래치패드 파일은 세션의 트랜스크립트만큼 오래 지속됩니다: [보존 스윕](#cleaned-up-automatically)은 트랜스크립트를 삭제할 때 디렉토리를 삭제하고, [`claude project purge`](#clear-local-data)는 임시 디렉토리를 건드리지 않습니다. 디렉토리가 시스템 임시 위치 아래에 있으므로 운영 체제도 이를 정리할 수 있습니다. 예를 들어 재시작 시. Claude가 거기에 작성한 것을 유지하려면 Claude에게 프로젝트로 이동하도록 요청하세요.

1600 

1601세션은 다음 모두가 유지될 때만 스크래치패드를 갖습니다:

1602 

1603* API 키가 아닌 claude.ai 계정으로 로그인했습니다

1604* 세션은 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry가 아닌 Anthropic API를 사용합니다

1605* [`enableArtifact`](/docs/ko/settings-reference#enableartifact)가 `false`로 설정되지 않았습니다

1606 

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

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

1587</h3>1609</h3>


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

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

1628 1650 

1629프로젝트의 세션에서 붙여넣거나 첨부한 이미지는 `~/.claude` 대신 Claude Code의 임시 디렉토리 아래에 저장되므로 purge는 이를 제거하지 않습니다. [보존 스윕](#cleaned-up-automatically)은 `cleanupPeriodDays`보다 오래되면 삭제합니다.1651프로젝트의 세션에서 붙여넣거나 첨부한 이미지 및 각 세션의 [스크래치패드](#session-scratchpad-directory)는 `~/.claude` 대신 Claude Code의 임시 디렉토리 아래에 저장되므로 purge는 이를 제거하지 않습니다. [보존 스윕](#cleaned-up-automatically)은 `cleanupPeriodDays`보다 오래되면 이미지를 삭제합니다. purge된 세션의 스크래치패드는 삭제할 때까지 또는 운영 체제가 임시 디렉토리를 정리할 때까지 유지됩니다.

1630 1652 

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

1632 1654 

Details

12 12 

13프로젝트는 Claude가 관련된 작업 흐름을 조율하는 하나의 진행 중인 대화입니다. 사용자가 수행해야 할 작업을 알려주면 Claude는 각 작업에 대한 스레드를 시작합니다.13프로젝트는 Claude가 관련된 작업 흐름을 조율하는 하나의 진행 중인 대화입니다. 사용자가 수행해야 할 작업을 알려주면 Claude는 각 작업에 대한 스레드를 시작합니다.

14 14 

15각 스레드는 보통 [클라우드 세션](/docs/ko/claude-code-on-the-web)입니다. Claude Code가 사용자의 머신이 아닌 클라우드에서 실행됩니다. 작업에 컴퓨터에만 있는 것이 필요한 경우 Claude에게 [원격 제어](/docs/ko/remote-control)를 통해 해당 스레드를 컴퓨터에서 실행하도록 요청할 수 있습니다. 스레드는 병렬로 실행되며 휴대폰에서 스레드를 확인하고 조율할 수 있습니다. 클라우드 스레드는 노트북을 닫은 후에도 계속 진행됩니다.15각 스레드는 보통 [클라우드 세션](/docs/ko/claude-code-on-the-web)입니다. Claude Code가 사용자의 머신이 아닌 클라우드에서 실행됩니다. 작업에 컴퓨터에만 있는 것이 필요한 경우 Claude에게 [원격 제어](/docs/ko/remote-control)를 통해 해당 스레드를 컴퓨터에서 실행하도록 요청할 수 있습니다. 스레드는 병렬로 실행되며 휴대폰에서 스레드를 확인하고 조율할 수 있습니다. 클라우드 스레드는 노트북을 닫은 후에도 계속 진행됩니다. 컴퓨터의 스레드는 해당 컴퓨터가 깨어 있는 동안에만 실행됩니다.

16 16 

17프로젝트가 없으면 여러 세션을 실행하는 것은 직접 조율해야 합니다. 각 세션이 수행할 작업을 결정하고, 각 세션의 시작 부분에서 동일한 배경을 반복하고, 어느 것이 완료되었거나 답변이 필요한지 확인하기 위해 다시 확인합니다. 프로젝트를 사용하면 대신:17프로젝트가 없으면 여러 세션을 실행하는 것은 직접 조율해야 합니다. 각 세션이 수행할 작업을 결정하고, 각 세션의 시작 부분에서 동일한 배경을 반복하고, 어느 것이 완료되었거나 답변이 필요한지 확인하기 위해 다시 확인합니다. 프로젝트를 사용하면 대신:

18 18 


39 다른 것이 더 잘 맞을 때39 다른 것이 더 잘 맞을 때

40</h3>40</h3>

41 41 

42Cloud 스레드는 GitHub 저장소와 프로젝트에 업로드한 파일, 폴더 및 Google Drive 폴더에서 작동하며, 머신에만 존재하는 파일이나 도구에서는 작동하지 않습니다. 작업에 머신이 필요하면 [Remote Control](/docs/ko/remote-control)을 통해 Claude에게 해당 스레드를 머신에서 실행하도록 요청하세요. [Limitations](#limitations)에서 필요한 것을 나열합니다. 다음 경우에는 다른 것이 더 잘 맞습니다:42프로젝트는 일부 작업만 머신이 필요할 때도 적합합니다. Cloud 스레드는 GitHub 저장소와 프로젝트에 업로드한 파일, 폴더 및 Google Drive 폴더에서 작동하며, 로컬 데이터베이스나 컴퓨터의 도구가 필요한 경우가 있을 때는 Claude에게 [해당 작업의 스레드를 컴퓨터에서 실행](#run-a-thread-on-your-own-computer)하도록 요청할 수 있습니다. 다음 경우에는 다른 것이 더 잘 맞습니다:

43 43 

44* **세션에 맞는 하나의 작업**: "불안정한 로그인 테스트를 수정합니다." [클라우드 세션](/docs/ko/claude-code-on-the-web)을 직접 시작하세요.44* **세션에 맞는 하나의 작업**: "불안정한 로그인 테스트를 수정합니다." [클라우드 세션](/docs/ko/claude-code-on-the-web)을 직접 시작하세요.

45* **모든 작업이 머신이 필요한 작업**: 로컬 데이터베이스, 디바이스 에뮬레이터, 또는 VPN 뒤의 API입니다. 로컬 세션을 사용하거나, [agent view](/docs/ko/agent-view)를 사용하여 여러 개를 동시에 실행하세요. 작업에 로컬 파일만 필요하면 대신 프로젝트에 업로드하세요.45* **모든 작업이 머신이 필요한 작업**: 로컬 데이터베이스, 디바이스 에뮬레이터, 또는 VPN 뒤의 API입니다. 로컬 세션을 사용하거나, [agent view](/docs/ko/agent-view)를 사용하여 여러 개를 동시에 실행하세요. 작업에 로컬 파일만 필요하면 대신 프로젝트에 업로드하세요.


277 277 

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

279 279 

280<h3 id="run-a-thread-on-your-own-computer">

281 컴퓨터에서 스레드 실행

282</h3>

283 

284작업에 로컬 데이터베이스, 기기 에뮬레이터 또는 VPN 뒤의 API와 같이 컴퓨터에만 있는 것이 필요할 때, Claude에게 클라우드 대신 컴퓨터에서 해당 작업의 스레드를 실행하도록 요청합니다. 프로젝트 대화에서 요청하면 스레드는 [Remote Control](/docs/ko/remote-control)을 통해 연결된 컴퓨터의 폴더에 있는 Claude Code 세션입니다. 프로젝트의 다른 스레드는 클라우드에서 계속 실행됩니다. 클라우드 스레드와 비교하여 컴퓨터의 스레드:

285 

286* 프로젝트의 클라우드 환경 대신 해당 컴퓨터의 파일, 도구, MCP 서버 및 Claude Code 설정으로 작동합니다

287* 프로젝트의 지침으로 시작하지만 메모리 파일이 로드되지 않습니다

288* 해당 컴퓨터가 깨어 있고 Remote Control이 켜져 있는 동안만 실행됩니다

289 

290<Steps>

291 <Step title="폴더 연결">

292 작업에 필요한 폴더가 있는 컴퓨터에서 다음 두 가지 방법 중 하나로 Remote Control을 통해 사용 가능하게 만듭니다. 둘 다 해당 컴퓨터에 Claude Code v2.1.280 이상이 필요합니다.

293 

294 * **Claude 데스크톱 앱에서**: **Settings > Claude Code**를 열고, **Use this computer from your phone and claude.ai**를 켜고, 해당 스위치 아래의 목록에 폴더를 추가합니다. 앱이 열려 있는 동안 스레드가 이 컴퓨터에서 실행될 수 있습니다.

295 * **터미널에서**: 폴더에서 `claude remote-control`을 실행하고 실행 상태로 유지합니다.

296 </Step>

297 

298 <Step title="Work locally로 작업 요청">

299 프로젝트 대화에서 메시지 상자 옆의 **+** 메뉴에서 **Work locally**를 선택합니다. 이는 메시지에 **Local** 태그를 지정하고 수행할 작업을 작성합니다. 메시지에서 작업이 컴퓨터에서 실행되어야 한다고 말하는 것도 작동합니다.

300 </Step>

301 

302 <Step title="카드에서 허용">

303 Claude는 **Allow Claude to work in a folder on your device** 카드로 답변합니다. 여러 개를 연결한 경우 폴더를 선택합니다. 그런 다음 **Allow once**를 클릭합니다.

304 </Step>

305</Steps>

306 

307스레드는 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 실행되므로 Claude는 해당 폴더의 명령을 실행하고 파일을 편집합니다. 자동 모드를 사용할 수 없거나 해당 컴퓨터의 Claude Code에서 꺼져 있으면 스레드는 자동 모드 없이 실행되고, 발생하는 모든 권한 프롬프트는 [승인 대기 중인 스레드 차단 해제](#unblock-a-thread-waiting-on-approval)에서 설명하는 대로 스레드에서 답변을 기다립니다.

308 

309스레드가 실행되는 동안 헤더의 노트북 아이콘은 컴퓨터가 연결되어 있는지 여부를 표시합니다. 클릭하여 스레드가 사용 중인 폴더를 확인하거나 연결을 끕니다. 해당 컴퓨터가 절전 상태일 때 스레드가 일시 중지되고, 데스크톱 앱 또는 `claude remote-control`이 종료되면 중지됩니다. [폴더와의 연결 끊김](#lost-contact-with-your-folder)에서 다시 시작하는 방법을 다룹니다. 데스크톱 앱에서 **Settings > Claude Code** 아래의 **Keep this computer awake for Remote Control**을 켜서 컴퓨터가 자동으로 절전 상태로 들어가지 않도록 합니다.

310 

311[**Require trusted devices**](/docs/ko/remote-control#trusted-devices)가 계정에 켜져 있는 동안 프로젝트는 컴퓨터에서 스레드를 실행할 수 없습니다.

312 

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

281 프로젝트에 상황 맥락 제공하기314 프로젝트에 상황 맥락 제공하기

282</h2>315</h2>


441* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview)는 Team 및 Enterprise 플랜의 팀 Slack 채널에 있는 Claude입니다. 채널의 누구나 작업을 할당할 수 있고, 채널의 모든 사람이 이를 보고 조정할 수 있으며, 관리자가 해당 채널을 위해 설정한 연결을 사용합니다. 프로젝트는 개인 전용입니다: 사용자만 작업을 할당하거나 스레드를 볼 수 있으며, 자신의 GitHub 액세스 및 커넥터를 사용하고, Pro 및 Max에서 사용 가능합니다. [Claude Tag가 Cowork 및 Claude Code와 어떻게 다른지](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code)에서 나란히 비교한 내용을 확인할 수 있습니다.474* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview)는 Team 및 Enterprise 플랜의 팀 Slack 채널에 있는 Claude입니다. 채널의 누구나 작업을 할당할 수 있고, 채널의 모든 사람이 이를 보고 조정할 수 있으며, 관리자가 해당 채널을 위해 설정한 연결을 사용합니다. 프로젝트는 개인 전용입니다: 사용자만 작업을 할당하거나 스레드를 볼 수 있으며, 자신의 GitHub 액세스 및 커넥터를 사용하고, Pro 및 Max에서 사용 가능합니다. [Claude Tag가 Cowork 및 Claude Code와 어떻게 다른지](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code)에서 나란히 비교한 내용을 확인할 수 있습니다.

442* **클라우드 세션**: 모든 스레드는 Claude에게 머신에서 실행하도록 요청하지 않는 한 [클라우드 세션](/docs/ko/claude-code-on-the-web)입니다. 어느 쪽이든 Claude가 세션을 시작하고 추적합니다. 직접 시작한 클라우드 세션은 [**프로젝트로 계속하기** 또는 **프로젝트로 이동**](#start-from-an-existing-cloud-session)을 통해 프로젝트가 되거나 프로젝트에 피드될 수 있습니다.475* **클라우드 세션**: 모든 스레드는 Claude에게 머신에서 실행하도록 요청하지 않는 한 [클라우드 세션](/docs/ko/claude-code-on-the-web)입니다. 어느 쪽이든 Claude가 세션을 시작하고 추적합니다. 직접 시작한 클라우드 세션은 [**프로젝트로 계속하기** 또는 **프로젝트로 이동**](#start-from-an-existing-cloud-session)을 통해 프로젝트가 되거나 프로젝트에 피드될 수 있습니다.

443* **루틴**: 프로젝트에서 예약된 작업을 요청하면 Claude는 해당 프로젝트의 스레드로 실행되고 **루틴** 탭에 표시되는 [루틴](/docs/ko/routines)을 생성합니다. 프로젝트 외부에서 생성한 루틴은 계속 독립적으로 작동합니다.476* **루틴**: 프로젝트에서 예약된 작업을 요청하면 Claude는 해당 프로젝트의 스레드로 실행되고 **루틴** 탭에 표시되는 [루틴](/docs/ko/routines)을 생성합니다. 프로젝트 외부에서 생성한 루틴은 계속 독립적으로 작동합니다.

444* **로컬 세션 및 에이전트 뷰**: 터미널, IDE 또는 데스크톱 앱의 로컬 환경에서 직접 시작한 세션은 프로젝트에 추가할 수 없습니다. 프로젝트는 [원격 제어](/docs/ko/remote-control)를 통해 스레드를 실행하여 머신에만 도달합니다. [에이전트 뷰](/docs/ko/agent-view)는 직접 시작한 여러 로컬 세션을 추적하기 위한 화면이며, 조정자가 없습니다.477* **원격 제어**: [원격 제어](/docs/ko/remote-control)는 claude.ai를 머신에서 실행 중인 Claude Code 세션에 연결합니다. 프로젝트에서 Claude에게 컴퓨터에서 스레드를 실행하도록 요청하면, 프로젝트는 [원격 제어를 사용하여 이를 수행합니다](#run-a-thread-on-your-own-computer).

478* **로컬 세션 및 에이전트 뷰**: 터미널, IDE 또는 데스크톱 앱의 로컬 환경에서 직접 시작한 세션은 프로젝트에 추가할 수 없습니다. [에이전트 뷰](/docs/ko/agent-view)는 여러 로컬 세션을 나란히 추적하기 위한 화면이며, 사용자가 각 세션을 직접 시작하고 작업을 할당합니다.

445* **Worktrees**: [worktree](/docs/ko/worktrees)는 각 로컬 세션에 리포지토리의 자체 작업 복사본을 제공하므로 머신의 병렬 세션이 서로 덮어쓰지 않습니다. 클라우드 스레드는 이를 필요로 하지 않습니다: 각 스레드는 리포지토리를 자체 클라우드 샌드박스에 복제하고 자체 브랜치에서 작동합니다.479* **Worktrees**: [worktree](/docs/ko/worktrees)는 각 로컬 세션에 리포지토리의 자체 작업 복사본을 제공하므로 머신의 병렬 세션이 서로 덮어쓰지 않습니다. 클라우드 스레드는 이를 필요로 하지 않습니다: 각 스레드는 리포지토리를 자체 클라우드 샌드박스에 복제하고 자체 브랜치에서 작동합니다.

446* **에이전트 팀**: [에이전트 팀](/docs/ko/agent-teams)은 머신 또는 클라우드 세션 내에서 단일 작업을 위해 팀원 세션을 시작하고 해당 작업으로 끝나는 하나의 세션입니다.480* **에이전트 팀**: [에이전트 팀](/docs/ko/agent-teams)은 머신 또는 클라우드 세션 내에서 단일 작업을 위해 팀원 세션을 시작하고 해당 작업으로 끝나는 하나의 세션입니다.

447* **claude.ai 채팅 및 Cowork의 프로젝트**: 스레드나 조정자 없이 대화 및 참조 파일을 그룹화하는 [이전 프로젝트 경험](https://support.claude.com/en/articles/9517075-what-are-projects)입니다. 이러한 프로젝트는 재설계된 경험이 도달할 때까지 현재대로 계속 작동합니다.481* **claude.ai 채팅 및 Cowork의 프로젝트**: 스레드나 조정자 없이 대화 및 참조 파일을 그룹화하는 [이전 프로젝트 경험](https://support.claude.com/en/articles/9517075-what-are-projects)입니다. 이러한 프로젝트는 재설계된 경험이 도달할 때까지 현재대로 계속 작동합니다.


454 488 

455* 프로젝트는 claude.ai/code, 데스크톱 앱 및 Claude 모바일 앱에서 사용 가능하며, 터미널 CLI 또는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry를 통해서는 사용할 수 없습니다. CLI의 [`claude project`](/docs/ko/cli-reference) 명령은 디렉토리에 대한 로컬 Claude Code 상태를 관리하며 관련이 없습니다.489* 프로젝트는 claude.ai/code, 데스크톱 앱 및 Claude 모바일 앱에서 사용 가능하며, 터미널 CLI 또는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry를 통해서는 사용할 수 없습니다. CLI의 [`claude project`](/docs/ko/cli-reference) 명령은 디렉토리에 대한 로컬 Claude Code 상태를 관리하며 관련이 없습니다.

456* 프로젝트 스레드는 [클라우드 세션](/docs/ko/claude-code-on-the-web)이거나, [Remote Control](/docs/ko/remote-control)을 통한 자신의 머신의 세션이며, 두 경우 모두 Anthropic이 모델 제공자입니다. [보안](/docs/ko/security) 및 [데이터 사용](/docs/ko/data-usage)은 클라우드 세션이 어떻게 격리되고 무엇이 유지되는지를 다루며, [연결 및 보안](/docs/ko/remote-control#connection-and-security)은 머신의 스레드가 어떻게 연결되고 무엇이 저장되는지를 다룹니다.490* 프로젝트 스레드는 [클라우드 세션](/docs/ko/claude-code-on-the-web)이거나, [Remote Control](/docs/ko/remote-control)을 통한 자신의 머신의 세션이며, 두 경우 모두 Anthropic이 모델 제공자입니다. [보안](/docs/ko/security) 및 [데이터 사용](/docs/ko/data-usage)은 클라우드 세션이 어떻게 격리되고 무엇이 유지되는지를 다루며, [연결 및 보안](/docs/ko/remote-control#connection-and-security)은 머신의 스레드가 어떻게 연결되고 무엇이 저장되는지를 다룹니다.

457* 자신의 머신에서 직접 시작한 세션을 프로젝트에 추가할 수 없습니다. 프로젝트가 머신에서 스레드를 실행하도록 하려면, [Remote Control](/docs/ko/remote-control#requirements)을 통해 작업해야 할 폴더를 연결합니다: Claude 데스크톱 앱의 **설정 > Claude Code**에서 Remote Control을 켜거나, 폴더에서 `claude remote-control`을 실행하고 실행 상태로 유지합니다. 해당 머신에는 Claude Code v2.1.280 이상이 필요합니다. 또한 claude.ai 설정에서 **신뢰할 수 있는 기기 필요**가 켜져 있으면 프로젝트가 머신에서 스레드를 실행할 수 없습니다.491* 자신의 머신에서 직접 시작한 세션을 프로젝트에 추가할 수 없습니다. 프로젝트가 머신에 도달하는 유일한 방법은 [Remote Control을 통해 머신에서 스레드를 실행](#run-a-thread-on-your-own-computer)하는 것이며, 해당 섹션에서 필요한 사항을 나열합니다.

458* 클라우드 스레드의 샌드박스는 차례 사이에 일시 중지되고 스레드가 계속될 때 다시 시작됩니다. 샌드박스를 다시 시작할 수 없으면 스레드는 새 복제에서 계속되므로 커밋되지 않은 변경 사항이 손실될 수 있습니다. 긴 작업에서 Claude에게 진행 중인 작업을 커밋하고 푸시하도록 요청합니다.492* 클라우드 스레드의 샌드박스는 차례 사이에 일시 중지되고 스레드가 계속될 때 다시 시작됩니다. 샌드박스를 다시 시작할 수 없으면 스레드는 새 복제에서 계속되므로 커밋되지 않은 변경 사항이 손실될 수 있습니다. 긴 작업에서 Claude에게 진행 중인 작업을 커밋하고 푸시하도록 요청합니다.

459* 프로젝트는 한 사용자에게 속합니다. 프로젝트 또는 스레드를 다른 사용자와 공유할 수 없으며, 스레드 기록에는 다른 클라우드 세션이 가진 공유 옵션이 없습니다. 베타 중에는 프로젝트에 대한 조직 수준 제어가 없습니다.493* 프로젝트는 한 사용자에게 속합니다. 프로젝트 또는 스레드를 다른 사용자와 공유할 수 없으며, 스레드 기록에는 다른 클라우드 세션이 가진 공유 옵션이 없습니다. 베타 중에는 프로젝트에 대한 조직 수준 제어가 없습니다.

460* 스레드는 시작한 하나의 프로젝트에 속합니다. 스레드를 다른 프로젝트로 이동하거나 복사할 수 없으며, 독립적으로 이동할 수 없습니다. [**Move to project**](#start-from-an-existing-cloud-session)는 다른 방향으로만 이동합니다: 클라우드 세션의 작업을 프로젝트로 가져옵니다.494* 스레드는 시작한 하나의 프로젝트에 속합니다. 스레드를 다른 프로젝트로 이동하거나 복사할 수 없으며, 독립적으로 이동할 수 없습니다. [**Move to project**](#start-from-an-existing-cloud-session)는 다른 방향으로만 이동합니다: 클라우드 세션의 작업을 프로젝트로 가져옵니다.


513 547 

514스레드 또는 프로젝트 대화가 계획이 사용 크레딧으로만 포함하는 요청(예: 계획이 포함하지 않는 모델 또는 컨텍스트 크기에 대한 요청)을 했으며, 사용 크레딧이 계정에 대해 켜져 있지 않습니다. [구독에 사용 크레딧 추가](/docs/ko/costs#add-usage-credits-to-your-subscription)는 각 계획에서 누가 켜거나 구매할 수 있는지를 다룹니다. 크레딧을 사용할 수 있게 되면 다시 시도하려면 다른 메시지를 보내십시오.548스레드 또는 프로젝트 대화가 계획이 사용 크레딧으로만 포함하는 요청(예: 계획이 포함하지 않는 모델 또는 컨텍스트 크기에 대한 요청)을 했으며, 사용 크레딧이 계정에 대해 켜져 있지 않습니다. [구독에 사용 크레딧 추가](/docs/ko/costs#add-usage-credits-to-your-subscription)는 각 계획에서 누가 켜거나 구매할 수 있는지를 다룹니다. 크레딧을 사용할 수 있게 되면 다시 시도하려면 다른 메시지를 보내십시오.

515 549 

550<h3 id="lost-contact-with-your-folder">

551 폴더와의 연결 손실

552</h3>

553 

554컴퓨터에서 실행 중인 스레드는 Claude Code 세션이 응답을 중지할 때 이를 표시합니다. 일반적으로 컴퓨터가 절전 모드로 전환되었거나 데스크톱 앱 또는 `claude remote-control`이 종료되었기 때문입니다. 컴퓨터를 깨우고, 데스크톱 앱 또는 `claude remote-control`이 더 이상 실행 중이 아니면 다시 시작하십시오: 앱을 다시 열고 **설정 > Claude Code** 아래에서 **휴대폰 및 claude.ai에서 이 컴퓨터 사용**이 여전히 켜져 있는지 확인하거나, 같은 폴더에서 `claude remote-control`을 다시 실행하십시오.

555 

516<h3 id="context-limit">556<h3 id="context-limit">

517 기타 메시지557 기타 메시지

518</h3>558</h3>


528| "설정 스크립트 실패" | 오류에서 **설정 스크립트 편집**을 클릭하고, 환경에서 스크립트를 수정한 후, 다른 메시지를 보내십시오. [설정 스크립트 실패](/docs/ko/web-quickstart#setup-script-failed)는 일반적인 원인을 나열합니다 |568| "설정 스크립트 실패" | 오류에서 **설정 스크립트 편집**을 클릭하고, 환경에서 스크립트를 수정한 후, 다른 메시지를 보내십시오. [설정 스크립트 실패](/docs/ko/web-quickstart#setup-script-failed)는 일반적인 원인을 나열합니다 |

529| "Claude가 이 차례에 컨텍스트를 모두 사용함" | 스레드가 컨텍스트 윈도우를 채웠습니다. 메시지에서 스레드가 새 세션에서 계속된다고 하면, 자동으로 계속됩니다. 그렇지 않으면 프로젝트 대화에서 Claude에게 남은 작업에 대해 새 스레드를 시작하도록 요청하십시오 |569| "Claude가 이 차례에 컨텍스트를 모두 사용함" | 스레드가 컨텍스트 윈도우를 채웠습니다. 메시지에서 스레드가 새 세션에서 계속된다고 하면, 자동으로 계속됩니다. 그렇지 않으면 프로젝트 대화에서 Claude에게 남은 작업에 대해 새 스레드를 시작하도록 요청하십시오 |

530| "차례 한도에 도달" | 스레드가 [`CLAUDE_CODE_MAX_TURNS`](/docs/ko/env-vars)가 설정한 에이전트 차례의 상한에 도달했습니다. 다시 시도하려면 다른 메시지를 보내거나, 설정된 위치에서 해당 변수를 높이거나 제거하십시오 |570| "차례 한도에 도달" | 스레드가 [`CLAUDE_CODE_MAX_TURNS`](/docs/ko/env-vars)가 설정한 에이전트 차례의 상한에 도달했습니다. 다시 시도하려면 다른 메시지를 보내거나, 설정된 위치에서 해당 변수를 높이거나 제거하십시오 |

571| "폴더에서 시작할 수 없음" 뒤에 폴더 이름이 옴 | 스레드가 컴퓨터에서 실행되도록 허용했지만, 세션을 거기서 시작할 수 없었습니다. 메시지 아래의 줄이 이유를 제시할 때, 그것을 수정한 후 Claude에게 작업을 다시 실행하도록 요청하십시오 |

572| "Claude가 기기에서 만료됨" | 스레드를 실행하도록 선택한 컴퓨터에 v2.1.280보다 오래된 Claude Code 버전이 있습니다. 거기서 Claude Code를 업데이트하거나, 폴더를 연결하는 것이 데스크톱 앱이면 데스크톱 앱을 업데이트한 후, Claude에게 작업을 다시 실행하도록 요청하십시오 |

573| "차례 한도에 도달" | 스레드가 [`CLAUDE_CODE_MAX_TURNS`](/docs/ko/env-vars)가 설정한 에이전트 차례의 상한에 도달했습니다. 다시 시도하려면 다른 메시지를 보내거나, 설정된 위치에서 해당 변수를 높이거나 제거하십시오 |

531 574 

532<h2 id="related-resources">575<h2 id="related-resources">

533 관련 리소스576 관련 리소스

Details

26| `claude install [version]` | 네이티브 바이너리를 설치하거나 재설치합니다. `2.1.118`과 같은 버전, 또는 `stable` 또는 `latest`를 허용합니다. [특정 버전 설치](/docs/ko/setup#install-a-specific-version) 참조 | `claude install stable` |26| `claude install [version]` | 네이티브 바이너리를 설치하거나 재설치합니다. `2.1.118`과 같은 버전, 또는 `stable` 또는 `latest`를 허용합니다. [특정 버전 설치](/docs/ko/setup#install-a-specific-version) 참조 | `claude install stable` |

27| `claude auth login` | Anthropic 계정에 로그인합니다. `--email`을 사용하여 이메일 주소를 미리 입력하고, `--sso`를 사용하여 SSO 인증을 강제하고, `--console`을 사용하여 Claude 구독 대신 API 사용 청구를 위해 Anthropic Console로 로그인할 수 있습니다 | `claude auth login --console` |27| `claude auth login` | Anthropic 계정에 로그인합니다. `--email`을 사용하여 이메일 주소를 미리 입력하고, `--sso`를 사용하여 SSO 인증을 강제하고, `--console`을 사용하여 Claude 구독 대신 API 사용 청구를 위해 Anthropic Console로 로그인할 수 있습니다 | `claude auth login --console` |

28| `claude auth logout` | Anthropic 계정에서 로그아웃합니다 | `claude auth logout` |28| `claude auth logout` | Anthropic 계정에서 로그아웃합니다 | `claude auth logout` |

29| `claude auth status` | 인증 상태를 JSON으로 표시합니다. 사람이 읽을 수 있는 출력을 위해 `--text`를 사용합니다. 로그인된 경우 코드 0으로 종료되고, 로그인되지 않은 경우 1로 종료됩니다 | `claude auth status` |29| `claude auth status` | 인증 상태를 JSON으로 표시합니다. 사람이 읽을 수 있는 출력을 위해 `--text`를 사용합니다. 로그인된 경우 코드 0으로 종료되고, 로그인되지 않은 경우 1로 종료됩니다. JSON에는 CLI가 사용하는 [구성 디렉토리](/docs/ko/claude-directory)의 이름을 지정하는 `configDirectory` 필드가 포함됩니다. 이 필드는 Claude Code v2.1.268 이상이 필요합니다 | `claude auth status` |

30| `claude agents` | [에이전트 보기](/docs/ko/agent-view)를 열어 병렬 백그라운드 세션을 모니터링하고 디스패치합니다. `--cwd <path>`를 사용하여 해당 디렉토리 아래에서 시작된 세션만 표시하거나, `--json`을 사용하여 스크립팅을 위해 활성 세션을 JSON 배열로 인쇄합니다(`--json --all`은 완료된 백그라운드 세션도 포함합니다). `--permission-mode`, `--model`, `--effort` 또는 `--agent`를 전달하여 [디스패치된 세션의 기본값](/docs/ko/agent-view#permission-mode-model-and-effort)을 설정합니다. 최상위 `claude` 명령어처럼 `--settings`, `--add-dir`, `--plugin-dir` 및 `--mcp-config`를 허용합니다. 에이전트 보기를 열려면 대화형 터미널이 필요합니다 | `claude agents --json` |30| `claude agents` | [에이전트 보기](/docs/ko/agent-view)를 열어 병렬 백그라운드 세션을 모니터링하고 디스패치합니다. `--cwd <path>`를 사용하여 해당 디렉토리 아래에서 시작된 세션만 표시하거나, `--json`을 사용하여 스크립팅을 위해 활성 세션을 JSON 배열로 인쇄합니다(`--json --all`은 완료된 백그라운드 세션도 포함합니다). `--permission-mode`, `--model`, `--effort` 또는 `--agent`를 전달하여 [디스패치된 세션의 기본값](/docs/ko/agent-view#permission-mode-model-and-effort)을 설정합니다. 최상위 `claude` 명령어처럼 `--settings`, `--add-dir`, `--plugin-dir` 및 `--mcp-config`를 허용합니다. 에이전트 보기를 열려면 대화형 터미널이 필요합니다 | `claude agents --json` |

31| `claude attach <id>` | 이 터미널에서 [백그라운드 세션](/docs/ko/agent-view#manage-sessions-from-the-shell)에 연결합니다 | `claude attach 7c5dcf5d` |31| `claude attach <id>` | 이 터미널에서 [백그라운드 세션](/docs/ko/agent-view#manage-sessions-from-the-shell)에 연결합니다 | `claude attach 7c5dcf5d` |

32| `claude auto-mode defaults` | 기본 제공 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) 분류기 규칙을 JSON으로 인쇄합니다. `claude auto-mode config`를 사용하여 설정이 적용된 유효한 구성을 확인합니다. `--label <prefix>`는 해당 접두사로 시작하는 레이블이 있는 규칙만 인쇄합니다(대소문자 구분 안 함). Claude Code v2.1.208 이상이 필요합니다 | `claude auto-mode defaults --label 'Git Destructive'` |32| `claude auto-mode defaults` | 기본 제공 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) 분류기 규칙을 JSON으로 인쇄합니다. `claude auto-mode config`를 사용하여 설정이 적용된 유효한 구성을 확인합니다. `--label <prefix>`는 해당 접두사로 시작하는 레이블이 있는 규칙만 인쇄합니다(대소문자 구분 안 함). Claude Code v2.1.208 이상이 필요합니다 | `claude auto-mode defaults --label 'Git Destructive'` |


64| `--add-dir` | Claude가 파일을 읽고 편집할 수 있도록 추가 작업 디렉터리를 추가합니다. 파일 액세스 권한을 부여합니다. Claude Code는 이러한 디렉터리에서 대부분의 `.claude/` 구성을 [검색하지 않습니다](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration). 각 경로가 디렉터리로 존재하는지 검증합니다. `\\server\share`와 같은 대부분의 [네트워크 경로](/docs/ko/errors#working-directory-is-a-network-path)를 추가할 수 없습니다. 이러한 디렉터리를 세션 간에 유지하려면 설정에서 [`permissions.additionalDirectories`](/docs/ko/settings-reference#permissions-additionaldirectories)를 설정합니다 | `claude --add-dir ../apps ../lib` |64| `--add-dir` | Claude가 파일을 읽고 편집할 수 있도록 추가 작업 디렉터리를 추가합니다. 파일 액세스 권한을 부여합니다. Claude Code는 이러한 디렉터리에서 대부분의 `.claude/` 구성을 [검색하지 않습니다](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration). 각 경로가 디렉터리로 존재하는지 검증합니다. `\\server\share`와 같은 대부분의 [네트워크 경로](/docs/ko/errors#working-directory-is-a-network-path)를 추가할 수 없습니다. 이러한 디렉터리를 세션 간에 유지하려면 설정에서 [`permissions.additionalDirectories`](/docs/ko/settings-reference#permissions-additionaldirectories)를 설정합니다 | `claude --add-dir ../apps ../lib` |

65| `--advisor <model>` | 이 세션에 대해 모델 별칭 `fable`, `opus` 또는 `sonnet`, 또는 전체 모델 ID를 사용하여 서버 측 [advisor 도구](/docs/ko/advisor)를 활성화합니다. 세션에 대해 `advisorModel` 설정보다 우선합니다. `fable`은 [Fable 액세스](/docs/ko/advisor#choose-an-advisor-model)가 필요합니다 | `claude --advisor opus` |65| `--advisor <model>` | 이 세션에 대해 모델 별칭 `fable`, `opus` 또는 `sonnet`, 또는 전체 모델 ID를 사용하여 서버 측 [advisor 도구](/docs/ko/advisor)를 활성화합니다. 세션에 대해 `advisorModel` 설정보다 우선합니다. `fable`은 [Fable 액세스](/docs/ko/advisor#choose-an-advisor-model)가 필요합니다 | `claude --advisor opus` |

66| `--agent` | 현재 세션에 대한 에이전트를 지정합니다(`agent` 설정 재정의) | `claude --agent my-custom-agent` |66| `--agent` | 현재 세션에 대한 에이전트를 지정합니다(`agent` 설정 재정의) | `claude --agent my-custom-agent` |

67| `--agents` | JSON을 통해 사용자 정의 서브에이전트를 동적으로 정의합니다. [CLI 정의 서브에이전트에 대해 나열된 필드](/docs/ko/sub-agents#choose-the-subagent-scope)를 허용합니다. Claude Code는 시작 시 JSON을 검증하고 잘못된 값에서 종료합니다. 메시지 및 검증을 건너뛰는 플래그와 환경 변수는 [`Invalid --agents configuration`](/docs/ko/errors#invalid-agents-configuration)을 참조하세요. 검증에는 Claude Code v2.1.242 이상이 필요합니다 | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |67| `--agents` | JSON을 통해 사용자 정의 서브에이전트를 동적으로 정의합니다. [CLI 정의 서브에이전트에 대해 나열된 필드](/docs/ko/sub-agents#choose-the-subagent-scope)를 허용합니다. With `--print`, the value can instead be the path to a JSON file holding the object; the file form requires Claude Code v2.1.281 or later. Claude Code는 시작 시 값을 검증하고 잘못된 값에서 종료합니다. 메시지 및 검증을 건너뛰는 플래그와 환경 변수는 [`Invalid --agents configuration`](/docs/ko/errors#invalid-agents-configuration)을 참조하세요. 검증에는 Claude Code v2.1.242 이상이 필요합니다 | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

68| `--allow-dangerously-skip-permissions` | `Shift+Tab` 모드 사이클에 `bypassPermissions`를 추가하되 시작하지 않습니다. `plan`과 같은 다른 모드에서 시작하고 나중에 `bypassPermissions`로 전환할 수 있습니다. [권한 모드](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)를 참조하세요 | `claude --permission-mode plan --allow-dangerously-skip-permissions` |68| `--allow-dangerously-skip-permissions` | `Shift+Tab` 모드 사이클에 `bypassPermissions`를 추가하되 시작하지 않습니다. `plan`과 같은 다른 모드에서 시작하고 나중에 `bypassPermissions`로 전환할 수 있습니다. [권한 모드](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)를 참조하세요 | `claude --permission-mode plan --allow-dangerously-skip-permissions` |

69| `--allowedTools`, `--allowed-tools` | 권한을 묻지 않고 실행되는 도구입니다. 패턴 매칭에 대해 [권한 규칙 구문](/docs/ko/settings-reference#permission-rule-syntax)을 참조하세요. 사용 가능한 도구를 제한하려면 대신 `--tools`를 사용하세요. [작업 추적 도구](/docs/ko/tools-reference#task-tool-availability) 중 하나를 여기에 이름 지으면 Claude Code도 세션을 옵트인합니다 | `"Bash(git log *)" "Bash(git diff *)" "Read"` |69| `--allowedTools`, `--allowed-tools` | 권한을 묻지 않고 실행되는 도구입니다. 패턴 매칭에 대해 [권한 규칙 구문](/docs/ko/settings-reference#permission-rule-syntax)을 참조하세요. 사용 가능한 도구를 제한하려면 대신 `--tools`를 사용하세요. [작업 추적 도구](/docs/ko/tools-reference#task-tool-availability) 중 하나를 여기에 이름 지으면 Claude Code도 세션을 옵트인합니다 | `"Bash(git log *)" "Bash(git diff *)" "Read"` |

70| `--append-subagent-system-prompt` | [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 제외한 모든 [서브에이전트](/docs/ko/sub-agents)의 시스템 프롬프트 끝에 사용자 정의 텍스트를 추가합니다. 포크된 서브에이전트는 대화 자체의 프롬프트를 재사용합니다. 중첩된 서브에이전트를 포함합니다. `-p`를 사용한 비대화형 모드에서만 적용됩니다. Claude Code v2.1.205 이상이 필요합니다 | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |70| `--append-subagent-system-prompt` | [포크된 서브에이전트](/docs/ko/sub-agents#fork-the-current-conversation)를 제외한 모든 [서브에이전트](/docs/ko/sub-agents)의 시스템 프롬프트 끝에 사용자 정의 텍스트를 추가합니다. 포크된 서브에이전트는 대화 자체의 프롬프트를 재사용합니다. 중첩된 서브에이전트를 포함합니다. `-p`를 사용한 비대화형 모드에서만 적용됩니다. Claude Code v2.1.205 이상이 필요합니다 | `claude -p --append-subagent-system-prompt "Cite file paths in every answer" "query"` |


75| `--ax-screen-reader` | 스크린 리더 친화적 출력을 렌더링합니다: 장식 테두리나 애니메이션 없는 평면 텍스트입니다. 클래식 렌더러를 강제하므로 [`tui`](/docs/ko/settings-reference#tui) 설정은 효과가 없습니다. 연결된 [백그라운드 세션](/docs/ko/agent-view)은 여전히 전체 화면으로 렌더링됩니다. [`CLAUDE_AX_SCREEN_READER`](/docs/ko/env-vars) 및 [`axScreenReader`](/docs/ko/settings-reference#axscreenreader) 설정보다 우선합니다. Claude Code v2.1.181 이상이 필요합니다 | `claude --ax-screen-reader` |75| `--ax-screen-reader` | 스크린 리더 친화적 출력을 렌더링합니다: 장식 테두리나 애니메이션 없는 평면 텍스트입니다. 클래식 렌더러를 강제하므로 [`tui`](/docs/ko/settings-reference#tui) 설정은 효과가 없습니다. 연결된 [백그라운드 세션](/docs/ko/agent-view)은 여전히 전체 화면으로 렌더링됩니다. [`CLAUDE_AX_SCREEN_READER`](/docs/ko/env-vars) 및 [`axScreenReader`](/docs/ko/settings-reference#axscreenreader) 설정보다 우선합니다. Claude Code v2.1.181 이상이 필요합니다 | `claude --ax-screen-reader` |

76| `--bare` | 최소 모드: 훅, 스킬, 사용자 정의 명령, 서브에이전트, 설치된 플러그인, MCP 서버, 자동 메모리 및 CLAUDE.md의 자동 검색을 건너뜁니다. 스크립트된 호출이 더 빠르게 시작됩니다. `--add-dir`로 전달하는 디렉터리의 스킬은 여전히 로드됩니다. Claude는 Bash, 파일 읽기 및 파일 편집 도구에 액세스할 수 있습니다. [`CLAUDE_CODE_SIMPLE`](/docs/ko/env-vars)을 설정합니다. [베어 모드](/docs/ko/headless#start-faster-with-bare-mode)를 참조하세요 | `claude --bare -p "query"` |76| `--bare` | 최소 모드: 훅, 스킬, 사용자 정의 명령, 서브에이전트, 설치된 플러그인, MCP 서버, 자동 메모리 및 CLAUDE.md의 자동 검색을 건너뜁니다. 스크립트된 호출이 더 빠르게 시작됩니다. `--add-dir`로 전달하는 디렉터리의 스킬은 여전히 로드됩니다. Claude는 Bash, 파일 읽기 및 파일 편집 도구에 액세스할 수 있습니다. [`CLAUDE_CODE_SIMPLE`](/docs/ko/env-vars)을 설정합니다. [베어 모드](/docs/ko/headless#start-faster-with-bare-mode)를 참조하세요 | `claude --bare -p "query"` |

77| `--betas` | API 요청에 포함할 베타 헤더입니다(API 키 사용자만 해당) | `claude --betas interleaved-thinking` |77| `--betas` | API 요청에 포함할 베타 헤더입니다(API 키 사용자만 해당) | `claude --betas interleaved-thinking` |

78| `--bg`, `--background` | 세션을 [백그라운드 에이전트](/docs/ko/agent-view)로 시작하고 즉시 반환합니다. 세션 ID 및 관리 명령을 인쇄합니다. `--exec`와 결합하여 Claude 세션 대신 셸 명령을 백그라운드 작업으로 실행하거나, `--agent`와 결합하여 특정 서브에이전트를 실행합니다. `-p`/`--print`와 결합할 수 없습니다. [오류 참조](/docs/ko/errors#command-line-errors)를 참조하세요 | `claude --bg "investigate the flaky test"` |78| `--bg`, `--background` | 세션을 [백그라운드 에이전트](/docs/ko/agent-view)로 시작하고 즉시 반환합니다. 세션 ID 및 관리 명령을 인쇄합니다. `--exec`와 결합하여 Claude 세션 대신 셸 명령을 백그라운드 작업으로 실행하거나, `--agent`와 결합하여 특정 서브에이전트를 실행합니다. 디렉터리에 대한 [작업 영역 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 확인합니다. `-p`/`--print`와 결합할 수 없습니다. [오류 참조](/docs/ko/errors#command-line-errors)를 참조하세요 | `claude --bg "investigate the flaky test"` |

79| `--channels` | (연구 미리보기) Claude가 이 세션에서 수신해야 하는 [채널](/docs/ko/channels) 알림이 있는 MCP 서버입니다. `plugin:<name>@<marketplace>` 항목의 공백으로 구분된 목록입니다. claude.ai 또는 Console API 키를 통한 Anthropic 인증이 필요합니다 | `claude --channels plugin:my-notifier@my-marketplace` |79| `--channels` | (연구 미리보기) Claude가 이 세션에서 수신해야 하는 [채널](/docs/ko/channels) 알림이 있는 MCP 서버입니다. `plugin:<name>@<marketplace>` 항목의 공백으로 구분된 목록입니다. claude.ai 또는 Console API 키를 통한 Anthropic 인증이 필요합니다 | `claude --channels plugin:my-notifier@my-marketplace` |

80| `--chrome` | 웹 자동화 및 테스트를 위해 [Chrome 브라우저 통합](/docs/ko/chrome)을 활성화합니다 | `claude --chrome` |80| `--chrome` | 웹 자동화 및 테스트를 위해 [Chrome 브라우저 통합](/docs/ko/chrome)을 활성화합니다 | `claude --chrome` |

81| `--cloud` | 작업 설명을 사용하여 새 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 만듭니다. 세션 ID(`session_...` 또는 `cse_...`) 또는 claude.ai/code URL을 사용하여 `-p`로 기존 세션에 메시지를 대기열에 넣습니다. [후속 메시지 전송](/docs/ko/claude-code-on-the-web#send-follow-ups-from-the-cli)을 참조하세요. | `claude --cloud "Fix the login bug"` |81| `--cloud` | 작업 설명을 사용하여 새 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 만듭니다. 세션 ID(`session_...` 또는 `cse_...`) 또는 claude.ai/code URL을 사용하여 `-p`로 기존 세션에 메시지를 대기열에 넣습니다. [후속 메시지 전송](/docs/ko/claude-code-on-the-web#send-follow-ups-from-the-cli)을 참조하세요. | `claude --cloud "Fix the login bug"` |


89| `--effort` | 현재 세션에 대해 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정합니다. 옵션: `low`, `medium`, `high`, `xhigh`, `max` 또는 `ultracode`입니다. 사용 가능한 수준은 모델에 따라 다릅니다. `ultracode`는 [ultracode](/docs/ko/workflows#let-claude-decide-with-ultracode)가 켜진 상태에서 `xhigh` 노력을 요청하며, Claude Code v2.1.203 이상이 필요합니다. 이 세션에 대해 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 및 [`effortLevel`](/docs/ko/settings-reference#effortlevel) 설정을 재정의하고 유지되지 않습니다 | `claude --effort high` |89| `--effort` | 현재 세션에 대해 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정합니다. 옵션: `low`, `medium`, `high`, `xhigh`, `max` 또는 `ultracode`입니다. 사용 가능한 수준은 모델에 따라 다릅니다. `ultracode`는 [ultracode](/docs/ko/workflows#let-claude-decide-with-ultracode)가 켜진 상태에서 `xhigh` 노력을 요청하며, Claude Code v2.1.203 이상이 필요합니다. 이 세션에 대해 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 및 [`effortLevel`](/docs/ko/settings-reference#effortlevel) 설정을 재정의하고 유지되지 않습니다 | `claude --effort high` |

90| `--enable-auto-mode` | v2.1.111에서 제거됨. 자동 모드는 이제 `Shift+Tab` 사이클에 기본적으로 있습니다. `--permission-mode auto`를 사용하여 시작합니다 | `claude --permission-mode auto` |90| `--enable-auto-mode` | v2.1.111에서 제거됨. 자동 모드는 이제 `Shift+Tab` 사이클에 기본적으로 있습니다. `--permission-mode auto`를 사용하여 시작합니다 | `claude --permission-mode auto` |

91| `--environment <environment-id>` | 주어진 ID를 가진 [자체 호스팅 환경](/docs/ko/self-hosted-environments)에서 실행되는 새 클라우드 세션을 만듭니다. 환경 ID는 `ccpool_`로 시작합니다. 디스패치 동작 및 거부하는 플래그 조합에 대해 [`--environment` 디스패치 동작](/docs/ko/self-hosted-environments-testing#environment-dispatch-behavior)을 참조하세요. Claude Code v2.1.224 이상이 필요합니다 | `claude -p "Fix the login bug" --environment ccpool_abc123` |91| `--environment <environment-id>` | 주어진 ID를 가진 [자체 호스팅 환경](/docs/ko/self-hosted-environments)에서 실행되는 새 클라우드 세션을 만듭니다. 환경 ID는 `ccpool_`로 시작합니다. 디스패치 동작 및 거부하는 플래그 조합에 대해 [`--environment` 디스패치 동작](/docs/ko/self-hosted-environments-testing#environment-dispatch-behavior)을 참조하세요. Claude Code v2.1.224 이상이 필요합니다 | `claude -p "Fix the login bug" --environment ccpool_abc123` |

92| `--exclude-dynamic-system-prompt-sections` | 시스템 프롬프트의 머신별 섹션(작업 디렉터리, 환경 정보, 메모리 경로, git-repo 플래그)을 첫 번째 사용자 메시지로 이동합니다. 동일한 작업을 실행하는 다양한 사용자 및 머신 간에 프롬프트 캐시 재사용을 개선합니다. 기본 시스템 프롬프트에만 적용됩니다. `--system-prompt` 또는 `--system-prompt-file`이 설정되면 무시됩니다. 스크립트된 다중 사용자 워크로드에 `-p`와 함께 사용합니다 | `claude -p --exclude-dynamic-system-prompt-sections "query"` |92| `--exclude-dynamic-system-prompt-sections` | 자동 메모리 위치와 같은 사용자별 컨텍스트를 시스템 프롬프트에서 첫 번째 사용자 메시지로 이동합니다. 동일한 작업을 실행하는 다양한 사용자 및 머신 간에 프롬프트 캐시 재사용을 개선합니다. 기본 시스템 프롬프트에만 적용됩니다. `--system-prompt` 또는 `--system-prompt-file`이 설정되면 무시됩니다. 스크립트된 다중 사용자 워크로드에 `-p`와 함께 사용합니다 | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

93| `--exec` | Claude 세션을 시작하는 대신 PTY 지원 백그라운드 작업으로 셸 명령을 실행합니다. 셸에서 시작하려면 `--bg`와 함께 사용합니다 | `claude --bg --exec 'pytest -x'` |93| `--exec` | Claude 세션을 시작하는 대신 PTY 지원 백그라운드 작업으로 셸 명령을 실행합니다. 셸에서 시작하려면 `--bg`와 함께 사용합니다 | `claude --bg --exec 'pytest -x'` |

94| `--fallback-model` | 기본 모델이 과부하되거나 사용할 수 없을 때(예: 폐기된 모델) 지정된 모델로 자동 폴백을 활성화합니다. 순서대로 시도되는 쉼표로 구분된 목록을 허용합니다. [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)을 참조하세요. 세션 간에 체인을 유지하려면 이 플래그가 재정의하는 [`fallbackModel` 설정](/docs/ko/settings-reference#fallbackmodel)을 사용합니다 | `claude --fallback-model sonnet,haiku` |94| `--fallback-model` | 기본 모델이 과부하되거나 사용할 수 없을 때(예: 폐기된 모델) 지정된 모델로 자동 폴백을 활성화합니다. 순서대로 시도되는 쉼표로 구분된 목록을 허용합니다. [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)을 참조하세요. 세션 간에 체인을 유지하려면 이 플래그가 재정의하는 [`fallbackModel` 설정](/docs/ko/settings-reference#fallbackmodel)을 사용합니다 | `claude --fallback-model sonnet,haiku` |

95| `--fork-session` | 재개할 때 원본을 재사용하는 대신 새 세션 ID를 만듭니다(`--resume` 또는 `--continue`와 함께 사용) | `claude --resume abc123 --fork-session` |95| `--fork-session` | 재개할 때 원본을 재사용하는 대신 새 세션 ID를 만듭니다(`--resume` 또는 `--continue`와 함께 사용) | `claude --resume abc123 --fork-session` |


127| `--resume`, `-r` | ID 또는 이름으로 특정 세션을 재개하거나 세션을 선택할 대화형 선택기를 표시합니다. ID 대신 세션의 `.jsonl` [트랜스크립트 파일](/docs/ko/sessions#where-transcripts-are-stored)의 절대 경로를 전달할 수 있습니다. 선택기 및 이름 검색에는 이 디렉터리를 `/add-dir`로 추가한 세션이 포함됩니다. 세션 ID를 전달하면 Claude Code는 현재 프로젝트 디렉터리 및 해당 git 워크트리를 검색한 다음 이 머신의 다른 모든 프로젝트를 검색합니다. v2.1.223 이전에는 ID 검색이 현재 프로젝트 디렉터리 및 해당 git 워크트리만 다루었습니다. [백그라운드 세션](/docs/ko/agent-view)은 `bg`로 표시된 선택기에 나타납니다 | `claude --resume auth-refactor` |127| `--resume`, `-r` | ID 또는 이름으로 특정 세션을 재개하거나 세션을 선택할 대화형 선택기를 표시합니다. ID 대신 세션의 `.jsonl` [트랜스크립트 파일](/docs/ko/sessions#where-transcripts-are-stored)의 절대 경로를 전달할 수 있습니다. 선택기 및 이름 검색에는 이 디렉터리를 `/add-dir`로 추가한 세션이 포함됩니다. 세션 ID를 전달하면 Claude Code는 현재 프로젝트 디렉터리 및 해당 git 워크트리를 검색한 다음 이 머신의 다른 모든 프로젝트를 검색합니다. v2.1.223 이전에는 ID 검색이 현재 프로젝트 디렉터리 및 해당 git 워크트리만 다루었습니다. [백그라운드 세션](/docs/ko/agent-view)은 `bg`로 표시된 선택기에 나타납니다 | `claude --resume auth-refactor` |

128| `--safe-mode` | 손상된 구성을 문제 해결하기 위해 모든 사용자 정의를 비활성화하여 시작합니다: CLAUDE.md, 스킬, 플러그인, 훅, MCP 서버, 사용자 정의 명령 및 에이전트, 출력 스타일, 워크플로우, 사용자 정의 테마, 사용자 정의 키 바인딩, 상태 줄 및 파일 제안 명령, LSP 서버 및 자동 메모리는 로드되지 않습니다. 인증, 모델 선택, 기본 제공 도구 및 권한은 정상적으로 작동하며, 이는 [`--bare`](/docs/ko/headless#start-faster-with-bare-mode)와 다릅니다. 관리되는 설정 정책은 여전히 적용되며, 정책 구성 훅, 상태 줄 및 파일 제안 명령을 포함합니다. 관리되는 플러그인, 관리되는 스킬, 관리되는 CLAUDE.md 및 정책 구성 MCP 서버는 포함되지 않습니다. [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)을 트리거하는 사용자 정의를 확인하는 데 유용합니다. [`CLAUDE_CODE_SAFE_MODE`](/docs/ko/env-vars)를 설정합니다 | `claude --safe-mode` |128| `--safe-mode` | 손상된 구성을 문제 해결하기 위해 모든 사용자 정의를 비활성화하여 시작합니다: CLAUDE.md, 스킬, 플러그인, 훅, MCP 서버, 사용자 정의 명령 및 에이전트, 출력 스타일, 워크플로우, 사용자 정의 테마, 사용자 정의 키 바인딩, 상태 줄 및 파일 제안 명령, LSP 서버 및 자동 메모리는 로드되지 않습니다. 인증, 모델 선택, 기본 제공 도구 및 권한은 정상적으로 작동하며, 이는 [`--bare`](/docs/ko/headless#start-faster-with-bare-mode)와 다릅니다. 관리되는 설정 정책은 여전히 적용되며, 정책 구성 훅, 상태 줄 및 파일 제안 명령을 포함합니다. 관리되는 플러그인, 관리되는 스킬, 관리되는 CLAUDE.md 및 정책 구성 MCP 서버는 포함되지 않습니다. [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)을 트리거하는 사용자 정의를 확인하는 데 유용합니다. [`CLAUDE_CODE_SAFE_MODE`](/docs/ko/env-vars)를 설정합니다 | `claude --safe-mode` |

129| `--session-id` | 대화에 특정 세션 ID를 사용합니다(유효한 UUID여야 함) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |129| `--session-id` | 대화에 특정 세션 ID를 사용합니다(유효한 UUID여야 함) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

130| `--setting-sources` | 로드할 설정 소스의 쉼표로 구분된 목록(`user`, `project`, `local`) | `claude --setting-sources user,project` |130| `--setting-sources` | 로드할 설정 소스의 쉼표로 구분된 목록(`user`, `project`, `local`). [에이전트 뷰](/docs/ko/agent-view#what-carries-over-when-you-background) 및 [에이전트 팀](/docs/ko/agent-teams#context-and-communication)을 참조하여 이 세션에서 시작하는 세션이 목록을 상속하는 경우를 확인하세요 | `claude --setting-sources user,project` |

131| `--settings` | 설정 JSON 파일 또는 인라인 JSON 문자열의 경로입니다. 여기서 설정한 값은 이 세션에 대해 `settings.json` 파일의 동일한 키를 재정의합니다. 생략한 키는 파일 기반 값을 유지합니다. 파일은 2 MiB 이하의 일반 파일이어야 합니다. [설정 우선 순위](/docs/ko/settings#settings-precedence)를 참조하세요 | `claude --settings ./settings.json` |131| `--settings` | 설정 JSON 파일 또는 인라인 JSON 문자열의 경로입니다. 여기서 설정한 값은 이 세션에 대해 `settings.json` 파일의 동일한 키를 재정의합니다. 생략한 키는 파일 기반 값을 유지합니다. 파일은 2 MiB 이하의 일반 파일이어야 합니다. [설정 우선 순위](/docs/ko/settings#settings-precedence)를 참조하세요 | `claude --settings ./settings.json` |

132| `--strict-mcp-config` | `--mcp-config`의 MCP 서버만 사용하고 다른 모든 MCP 구성을 무시합니다. 관리되는 MCP 파일에서 플래그가 수행하는 작업에 대해 [managed-mcp.json으로 독점 제어](/docs/ko/managed-mcp#exclusive-control-with-managed-mcp-json)를 참조하세요 | `claude --strict-mcp-config --mcp-config ./mcp.json` |132| `--strict-mcp-config` | `--mcp-config`의 MCP 서버만 사용하고 다른 모든 MCP 구성을 무시합니다. 관리되는 MCP 파일에서 플래그가 수행하는 작업에 대해 [managed-mcp.json으로 독점 제어](/docs/ko/managed-mcp#exclusive-control-with-managed-mcp-json)를 참조하세요 | `claude --strict-mcp-config --mcp-config ./mcp.json` |

133| `--system-prompt` | 전체 시스템 프롬프트를 사용자 정의 텍스트로 바꿉니다 | `claude --system-prompt "You are a Python expert"` |133| `--system-prompt` | 전체 시스템 프롬프트를 사용자 정의 텍스트로 바꿉니다 | `claude --system-prompt "You are a Python expert"` |

Details

281 클라우드 세션에서 사용 가능한 항목281 클라우드 세션에서 사용 가능한 항목

282</h2>282</h2>

283 283 

284Anthropic 호스팅 환경에서 각 세션은 자신의 운영 체제와 CPU 아키텍처에 관계없이 x86\_64에서 Ubuntu 24.04를 실행하는 새로운 가상 머신(VM)을 받으며, 리포지토리가 복제되고 일반적인 도구 체인이 사전 설치됩니다. 종속성이 사전 컴파일된 바이너리를 제공할 때(예: 네이티브 확장이 있는 Ruby gem 또는 사전 빌드된 Python 휠) x86\_64 Linux 빌드를 사용하여 VM과 일치합니다. 이 섹션은 Anthropic 호스팅 기본값, 기본 제공 GitHub 도구, [테스트 및 서비스 실행](#run-tests-start-services-and-add-packages) 방법 및 각 VM이 받는 [리소스 제한](#resource-limits)을 다룹니다.284Anthropic 호스팅 환경에서 각 세션은 자신의 운영 체제와 CPU 아키텍처에 관계없이 x86\_64에서 Ubuntu 24.04를 실행하는 새로운 가상 머신(VM)을 받으며, 리포지토리가 복제되고 일반적인 도구 체인이 사전 설치됩니다. 종속성이 사전 컴파일된 바이너리를 제공할 때(예: 네이티브 확장이 있는 Ruby gem 또는 사전 빌드된 Python 휠) x86\_64 Linux 빌드를 사용하여 VM과 일치합니다. 이 섹션은 Anthropic 호스팅 기본값, 기본 제공 GitHub 도구, [테스트 및 서비스 실행](#run-tests-start-services-and-add-packages) 방법, [리소스 제한](#resource-limits) 각 VM이 받는 항목, 그리고 [시간 제한](#time-limits) 장기 실행 작업에 대한 항목을 다룹니다.

285 285 

286<Note>286<Note>

287 조직이 [자체 호스팅 환경](/docs/ko/self-hosted-environments)으로 라우팅하는 세션은 자신의 러너에서 실행되며 러너 이미지가 제공하는 도구를 사용합니다.287 조직이 [자체 호스팅 환경](/docs/ko/self-hosted-environments)으로 라우팅하는 세션은 자신의 러너에서 실행되며 러너 이미지가 제공하는 도구를 사용합니다.


421 421 

422VM은 대규모 빌드 작업 또는 메모리 집약적인 테스트와 같이 훨씬 더 많은 메모리가 필요한 작업을 중지할 수 있습니다. 이러한 제한을 초과하는 워크로드의 경우 [Remote Control](/docs/ko/remote-control)을 사용하여 자신의 하드웨어에서 Claude Code를 실행하거나 조직이 운영하는 컴퓨팅에서 [자체 호스팅 환경](/docs/ko/self-hosted-environments)에서 클라우드 세션을 실행합니다.422VM은 대규모 빌드 작업 또는 메모리 집약적인 테스트와 같이 훨씬 더 많은 메모리가 필요한 작업을 중지할 수 있습니다. 이러한 제한을 초과하는 워크로드의 경우 [Remote Control](/docs/ko/remote-control)을 사용하여 자신의 하드웨어에서 Claude Code를 실행하거나 조직이 운영하는 컴퓨팅에서 [자체 호스팅 환경](/docs/ko/self-hosted-environments)에서 클라우드 세션을 실행합니다.

423 423 

424<h3 id="time-limits">

425 시간 제한

426</h3>

427 

428Anthropic 호스팅 환경에서 이러한 시간 제한은 빌드, 설치 또는 테스트 실행과 같은 클라우드 세션의 장기 실행 작업에 적용됩니다. 각 항목은 제한을 정의하는 섹션으로 연결됩니다.

429 

430* **Claude가 실행하는 명령**: 클라우드 환경은 자신의 명령 타임아웃을 설정하지 않으므로 Bash 도구의 기본값이 적용됩니다. Claude는 기본적으로 명령을 2분 동안 기다리며 최대 10분까지 요청할 수 있습니다. 명령이 [타임아웃](/docs/ko/tools-reference#timeout-and-output-limits)에 도달하면 Claude Code는 명령이 `sleep`으로 시작하지 않는 한 명령을 중지하는 대신 [백그라운드로 이동](/docs/ko/tools-reference#background-commands)합니다.

431* **SessionStart 훅**: Claude Code는 [`timeout`](/docs/ko/hooks#common-fields)을 초 단위로 설정하지 않으면 600초 후 `command` 훅을 취소합니다. Claude Code는 [`async: true`](/docs/ko/hooks#run-hooks-in-the-background)로 실행하는 훅에 타임아웃을 적용하지 않습니다.

432* **설정 스크립트**: 대략 5분 이상 걸리는 스크립트는 캐시되지 않습니다. [스크립트 요구 사항](#script-requirements)은 그 이하로 유지하는 방법을 다룹니다.

433* **유휴 세션**: 세션은 비활성 기간 후 중지되고 VM이 회수됩니다. [Environment expired](/docs/ko/claude-code-on-the-web#environment-expired)는 비활성으로 간주되는 항목과 세션을 다시 여는 방법을 다룹니다.

434 

435환경의 세션에 대한 명령 타임아웃을 높이려면 [`BASH_DEFAULT_TIMEOUT_MS` 및 `BASH_MAX_TIMEOUT_MS`](/docs/ko/env-vars#variables)를 [환경 변수](#set-environment-variables)에 추가합니다. 둘 다 밀리초를 사용합니다. 예를 들어 `BASH_DEFAULT_TIMEOUT_MS=600000`은 10분을 기본값으로 만듭니다.

436 

424<h2 id="setup-scripts">437<h2 id="setup-scripts">

425 설정 스크립트438 설정 스크립트

426</h2>439</h2>

427 440 

428설정 스크립트는 새로운 클라우드 세션이 시작될 때 Claude Code가 시작되기 전에 실행되는 Bash 스크립트입니다. 설정 스크립트를 사용하여 종속성을 설치하고, 도구를 구성하거나, 세션이 필요하지만 사전 설치되지 않은 항목을 가져옵니다.441설정 스크립트는 새로운 클라우드 세션이 시작될 때, Claude Code가 실행되기 전에 실행되는 Bash 스크립트입니다. 설정 스크립트를 사용하여 종속성을 설치하고, 도구를 구성하거나, 세션에 필요하지만 사전 설치되지 않은 항목을 가져올 수 있습니다.

429 442 

430스크립트는 Ubuntu 24.04에서 루트로 실행되므로 `apt install` 및 대부분의 언어 패키지 관리자가 작동합니다.443스크립트는 Ubuntu 24.04에서 root로 실행되므로 `apt install`과 대부분의 언어 패키지 관리자가 작동합니다.

431 444 

432설정 스크립트를 추가하려면 환경 설정 대화 상자를 열고 **Setup script** 필드에 스크립트를 입력합니다.445설정 스크립트를 추가하려면 환경 설정 대화상자를 열고 **설정 스크립트** 필드에 스크립트를 입력합니다.

433 446 

434이 예제는 사전 설치되지 않은 [ShellCheck](https://www.shellcheck.net/)를 설치합니다.447이 예제는 사전 설치되지 않은 [ShellCheck](https://www.shellcheck.net/)를 설치합니다.

435 448 


439```452```

440 453 

441<h3 id="script-requirements">454<h3 id="script-requirements">

442 스크립트 요구 사항455 스크립트 요구사항

443</h3>456</h3>

444 457 

445설정 스크립트에는 작업할 세 가지 제약이 있습니다:458설정 스크립트에는 작성할 때 고려해야 할 세 가지 제약이 있습니다.

446 459 

447* **0으로 종료**: 스크립트가 0이 아닌 값으로 종료되면 세션이 시작되지 않습니다. 간헐적인 설치 실패가 세션을 차단하지 않도록 중요하지 않은 명령에 `|| true`를 추가합니다.460* **종료 코드 0**: 스크립트가 0이 아닌 코드로 종료되면 세션이 시작되지 않습니다. 중요하지 않은 명령에 `|| true`를 추가하여 일시적인 설치 실패가 세션을 차단하지 않도록 합니다.

448* **5분 이내에 완료**: [환경 캐시](#environment-caching)를 빌드할 수 있도록 스크립트의 총 런타임을 대략 5분 이내로 유지합니다. `&` 및 `wait`로 독립적인 설치를 병렬로 실행하고 맞지 않는 단일 다운로드를 [SessionStart 훅](#setup-scripts-vs-sessionstart-hooks)으로 이동하여 백그라운드에서 시작합니다.461* **5분 이내에 완료**: 스크립트의 총 실행 시간을 약 5분 이내로 유지하여 [환경 캐시](#environment-caching)를 구축할 수 있도록 합니다. 설정이 그보다 오래 걸리면 환경이 캐시되지 않습니다. `&`와 `wait`를 사용하여 독립적인 설치를 병렬로 실행하고, 맞지 않는 단일 다운로드는 백그라운드에서 실행하는 [SessionStart hook](#setup-scripts-vs-sessionstart-hooks)으로 이동합니다. 새 세션이 설정 중에 정지되거나 실패하면 [새 세션이 설정 중에 정지되거나 시간 초과됨](/docs/ko/web-quickstart#new-sessions-hang-or-time-out-during-setup)을 참조합니다.

449* **설치를 위한 네트워크 액세스**: 패키지 설치는 레지스트리에 도달해야 합니다. 기본 **Trusted** 수준은 npm, PyPI, RubyGems 및 crates.io를 포함한 [일반적인 패키지 레지스트리](#default-allowed-domains)를 다룹니다. **None** 네트워크 액세스를 사용하면 설치가 실패합니다.462* **설치를 위한 네트워크 액세스**: 패키지 설치는 레지스트리에 도달해야 합니다. 기본 **신뢰됨** 수준은 npm, PyPI, RubyGems 및 crates.io를 포함한 [일반적인 패키지 레지스트리](#default-allowed-domains)를 포함합니다. **없음** 네트워크 액세스를 사용하면 설치가 실패합니다.

450 463 

451<h3 id="environment-caching">464<h3 id="environment-caching">

452 환경 캐싱465 환경 캐싱

453</h3>466</h3>

454 467 

455설정 스크립트는 환경에서 세션을 처음 시작할 때 실행됩니다. 완료 후 Anthropic은 파일 시스템을 스냅샷하고 해당 스냅샷을 나중 세션의 시작점으로 재사용합니다. 새 세션은 종속성, 도구 및 Docker 이미지가 이미 디스크에 있는 상태로 시작되며 설정 스크립트 단계를 건너뜁니다. 이는 스크립트가 대규모 도구 체인을 설치하거나 컨테이너 이미지를 가져올 때도 시작을 빠르게 유지합니다.468설정 스크립트는 환경에서 세션을 처음 시작할 때 실행됩니다. 설정이 [약 5분](#script-requirements) 이내에 완료되면 Anthropic은 파일 시스템의 스냅샷을 생성하고 해당 스냅샷을 나중 세션의 시작점으로 재사용합니다. 새 세션은 종속성, 도구 및 Docker 이미지가 이미 디스크에 있는 상태로 시작되며 설정 스크립트 단계를 건너뜁니다. 이렇게 하면 스크립트가 대규모 도구 체인을 설치하거나 컨테이너 이미지를 가져올 때도 시작이 빠릅니다. 설정이 약 5분보다 오래 걸리면 환경이 캐시되지 않습니다.

456 469 

457캐시는 파일 시스템 스냅샷이므로 설정 스크립트가 디스크에 쓰는 항목을 유지하고 실행 중이던 항목은 손실합니다. 설치한 패키지, 가져온 Docker 이미지 및 작성한 파일은 모두 이월됩니다. 스크립트가 시작한 데이터베이스, `docker compose up` 스택 또는 기타 백그라운드 프로세스는 그렇지 않습니다. [SessionStart 훅](#setup-scripts-vs-sessionstart-hooks)으로 Claude에게 요청하거나 세션별로 시작합니다.470캐시는 파일 시스템 스냅샷이므로 설정 스크립트가 디스크에 쓴 내용을 유지하고 실행 중이던 항목만 손실됩니다. 설치한 패키지, 가져온 Docker 이미지 및 작성한 파일은 모두 유지됩니다. 스크립트가 시작한 데이터베이스, `docker compose up` 스택 또는 기타 백그라운드 프로세스는 유지되지 않습니다. 이러한 항목은 Claude에 요청하거나 [SessionStart hook](#setup-scripts-vs-sessionstart-hooks)을 사용하여 세션별로 시작합니다.

458 471 

459설정 스크립트는 환경의 설정 스크립트 또는 허용된 네트워크 호스트를 변경할 때 캐시를 다시 빌드하기 위해 다시 실행되며, 캐시가 대략 7일 후 만료에 도달할 때 실행됩니다. 기존 세션을 재개하면 설정 스크립트가 다시 실행되지 않습니다.472설정 스크립트는 환경의 설정 스크립트 또는 허용된 네트워크 호스트를 변경할 때, 그리고 캐시가 약 7일 후 만료될 때 캐시를 다시 구축하기 위해 다시 실행됩니다. 기존 세션을 재개하면 설정 스크립트가 다시 실행되지 않습니다.

460 473 

461캐싱을 활성화하거나 스냅샷을 직접 관리할 필요가 없습니다.474캐싱을 활성화하거나 스냅샷을 직접 관리할 필요가 없습니다.

462 475 

463<h3 id="setup-scripts-vs-sessionstart-hooks">476<h3 id="setup-scripts-vs-sessionstart-hooks">

464 설정 스크립트 대 SessionStart 훅477 설정 스크립트 vs. SessionStart hook

465</h3>478</h3>

466 479 

467설정 스크립트를 사용하여 VM 자체를 프로비저닝합니다: [사전 설치되지 않은](#installed-tools) 도구 체인 및 CLI 도구. 클라우드 및 로컬과 같이 모든 곳에서 실행되어야 하는 프로젝트 설정에 [SessionStart 훅](/docs/ko/hooks#sessionstart)을 사용합니다(예: `npm install`).480설정 스크립트를 사용하여 VM 자체를 프로비저닝합니다: [사전 설치되지 않은](#installed-tools) 도구 체인 및 CLI 도구입니다. 클라우드 및 로컬 모두에서 실행되어야 하는 프로젝트 설정(예: `npm install`)에는 [SessionStart hook](/docs/ko/hooks#sessionstart)을 사용합니다.

468 481 

469설정 스크립트 및 SessionStart 훅은 클라우드 세션이 시작될 때 고정된 순서로 실행됩니다. 표는 구성 위치, 실행 시기 및 실행 위치를 비교합니다.482클라우드 세션이 시작될 때 설정 스크립트와 SessionStart hook이 고정된 순서로 실행됩니다. 표는 구성 위치, 실행 시기 및 실행 위치를 비교합니다.

470 483 

471| | 설정 스크립트 | SessionStart 훅 |484| | 설정 스크립트 | SessionStart hook |

472| - | - | - |485| - | - | - |

473| **구성 위치** | [claude.ai/code](https://claude.ai/code)의 환경 대화 상자, 그리고 [공유 환경](#organization-shared-environments)의 **Cloud environments** 관리 페이지 | [설정 파일](/docs/ko/settings#where-settings-live)(예: 리포지토리의 `.claude/settings.json`). 클라우드 세션에 도달하는 파일은 [설정에서 전달되는 항목](#what-carries-over-from-your-setup)을 참조하세요 |486| **구성 위치** | [claude.ai/code](https://claude.ai/code)의 환경 대화상자, 그리고 [공유 환경](#organization-shared-environments)에 대한 **클라우드 환경** 관리자 페이지 | [설정 파일](/docs/ko/settings#where-settings-live)(예: 리포지토리의 `.claude/settings.json`); 클라우드 세션에 도달하는 파일에 대해서는 [설정에서 유지되는 항목](#what-carries-over-from-your-setup)을 참조합니다. |

474| **실행 시기** | Claude Code가 시작되기 전에 [캐시된 환경](#environment-caching)이 없을 때만 | Claude Code가 시작된 후 재개된 세션을 포함한 모든 세션에서 |487| **실행 시기** | Claude Code가 실행되기 전, [캐시된 환경](#environment-caching)이 존재할 때 건너뜀 | Claude Code가 실행된 후, 재개된 세션을 포함한 모든 세션에서 |

475| **실행 위치** | 클라우드 세션만 | 로컬 및 클라우드 세션 |488| **실행 위치** | 클라우드 세션만 | 로컬 및 클라우드 세션 |

476 489 

477사용자 수준 `~/.claude/settings.json`에 SessionStart 훅이 있는 경우 클라우드에서 이를 기대하지 마세요: 사용자 수준 설정은 머신에 남아 있습니다. 어느 다른 훅이 실행되는지는 세션이 실행되는 위치에 따라 다릅니다:490사용자 수준 `~/.claude/settings.json`에 SessionStart hook이 있으면 클라우드에서 이를 기대하지 마십시오. 사용자 수준 설정은 컴퓨터에 유지됩니다. 다른 hook이 실행되는지 여부는 세션이 실행되는 위치에 따라 다릅니다.

478 491 

479* **Anthropic 호스팅 환경**: Claude Code는 리포지토리 및 조직의 [서버 관리 설정](/docs/ko/server-managed-settings)에서 훅을 실행합니다.492* **Anthropic 호스팅 환경**: Claude Code는 리포지토리의 hook과 조직의 [서버 관리 설정](/docs/ko/server-managed-settings)의 hook을 실행합니다.

480* **[자체 호스팅 환경](/docs/ko/self-hosted-environments-configuration#permissions-and-tool-approval)**: Claude Code는 또한 러너 호스트의 `~/.claude/`에서 운영자가 시드한 훅과 [Claude Code가 적용하는 관리 소스](/docs/ko/managed-settings#how-claude-code-combines-managed-sources) 중 하나인 경우 러너 이미지의 관리 설정 파일의 훅을 실행합니다.493* **[자체 호스팅 환경](/docs/ko/self-hosted-environments-configuration#permissions-and-tool-approval)**: Claude Code는 또한 운영자가 실행기 호스트의 `~/.claude/`에서 시드한 hook과 실행기 이미지의 관리 설정 파일의 hook을 실행합니다. 해당 파일이 [Claude Code가 적용하는 관리 소스](/docs/ko/managed-settings#how-claude-code-combines-managed-sources) 중 하나인 경우입니다.

481 494 

482<h3 id="install-dependencies-with-a-sessionstart-hook">495<h3 id="install-dependencies-with-a-sessionstart-hook">

483 SessionStart 훅으로 종속성 설치496 SessionStart hook으로 종속성 설치

484</h3>497</h3>

485 498 

486클라우드 세션에서만 종속성을 설치하려면 SessionStart 훅을 실행 중인 위치를 확인하는 스크립트와 쌍으로 만듭니다.499클라우드 세션에서만 종속성을 설치하려면 SessionStart hook을 실행 위치를 확인하는 스크립트와 쌍으로 만듭니다.

487 500 

488먼저 리포지토리의 `.claude/settings.json`에 SessionStart 훅을 추가합니다. 이 구성은 Claude Code에게 세션이 시작되거나 재개될 때마다 리포지토리에서 `scripts/install_pkgs.sh`를 실행하도록 지시합니다:501먼저 리포지토리의 `.claude/settings.json`에 SessionStart hook을 추가합니다. 이 구성은 Claude Code에 세션이 시작되거나 재개될 때마다 리포지토리에서 `scripts/install_pkgs.sh`를 실행하도록 지시합니다.

489 502 

490```json theme={null}503```json theme={null}

491{504{


505}518}

506```519```

507 520 

508`matcher`는 훅을 `startup` 및 `resume` 이벤트로 제한하고 `$CLAUDE_PROJECT_DIR`은 리포지토리 루트로 확인되므로 훅은 세션의 작업 디렉토리와 관계없이 스크립트를 찾습니다.521`matcher`는 hook을 `startup` 및 `resume` 이벤트로 제한하고, `$CLAUDE_PROJECT_DIR`은 리포지토리 루트로 확인되므로 hook은 세션의 작업 디렉토리에 관계없이 스크립트를 찾습니다.

509 522 

510다음으로 `scripts/install_pkgs.sh`에서 스크립트를 생성합니다. 클라우드 외부에서 즉시 종료한 다음 종속성을 설치합니다:523다음으로 `scripts/install_pkgs.sh`에서 스크립트를 만듭니다. 클라우드 외부에서는 즉시 종료된 후 종속성을 설치합니다.

511 524 

512```bash theme={null}525```bash theme={null}

513#!/bin/bash526#!/bin/bash


521exit 0534exit 0

522```535```

523 536 

524`CLAUDE_CODE_REMOTE` 확인은 설치를 클라우드 세션으로 범위 지정하는 것입니다: 세션 VM의 환경은 해당 변수를 `true`로 전달하고, 로컬에서는 절대 `true`가 아니므로 노트북에서 스크립트는 설치 전에 종료됩니다.537`CLAUDE_CODE_REMOTE` 확인은 설치를 클라우드 세션으로 범위를 지정하는 것입니다: 세션 VM의 환경은 해당 변수를 `true`로 전달하고, 로컬에서는 절대 `true`가 아니므로 노트북에서 스크립트는 아무것도 설치하기 전에 종료됩니다.

525 538 

526함께 두 파일은 모든 클라우드 세션에 시작 시 새로운 `npm install` 및 `pip install`을 제공하면서 로컬 세션은 건드리지 않습니다.539두 파일을 함께 사용하면 모든 클라우드 세션이 시작 시 새로운 `npm install` 및 `pip install`을 받으면서 로컬 세션은 영향을 받지 않습니다.

527 540 

528<h4 id="limitations-in-cloud-sessions">541<h4 id="limitations-in-cloud-sessions">

529 클라우드 세션의 제한 사항542 클라우드 세션의 제한사항

530</h4>543</h4>

531 544 

532SessionStart 훅은 다음 주의 사항을 제외하고 클라우드에서 로컬과 동일하게 작동합니다:545SessionStart hook은 다음 주의사항을 제외하고 클라우드에서 로컬과 동일하게 작동합니다.

533 546 

534* **한 세션당 하나의 리포지토리**: 여러 리포지토리가 있는 세션은 리포지토리의 `.claude/settings.json`에서 훅을 로드하지 않으므로 거기에 정의한 SessionStart 훅이 실행되지 않습니다. 이러한 세션의 종속성을 [설정 스크립트](#setup-scripts)로 설치합니다.547* **세션당 하나의 리포지토리**: 여러 리포지토리가 있는 세션은 리포지토리의 `.claude/settings.json`에서 hook을 로드하지 않으므로 정의한 SessionStart hook이 실행되지 않습니다. 이러한 세션의 종속성을 [설정 스크립트](#setup-scripts)로 설치합니다.

535* **클라우드 전용 범위 없음**: 훅은 로컬 및 클라우드 세션 모두에서 실행됩니다. 로컬 실행을 건너뛰려면 `CLAUDE_CODE_REMOTE` 환경 변수가 `true`가 아닌 경우 조기에 종료합니다. [종속성 설치 스크립트](#install-dependencies-with-a-sessionstart-hook)가 수행하는 방식입니다.548* **클라우드 전용 범위 없음**: hook은 로컬 및 클라우드 세션 모두에서 실행됩니다. 로컬 실행을 건너뛰려면 `CLAUDE_CODE_REMOTE` 환경 변수가 `true`가 아닌 한 조기에 종료합니다. [종속성 설치 스크립트](#install-dependencies-with-a-sessionstart-hook)가 수행하는 방식입니다.

536* **네트워크 액세스 필요**: 설치 명령은 패키지 레지스트리에 도달해야 합니다. 환경이 **None** 네트워크 액세스를 사용하면 이러한 훅이 실패합니다. **Trusted** 아래의 [기본 허용 목록](#default-allowed-domains)은 npm, PyPI, RubyGems 및 crates.io를 다룹니다.549* **네트워크 액세스 필요**: 설치 명령은 패키지 레지스트리에 도달해야 합니다. 환경이 **없음** 네트워크 액세스를 사용하면 이러한 hook이 실패합니다. **신뢰됨** 아래의 [기본 허용 목록](#default-allowed-domains)은 npm, PyPI, RubyGems 및 crates.io를 포함합니다.

537* **프록시 호환성**: Anthropic 호스팅 환경에서 모든 아웃바운드 트래픽은 [보안 프록시](#security-proxy)를 통과하고, 일부 패키지 관리자는 이 프록시에서 올바르게 작동하지 않습니다. Bun은 알려진 예입니다. [자체 호스팅 환경](/docs/ko/self-hosted-environments-deploy#default-deny-egress)에서 아웃바운드 트래픽은 자신의 네트워크 경계를 통해 나갑니다.550* **프록시 호환성**: Anthropic 호스팅 환경에서 모든 아웃바운드 트래픽은 [보안 프록시](#security-proxy)를 통과하고, 일부 패키지 관리자는 이와 올바르게 작동하지 않습니다. Bun은 알려진 예입니다. [자체 호스팅 환경](/docs/ko/self-hosted-environments-deploy#default-deny-egress)에서 아웃바운드 트래픽은 대신 자신의 네트워크 경계를 통과합니다.

538* **시작 지연 추가**: 훅은 [환경 캐싱](#environment-caching)의 이점을 누리는 설정 스크립트와 달리 세션이 시작되거나 재개될 때마다 실행됩니다. 다시 설치하기 전에 종속성이 이미 있는지 확인하여 설치 스크립트를 빠르게 유지합니다.551* **시작 지연 추가**: hook은 세션이 시작되거나 재개될 때마다 실행되며, [환경 캐싱](#environment-caching)의 이점을 받는 설정 스크립트와 달리 실행됩니다. 설치 스크립트를 빠르게 유지하려면 종속성이 이미 있는지 확인한 후 재설치합니다.

539 552 

540기본 이미지를 사용자 정의하려면 설정 스크립트를 사용하여 [제공된 이미지](#installed-tools) 위에 필요한 항목을 설치하거나 `docker compose`로 Claude와 함께 자신의 이미지를 컨테이너로 실행합니다. 기본 이미지를 완전히 교체하는 것은 아직 지원되지 않습니다.553기본 이미지를 사용자 정의하려면 설정 스크립트를 사용하여 [제공된 이미지](#installed-tools) 위에 필요한 항목을 설치하거나, `docker compose`를 사용하여 Claude와 함께 컨테이너로 자신의 이미지를 실행합니다. 기본 이미지를 완전히 교체하는 것은 아직 지원되지 않습니다.

541 554 

542<h2 id="default-allowed-domains">555<h2 id="default-allowed-domains">

543 기본 허용 도메인556 기본 허용 도메인

code-review.md +2 −2

Details

292 문제 해결292 문제 해결

293</h2>293</h2>

294 294 

295검토 실행은 최선의 노력입니다. 실패한 실행은 PR을 차단하지 않지만 자동으로 재시도하지도 않습니다. 이 섹션에서는 실패한 실행에서 복구하는 방법과 확인 실행이 찾을 수 없는 문제를 보고할 때 어디를 봐야 하는지 다룹니다.295검토 실행은 최선의 노력입니다. 실패한 실행은 PR을 차단하지 않습니다. Code Review는 중단된 일부 검토를 자동으로 재시도합니다. 이 섹션에서는 검토를 다시 실행하는 방법과 확인 실행이 찾을 수 없는 문제를 보고할 때 어디를 봐야 하는지 다룹니다.

296 296 

297<h3 id="retrigger-a-failed-or-timed-out-review">297<h3 id="retrigger-a-failed-or-timed-out-review">

298 실패하거나 시간 초과된 검토 재트리거298 실패하거나 시간 초과된 검토 재트리거

299</h3>299</h3>

300 300 

301검토 인프라가 내부 오류에 도달하거나 시간 제한을 초과하면 확인 실행이 **Code review encountered an error** 또는 **Code review timed out** 제목으로 완료됩니다. 결론은 여전히 중립적이므로 병합을 차단하는 것은 없지만 결과가 게시되지 않습니다.301검토가 실패하거나 시간 제한을 초과하면 확인 실행이 **Code review failed** 또는 **Code review timed out** 같은 제목으로 완료됩니다. 결론은 여전히 중립적이므로 병합을 차단하는 것은 없습니다. 확인 실행의 요약에서 커밋의 새로운 검토가 자동으로 대기열에 추가되었다고 말하지 않으면 검토를 직접 다시 실행하십시오.

302 302 

303검토를 다시 실행하려면 PR에서 `@claude review`를 댓글로 작성하십시오. 이렇게 하면 PR을 향후 푸시에 구독하지 않고 새로운 검토를 시작합니다. PR이 [포크에서](#review-pull-requests-from-forks) 나온 것이 아니면 GitHub의 Checks 탭에서 **Claude Code Review** 확인 옆의 **Re-run**을 클릭할 수 있습니다. 재실행도 PR을 구독하지 않고 새로운 검토를 시작합니다.303검토를 다시 실행하려면 PR에서 `@claude review`를 댓글로 작성하십시오. 이렇게 하면 PR을 향후 푸시에 구독하지 않고 새로운 검토를 시작합니다. PR이 [포크에서](#review-pull-requests-from-forks) 나온 것이 아니면 GitHub의 Checks 탭에서 **Claude Code Review** 확인 옆의 **Re-run**을 클릭할 수 있습니다. 재실행도 PR을 구독하지 않고 새로운 검토를 시작합니다.

304 304 

commands.md +4 −3

Details

79| `/dataviz [request]` | **[스킬](/docs/ko/skills#bundled-skills).** 차트, 그래프 및 대시보드에 대한 설계 지침입니다. Claude가 데이터에 대한 차트 형식을 선택하고, 역할별로 색상을 할당하고, 번들로 제공되는 스크립트로 색맹 안전성 및 대비에 대한 팔레트를 검증하고, 마크, 상호 작용 및 접근성 규칙을 적용합니다. 자신의 팔레트로 바꾸는 브랜드 중립 자리 표시자 팔레트를 사용합니다. Claude Code v2.1.198 이상이 필요합니다. |79| `/dataviz [request]` | **[스킬](/docs/ko/skills#bundled-skills).** 차트, 그래프 및 대시보드에 대한 설계 지침입니다. Claude가 데이터에 대한 차트 형식을 선택하고, 역할별로 색상을 할당하고, 번들로 제공되는 스크립트로 색맹 안전성 및 대비에 대한 팔레트를 검증하고, 마크, 상호 작용 및 접근성 규칙을 적용합니다. 자신의 팔레트로 바꾸는 브랜드 중립 자리 표시자 팔레트를 사용합니다. Claude Code v2.1.198 이상이 필요합니다. |

80| `/debug [description]` | **[스킬](/docs/ko/skills#bundled-skills).** 현재 세션에 대한 디버그 로깅을 활성화하고 세션 디버그 로그를 읽어 문제를 해결합니다. `claude --debug`로 시작하지 않으면 디버그 로깅이 기본적으로 꺼져 있으므로 세션 중에 `/debug`를 실행하면 그 시점부터 로그 캡처를 시작합니다. 선택적으로 분석에 초점을 맞추기 위해 문제를 설명합니다. |80| `/debug [description]` | **[스킬](/docs/ko/skills#bundled-skills).** 현재 세션에 대한 디버그 로깅을 활성화하고 세션 디버그 로그를 읽어 문제를 해결합니다. `claude --debug`로 시작하지 않으면 디버그 로깅이 기본적으로 꺼져 있으므로 세션 중에 `/debug`를 실행하면 그 시점부터 로그 캡처를 시작합니다. 선택적으로 분석에 초점을 맞추기 위해 문제를 설명합니다. |

81| `/deep-research <question>` | **[워크플로우](/docs/ko/workflows#bundled-workflows).** 질문에 대한 웹 검색을 분산하고, 소스를 가져오고 교차 확인하고, 인용된 보고서를 합성합니다. |81| `/deep-research <question>` | **[워크플로우](/docs/ko/workflows#bundled-workflows).** 질문에 대한 웹 검색을 분산하고, 소스를 가져오고 교차 확인하고, 인용된 보고서를 합성합니다. |

82| `/design [brief]` | **[스킬](/docs/ko/skills#bundled-skills).** UI 목업, 화면 흐름, 랜딩 페이지 또는 포스터를 하나의 캔버스에 아트보드로 초안 작성하고, 설계 [아티팩트](/docs/ko/artifacts#draft-a-design-canvas)로 게시합니다(예: `/design a settings screen for a mobile banking app`). 데스크톱 브라우저에서 아트보드를 편집하고 편집 사항이 자동으로 저장됩니다. 각 아트보드를 PNG 또는 PDF로 내보낼 수 있습니다. [아티팩트를 사용할 수 있는](/docs/ko/artifacts#availability) 세션과 Claude Code v2.1.265 이상이 필요합니다. Anthropic API에서 사용 가능합니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 AWS의 Claude Platform에서는 아티팩트를 사용할 수 없으므로 명령어를 사용할 수 없습니다. |82| `/design [brief]` | **[스킬](/docs/ko/skills#bundled-skills).** UI 목업, 화면 흐름, 랜딩 페이지 또는 포스터를 하나의 캔버스에 아트보드로 초안 작성하고, 설계 [아티팩트](/docs/ko/artifacts#draft-a-design-canvas)로 게시합니다(예: `/design a settings screen for a mobile banking app`). 데스크톱 브라우저에서 아트보드를 편집하고 편집 사항이 자동으로 저장됩니다. 각 아트보드를 PNG 또는 PDF로 내보낼 수 있습니다. Claude Code v2.1.265 이상이 필요하고, [아티팩트를 사용할 수 있는](/docs/ko/artifacts#availability) 세션이 필요하며, [설계 템플릿을 사용할 수 있는](/docs/ko/artifacts#start-from-a-slides-design-or-docs-template) 계정이 필요합니다. 조직이 해당 템플릿을 끈 경우 `/design`은 설계를 초안 작성하지 않습니다. Anthropic API에서 사용 가능합니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 AWS의 Claude Platform에서는 아티팩트를 사용할 수 없으므로 명령어를 사용할 수 없습니다. |

83| `/design-login` | claude.ai 계정으로 `/design-sync`에 대한 설계 시스템 액세스를 승인합니다. |83| `/design-login` | claude.ai 계정으로 `/design-sync`에 대한 설계 시스템 액세스를 승인합니다. |

84| `/design-sync [hint]` | **[스킬](/docs/ko/skills#bundled-skills).** 저장소의 React 설계 시스템을 변환하고 [Claude Design](https://claude.ai/design)에 업로드하여 생성하는 설계가 실제 구성 요소를 사용하도록 합니다. 선택적으로 설계 시스템의 이름을 지정합니다(예: `/design-sync Acme DS`). 처음 동기화할 때 모든 구성 요소를 확인하고 큰 저장소에서 몇 시간이 걸릴 수 있습니다. Anthropic API에서 사용 가능합니다. CLI가 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform에서 연락하지 않는 claude.ai가 필요하거나 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 명령어를 사용할 수 없습니다. |84| `/design-sync [hint]` | **[스킬](/docs/ko/skills#bundled-skills).** 저장소의 React 설계 시스템을 변환하고 [Claude Design](https://claude.ai/design)에 업로드하여 생성하는 설계가 실제 구성 요소를 사용하도록 합니다. 선택적으로 설계 시스템의 이름을 지정합니다(예: `/design-sync Acme DS`). 처음 동기화할 때 모든 구성 요소를 확인하고 큰 저장소에서 몇 시간이 걸릴 수 있습니다. Anthropic API에서 사용 가능합니다. CLI가 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 AWS의 Claude Platform에서 연락하지 않는 claude.ai가 필요하거나 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 명령어를 사용할 수 없습니다. |

85| `/desktop` | 현재 세션을 Claude Code Desktop 앱에서 계속합니다. macOS 또는 x64 Windows와 Claude 구독이 필요합니다. 별칭: `/app` |85| `/desktop` | 현재 세션을 Claude Code Desktop 앱에서 계속합니다. macOS 또는 x64 Windows와 Claude 구독이 필요합니다. 별칭: `/app` |

86| `/diff` | 작업 트리의 변경 사항(Claude가 지금까지 수행한 편집 포함)을 검토합니다. [/diff로 변경 사항 검토](/docs/ko/interactive-mode#review-changes-with-%2Fdiff)를 참조하십시오. |86| `/diff` | 작업 트리의 변경 사항(Claude가 지금까지 수행한 편집 포함)을 검토합니다. [/diff로 변경 사항 검토](/docs/ko/interactive-mode#review-changes-with-%2Fdiff)를 참조하십시오. |

87| `/doctor` | **[스킬](/docs/ko/skills#bundled-skills).** 문제를 진단하고 수정할 수 있는 설정 점검을 실행합니다. 중복 또는 남은 설치, `PATH` 문제 및 구문 분석할 수 없는 설정 파일을 포함한 설치 상태를 확인합니다. 컨텍스트 비용에 비해 사용하지 않는 스킬, MCP 서버 및 플러그인을 찾고, 느린 [훅](/docs/ko/hooks)을 플래그하고, [릴리스 채널](/docs/ko/setup#configure-release-channel)에서 최신 버전을 확인합니다. 로컬 `CLAUDE.md` 파일을 체크인된 파일과 중복 제거하고, 체크인된 [`CLAUDE.md`](/docs/ko/memory#my-claude-md-is-too-large) 파일을 Claude가 코드베이스에서 파생할 수 있는 콘텐츠를 잘라내어 정리하고, 남은 항상 로드되는 지침을 [스킬](/docs/ko/skills) 및 중첩된 `CLAUDE.md` 파일로 마이그레이션하여 필요에 따라 로드합니다. 또한 [자동 모드](/docs/ko/permissions#permission-modes)를 기본값으로 설정하고 자주 거부된 읽기 전용 명령어를 [미리 승인](/docs/ko/permissions)하도록 제안합니다. 먼저 결과를 보고하고 무엇이든 변경하기 전에 확인을 요청합니다. 터미널에서 `claude doctor`는 세션을 시작하지 않고 읽기 전용 설치 진단을 출력합니다. 별칭: `/checkup`. `CLAUDE.md` 정리 확인은 Claude Code v2.1.206 이상이 필요합니다. v2.1.205 이전에는 `/doctor`가 읽기 전용 진단 화면을 열었고 `f`를 누르면 보고서를 Claude로 보냈습니다. |87| `/doctor [prompt-audit [path]]` | **[스킬](/docs/ko/skills#bundled-skills).** 문제를 진단하고 수정할 수 있는 설정 점검을 실행합니다. 중복 또는 남은 설치, `PATH` 문제 및 구문 분석할 수 없는 설정 파일을 포함한 설치 상태를 확인합니다. 컨텍스트 비용에 비해 사용하지 않는 스킬, MCP 서버 및 플러그인을 찾고, 느린 [훅](/docs/ko/hooks)을 플래그하고, [릴리스 채널](/docs/ko/setup#configure-release-channel)에서 최신 버전을 확인합니다. 로컬 `CLAUDE.md` 파일을 체크인된 파일과 중복 제거하고, 체크인된 [`CLAUDE.md`](/docs/ko/memory#my-claude-md-is-too-large) 파일을 Claude가 코드베이스에서 파생할 수 있는 콘텐츠를 잘라내어 정리하고, 남은 항상 로드되는 지침을 [스킬](/docs/ko/skills) 및 중첩된 `CLAUDE.md` 파일로 마이그레이션하여 필요에 따라 로드합니다. 또한 [자동 모드](/docs/ko/permissions#permission-modes)를 기본값으로 설정하고 자주 거부된 읽기 전용 명령어를 [미리 승인](/docs/ko/permissions)하도록 제안합니다. 먼저 결과를 보고하고 무엇이든 변경하기 전에 확인을 요청합니다. 터미널에서 `claude doctor`는 세션을 시작하지 않고 읽기 전용 설치 진단을 출력합니다. 별칭: `/checkup`. Claude가 [`CLAUDE.md` 파일, 스킬 및 기타 구성을 감사](/docs/ko/memory#write-effective-instructions)하도록 하려면 `/doctor prompt-audit`를 실행하여 체크업을 실행하는 대신 오래되었거나 충돌하는 지침을 감사합니다. `prompt-audit` 하위 명령어는 Claude Code v2.1.283 이상이 필요합니다. `CLAUDE.md` 정리 확인은 Claude Code v2.1.206 이상이 필요합니다. v2.1.205 이전에는 `/doctor`가 읽기 전용 진단 화면을 열었고 `f`를 누르면 보고서를 Claude로 보냈습니다. |

88| `/effort [level\|auto\|status]` | [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정합니다. `low`에서 `xhigh`, `max`, [`ultracode`](/docs/ko/workflows#let-claude-decide-with-ultracode) 또는 `auto`로 설정합니다. `status`는 이를 출력합니다. `max` 및 `ultracode`는 세션 전용입니다. [`ultracode`](/docs/ko/settings-reference#ultracode) 키는 지속됩니다. Claude가 응답하는 동안 실행하고 Claude Code가 [캐시 경고](/docs/ko/prompt-caching#changing-effort-level)를 표시하면 확인한 후 Claude Code는 새 수준을 해당 턴의 다음 요청에 적용합니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했으며, [기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: [타사 제공자](/docs/ko/third-party-integrations))에서 항상 대기열에 넣었습니다. 비대화형 모드(`-p`)에서 작동합니다. |88| `/effort [level\|auto\|status\|ultracode [on\|off]]` | [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정합니다. `low`에서 `xhigh`, `max`, 또는 `auto`로 설정합니다. `status`는 이를 출력합니다. `ultracode` 또는 `ultracode on`은 현재 수준에서 세션에 대해 [ultracode](/docs/ko/workflows#let-claude-decide-with-ultracode)를 켜고, `ultracode off`는 이를 끕니다. [`ultracode`](/docs/ko/settings-reference#ultracode) 키는 지속됩니다. `max`는 세션 전용입니다. `on` 및 `off` 인수와 현재 수준 유지는 Claude Code v2.1.284 이상이 필요합니다. v2.1.284 이전에는 `/effort ultracode`가 세션을 `xhigh`로 설정했고, `/effort ultracode off`는 `Invalid argument`로 실패했습니다. Claude가 응답하는 동안 실행하고 Claude Code가 [캐시 경고](/docs/ko/prompt-caching#changing-effort-level)를 표시하면 확인한 후 Claude Code는 새 수준을 해당 턴의 다음 요청에 적용합니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했으며, [기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: [타사 제공자](/docs/ko/third-party-integrations))에서 항상 대기열에 넣었습니다. 비대화형 모드(`-p`)에서 작동합니다. |

89| `/exit` | CLI를 종료합니다. 첨부된 [백그라운드 세션](/docs/ko/agent-view#attach-to-a-session)에서 이를 분리하고 세션이 계속 실행됩니다. 별칭: `/quit` |89| `/exit` | CLI를 종료합니다. 첨부된 [백그라운드 세션](/docs/ko/agent-view#attach-to-a-session)에서 이를 분리하고 세션이 계속 실행됩니다. 별칭: `/quit` |

90| `/export [filename]` | 현재 대화를 일반 텍스트로 내보냅니다. 파일 이름을 사용하면 해당 파일에 직접 작성합니다. 없으면 클립보드에 복사하거나 파일에 저장하는 대화를 엽니다. |90| `/export [filename]` | 현재 대화를 일반 텍스트로 내보냅니다. 파일 이름을 사용하면 해당 파일에 직접 작성합니다. 없으면 클립보드에 복사하거나 파일에 저장하는 대화를 엽니다. |

91| `/fast [on\|off]` | [빠른 모드](/docs/ko/fast-mode)를 켜거나 끕니다. Claude가 응답하는 동안 실행하면 Claude Code가 턴이 끝날 때까지 기다리지 않고 빠른 모드를 전환하지만 실행 중인 턴은 원래 속도로 완료됩니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했습니다. 비대화형 모드에서 `-p`의 가용성은 제한적입니다. [빠른 모드 전환](/docs/ko/fast-mode#toggle-fast-mode)을 참조하십시오. Claude Code v2.1.205 이상이 필요합니다. |91| `/fast [on\|off]` | [빠른 모드](/docs/ko/fast-mode)를 켜거나 끕니다. Claude가 응답하는 동안 실행하면 Claude Code가 턴이 끝날 때까지 기다리지 않고 빠른 모드를 전환하지만 실행 중인 턴은 원래 속도로 완료됩니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에서 명령어를 턴 중에 실행할지 아니면 턴이 끝날 때까지 대기열에 넣을지 결정했습니다. 비대화형 모드에서 `-p`의 가용성은 제한적입니다. [빠른 모드 전환](/docs/ko/fast-mode#toggle-fast-mode)을 참조하십시오. Claude Code v2.1.205 이상이 필요합니다. |


143| `/simplify [target]` | **[스킬](/docs/ko/skills#bundled-skills).** 변경된 코드를 정리 기회에 대해 검토하고 수정 사항을 적용합니다. 4개의 검토 [에이전트](/docs/ko/sub-agents)가 병렬로 실행되어 기존 도우미 재사용, 단순화, 효율성 및 변경이 추상화의 올바른 수준에 있는지 여부를 다룹니다. 검토는 정확성 버그를 찾지 않습니다. `/code-review`를 사용하여 버그를 찾습니다. 특정 대상을 검토하려면 경로 또는 PR 참조를 전달합니다. |143| `/simplify [target]` | **[스킬](/docs/ko/skills#bundled-skills).** 변경된 코드를 정리 기회에 대해 검토하고 수정 사항을 적용합니다. 4개의 검토 [에이전트](/docs/ko/sub-agents)가 병렬로 실행되어 기존 도우미 재사용, 단순화, 효율성 및 변경이 추상화의 올바른 수준에 있는지 여부를 다룹니다. 검토는 정확성 버그를 찾지 않습니다. `/code-review`를 사용하여 버그를 찾습니다. 특정 대상을 검토하려면 경로 또는 PR 참조를 전달합니다. |

144| `/skill-doctor` | 각 [스킬](/docs/ko/skills)이 컨텍스트에서 비용이 얼마나 드는지와 얼마나 자주 사용되는지 표시하여 [끌 스킬을 찾을](/docs/ko/skills#find-unused-skills) 수 있습니다. Claude Code v2.1.252 이상과 [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)가 필요합니다. |144| `/skill-doctor` | 각 [스킬](/docs/ko/skills)이 컨텍스트에서 비용이 얼마나 드는지와 얼마나 자주 사용되는지 표시하여 [끌 스킬을 찾을](/docs/ko/skills#find-unused-skills) 수 있습니다. Claude Code v2.1.252 이상과 [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)가 필요합니다. |

145| `/skills` | 사용 가능한 [스킬](/docs/ko/skills)을 나열합니다. 이름, 설명 또는 소스로 목록을 필터링하려면 입력합니다. `t`를 눌러 토큰 개수로 정렬하고, `Space` 또는 `Enter`를 눌러 [스킬의 가시성을 Claude 및 `/` 메뉴로 순환](/docs/ko/skills#override-skill-visibility-from-settings)하고, `Esc`를 눌러 저장하고 닫습니다. 플러그인 스킬, 프론트매터가 `disable-model-invocation: true`를 설정하는 스킬 또는 관리되는 설정이나 `--settings` 플래그에 `skillOverrides` 항목이 있는 스킬은 순환할 수 없습니다. |145| `/skills` | 사용 가능한 [스킬](/docs/ko/skills)을 나열합니다. 이름, 설명 또는 소스로 목록을 필터링하려면 입력합니다. `t`를 눌러 토큰 개수로 정렬하고, `Space` 또는 `Enter`를 눌러 [스킬의 가시성을 Claude 및 `/` 메뉴로 순환](/docs/ko/skills#override-skill-visibility-from-settings)하고, `Esc`를 눌러 저장하고 닫습니다. 플러그인 스킬, 프론트매터가 `disable-model-invocation: true`를 설정하는 스킬 또는 관리되는 설정이나 `--settings` 플래그에 `skillOverrides` 항목이 있는 스킬은 순환할 수 없습니다. |

146| `/slides [brief]` | **[스킬](/docs/ko/skills#bundled-skills).** 간단한 설명에서 채워진 Claude Slides [아티팩트](/docs/ko/artifacts#make-a-slide-deck)로 새 프레젠테이션을 만듭니다(예: `/slides a quarterly review of the platform team`). Claude Code v2.1.265 이상이 필요하고, [아티팩트를 사용할 수 있는](/docs/ko/artifacts#availability) 세션이 필요하며, [Slides 템플릿을 사용할 수 있는](/docs/ko/artifacts#start-from-a-slides-design-or-docs-template) 계정이 필요합니다. 그렇지 않으면 명령어가 나타나지 않습니다. Anthropic API에서 사용 가능합니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 AWS의 Claude Platform에서는 아티팩트를 사용할 수 없으므로 명령어를 사용할 수 없습니다. |

146| `/stats` | `/usage`의 별칭입니다. 통계 탭에서 엽니다. |147| `/stats` | `/usage`의 별칭입니다. 통계 탭에서 엽니다. |

147| `/status` | 설정 인터페이스를 상태 탭에서 엽니다. 버전, 모델, 계정 및 연결을 표시합니다. `Session kind` 행은 [백그라운드 세션](/docs/ko/agent-view)에서 터미널이 첨부되었는지 여부에 따라 `background job · attached` 또는 `background job · unattended`를 읽고, 다른 세션에서는 `interactive`를 읽습니다. v2.1.221 이전에는 `/status`가 이 행을 표시하지 않았습니다. Claude가 응답하는 동안 작동합니다. |148| `/status` | 설정 인터페이스를 상태 탭에서 엽니다. 버전, 모델, 계정 및 연결을 표시합니다. `Session kind` 행은 [백그라운드 세션](/docs/ko/agent-view)에서 터미널이 첨부되었는지 여부에 따라 `background job · attached` 또는 `background job · unattended`를 읽고, 다른 세션에서는 `interactive`를 읽습니다. v2.1.221 이전에는 `/status`가 이 행을 표시하지 않았습니다. Claude가 응답하는 동안 작동합니다. |

148| `/statusline` | Claude Code의 [상태 라인](/docs/ko/statusline)을 구성합니다. 원하는 항목을 설명하거나 인수 없이 실행하여 셸 프롬프트에서 자동 구성합니다. |149| `/statusline` | Claude Code의 [상태 라인](/docs/ko/statusline)을 구성합니다. 원하는 항목을 설명하거나 인수 없이 실행하여 셸 프롬프트에서 자동 구성합니다. |

Details

194 194 

195Claude Code는 Claude 앱과 같은 모델에서 실행되며, 세션 중에 전환할 수 있습니다. *Sonnet*은 일상적인 기능 작업, 버그, 테스트, 검토를 위한 기본 워크호스입니다. 대규모 리팩토링, 복잡한 디버깅 또는 높은 위험의 작업에는 *Opus*를 사용하십시오. 빠른 질문, 포맷팅, 속도가 중요한 기계적 편집에는 *Haiku*로 내려가십시오.195Claude Code는 Claude 앱과 같은 모델에서 실행되며, 세션 중에 전환할 수 있습니다. *Sonnet*은 일상적인 기능 작업, 버그, 테스트, 검토를 위한 기본 워크호스입니다. 대규모 리팩토링, 복잡한 디버깅 또는 높은 위험의 작업에는 *Opus*를 사용하십시오. 빠른 질문, 포맷팅, 속도가 중요한 기계적 편집에는 *Haiku*로 내려가십시오.

196 196 

197*Fable*은 가장 어렵고 오래 실행되는 작업을 위한 가장 강력한 모델입니다. 기본값이 아니므로 `/model fable`로 선택하십시오. 사이버 보안 및 생물학 콘텐츠는 자동으로 Opus로 폴백됩니다. Opus 5.5 및 Opus 5는 자체 검사를 실행하므로, 플래그된 콘텐츠는 이전 Opus로 전환되며, 플래그된 생물학 콘텐츠는 Opus 5에서 거부됩니다.197*Fable*은 가장 어렵고 오래 실행되는 작업을 위한 가장 강력한 모델입니다. 기본값이 아니므로 `/model fable`로 선택하십시오. 사이버 보안 및 생물학 콘텐츠는 자동으로 Opus로 폴백됩니다. Opus 5.5, Sonnet 5.5, Opus 5는 자체 검사를 실행합니다: 플래그된 콘텐츠는 같은 계열의 이전 모델로 전환되며, Opus 5 또는 Sonnet 5.5의 플래그된 생물학 콘텐츠는 거부됩니다.

198 198 

199*지금 시도하기:* `/model`을 입력하고 아직 하지 않았다면 Sonnet을 선택하십시오. 대부분의 작업에 올바른 기본값입니다.199*지금 시도하기:* `/model`을 입력하고 아직 하지 않았다면 Sonnet을 선택하십시오. 대부분의 작업에 올바른 기본값입니다.

200 200 


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

206| Fable | 가장 어렵고 오래 실행되는 작업. 옵트인만 가능: `/model fable`로 선택하십시오. 사이버 보안 또는 생물학 콘텐츠는 [Opus로 폴백됩니다](/docs/ko/model-config#automatic-model-fallback) |206| Fable | 가장 어렵고 오래 실행되는 작업. 옵트인만 가능: `/model fable`로 선택하십시오. 사이버 보안 또는 생물학 콘텐츠는 [Opus로 폴백됩니다](/docs/ko/model-config#automatic-model-fallback) |

207| Opus | 대규모 리팩토링, 복잡한 디버깅, 아키텍처 결정, 높은 위험 변경. Opus 5.5 및 Opus 5에서 사이버 보안 또는 생물학 콘텐츠는 [자동 모델 폴백 또는 거부를 트리거합니다](/docs/ko/model-config#automatic-model-fallback) |207| Opus | 대규모 리팩토링, 복잡한 디버깅, 아키텍처 결정, 높은 위험 변경. Opus 5.5 및 Opus 5에서 사이버 보안 또는 생물학 콘텐츠는 [자동 모델 폴백 또는 거부를 트리거합니다](/docs/ko/model-config#automatic-model-fallback) |

208| Sonnet | 일상적인 기능 작업, 버그 수정, 테스트, 문서, 코드 검토. 권장 기본값. |208| Sonnet | 일상적인 기능 작업, 버그 수정, 테스트, 문서, 코드 검토. 권장 기본값. Sonnet 5.5에서 사이버 보안 또는 생물학 콘텐츠는 [자동 모델 폴백 또는 거부를 트리거합니다](/docs/ko/model-config#automatic-model-fallback) |

209| Haiku | 빠른 질문, 포맷팅, 기계적 편집, 빠른 반복 |209| Haiku | 빠른 질문, 포맷팅, 기계적 편집, 빠른 반복 |

210 210 

211**먼저 시도할 빠른 승리**211**먼저 시도할 빠른 승리**

Details

1632* **작업 간 지우기**: 관련 없는 작업으로 전환할 때 `/clear`를 실행하세요. 오래된 대화는 다음에 필요한 파일을 밀어내고 모든 메시지에서 토큰을 소비합니다.1632* **작업 간 지우기**: 관련 없는 작업으로 전환할 때 `/clear`를 실행하세요. 오래된 대화는 다음에 필요한 파일을 밀어내고 모든 메시지에서 토큰을 소비합니다.

1633* **대용량 읽기 위임**: 연구를 [서브에이전트](/docs/ko/sub-agents)에 보내 파일 콘텐츠가 사용자의 컨텍스트 윈도우가 아닌 서브에이전트의 컨텍스트 윈도우에 유지되도록 하세요.1633* **대용량 읽기 위임**: 연구를 [서브에이전트](/docs/ko/sub-agents)에 보내 파일 콘텐츠가 사용자의 컨텍스트 윈도우가 아닌 서브에이전트의 컨텍스트 윈도우에 유지되도록 하세요.

1634 1634 

1635더 작은 대화보다 더 큰 윈도우가 필요한 경우 Fable 모델, Sonnet 5, Opus 4.6 이상, Sonnet 4.6은 100만 토큰 컨텍스트 윈도우를 지원합니다. 플랜별 가용성 및 `[1m]` 모델 변형을 선택하는 방법은 [확장 컨텍스트](/docs/ko/model-config#extended-context)를 참조하세요. 압축은 더 큰 제한에서도 동일한 방식으로 작동합니다.1635더 작은 대화보다 더 큰 윈도우가 필요한 경우 Fable 모델, Sonnet 5 이상, Opus 4.6 이상, Sonnet 4.6은 100만 토큰 컨텍스트 윈도우를 지원합니다. 플랜별 가용성 및 `[1m]` 모델 변형을 선택하는 방법은 [확장 컨텍스트](/docs/ko/model-config#extended-context)를 참조하세요. 압축은 더 큰 제한에서도 동일한 방식으로 작동합니다.

1636 1636 

1637Sonnet 5는 1M 컨텍스트 윈도우로 실행되며 선택할 `[1m]` 변형이 없습니다. [Sonnet 5 컨텍스트 윈도우](/docs/ko/model-config#sonnet-5-context-window)에서 자동 압축 임계값과 LLM 게이트웨이 예외를 참조하세요.1637Sonnet 5.5 및 Sonnet 5는 1M 컨텍스트 윈도우로 실행되며 선택할 `[1m]` 변형이 없습니다. [Sonnet 5.5 및 Sonnet 5 컨텍스트 윈도우](/docs/ko/model-config#sonnet-5-5-and-sonnet-5-context-window)에서 자동 압축 임계값과 LLM 게이트웨이 예외를 참조하세요.

1638 1638 

1639자동 압축이 실행되는 지점은 모델과 구성에 따라 다릅니다. [기본 자동 압축 임계값](/docs/ko/model-config#default-auto-compact-thresholds)에서 모델별 경계를 참조하고, Claude Code가 모델 ID(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭)에 대해 잘못된 윈도우를 가정하는 경우 [게이트웨이 또는 사용자 정의 모델 ID에 대한 윈도우 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하세요.1639자동 압축이 실행되는 지점은 모델과 구성에 따라 다릅니다. [기본 자동 압축 임계값](/docs/ko/model-config#default-auto-compact-thresholds)에서 모델별 경계를 참조하고, Claude Code가 모델 ID(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭)에 대해 잘못된 윈도우를 가정하는 경우 [게이트웨이 또는 사용자 정의 모델 ID에 대한 윈도우 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하세요.

1640 1640 

costs.md +4 −1

Details

359 359 

360확장 사고는 기본적으로 활성화되어 있습니다. 복잡한 계획 및 추론 작업의 성능을 크게 향상시키기 때문입니다. 사고 토큰은 출력 토큰으로 청구되며, 기본 예산은 모델에 따라 수만 개의 토큰이 될 수 있습니다.360확장 사고는 기본적으로 활성화되어 있습니다. 복잡한 계획 및 추론 작업의 성능을 크게 향상시키기 때문입니다. 사고 토큰은 출력 토큰으로 청구되며, 기본 예산은 모델에 따라 수만 개의 토큰이 될 수 있습니다.

361 361 

362더 간단한 작업에서 깊은 추론이 필요하지 않은 경우, `/effort`를 사용하거나 `/model`에서 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 낮추거나, `/config`에서 사고를 비활성화하여 비용을 줄일 수 있습니다. Opus 5.5 또는 Fable 모델에서는 사고를 끌 수 없으며, 항상 확장 사고를 사용합니다.362더 간단한 작업에서 깊은 추론이 필요하지 않은 경우, `/effort`를 사용하거나 `/model`에서 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 낮추거나, `/config`에서 사고를 비활성화하여 비용을 줄일 수 있습니다. Opus 5.5, Sonnet 5.5 또는 Fable 모델에서는 사고를 끌 수 없으며, 항상 확장 사고를 사용합니다.

363 363 

364[고정 사고 예산](/docs/ko/model-config#adaptive-reasoning-and-fixed-thinking-budgets)이 있는 모델에서는 `MAX_THINKING_TOKENS` [환경 변수](/docs/ko/env-vars)를 설정하여 예산을 낮출 수도 있습니다(예: `MAX_THINKING_TOKENS=8000`). 적응형 추론 모델은 0이 아닌 예산을 무시하므로 대신 노력 수준을 사용하십시오.364[고정 사고 예산](/docs/ko/model-config#adaptive-reasoning-and-fixed-thinking-budgets)이 있는 모델에서는 `MAX_THINKING_TOKENS` [환경 변수](/docs/ko/env-vars)를 설정하여 예산을 낮출 수도 있습니다(예: `MAX_THINKING_TOKENS=8000`). 적응형 추론 모델은 0이 아닌 예산을 무시하므로 대신 노력 수준을 사용하십시오.

365 365 


369 369 

370테스트 실행, 문서 가져오기 또는 로그 파일 처리는 상당한 컨텍스트를 소비할 수 있습니다. 이를 [subagents](/docs/ko/sub-agents#isolate-high-volume-operations)에 위임하여 자세한 출력이 subagent의 컨텍스트에 유지되는 동안 요약만 주 대화로 반환되도록 하십시오.370테스트 실행, 문서 가져오기 또는 로그 파일 처리는 상당한 컨텍스트를 소비할 수 있습니다. 이를 [subagents](/docs/ko/sub-agents#isolate-high-volume-operations)에 위임하여 자세한 출력이 subagent의 컨텍스트에 유지되는 동안 요약만 주 대화로 반환되도록 하십시오.

371 371 

372subagent의 자체 요청은 여전히 사용량을 소비합니다. 이에 대한 지출을 줄이려면, [subagent에 더 작은 모델을 선택](/docs/ko/sub-agents#choose-a-model)하거나 [모든 subagent를 하나의 모델에서 실행](/docs/ko/sub-agents#run-every-subagent-on-one-model)하십시오.

373 

372<h3 id="manage-agent-team-costs">374<h3 id="manage-agent-team-costs">

373 에이전트 팀 비용 관리375 에이전트 팀 비용 관리

374</h3>376</h3>


416* **예약된 작업**: [예약된 작업](/docs/ko/scheduled-tasks)은 세션이 유휴 상태일 때도 해당 간격으로 실행되며, 매번 전체 컨텍스트를 전송합니다418* **예약된 작업**: [예약된 작업](/docs/ko/scheduled-tasks)은 세션이 유휴 상태일 때도 해당 간격으로 실행되며, 매번 전체 컨텍스트를 전송합니다

417* **세션 간 메시지**: Claude Code는 이 세션이 유휴 상태일 때 [다른 세션의 메시지](/docs/ko/cross-session-messaging)를 새로운 턴으로 전달하며, 매번 전체 컨텍스트를 전송합니다. 인바운드 메시지를 전달하지 않고 보류하려면 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 `hold`로 설정하세요419* **세션 간 메시지**: Claude Code는 이 세션이 유휴 상태일 때 [다른 세션의 메시지](/docs/ko/cross-session-messaging)를 새로운 턴으로 전달하며, 매번 전체 컨텍스트를 전송합니다. 인바운드 메시지를 전달하지 않고 보류하려면 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 `hold`로 설정하세요

418* **목표 체크인**: 백그라운드 작업이 활성 [목표](/docs/ko/goal)를 대기 상태로 유지하는 동안 Claude Code는 세션이 유휴 상태일 때도 [해당 작업을 확인하도록 Claude에 요청](/docs/ko/goal#background-work-defers-evaluation)하며, 전체 컨텍스트를 전송하는 새로운 턴을 시작합니다. Claude Code는 프롬프트 사이에 목표당 최대 3개의 유휴 체크인을 시작합니다. v2.1.246 이전에는 유휴 체크인이 무제한이었습니다. 체크인을 끄려면 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/ko/env-vars)를 `0`으로 설정하세요. 유휴 체크인에는 Claude Code v2.1.236 이상이 필요합니다420* **목표 체크인**: 백그라운드 작업이 활성 [목표](/docs/ko/goal)를 대기 상태로 유지하는 동안 Claude Code는 세션이 유휴 상태일 때도 [해당 작업을 확인하도록 Claude에 요청](/docs/ko/goal#background-work-defers-evaluation)하며, 전체 컨텍스트를 전송하는 새로운 턴을 시작합니다. Claude Code는 프롬프트 사이에 목표당 최대 3개의 유휴 체크인을 시작합니다. v2.1.246 이전에는 유휴 체크인이 무제한이었습니다. 체크인을 끄려면 [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/ko/env-vars)를 `0`으로 설정하세요. 유휴 체크인에는 Claude Code v2.1.236 이상이 필요합니다

421* **서브에이전트 및 워크플로우**: 모든 서브에이전트와 [동적 워크플로우](/docs/ko/workflows#cost)가 생성하는 모든 에이전트는 메인 대화 위에 자신의 요청을 전송합니다. [속성 분석](#plan-usage-breakdown)은 서브에이전트 점유율을 보여줍니다

419* **에이전트 팀원**: 각 활성 [팀원](#agent-team-token-costs)은 종료될 때까지 계속 토큰을 소비합니다422* **에이전트 팀원**: 각 활성 [팀원](#agent-team-token-costs)은 종료될 때까지 계속 토큰을 소비합니다

420* **압축**: `/compact`는 요약하는 대화를 읽으므로 [큰 컨텍스트 압축](/docs/ko/prompt-caching#compacting-the-conversation)은 그 자체로 큰 요청입니다. 연속성 대신 새로운 시작을 원할 때 `/clear`는 비용이 들지 않습니다423* **압축**: `/compact`는 요약하는 대화를 읽으므로 [큰 컨텍스트 압축](/docs/ko/prompt-caching#compacting-the-conversation)은 그 자체로 큰 요청입니다. 연속성 대신 새로운 시작을 원할 때 `/clear`는 비용이 들지 않습니다

421 424 

Details

14 14 

15메시지는 한 Claude가 다른 Claude에게 작성한 텍스트 조각이며, 발신자의 대화 기록이나 파일은 절대 아닙니다. 전체 대화 또는 해당 컨텍스트를 이동하려면 [세션 재개](/docs/ko/sessions#resume-a-session)를 대신 사용하십시오.15메시지는 한 Claude가 다른 Claude에게 작성한 텍스트 조각이며, 발신자의 대화 기록이나 파일은 절대 아닙니다. 전체 대화 또는 해당 컨텍스트를 이동하려면 [세션 재개](/docs/ko/sessions#resume-a-session)를 대신 사용하십시오.

16 16 

17Claude는 이를 위해 두 가지 도구를 사용합니다: 도달할 수 있는 에이전트를 발견하기 위한 `ListAgents`와 이름으로 메시지를 전달하기 위한 `SendMessage`입니다. 동일한 `SendMessage` 도구를 사용하여 Claude는 단일 세션 또는 팀 내에서 [서브에이전트](/docs/ko/sub-agents#resume-subagents) 및 [에이전트 팀](/docs/ko/agent-teams) 팀원에게도 메시지를 보낼 수 있습니다. 이 페이지는 독립적인 세션 간의 메시지를 다룹니다.

18 

19<h2 id="when-to-use-cross-session-messaging">17<h2 id="when-to-use-cross-session-messaging">

20 교차 세션 메시징을 사용할 때18 교차 세션 메시징을 사용할 때

21</h2>19</h2>


27* **장기 실행 작업에서 상태 가져오기**: 마이그레이션 또는 테스트 실행이 보고 있는 세션으로 다시 보고하도록 하거나, 거기서 직접 요청하십시오. 해당 세션이 이 머신에 있으면, Claude는 [다음 유휴 상태가 되거나 종료될 때 한 번의 알림을 요청](#get-a-notice-when-another-session-goes-idle)할 수도 있습니다.25* **장기 실행 작업에서 상태 가져오기**: 마이그레이션 또는 테스트 실행이 보고 있는 세션으로 다시 보고하도록 하거나, 거기서 직접 요청하십시오. 해당 세션이 이 머신에 있으면, Claude는 [다음 유휴 상태가 되거나 종료될 때 한 번의 알림을 요청](#get-a-notice-when-another-session-goes-idle)할 수도 있습니다.

28* **머신 간 메시지**: 다른 머신이나 클라우드의 세션 중 하나에 도달합니다.26* **머신 간 메시지**: 다른 머신이나 클라우드의 세션 중 하나에 도달합니다.

29 27 

30사용자가 직접 시작하고 조종하는 독립적인 세션 간에 메시징을 사용하십시오. Claude Code는 여러 세션을 실행하거나 도달하는 다른 각 방법에 대해 전용 기능을 가지고 있으므로, 수행 중인 작업에 맞게 구축된 기능을 사용하십시오:

31 

32* 다른 터미널에서 한 대화를 계속하거나 새 세션과 컨텍스트를 공유하려면 [세션을 재개](/docs/ko/sessions#resume-a-session)하십시오.

33* Claude가 생성하고 감독하는 조정된 세션 팀의 경우 [에이전트 팀](/docs/ko/agent-teams)을 사용하십시오.

34* 한 곳에서 많은 세션을 보고 조종하려면 [에이전트 보기](/docs/ko/agent-view)를 사용하십시오.

35* 세션이 서로 메시지를 보내는 대신 휴대폰이나 다른 장치에서 세션을 직접 조종하려면 [원격 제어](/docs/ko/remote-control)를 사용하십시오.

36* CI 결과나 채팅 메시지와 같은 외부 이벤트를 세션으로 푸시하려면 [채널](/docs/ko/channels)을 사용하십시오.

37 

38<h2 id="message-another-session">28<h2 id="message-another-session">

39 다른 세션에 메시지 보내기29 다른 세션에 메시지 보내기

40</h2>30</h2>


74 64 

75수신 Claude는 활성 턴 중에 도구 호출 사이에서 메시지를 읽으므로, 실행 중인 도구는 절대 중단되지 않습니다. 수신 세션이 유휴 상태일 때, Claude Code는 메시지로 새 턴을 시작합니다.65수신 Claude는 활성 턴 중에 도구 호출 사이에서 메시지를 읽으므로, 실행 중인 도구는 절대 중단되지 않습니다. 수신 세션이 유휴 상태일 때, Claude Code는 메시지로 새 턴을 시작합니다.

76 66 

77다른 세션에서 온 메시지는 일반 텍스트로 도착합니다. `@`로 파일이나 [MCP 리소스](/docs/ko/mcp#use-mcp-resources)를 언급하면, Claude는 언급을 작성된 대로 보고 Claude Code는 메시지가 새 턴을 시작하든 하나 중에 도착하든 아무것도 첨부하지 않습니다. Claude는 여전히 수신 머신의 언급된 경로를 자신의 도구로 열 수 있으며, 해당 세션의 권한에 따릅니다. v2.1.251 이전에는 새 턴을 시작한 메시지의 `@` 언급이 수신 측에서 파일이나 MCP 리소스를 첨부했습니다.67다른 세션에서 온 메시지는 일반 텍스트로 도착합니다. `@`로 파일이나 [MCP 리소스](/docs/ko/mcp#use-mcp-resources)를 언급하면, Claude는 언급을 작성된 대로 보고 Claude Code는 메시지가 새 턴을 시작하든 하나 중에 도착하든 아무것도 첨부하지 않습니다. Claude는 여전히 수신 머신의 언급된 경로를 자신의 도구로 열 수 있으며, 해당 세션의 권한에 따릅니다.

78 68 

79Claude Code는 다음 경우에 메시지를 거부합니다:69Claude Code는 다음 경우에 메시지를 거부합니다:

80 70 

81* 메시지가 [크기 제한을 초과](#limitations)합니다. Claude Code는 발신 세션에서 거부하며, 메시지가 떠나기 전입니다.71* 메시지가 [크기 제한을 초과](#limitations)합니다. Claude Code는 발신 세션에서 거부하며, 메시지가 떠나기 전입니다.

82* 이 머신의 세션으로의 빠른 버스트가 [해당 세션의 받은편지함이 수용하는 것](#limitations)에 도달했습니다. Claude Code는 해당 세션으로의 추가 메시지를 거부합니다.72* 이 머신의 세션으로의 빠른 버스트가 [해당 세션의 받은편지함이 수용하는 것](#limitations)에 도달했습니다. Claude Code는 해당 세션으로의 추가 메시지를 거부합니다.

83* 이 머신의 회신 대상이 심볼릭 링크된 대상이나 예상 프로세스가 아닌 엔드포인트와 같은 안전 검사에 실패합니다. [교차 세션 메시지 전송 거부](/docs/ko/errors#refusing-to-send-a-cross-session-message)는 이러한 검사를 나열합니다.73* 이 머신의 회신 대상이 심볼릭 링크된 대상이나 예상 프로세스가 아닌 엔드포인트와 같은 안전 검사에 실패합니다. [교차 세션 메시지 전송 거부](/docs/ko/errors#refusing-to-send-a-cross-session-message)는 이러한 검사를 나열합니다.

84* Claude가 메시지를 이 세션의 자신의 이름으로 주소 지정합니다. [Claude가 도달할 수 있는 세션 확인](#see-which-sessions-claude-can-reach)에서 설명합니다.

85 74 

86수신 세션은 도착하는 각 메시지를 자신의 [인바운드 제어](#control-inbound-messages)에 대해 확인하며, 검사는 다음 세 가지 결과 중 하나로 끝납니다:75수신 세션은 도착하는 각 메시지를 자신의 [인바운드 제어](#control-inbound-messages)에 대해 확인하며, 검사는 다음 세 가지 결과 중 하나로 끝납니다:

87 76 


121 제한110 제한

122</h4>111</h4>

123 112 

124알림은 일회성입니다: Claude Code는 보고 있는 세션에서 한 번 보내며, 어느 세션도 다른 세션을 폴링하지 않습니다. 12시간 내에 알림이 도착하지 않으면, Claude Code는 구독을 삭제하고 Claude에게 알려주므로, 계속 기다리지 않습니다.11312시간 내에 알림이 도착하지 않으면, Claude Code는 구독을 삭제하고 Claude에게 알려주므로, 계속 기다리지 않습니다.

125 114 

126각 측의 [인바운드 제어](#control-inbound-messages)는 메시지처럼 알림에 적용됩니다:115각 측의 [인바운드 제어](#control-inbound-messages)는 메시지처럼 알림에 적용됩니다:

127 116 

128* **양쪽에서 `refuse`**: 아무것도 도착하지 않습니다. 보고 있는 세션은 요청을 기록하거나 답변하지 않고 삭제하므로, 구독은 12시간 후 답변 없이 만료되며, `refuse`가 있는 요청하는 세션은 절대 구독하지 않습니다.117* **양쪽에서 `refuse`**: 아무것도 도착하지 않습니다. 보고 있는 세션은 요청을 기록하거나 답변하지 않고 삭제하므로, 구독은 12시간 후 답변 없이 만료되며, `refuse`가 있는 요청하는 세션은 절대 구독하지 않습니다.

129* **양쪽에서 `hold`**: 알림이 더 적게 도착합니다. 보고 있는 세션은 한 줄 상태를 생략하며, 요청하는 세션은 Claude에게 전달하지 않고 대화 기록에 알림을 표시합니다.118* **양쪽에서 `hold`**: 알림이 더 적게 도착합니다. 보고 있는 세션은 한 줄 상태를 생략하며, 요청하는 세션은 Claude에게 전달하지 않고 대화 기록에 알림을 표시합니다.

130 119 

131주 대화의 Claude만 구독할 수 있으며, 이 머신의 세션에만 구독할 수 있습니다. 서브에이전트나 에이전트 팀 팀원이 `notify_when_idle`을 설정하면, Claude Code는 구독하지 않고 이를 알려줍니다. Claude가 팀원, 서브에이전트 또는 이 머신을 넘어선 세션과 같은 다른 에이전트에게 알림을 요청하면, Claude Code는 첨부된 메시지를 포함한 전체 호출을 거부하고 거부를 Claude에게 보고하므로 요청 없이 메시지를 다시 보낼 수 있습니다.120주 대화의 Claude만 구독할 수 있으며, 이 머신의 세션에만 구독할 수 있습니다. Claude가 팀원, 서브에이전트 또는 이 머신을 넘어선 세션과 같은 다른 에이전트에게 알림을 요청하면, Claude Code는 첨부된 메시지를 포함한 전체 호출을 거부합니다.

132 121 

133<h3 id="see-which-sessions-claude-can-reach">122<h3 id="see-which-sessions-claude-can-reach">

134 Claude가 도달할 수 있는 세션 확인123 Claude가 도달할 수 있는 세션 확인


137Claude는 자신의 메시지 대상을 찾으므로, 메시지를 보내도록 요청하기 전에 아무것도 실행할 필요가 없습니다. 직접 Claude가 도달할 수 있는 세션을 확인하려면 `/list-agents` 명령을 실행하십시오. 첫 번째 줄(있을 때)은 이 세션의 자신의 이름이며, 다른 세션이 이를 사용하여 메시지를 보냅니다. 아래 행은 Claude가 도달할 수 있는 세션입니다:126Claude는 자신의 메시지 대상을 찾으므로, 메시지를 보내도록 요청하기 전에 아무것도 실행할 필요가 없습니다. 직접 Claude가 도달할 수 있는 세션을 확인하려면 `/list-agents` 명령을 실행하십시오. 첫 번째 줄(있을 때)은 이 세션의 자신의 이름이며, 다른 세션이 이를 사용하여 메시지를 보냅니다. 아래 행은 Claude가 도달할 수 있는 세션입니다:

138 127 

139* **서브에이전트**: 현재 세션 내에서 실행 중인 에이전트.128* **서브에이전트**: 현재 세션 내에서 실행 중인 에이전트.

140* **팀원**: 이 세션의 자신의 [에이전트 팀](/docs/ko/agent-teams) 팀원. v2.1.239 이전에는 팀원이 나열에 나타나지 않았지만, Claude는 이미 이름으로 메시지를 보낼 수 있었습니다.129* **팀원**: 이 세션의 자신의 [에이전트 팀](/docs/ko/agent-teams) 팀원.

141* **다른 로컬 세션**: 동일한 머신에서 실행 중인 Claude Code 세션([배경 세션](/docs/ko/agent-view) 포함). 세션은 [받은편지함 소켓](#the-sessions-inbox-socket)을 바인딩할 때만 나타납니다.130* **다른 로컬 세션**: 동일한 머신에서 실행 중인 Claude Code 세션([배경 세션](/docs/ko/agent-view) 포함). 세션은 [받은편지함 소켓](#the-sessions-inbox-socket)을 바인딩할 때만 나타납니다.

142* **클라우드 세션**: [원격 제어](/docs/ko/remote-control)에 연결되어 있는 동안 표시되는 [Claude Code on the web](/docs/ko/claude-code-on-the-web) 세션. Claude Code는 나열에서 `cloud`로 레이블을 지정합니다.131* **클라우드 세션**: [원격 제어](/docs/ko/remote-control)에 연결되어 있는 동안 표시되는 [Claude Code on the web](/docs/ko/claude-code-on-the-web) 세션.

143* **다른 머신의 원격 제어 세션**: [원격 제어](/docs/ko/remote-control)에 연결되어 있는 동안 표시되며, `Remote Control`로 레이블이 지정됩니다. Claude Code는 원격 제어 연결이 끊어진 세션의 상태를 `offline`으로 표시합니다.132* **다른 머신의 원격 제어 세션**: [원격 제어](/docs/ko/remote-control)에 연결되어 있는 동안 표시되며, `Remote Control`로 레이블이 지정됩니다. Claude Code는 원격 제어 연결이 끊어진 세션의 상태를 `offline`으로 표시합니다.

144 133 

145이 세션은 행 중 하나가 아닙니다. Claude가 이 세션의 자신의 이름으로 메시지를 주소 지정하면, Claude Code는 이를 거부하고 대상이 현재 세션임을 Claude에게 알려줍니다. v2.1.239 이전에는 나열이 이 세션의 이름을 표시하지 않았으며, Claude Code는 이를 찾을 수 없는 에이전트로 보낸 메시지를 보고했습니다.

146 

147이 세션이 [원격 제어](/docs/ko/remote-control)에 연결되어 있는 동안, Claude Code는 `/list-agents` 출력에서 로컬 세션의 일부 세부 정보를 보류하며, Claude 자체가 메시지를 보낼 세션을 찾을 때 보는 것은 변경하지 않습니다:134이 세션이 [원격 제어](/docs/ko/remote-control)에 연결되어 있는 동안, Claude Code는 `/list-agents` 출력에서 로컬 세션의 일부 세부 정보를 보류하며, Claude 자체가 메시지를 보낼 세션을 찾을 때 보는 것은 변경하지 않습니다:

148 135 

149* **작업 디렉토리**: 각 로컬 세션의 작업 디렉토리를 생략합니다.136* **작업 디렉토리**: 각 로컬 세션의 작업 디렉토리를 생략합니다.


152 139 

153출력이 아무것이나 나열할 때, 세부 정보가 보류되었다는 참고로 끝납니다. 세션의 자신의 키보드에서 `/rename` 다음에 사용하지 않은 이름을 실행하면 해당 세션에 출력에 나타나는 이름을 제공합니다.140출력이 아무것이나 나열할 때, 세부 정보가 보류되었다는 참고로 끝납니다. 세션의 자신의 키보드에서 `/rename` 다음에 사용하지 않은 이름을 실행하면 해당 세션에 출력에 나타나는 이름을 제공합니다.

154 141 

155Claude Code는 클라우드 및 원격 제어 세션 목록을 최신 순서로 읽고 각각에 대해 제한된 페이지 수 후에 중지합니다. 계정에 맞는 것보다 더 많은 세션이 있으면, Claude Code는 오래된 것을 나열하지 않으며, Claude는 이름으로 메시지를 보낼 수 없습니다. 이 경우 Claude Code는 나열에서 이를 알려주며, Claude는 메시지를 보낼 때 동일한 참고를 봅니다.

156 

157Claude는 이 머신을 넘어선 세션을 이름으로 주소 지정하며, 로컬 세션과 동일합니다. [다른 머신의 세션에 메시지 보내기](#message-sessions-on-other-machines)에서 이러한 메시지가 어떻게 이동하는지 확인하십시오.

158 

159세션은 [`/rename`](/docs/ko/commands) 명령이나 [`--name`](/docs/ko/cli-reference#cli-flags) 플래그로 설정한 이름에 응합니다. 설정하지 않으면, Claude Code가 세션을 이름 짓습니다. 대화형 세션의 경우, 이는 [실행 중인 세션 목록](/docs/ko/sessions#name-your-sessions)에 표시되는 이름입니다.142세션은 [`/rename`](/docs/ko/commands) 명령이나 [`--name`](/docs/ko/cli-reference#cli-flags) 플래그로 설정한 이름에 응합니다. 설정하지 않으면, Claude Code가 세션을 이름 짓습니다. 대화형 세션의 경우, 이는 [실행 중인 세션 목록](/docs/ko/sessions#name-your-sessions)에 표시되는 이름입니다.

160 143 

161세션을 이름 바꾸면, Claude Code는 다른 세션이 세션의 이름을 조회하는 데 사용하는 공유 레코드도 업데이트합니다. 해당 레코드를 업데이트할 수 없으면, `/rename` 출력에서 다른 세션이 여전히 이전 이름을 표시할 수 있음을 경고합니다. [`--debug`](/docs/ko/cli-reference#cli-flags)로 세션을 실행하면, Claude Code는 실패한 업데이트의 원인을 기록합니다.

162 

163세션을 이름 바꾸거나, 이 머신의 다른 라이브 세션이 이미 사용 중인 이름으로 대화형 세션을 시작하거나 재개하면, Claude Code는 이미 이름을 가진 세션에 이름을 남기고 [변형으로 이름을 바꿉니다](/docs/ko/sessions#name-your-sessions). 세션은 여전히 이름을 공유할 수 있습니다. 예를 들어 하나가 이전 버전의 Claude Code를 실행하거나 공유 이름이 Claude Code가 생성한 것일 때입니다. 이 세션이 원격 제어에 연결되지 않은 한, Claude Code는 `/list-agents` 출력에서 각 로컬 세션의 작업 디렉토리를 표시하므로, 다른 디렉토리에서 실행할 때 같은 이름의 세션을 구분할 수 있습니다. Claude는 이름에 응하는 라이브 세션의 수에 따라 두 가지 방식 중 하나로 메시지를 주소 지정합니다:144세션을 이름 바꾸거나, 이 머신의 다른 라이브 세션이 이미 사용 중인 이름으로 대화형 세션을 시작하거나 재개하면, Claude Code는 이미 이름을 가진 세션에 이름을 남기고 [변형으로 이름을 바꿉니다](/docs/ko/sessions#name-your-sessions). 세션은 여전히 이름을 공유할 수 있습니다. 예를 들어 하나가 이전 버전의 Claude Code를 실행하거나 공유 이름이 Claude Code가 생성한 것일 때입니다. 이 세션이 원격 제어에 연결되지 않은 한, Claude Code는 `/list-agents` 출력에서 각 로컬 세션의 작업 디렉토리를 표시하므로, 다른 디렉토리에서 실행할 때 같은 이름의 세션을 구분할 수 있습니다. Claude는 이름에 응하는 라이브 세션의 수에 따라 두 가지 방식 중 하나로 메시지를 주소 지정합니다:

164 145 

165* **한 세션이 이름에 응함**: Claude Code는 이름만으로 메시지를 전달합니다.146* **한 세션이 이름에 응함**: Claude Code는 이름만으로 메시지를 전달합니다.


177| 다른 머신 중 하나에서 | Anthropic 서버를 통해, 해당 머신의 [원격 제어](/docs/ko/remote-control) 연결을 통해 도착 |158| 다른 머신 중 하나에서 | Anthropic 서버를 통해, 해당 머신의 [원격 제어](/docs/ko/remote-control) 연결을 통해 도착 |

178| [Claude Code on the web](/docs/ko/claude-code-on-the-web)에서 | Anthropic 서버를 통해, 클라우드 세션으로 직접 |159| [Claude Code on the web](/docs/ko/claude-code-on-the-web)에서 | Anthropic 서버를 통해, 클라우드 세션으로 직접 |

179 160 

180다른 머신의 세션과 대화를 시작하려면 Claude Code v2.1.225 이상이 필요하며, [나열에 나타나는](#see-which-sessions-claude-can-reach) 대상이 필요합니다. v2.1.225 이전에는 Claude가 도착한 메시지에만 회신할 수 있었습니다.161다른 머신의 세션과 대화를 시작하려면 Claude Code v2.1.225 이상이 필요하며, [나열에 나타나는](#see-which-sessions-claude-can-reach) 대상이 필요합니다.

181 

182[나열](#see-which-sessions-claude-can-reach)에서 `offline`으로 표시되는 세션(원격 제어 연결이 끊어진 세션)에 메시지를 보낼 수 있습니다. 전송은 진행되지만, 메시지는 해당 세션의 머신이 다시 연결된 후에만 도착합니다. Claude는 메시지를 보낼 때 이를 알려줍니다.

183 162 

184같은 머신 전달은 기능이 활성화된 모든 곳에서 작동합니다. 각 세션은 디스크의 파일에 자신을 등록합니다. Claude가 로컬 세션을 나열하거나 메시지를 보낼 때, Claude Code는 이러한 파일을 읽어 세션을 찾으므로, 두 세션은 동일한 파일을 볼 수 있을 때만 서로 도달할 수 있습니다.163[나열](#see-which-sessions-claude-can-reach)에서 `offline`으로 표시되는 세션(원격 제어 연결이 끊어진 세션)에 메시지를 보낼 수 있습니다. 전송은 진행되지만, 메시지는 해당 세션의 머신이 다시 연결된 후에만 도착합니다.

185 164 

186컨테이너는 자신의 파일 시스템을 가지므로, 컨테이너 내부의 세션과 호스트의 세션은 서로 도달할 수 없습니다. 동일한 컨테이너 내의 두 세션은 여전히 서로 메시지를 보낼 수 있으며, [자체 호스팅 러너](/docs/ko/self-hosted-environments)를 포함합니다. WSL 2 내부의 세션과 동일한 컴퓨터의 기본 Windows 세션도 서로 도달할 수 없습니다. 다른 홈 디렉토리에 등록하고 다른 소켓 유형을 수신하기 때문입니다.165컨테이너 내부의 세션과 호스트의 세션은 서로 도달할 수 없습니다. 동일한 컨테이너 내의 두 세션은 여전히 서로 메시지를 보낼 수 있으며, [자체 호스팅 러너](/docs/ko/self-hosted-environments)를 포함합니다. WSL 2 내부의 세션과 동일한 컴퓨터의 기본 Windows 세션도 서로 도달할 수 없습니다.

187 166 

188이 세션이 원격 제어에 연결되어 있는 동안, 다른 머신의 세션에 메시지를 보낼 때, Claude Code는 해당 세션의 대화에서 이 세션의 원격 제어 이름 아래에 메시지를 표시합니다. 해당 머신의 Claude는 해당 이름에 회신할 수 있습니다. 예를 들어, 이 세션이 `laptop-graceful-unicorn`으로 원격 제어에 연결되어 있고 데스크톱에 메시지를 보내면, 데스크톱 세션에서 `laptop-graceful-unicorn` 아래에 메시지가 표시됩니다.167Claude가 이 머신을 넘어선 세션으로 보낼 때 이 세션이 원격 제어에 연결되지 않으면, 메시지는 여전히 진행되지만 [회신 주소](#what-a-message-looks-like) 없이, 수신 Claude가 답변할 수 없습니다.

189 

190Claude가 이 머신을 넘어선 세션으로 보낼 때 이 세션이 원격 제어에 연결되지 않으면, 메시지는 여전히 진행되지만 [회신 주소](#what-a-message-looks-like) 없이, 수신 Claude가 답변할 수 없습니다. Claude는 메시지를 보낼 때 이를 알려줍니다.

191 168 

192이 머신을 넘어선 메시지가 나가기 전에 승인을 요구하려면 [`isolatePeerMachines`](#require-approval-for-cross-machine-messages)를 설정하십시오.169이 머신을 넘어선 메시지가 나가기 전에 승인을 요구하려면 [`isolatePeerMachines`](#require-approval-for-cross-machine-messages)를 설정하십시오.

193 170 


206 메시지가 어떻게 보이는지183 메시지가 어떻게 보이는지

207</h3>184</h3>

208 185 

209메시지가 도착하면, Claude Code는 대화에서 희미한 한 줄 미리보기로 표시하며, 미리보기 줄은 나중에 대화에 남아 있습니다. 미리보기는 발신자의 이름과 메시지의 첫 줄을 전달하며, 길 때 `…`로 자르며, 예: `› Message from @api-worker: Schema migration finished (ctrl+o to expand)`. v2.1.247 이전에는 Claude Code가 도착하는 메시지를 미리보기 대신 전체로 표시했습니다.186메시지가 도착하면, Claude Code는 대화에서 희미한 한 줄 미리보기로 표시하며, 미리보기 줄은 나중에 대화에 남아 있습니다. 미리보기는 발신자의 이름과 메시지의 첫 줄을 전달하며, 길 때 `…`로 자르며, 예: `› Message from @api-worker: Schema migration finished (ctrl+o to expand)`.

210 187 

211다음 중 하나가 전체 텍스트를 표시합니다:188다음 중 하나가 전체 텍스트를 표시합니다:

212 189 


215 192 

216미리보기는 표시되는 것만 단축합니다. 확장하든 안 하든, Claude는 전체 메시지를 읽습니다.193미리보기는 표시되는 것만 단축합니다. 확장하든 안 하든, Claude는 전체 메시지를 읽습니다.

217 194 

218Claude는 발신자의 이름과 회신 주소를 포함한 메시지를 받으며, [일방향 교차 머신 메시지](#message-sessions-on-other-machines)는 회신 주소를 전달하지 않습니다. 이름과 회신 주소를 넘어, 수신 Claude는 메시지의 텍스트를 받으며, 발신자의 대화 기록이나 파일은 절대 아닙니다. [메시지 전달](#message-delivery)은 텍스트의 `@` 언급을 다룹니다.195Claude는 발신자의 이름과 회신 주소를 포함한 메시지를 받으며, [일방향 교차 머신 메시지](#message-sessions-on-other-machines)는 회신 주소를 전달하지 않습니다.

219 

220[서브에이전트](/docs/ko/sub-agents)가 작성한 메시지는 발신 세션의 이름 아래에 도착하며, 서브에이전트가 메시지 텍스트에서 식별됩니다. 이에 대한 회신은 해당 세션의 주 대화에 도달하며, 서브에이전트에는 도달하지 않습니다.

221 196 

222이 예는 한 Claude가 다른 Claude에게 작성한 메시지이며, 확장할 때 전체 텍스트로 읽습니다:197이 예는 한 Claude가 다른 Claude에게 작성한 메시지이며, 확장할 때 전체 텍스트로 읽습니다:

223 198 


254* 대화가 [`dialogExpiry`](/docs/ko/settings-reference#dialogexpiry) 기한을 지나 답변되지 않으면, Claude Code는 이를 닫고 메시지를 삭제합니다. 기한은 기본적으로 5분입니다.229* 대화가 [`dialogExpiry`](/docs/ko/settings-reference#dialogexpiry) 기한을 지나 답변되지 않으면, Claude Code는 이를 닫고 메시지를 삭제합니다. 기한은 기본적으로 5분입니다.

255* 터미널이 [배경 세션](/docs/ko/agent-view)에 첨부되지 않은 동안, Claude Code는 대화를 기한을 지나 열어 둡니다. 첨부한 후, 대화가 전체 기한 기간 동안 답변되지 않으면, Claude Code는 이를 닫고 메시지를 삭제합니다.230* 터미널이 [배경 세션](/docs/ko/agent-view)에 첨부되지 않은 동안, Claude Code는 대화를 기한을 지나 열어 둡니다. 첨부한 후, 대화가 전체 기한 기간 동안 답변되지 않으면, Claude Code는 이를 닫고 메시지를 삭제합니다.

256* 메시지가 보류되는 동안 이 세션의 권한 모드 클래스가 변경되면, Claude Code는 인바운드 규칙을 다시 적용하고, 이제 수용하는 메시지를 전달하며, 알림을 표시합니다.231* 메시지가 보류되는 동안 이 세션의 권한 모드 클래스가 변경되면, Claude Code는 인바운드 규칙을 다시 적용하고, 이제 수용하는 메시지를 전달하며, 알림을 표시합니다.

257* 메시지가 보류되는 동안 설정 변경이 `refuse`를 적용하면, Claude Code는 모든 보류된 메시지를 삭제하고 도달할 수 있는 각 발신자에게 거부를 보고합니다.

258 

259발신자가 동일한 머신의 세션일 때, Claude Code는 수신자가 메시지를 보류할 때 거기에 알림을 표시하고, 수신자가 나중에 전달, 거부 또는 만료할 때 후속 조치를 표시합니다. 알림은 발신 Claude에 도달하므로, 다른 세션이 읽지 않은 메시지에서 계속 기다리지 않아야 함을 알 수 있습니다.

260 

261대화형 발신 세션에서, 알림은 대화 기록에 나타납니다. [`claude -p`](/docs/ko/headless) 발신자는 [스트리밍된 출력](/docs/ko/headless#stream-responses)에서 [정보 `system` 메시지](/docs/ko/agent-sdk/typescript#sdkinformationalmessage)로 받습니다. `claude -p` 발신자에 대한 알림은 Claude Code v2.1.271 이상이 필요합니다.

262 232 

263수신자가 메시지를 거부하면, 발신자의 알림은 수신자가 교차 세션 메시지를 수용하지 않음을 말하고 발신자의 Claude에게 기다리거나 다시 보내지 않도록 알려줍니다.233Claude Code는 최대 100개의 메시지를 보류하며, 그 이상은 가장 오래된 것을 삭제합니다.

264 

265Claude Code는 최대 100개의 메시지를 보류하며, 전달 큐와 별도로, 그 이상은 가장 오래된 것을 삭제합니다.

266 234 

267<h3 id="non-interactive-sessions">235<h3 id="non-interactive-sessions">

268 비대화형 세션236 비대화형 세션


277 245 

278`dialogExpiry`를 `"never"`로 설정하여 기본값으로 보류된 메시지를 세션이 끝날 때까지 유지하십시오. 명시적 `hold` 설정으로 보류된 메시지는 만료되지 않습니다. Claude Code는 나중에 `accept`가 적용될 때만 전달합니다.246`dialogExpiry`를 `"never"`로 설정하여 기본값으로 보류된 메시지를 세션이 끝날 때까지 유지하십시오. 명시적 `hold` 설정으로 보류된 메시지는 만료되지 않습니다. Claude Code는 나중에 `accept`가 적용될 때만 전달합니다.

279 247 

280세션이 여전히 보류된 메시지로 끝나면, Claude Code는 도달할 수 있는 각 발신자에게 만료로 보고합니다. v2.1.225 이전에는 `-p` 세션에 기한이 적용되지 않았습니다: 보류된 메시지는 실행 중 권한 모드 변경이 전달하지 않는 한 보류 상태로 유지되었으며, 보류된 메시지로 끝나는 세션은 발신자에게 아무것도 보고하지 않았습니다.

281 

282`-p` 워커가 무인으로 메시지를 받도록 하려면, `--settings` 값에서 `crossSessionInbound`를 `accept`로 설정하여 시작하십시오. 사용자 설정의 `accept`도 작동하지만 실행하는 모든 세션에 적용됩니다.248`-p` 워커가 무인으로 메시지를 받도록 하려면, `--settings` 값에서 `crossSessionInbound`를 `accept`로 설정하여 시작하십시오. 사용자 설정의 `accept`도 작동하지만 실행하는 모든 세션에 적용됩니다.

283 249 

284<h3 id="the-sessions-inbox-socket">250<h3 id="the-sessions-inbox-socket">


294* `/status`는 `Peer address` 행에 표시합니다. 경로는 `uds:`로 접두사가 붙습니다.260* `/status`는 `Peer address` 행에 표시합니다. 경로는 `uds:`로 접두사가 붙습니다.

295* Claude Code는 [훅](/docs/ko/hooks) 및 Bash 명령에 [`CLAUDE_CODE_MESSAGING_SOCKET`](/docs/ko/env-vars#variables) 환경 변수로 내보냅니다:261* Claude Code는 [훅](/docs/ko/hooks) 및 Bash 명령에 [`CLAUDE_CODE_MESSAGING_SOCKET`](/docs/ko/env-vars#variables) 환경 변수로 내보냅니다:

296 * 메시징이 켜진 상태로 시작하는 세션에서, Claude Code는 `SessionStart`를 포함한 모든 훅이 실행되기 전에 변수를 내보냅니다.262 * 메시징이 켜진 상태로 시작하는 세션에서, Claude Code는 `SessionStart`를 포함한 모든 훅이 실행되기 전에 변수를 내보냅니다.

297 * 각 세션은 자신의 소켓을 내보내며, 부모 세션에서 상속된 것은 절대 아닙니다.

298 263 

299macOS 및 Linux에서, Claude Code는 소켓을 운영 체제 사용자로 제한합니다. 기본 Windows에서는 각 연결이 먼저 운영 체제 사용자만 읽을 수 있는 키로 인증해야 합니다. 어느 쪽이든, 공유 머신에서 다른 사용자의 세션은 이를 전달할 수 없습니다.264macOS 및 Linux에서, Claude Code는 소켓을 운영 체제 사용자로 제한합니다. 기본 Windows에서는 각 연결이 먼저 운영 체제 사용자만 읽을 수 있는 키로 인증해야 합니다. 어느 쪽이든, 공유 머신에서 다른 사용자의 세션은 이를 전달할 수 없습니다.

300 265 


307 272 

308게시할 메시지가 준비되었을 때만 연결을 엽니다. Claude Code는 30초 내에 완전한 줄을 보내지 않은 연결을 닫으므로, 느린 명령의 출력을 먼저 캡처한 다음 연결을 열어 보내십시오.273게시할 메시지가 준비되었을 때만 연결을 엽니다. Claude Code는 30초 내에 완전한 줄을 보내지 않은 연결을 닫으므로, 느린 명령의 출력을 먼저 캡처한 다음 연결을 열어 보내십시오.

309 274 

310[자신의 자식 규칙](#own-child-messages) 아래는 Claude Code가 토큰을 참조할 때와 확인할 수 없는 메시지를 처리하는 방식을 설명합니다.

311 

312<span id="own-child-messages" />Claude Code는 소켓에 도착하는 메시지를 다른 [인바운드 제어](#control-inbound-messages)와 동일한 피어 메시지를 통해 실행하며, 한 가지 예외와 한 가지 전제 조건이 있습니다:275<span id="own-child-messages" />Claude Code는 소켓에 도착하는 메시지를 다른 [인바운드 제어](#control-inbound-messages)와 동일한 피어 메시지를 통해 실행하며, 한 가지 예외와 한 가지 전제 조건이 있습니다:

313 276 

314* **자신의 자식 메시지**: `crossSessionInbound` 값이 적용되지 않을 때, Claude Code는 훅이나 Bash 명령과 같은 세션의 자신의 자식 프로세스에서 온 것으로 확인된 메시지를 전달합니다.277* **자신의 자식 메시지**: `crossSessionInbound` 값이 적용되지 않을 때, Claude Code는 훅이나 Bash 명령과 같은 세션의 자신의 자식 프로세스에서 온 것으로 확인된 메시지를 전달합니다.


382 * **클라우드 세션 누락**: 클라우드 세션은 이 세션이 [원격 제어](/docs/ko/remote-control)에 연결되어 있는 동안만 나타납니다.345 * **클라우드 세션 누락**: 클라우드 세션은 이 세션이 [원격 제어](/docs/ko/remote-control)에 연결되어 있는 동안만 나타납니다.

383 * **다른 머신 세션 누락**: 다른 머신의 세션은 [원격 제어](/docs/ko/remote-control)로 실행되고 이 세션도 연결되어 있을 때만 나타납니다.346 * **다른 머신 세션 누락**: 다른 머신의 세션은 [원격 제어](/docs/ko/remote-control)로 실행되고 이 세션도 연결되어 있을 때만 나타납니다.

384 * **다른 머신 세션 `offline`**: `offline`으로 나열된 세션으로의 메시지는 진행되지만, [해당 세션의 머신이 다시 연결된 후에만 도착](#message-sessions-on-other-machines)합니다.347 * **다른 머신 세션 `offline`**: `offline`으로 나열된 세션으로의 메시지는 진행되지만, [해당 세션의 머신이 다시 연결된 후에만 도착](#message-sessions-on-other-machines)합니다.

385 * **오래된 클라우드 또는 다른 머신 세션 누락**: Claude Code는 [이러한 세션 목록을 최신 순서로 읽고 제한된 페이지 수 후에 중지](#see-which-sessions-claude-can-reach)하므로, Claude는 이름으로 지난 세션에 메시지를 보낼 수 없습니다.348 * **오래된 클라우드 또는 다른 머신 세션 누락**: Claude Code는 이러한 세션 목록을 최신 순서로 읽고 제한된 페이지 수 후에 중지하므로, Claude는 이름으로 지난 세션에 메시지를 보낼 수 없습니다.

386 * **대화 시작**: [다른 머신의 세션에 메시지 보내기](#message-sessions-on-other-machines)는 이 머신을 넘어선 세션과 대화를 시작하는 것을 다룹니다.

387 349 

388메시징이 있는 세션에서, `/status`는 또한 세션의 자신의 받은편지함 주소를 포함한 `Peer address` 행을 표시하거나, Claude Code가 [받은편지함을 설정할 수 없을 때](#the-sessions-inbox-socket) `unavailable`과 이유를 표시합니다.350메시징이 있는 세션에서, `/status`는 또한 세션의 자신의 받은편지함 주소를 포함한 `Peer address` 행을 표시하거나, Claude Code가 [받은편지함을 설정할 수 없을 때](#the-sessions-inbox-socket) `unavailable`과 이유를 표시합니다.

389 351 


395 357 

396* **일반 텍스트만**: Claude는 세션 간에 일반 텍스트만 보냅니다. 구조화된 [에이전트 팀](/docs/ko/agent-teams) 프로토콜 메시지는 팀 내에 유지됩니다.358* **일반 텍스트만**: Claude는 세션 간에 일반 텍스트만 보냅니다. 구조화된 [에이전트 팀](/docs/ko/agent-teams) 프로토콜 메시지는 팀 내에 유지됩니다.

397* **동일한 머신 메시지 크기는 제한됨**: Claude Code는 직렬화된 형식이 약 백만 문자를 통과하면 이 머신의 세션으로의 메시지를 거부합니다. 거부는 [정확한 크기를 이름 지음](/docs/ko/errors#message-too-large-for-cross-session-delivery)합니다. 아무것도 수신 세션에 도달하지 않습니다.359* **동일한 머신 메시지 크기는 제한됨**: Claude Code는 직렬화된 형식이 약 백만 문자를 통과하면 이 머신의 세션으로의 메시지를 거부합니다. 거부는 [정확한 크기를 이름 지음](/docs/ko/errors#message-too-large-for-cross-session-delivery)합니다. 아무것도 수신 세션에 도달하지 않습니다.

398* **한 세션으로의 빠른 버스트는 발신자에서 거부됨**: 한 세션으로의 빠른 메시지 버스트가 해당 세션의 받은편지함이 수용하는 것에 도달하면, Claude Code는 발신 세션에서 추가 전송을 거부합니다. [거부는 버스트를 이름 지음](/docs/ko/errors#too-many-messages-to-this-session-just-now)하고 Claude에게 나머지를 하나의 메시지로 일괄 처리하거나 기다리도록 알려줍니다. v2.1.236 이전에는 Claude Code가 이러한 전송을 보낸 것으로 보고했으며 수신 세션이 이를 삭제했습니다.360* **한 세션으로의 빠른 버스트는 발신자에서 거부됨**: 한 세션으로의 빠른 메시지 버스트가 해당 세션의 받은편지함이 수용하는 것에 도달하면, Claude Code는 발신 세션에서 추가 전송을 거부합니다. [거부는 버스트를 이름 지음](/docs/ko/errors#too-many-messages-to-this-session-just-now)하고 Claude에게 나머지를 하나의 메시지로 일괄 처리하거나 기다리도록 알려줍니다.

399* **메시지 루프는 제한됨**: 수신 세션에서, Claude Code는 발신자별로 반복된 메시지의 속도를 제한하고, 짧은 창 내에 도착하는 동일한 반복을 삭제하며, Claude가 읽을 수 있도록 최대 50개의 수용된 메시지를 큐에 넣습니다. 따라서 두 세션 간의 메시지 루프는 자체적으로 중지됩니다. 속도 제한, 반복 검사 또는 큐 제한이 이 머신의 대화형 세션에서 메시지를 삭제할 때, Claude Code는 어떤 것이 삭제했는지 알려주고 Claude에게 즉시 다시 보내지 않도록 알려줍니다.361* **메시지 루프는 제한됨**: 수신 세션에서, Claude Code는 발신자별로 반복된 메시지의 속도를 제한하고, 짧은 창 내에 도착하는 동일한 반복을 삭제하며, Claude가 읽을 수 있도록 최대 50개의 수용된 메시지를 큐에 넣습니다. 따라서 두 세션 간의 메시지 루프는 자체적으로 중지됩니다.

400 362 

401<h2 id="related-resources">363<h2 id="related-resources">

402 관련 리소스364 관련 리소스


405* [서브에이전트](/docs/ko/sub-agents#resume-subagents) 및 [에이전트 팀](/docs/ko/agent-teams#messages-between-agents): 단일 세션이나 팀 내의 메시징367* [서브에이전트](/docs/ko/sub-agents#resume-subagents) 및 [에이전트 팀](/docs/ko/agent-teams#messages-between-agents): 단일 세션이나 팀 내의 메시징

406* [배경 에이전트](/docs/ko/agent-view): 메시지를 보낼 수 있는 병렬 세션 디스패치 및 모니터링368* [배경 에이전트](/docs/ko/agent-view): 메시지를 보낼 수 있는 병렬 세션 디스패치 및 모니터링

407* [원격 제어](/docs/ko/remote-control): 이 세션을 연결하여 다른 머신의 세션에 도달369* [원격 제어](/docs/ko/remote-control): 이 세션을 연결하여 다른 머신의 세션에 도달

370* [채널](/docs/ko/channels): CI 결과나 채팅 메시지와 같은 외부 이벤트를 세션으로 푸시

408* [설정](/docs/ko/settings-reference#all-settings): `crossSessionInbound`, `isolatePeerMachines` 및 `dialogExpiry`371* [설정](/docs/ko/settings-reference#all-settings): `crossSessionInbound`, `isolatePeerMachines` 및 `dialogExpiry`

409* [권한 모드](/docs/ko/permission-modes): 인바운드 기본값의 두 클래스 뒤의 모드372* [권한 모드](/docs/ko/permission-modes): 인바운드 기본값의 두 클래스 뒤의 모드

410* [도구 참조](/docs/ko/tools-reference): 도구 테이블의 `ListAgents` 및 `SendMessage` 행373* [도구 참조](/docs/ko/tools-reference): 도구 테이블의 `ListAgents` 및 `SendMessage` 행

data-usage.md +3 −3

Details

108 클라우드 실행: 데이터 흐름 및 종속성108 클라우드 실행: 데이터 흐름 및 종속성

109</h3>109</h3>

110 110 

111[Claude Code on the web](/docs/ko/claude-code-on-the-web)을 사용할 때, 세션은 기본적으로 로컬이 아닌 Anthropic 관리 가상 머신에서 실행됩니다. 조직이 [자체 호스팅 환경](/docs/ko/self-hosted-environments)으로 라우팅하는 세션은 사용자가 제어하는 인프라에서 실행됩니다. 머신에 유지되는 것과 여전히 Anthropic으로 이동하는 것에 대해서는 [인프라에 유지되는 것](/docs/ko/self-hosted-environments#what-stays-on-your-infrastructure)을 참조하세요. Anthropic 호스팅 클라우드 세션에서:111[Claude Code on the web](/docs/ko/claude-code-on-the-web)은 기본적으로 로컬이 아닌 Anthropic 관리 가상 머신에서 실행됩니다. 조직이 [자체 호스팅 환경](/docs/ko/self-hosted-environments)으로 라우팅하는 세션은 사용자가 제어하는 인프라에서 실행됩니다. 머신에 유지되는 것과 여전히 Anthropic으로 이동하는 것에 대해서는 [인프라에 유지되는 것](/docs/ko/self-hosted-environments#what-stays-on-your-infrastructure)을 참조하세요. Anthropic 호스팅 클라우드 세션에서:

112 112 

113* **코드 및 데이터 저장소:** 저장소가 격리된 VM으로 복제됩니다. 코드 및 세션 데이터는 계정 유형에 대한 보관 및 사용 정책의 적용을 받습니다(위의 데이터 보관 섹션 참조).113* **코드 및 데이터 저장소:** 저장소가 격리된 VM으로 복제됩니다. Anthropic은 나중에 세션으로 돌아올 수 있도록 세션 기록을 저장합니다. 코드 및 세션 데이터는 계정 유형에 대한 [보관 및 사용 정책](#data-retention)의 적용을 받습니다.

114* **자격 증명:** GitHub 인증은 보안 프록시를 통해 처리되며, GitHub 자격 증명은 샌드박스에 절대 입력되지 않습니다.114* **자격 증명:** GitHub 자격 증명은 Anthropic의 서버에 암호화되어 저장되며 VM에 절대 입력되지 않습니다. VM의 GitHub 트래픽은 Anthropic 프록시를 통해 이동하며, 서버 측에서 자격 증명을 첨부합니다.

115* **네트워크 트래픽:** 모든 아웃바운드 트래픽은 감사 로깅 및 악용 방지를 위해 보안 프록시를 통해 이동합니다.115* **네트워크 트래픽:** 모든 아웃바운드 트래픽은 감사 로깅 및 악용 방지를 위해 보안 프록시를 통해 이동합니다.

116* **세션 데이터:** 프롬프트, 코드 변경 및 출력은 로컬 Claude Code 사용과 동일한 데이터 정책을 따릅니다.116* **세션 데이터:** 프롬프트, 코드 변경 및 출력은 로컬 Claude Code 사용과 동일한 데이터 정책을 따릅니다.

117 117 

Details

102 일반적인 원인 확인102 일반적인 원인 확인

103</h2>103</h2>

104 104 

105대부분의 구성 놀라움은 작은 위치 및 구문 규칙 집합으로 추적됩니다. 버그라고 가정하기 전에 다음을 확인합니다:105대부분의 구성 문제는 작은 위치 및 구문 규칙 집합으로 추적됩니다. 버그라고 가정하기 전에 다음을 확인하세요:

106 106 

107| 증상 | 원인 | 해결 |107| 증상 | 원인 | 해결 방법 |

108| :- | :- | :- |108| :- | :- | :- |

109| 훅이 절대 실행되지 않음 | `matcher`가 문자열 대신 JSON 배열입니다 | 여러 도구를 일치시키기 위해 `\|`를 사용하는 단일 문자열을 사용합니다(예: `"Edit\|Write"`). [매처 패턴](/docs/ko/hooks#matcher-patterns)을 참조합니다. |109| Hook이 실행되지 않음 | `matcher`가 문자열 대신 JSON 배열입니다 | 여러 도구를 일치시키려면 `\|`를 사용하는 단일 문자열을 사용하세요. 예를 들어 `"Edit\|Write"`입니다. [matcher 패턴](/docs/ko/hooks#matcher-patterns)을 참조하세요. |

110| 훅이 절대 실행되지 않음 | `matcher`가 v2.1.191 이전 버전에서 구분 기호로 `,`를 사용합니다 | Claude Code v2.1.191 이상은 `,`를 `\|`와 같은 목록 구분 기호로 처리합니다. 이전 버전은 쉼표를 리터럴 문자로 평가하므로 `"Edit,Write"`는 아무것도 일치하지 않습니다. 대신 `\|`를 사용하거나 Claude Code를 업그레이드합니다. |110| Hook이 실행되지 않음 | `matcher`가 v2.1.191 이전 버전에서 `,`를 구분 기호로 사용합니다 | Claude Code v2.1.191 이상에서는 `,`를 `\|`처럼 목록 구분 기호로 처리합니다. 이전 버전에서는 쉼표를 리터럴 문자로 평가하므로 `"Edit,Write"`는 아무것도 일치하지 않습니다. 대신 `\|`를 사용하거나 Claude Code를 업그레이드하세요. |

111| 훅이 절대 실행되지 않음 | `matcher` 값이 소문자입니다(예: `"bash"`) | 일치는 대소문자를 구분합니다. 도구 이름은 대문자입니다: `Bash`, `Edit`, `Write`, `Read`. |111| Hook이 실행되지 않음 | `matcher` 값이 소문자입니다. 예를 들어 `"bash"` | 일치는 대소문자를 구분합니다. 도구 이름은 대문자로 표기됩니다: `Bash`, `Edit`, `Write`, `Read`. |

112| 훅이 절대 실행되지 않음 | 훅이 `settings.json` 대신 독립 실행형 파일에 정의되어 있습니다 | 프로젝트 또는 사용자 구성에 대한 독립 실행형 훅 파일이 없습니다. `settings.json`의 `"hooks"` 키 아래에 훅을 정의합니다. [플러그인](/docs/ko/plugins/components#hooks)만 별도의 `hooks/hooks.json`을 로드합니다. [훅 구성](/docs/ko/hooks)을 참조합니다. |112| Hook이 실행되지 않음 | Hook이 `settings.json` 대신 독립 실행형 파일에 정의되어 있습니다 | 프로젝트 또는 사용자 구성에 대한 독립 실행형 hook 파일이 없습니다. `settings.json`의 `"hooks"` 키 아래에 hook을 정의하세요. [플러그인](/docs/ko/plugins/components#hooks)만 별도의 `hooks/hooks.json`을 로드합니다. [hook 구성](/docs/ko/hooks)을 참조하세요. |

113| 전역으로 설정된 권한, 훅 또는 env가 무시됩니다 | 구성이 `~/.claude.json`에 추가되었습니다 | `~/.claude.json`은 앱 상태 및 UI 토글을 보유합니다. `permissions`, `hooks` 및 `env`는 `~/.claude/settings.json`에 속합니다. 이는 두 개의 다른 파일입니다. |113| 전역으로 설정된 권한 또는 hook이 무시됩니다 | 구성이 `~/.claude.json`에 추가되었습니다 | `~/.claude.json`은 앱 상태 및 UI 토글을 보유합니다. `permissions`, `hooks`, `env`는 `~/.claude/settings.json`에 속합니다. 이 두 파일은 다릅니다. |

114| `settings.json` 값이 무시되는 것처럼 보입니다 | 동일한 키가 `settings.local.json`에 설정되어 있습니다 | `settings.local.json`은 `settings.json`을 재정의하고, 둘 다 `~/.claude/settings.json`을 재정의합니다. [설정 우선순위](/docs/ko/settings#settings-precedence)를 참조합니다. |114| `settings.json` 값이 무시되는 것처럼 보입니다 | 동일한 키가 `settings.local.json`에 설정되어 있습니다 | `settings.local.json`은 `settings.json`을 재정의하고, 둘 다 `~/.claude/settings.json`을 재정의합니다. [설정 우선순위](/docs/ko/settings#settings-precedence)를 참조하세요. |

115| 스킬이 `/skills`에 나타나지 않습니다 | 스킬 파일이 폴더 대신 `.claude/skills/name.md`에 있습니다 | 내부에 `SKILL.md`가 있는 폴더를 사용합니다: `.claude/skills/name/SKILL.md`. |115| Skill이 `/skills`에 나타나지 않습니다 | Skill 파일이 폴더 대신 `.claude/skills/name.md`에 있습니다 | 폴더 내에 `SKILL.md`를 사용하세요: `.claude/skills/name/SKILL.md`. |

116| 스킬이 `/skills`에 나타나지만 Claude가 절대 호출하지 않습니다 | 스킬의 프론트매터에 `disable-model-invocation: true`가 있거나, 해당 설명이 요청을 표현하는 방식과 일치하지 않습니다 | `/skills`의 배지를 확인합니다: "user-only" 레이블은 Claude가 자동으로 트리거하지 않음을 의미합니다. [스킬 호출](/docs/ko/skills)을 참조합니다. |116| Skill이 `/skills`에 나타나지만 Claude가 호출하지 않습니다 | Skill의 frontmatter에 `disable-model-invocation: true`가 있거나, 설명이 요청을 표현하는 방식과 일치하지 않습니다 | `/skills`의 배지를 확인하세요: "user-only" 레이블은 Claude가 자동으로 트리거하지 않음을 의미합니다. [skill 호출](/docs/ko/skills)을 참조하세요. |

117| 하위 디렉토리 `CLAUDE.md` 명령이 무시되는 것처럼 보입니다 | 하위 디렉토리 파일은 세션 시작 시가 아니라 요청 시 로드됩니다 | Claude가 Read 도구로 해당 디렉토리의 파일을 읽을 때 로드되며, 시작 시가 아니고 파일을 작성하거나 생성할 때도 아닙니다. [CLAUDE.md 파일이 로드되는 방식](/docs/ko/memory#how-claude-md-files-load)을 참조합니다. |117| 하위 디렉토리 `CLAUDE.md` 지침이 무시되는 것처럼 보입니다 | 하위 디렉토리 파일은 세션 시작 시가 아니라 필요에 따라 로드됩니다 | Read 도구로 해당 디렉토리의 파일을 읽을 때 로드되며, 시작 시나 파일을 작성하거나 생성할 때는 로드되지 않습니다. [CLAUDE.md 파일이 로드되는 방식](/docs/ko/memory#how-claude-md-files-load)을 참조하세요. |

118| 서브에이전트가 `CLAUDE.md` 명령을 무시합니다 | 기본 제공 Explore 및 Plan 에이전트는 `CLAUDE.md`를 건너뜁니다. 사용자 정의 서브에이전트는 주 대화와 동일한 방식으로 로드합니다(정의가 [`omitClaudeMd`](/docs/ko/sub-agents#supported-frontmatter-fields)를 설정하지 않는 한) | Explore 또는 Plan의 경우, 위임 프롬프트에서 명령을 다시 명시합니다. `omitClaudeMd`를 설정하는 서브에이전트의 경우, 필드를 제거합니다. 다른 사용자 정의 서브에이전트의 경우, 중요한 명령을 에이전트 파일 본문에 넣습니다. 이는 에이전트의 시스템 프롬프트가 됩니다. [시작 시 로드되는 항목](/docs/ko/sub-agents#what-loads-at-startup)을 참조합니다. |118| Subagent가 `CLAUDE.md` 지침을 무시합니다 | 기본 제공 Explore 및 Plan 에이전트는 `CLAUDE.md`를 건너뜁니다. 사용자 정의 subagent는 정의가 [`omitClaudeMd`](/docs/ko/sub-agents#supported-frontmatter-fields)를 설정하지 않는 한 메인 대화와 동일한 방식으로 로드합니다 | Explore 또는 Plan의 경우 위임 프롬프트에서 지침을 다시 명시하세요. `omitClaudeMd`를 설정하는 subagent의 경우 필드를 제거하세요. 다른 사용자 정의 subagent의 경우 중요한 지침을 에이전트 파일 본문에 넣으세요. 이는 에이전트의 시스템 프롬프트가 됩니다. [시작 시 로드되는 항목](/docs/ko/sub-agents#what-loads-at-startup)을 참조하세요. |

119| 정리 로직이 세션 종료 시 절대 실행되지 않습니다 | `SessionEnd` 훅이 구성되지 않았습니다 | `settings.json`에 `SessionEnd` 훅을 추가합니다. [훅 이벤트 목록](/docs/ko/hooks#hook-events)을 참조합니다. |119| 세션 종료 시 정리 로직이 실행되지 않습니다 | `SessionEnd` hook이 구성되지 않았습니다 | `settings.json`에 `SessionEnd` hook을 추가하세요. [hook 이벤트 목록](/docs/ko/hooks#hook-events)을 참조하세요. |

120| `.mcp.json`의 MCP 서버가 절대 로드되지 않습니다 | 파일이 `.claude/` 아래에 있거나 서버가 VS Code의 `mcp.json`처럼 최상위 `servers` 키 아래에 있으며, `mcpServers` 대신 있습니다 | 프로젝트 MCP 구성은 `.claude/` 내부가 아니라 저장소 루트에 `.mcp.json`으로 이동하며, `mcpServers` 키 아래에 서버가 있습니다. [MCP 구성](/docs/ko/mcp)을 참조합니다. |120| `.mcp.json`의 MCP 서버가 로드되지 않습니다 | 파일이 `.claude/` 아래에 있거나, 서버가 VS Code의 `mcp.json`처럼 최상위 `servers` 키 아래에 있으며, `mcpServers` 대신 | 프로젝트 MCP 구성은 `.claude/` 내부가 아닌 저장소 루트에 `.mcp.json`으로 이동하며, 서버는 `mcpServers` 키 아래에 있습니다. [MCP 구성](/docs/ko/mcp)을 참조하세요. |

121| `settings.json`의 `mcpServers` 아래에 추가된 MCP 서버가 절대 나타나지 않습니다 | `settings.json`은 `mcpServers` 키를 읽지 않습니다 | 저장소 루트의 `.mcp.json`에서 프로젝트 서버를 정의하거나, 사용자 범위 서버의 경우 `claude mcp add --scope user`를 실행합니다. [MCP 구성](/docs/ko/mcp)을 참조합니다. |121| `settings.json`의 `mcpServers` 아래에 추가된 MCP 서버가 나타나지 않습니다 | `settings.json`이 `mcpServers` 키를 읽지 않습니다 | 저장소 루트의 `.mcp.json`에서 프로젝트 서버를 정의하거나 사용자 범위 서버의 경우 `claude mcp add --scope user`를 실행하세요. [MCP 구성](/docs/ko/mcp)을 참조하세요. |

122| 프로젝트 MCP 서버가 추가되었지만 나타나지 않습니다 | 일회성 승인 프롬프트가 해제되었습니다 | 프로젝트 범위 서버는 승인이 필요합니다. `/mcp`를 실행하여 상태를 확인하고 승인합니다. |122| 프로젝트 MCP 서버가 추가되었지만 나타나지 않습니다 | 일회성 승인 프롬프트가 해제되었습니다 | 프로젝트 범위 서버에는 승인이 필요합니다. `/mcp`를 실행하여 상태를 확인하고 승인하세요. |

123| MCP 서버가 일부 디렉토리에서 시작하지 못합니다 | `command` 또는 `args`가 상대 파일 경로를 사용합니다 | 로컬 스크립트에 절대 경로를 사용합니다. `npx` 또는 `uvx`와 같은 `PATH`의 실행 파일은 그대로 작동합니다. |123| MCP 서버가 일부 디렉토리에서 시작하지 못합니다 | `command` 또는 `args`가 상대 파일 경로를 사용합니다 | 로컬 스크립트에 절대 경로를 사용하세요. `PATH`의 `npx` 또는 `uvx`와 같은 실행 파일은 그대로 작동합니다. |

124| MCP 서버가 예상 환경 변수 없이 시작됩니다 | 서버의 구성 항목이 설정하지 않으며, Claude Code가 stdio 서버에 전달하는 환경에 없습니다: 자체 환경에서 [서브프로세스에서 제거하는 변수](/docs/ko/monitoring-usage#administrator-configuration) 제외 | 서버의 `.mcp.json` 항목 내에 서버별 `env`를 설정합니다. 이는 시작 환경이나 작업 공간 신뢰에 따라 달라지지 않습니다. |124| MCP 서버가 예상 환경 변수 없이 시작됩니다 | 서버의 구성 항목이 설정하지 않으며, Claude Code가 stdio 서버에 전달하는 환경에 없습니다: 자체 환경에서 [하위 프로세스에서 제거하는 변수](/docs/ko/monitoring-usage#administrator-configuration)를 뺀 것 | 서버의 `.mcp.json` 항목 내에서 서버별 `env`를 설정하세요. 이는 시작 환경이나 작업 영역 신뢰에 따라 달라지지 않습니다. |

125| `Bash(rm *)` 거부 규칙이 `/bin/rm` 또는 `find -delete`를 차단하지 않습니다 | Bash 규칙은 기본 실행 파일이 아니라 리터럴 명령 문자열과 일치합니다. [Bash 규칙이 일치하지 않는 항목](/docs/ko/permissions#bash-rule-limits)을 참조합니다 | [PreToolUse 훅](/docs/ko/hooks-guide) 또는 [샌드박스](/docs/ko/sandboxing)를 사용하여 하드 보장을 얻습니다. |125| `Bash(rm *)` 거부 규칙이 `/bin/rm` 또는 `find -delete`를 차단하지 않습니다 | Bash 규칙은 기본 실행 파일이 아닌 리터럴 명령 문자열과 일치합니다. [Bash 규칙이 일치하지 않는 항목](/docs/ko/permissions#bash-rule-limits)을 참조하세요 | 확실한 보장을 위해 [PreToolUse hook](/docs/ko/hooks-guide) 또는 [sandbox](/docs/ko/sandboxing)를 사용하세요. |

126 126 

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

128 관련 리소스128 관련 리소스

desktop.md +2 −2

Details

735 735 

736로컬 세션 및 개발 서버에 대한 환경 변수를 설정하려면 프롬프트 상자의 환경 드롭다운을 열고 **Local** 위에 마우스를 올린 다음 기어 아이콘을 클릭하여 로컬 환경 편집기를 엽니다. 여기에 저장한 변수는 머신에 암호화되어 저장되며 시작하는 모든 로컬 세션 및 미리보기 서버에 적용됩니다. `~/.claude/settings.json` 파일의 `env` 키에 변수를 추가할 수도 있습니다. 단, 이는 Claude 세션에만 도달하고 개발 서버에는 도달하지 않습니다. 지원되는 변수의 전체 목록은 [환경 변수](/docs/ko/env-vars)를 참조하세요.736로컬 세션 및 개발 서버에 대한 환경 변수를 설정하려면 프롬프트 상자의 환경 드롭다운을 열고 **Local** 위에 마우스를 올린 다음 기어 아이콘을 클릭하여 로컬 환경 편집기를 엽니다. 여기에 저장한 변수는 머신에 암호화되어 저장되며 시작하는 모든 로컬 세션 및 미리보기 서버에 적용됩니다. `~/.claude/settings.json` 파일의 `env` 키에 변수를 추가할 수도 있습니다. 단, 이는 Claude 세션에만 도달하고 개발 서버에는 도달하지 않습니다. 지원되는 변수의 전체 목록은 [환경 변수](/docs/ko/env-vars)를 참조하세요.

737 737 

738[Extended thinking](/docs/ko/model-config#extended-thinking)은 기본적으로 활성화되어 있으며, 복잡한 추론 작업의 성능을 향상시키지만 추가 토큰을 사용합니다. Anthropic API에서 생각을 비활성화하려면 로컬 환경 편집기에서 `MAX_THINKING_TOKENS`을 `0`으로 설정합니다. 이는 Opus 5.5 또는 Fable 모델에는 영향을 주지 않으며, 이들은 항상 extended thinking을 사용합니다. Anthropic API에서 생각을 비활성화한 상태에서 Claude Code는 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) Opus 5와 같은 모델에 더 높은 수준 대신 노력 `high`를 보냅니다.738[Extended thinking](/docs/ko/model-config#extended-thinking)은 기본적으로 활성화되어 있으며, 복잡한 추론 작업의 성능을 향상시키지만 추가 토큰을 사용합니다. Anthropic API에서 생각을 비활성화하려면 로컬 환경 편집기에서 `MAX_THINKING_TOKENS`을 `0`으로 설정합니다. 이는 Opus 5.5, Sonnet 5.5 또는 Fable 모델에는 영향을 주지 않으며, 이들은 항상 extended thinking을 사용합니다. Anthropic API에서 생각을 비활성화한 상태에서 Claude Code는 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) Opus 5와 같은 모델에 더 높은 수준 대신 노력 `high`를 보냅니다.

739 739 

740[적응형 추론](/docs/ko/model-config#adjust-effort-level)이 있는 모델에서는 적응형 추론이 생각 깊이를 제어하기 때문에 `0`이 아닌 `MAX_THINKING_TOKENS` 값은 무시됩니다. Opus 4.6 및 Sonnet 4.6에서는 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING`을 `1`로 설정하여 고정 생각 예산을 사용합니다. Fable 모델, Sonnet 5, Opus 4.7 이상은 항상 적응형 추론을 사용하며 고정 예산 모드가 없습니다.740[적응형 추론](/docs/ko/model-config#adjust-effort-level)이 있는 모델에서는 적응형 추론이 생각 깊이를 제어하기 때문에 `0`이 아닌 `MAX_THINKING_TOKENS` 값은 무시됩니다. Opus 4.6 및 Sonnet 4.6에서는 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING`을 `1`로 설정하여 고정 생각 예산을 사용합니다. Fable 모델, Sonnet 5 이상, Opus 4.7 이상은 항상 적응형 추론을 사용하며 고정 예산 모드가 없습니다.

741 741 

742<h4 id="local-sessions-on-managed-devices">742<h4 id="local-sessions-on-managed-devices">

743 관리되는 디바이스의 로컬 세션743 관리되는 디바이스의 로컬 세션

Details

4 4 

5# 데스크톱 앱 시작하기5# 데스크톱 앱 시작하기

6 6 

7> 데스크톱에 Claude Code를 설치하고 첫 번째 코딩 세션을 시작합니다7> Claude 데스크톱 앱을 설치하고, 코드 탭을 열고, 컴퓨터의 프로젝트 폴더에서 첫 번째 Claude Code 세션을 시작합니다.

8 8 

9데스크톱 앱은 여러 세션을 나란히 실행하도록 구축된 그래픽 인터페이스를 갖춘 Claude Code를 제공합니다: 병렬 작업을 관리하기 위한 사이드바, 통합 터미널 및 파일 편집기가 있는 드래그 앤 드롭 레이아웃, 시각적 diff 검토, 라이브 앱 미리보기, GitHub PR 모니터링 및 자동 병합, 그리고 예약된 작업입니다. 터미널이 필요하지 않습니다.9데스크톱 앱은 Claude Code를 그래픽 인터페이스와 함께 제공하므로, 컴퓨터의 폴더에 있는 코드에 대해 Claude에 작업을 요청하고 터미널을 사용하지 않고도 변경 사항을 검토할 수 있습니다. 이 페이지에서는 앱을 설치하고 **코드** 탭에서 첫 번째 세션을 시작하는 방법을 안내합니다. Claude Code는 [Pro, Max, Team 또는 Enterprise 구독](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing)이 필요합니다.

10 10 

11<CardGroup cols={3}>11<CardGroup cols={3}>

12 <Card title="macOS용 다운로드" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">12 <Card title="macOS용 다운로드" icon="apple" href="https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code&utm_medium=docs">


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<Note>27<Note>

28 Claude Code는 [Pro, Max, Team, 또는 Enterprise 구독](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing)이 필요합니다.28 다음 경우는 다른 페이지에서 다룹니다:

29</Note>

30 29 

31이 페이지는 앱 설치 및 첫 번째 세션 시작을 안내합니다. 이미 설정되어 있다면 전체 참조는 [Claude Code Desktop 사용](/docs/ko/desktop)을 참조하세요.30 * **이미 설정됨**: 코드 탭이 할 수 있는 모든 작업은 [Claude Code 데스크톱 사용](/docs/ko/desktop)을 참조하세요

31 * **터미널에서 `claude` 사용 원함**: [CLI를 별도로 설치](/docs/ko/quickstart)하세요

32</Note>

32 33 

33데스크톱 앱에는 세 개의 탭이 있습니다:34데스크톱 앱에는 세 개의 탭이 있습니다:

34 35 

35* **Chat**: 파일 접근이 없는 일반 대화로, claude.ai와 유사합니다.36* **Chat**: 파일 접근 권한이 없는 일반 대화로, claude.ai와 유사합니다.

36* **Cowork**: 자신의 환경을 가진 샌드박스 가상 머신에서 작업을 수행하는 자율 백그라운드 에이전트입니다. 사용자가 다른 작업을 하는 동안 독립적으로 실행됩니다. 온디바이스 Cowork 세션은 컴퓨터에서 VM을 실행하고, 원격 Cowork 세션은 대신 Anthropic 관리 VM에서 실행됩니다.37* **Cowork**: 사용자가 다른 작업을 하는 동안 독립적으로 작업을 수행하는 자율 백그라운드 에이전트입니다.

37* **Code**: 로컬 파일에 직접 접근할 수 있는 대화형 코딩 어시스턴트입니다. 실시간으로 각 변경 사항을 검토하고 승인합니다.38* **Code**: 로컬 파일에 직접 접근할 수 있는 대화형 코딩 어시스턴트입니다. 권한 모드에 따라 Claude가 제안하는 각 변경 사항을 승인하거나 Claude가 변경 사항을 만든 후 검토합니다.

38 39 

39Chat과 Cowork는 [Claude 도움말 센터](https://support.claude.com/)에서 다룹니다. 데스크톱 앱 설치 및 배포는 [Claude Desktop 지원 문서](https://support.claude.com/en/collections/16163169-claude-desktop)에서 다룹니다. 이 페이지는 **Code** 탭에 중점을 둡니다.40Chat과 Cowork는 [Claude 도움말 센터](https://support.claude.com/)에서 다루고 있으며, 데스크톱 앱 설치 및 배포는 [Claude 데스크톱 지원 문서](https://support.claude.com/en/collections/16163169-claude-desktop)에서 다룹니다. 이 페이지는 **코드** 탭에 중점을 둡니다.

40 41 

41<h2 id="install">42<h2 id="install">

42 설치43 설치


52 </Step>53 </Step>

53</Steps>54</Steps>

54 55 

55데스크톱 앱에는 Claude Code가 포함되어 있습니다. Node.js나 CLI를 별도로 설치할 필요가 없습니다. 터미널에서 `claude`를 사용하려면 CLI를 별도로 설치하세요. [CLI 시작하기](/docs/ko/quickstart)를 참조하세요.56데스크톱 앱에는 Claude Code가 포함되어 있으므로 Code 탭을 사용하기 위해 Node.js나 CLI를 설치할 필요가 없습니다.

56 57 

57<h2 id="start-your-first-session">58<h2 id="start-your-first-session">

58 첫 번째 세션 시작하기59 첫 번째 세션 시작하기

Details

61 61 

62* **Manual**: 일정이 없으며, **Run now**를 클릭할 때만 실행됩니다. 요청 시 트리거하는 프롬프트를 저장하는 데 유용합니다.62* **Manual**: 일정이 없으며, **Run now**를 클릭할 때만 실행됩니다. 요청 시 트리거하는 프롬프트를 저장하는 데 유용합니다.

63* **Hourly**: 매시간 실행됩니다.63* **Hourly**: 매시간 실행됩니다.

64* **Daily**: 시간 선택기를 표시하며, 기본값은 현지 시간 오전 9:00입니다.64* **Daily**: 매일 선택한 현지 시간에 실행됩니다.

65* **Weekdays**: Daily와 동일하지만 토요일과 일요일을 건너뜁니다.65* **Weekdays**: Daily와 동일하지만 토요일과 일요일을 건너뜁니다.

66* **Weekly**: 시간 선택기와 요일 선택기를 표시합니다.66* **Weekly**: 시간 선택기와 요일 선택기를 표시합니다.

67 67 

env-vars.md +323 −321

Details

124 변수124 변수

125</h2>125</h2>

126 126 

127타임아웃, 토큰 예산, 재시도 횟수 같은 숫자 변수는 일반 숫자 외에도 과학 표기법과 숫자 구분 기호 표기법을 허용합니다. 단, 변수의 행에서 일반 숫자만 사용한다고 명시한 경우는 제외됩니다. 예를 들어 Claude Code는 `2e3`을 2000으로, `64_000`을 64000으로 읽습니다. v2.1.211 이전에는 이러한 표기법이 `1e6`이 타임아웃을 1로 설정하는 것처럼 훨씬 작은 값을 조용히 설정할 수 있었습니다.127숫자 변수(예: 타임아웃, 토큰 예산, 재시도 횟수)는 일반 숫자 외에도 과학 표기법과 숫자 구분 기호 표기법을 허용합니다. 단, 변수의 행에서 일반 숫자만 사용한다고 명시한 경우는 제외됩니다. 예를 들어 Claude Code는 `2e3`을 2000으로, `64_000`을 64000으로 읽습니다. v2.1.211 이전에는 이러한 표기법이 `1e6`이 타임아웃을 1로 설정하는 것처럼 훨씬 작은 값을 조용히 설정할 수 있었습니다.

128 128 

129<Note>129<Note>

130 동작을 켜거나 끄는 변수의 경우, `1` 또는 `true`를 설정하여 켜고 `0` 또는 `false`를 설정하여 끕니다. 대소문자는 상관없습니다.130 동작을 켜거나 끄는 변수의 경우, `1` 또는 `true`를 설정하여 켜고 `0` 또는 `false`를 설정하여 끕니다. 대소문자는 상관없습니다.


138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`138 * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

139 * `IS_DEMO`139 * `IS_DEMO`

140 140 

141 다른 하나의 변수는 자체 규칙을 가집니다: `FORCE_HYPERLINK`는 숫자를 읽으므로 `0`만 끕니다. 각 변수의 행에도 자체 규칙이 명시되어 있습니다.141 다른 하나의 변수는 자체 규칙이 있습니다: `FORCE_HYPERLINK`는 숫자를 읽으므로 `0`만 끕니다. 각 변수의 행에도 자체 규칙이 명시되어 있습니다.

142</Note>142</Note>

143 143 

144| 변수 | 목적 |144| 변수 | 목적 |

145| :- | :- |145| :- | :- |

146| `ANTHROPIC_API_KEY` | `X-Api-Key` 헤더로 전송되는 API 키입니다. 설정하면 로그인되어 있더라도 Claude Pro, Max, Team 또는 Enterprise 구독 대신 이 키가 사용됩니다. 비대화형 모드(`-p`)에서는 키가 있을 때 항상 사용됩니다. 대화형 모드에서는 키가 구독을 재정의하기 전에 한 번 승인하도록 요청됩니다. 구독을 대신 사용하려면 `unset ANTHROPIC_API_KEY`를 실행하세요 |146| `ANTHROPIC_API_KEY` | `X-Api-Key` 헤더로 전송되는 API 키입니다. 설정하면 로그인되어 있더라도 Claude Pro, Max, Team 또는 Enterprise 구독 대신 이 키가 사용됩니다. 비대화형 모드(`-p`)에서는 키가 있을 때 항상 사용됩니다. 대화형 모드에서는 키가 구독을 재정의하기 전에 한 번 승인하도록 요청됩니다. 구독을 대신 사용하려면 `unset ANTHROPIC_API_KEY`를 실행하세요 |

147| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 헤더의 사용자 정의 값입니다(설정한 값 앞에 `Bearer `가 붙습니다) |147| `ANTHROPIC_AUTH_TOKEN` | `Authorization` 헤더의 사용자 정의 값입니다(여기서 설정한 값 앞에 `Bearer `가 붙습니다) |

148| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)의 워크스페이스 API 키로, AWS 콘솔에서 생성됩니다. `x-api-key`로 전송되며 AWS SigV4보다 우선합니다 |148| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)의 워크스페이스 API 키로, AWS 콘솔에서 생성됩니다. `x-api-key`로 전송되며 AWS SigV4보다 우선합니다 |

149| `ANTHROPIC_AWS_BASE_URL` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 엔드포인트 URL을 재정의합니다. 사용자 정의 영역이나 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통한 라우팅에 사용합니다. 기본값은 `https://aws-external-anthropic.{region}.api.aws`입니다. Claude Code는 [Amazon Bedrock과 동일한 우선순위로 영역을 확인합니다](/docs/ko/amazon-bedrock#3-configure-claude-code) |149| `ANTHROPIC_AWS_BASE_URL` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 엔드포인트 URL을 재정의합니다. 사용자 정의 리전이나 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통한 라우팅에 사용합니다. 기본값은 `https://aws-external-anthropic.{region}.api.aws`입니다. Claude Code는 [Amazon Bedrock과 동일한 우선순위](/docs/ko/amazon-bedrock#3-configure-claude-code)로 리전을 확인합니다 |

150| `ANTHROPIC_AWS_WORKSPACE_ID` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)에 필수입니다. 모든 요청에서 `anthropic-workspace-id` 헤더로 전송됩니다 |150| `ANTHROPIC_AWS_WORKSPACE_ID` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)에 필수입니다. 모든 요청에서 `anthropic-workspace-id` 헤더로 전송됩니다 |

151| `ANTHROPIC_BASE_URL` | API 엔드포인트를 재정의하여 프록시 또는 게이트웨이를 통해 요청을 라우팅합니다. 비자사 호스트로 설정하면 [MCP 도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)이 기본적으로 비활성화됩니다. 프록시가 `tool_reference` 블록을 전달하면 `ENABLE_TOOL_SEARCH=true`를 설정하세요. v2.1.196부터 [Remote Control](/docs/ko/remote-control#requirements)은 이것이 `api.anthropic.com` 이외의 호스트를 가리킬 때 비활성화되며, Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry의 동작과 일치합니다 |151| `ANTHROPIC_BASE_URL` | API 엔드포인트를 재정의하여 프록시 또는 게이트웨이를 통해 요청을 라우팅합니다. 비자사 호스트로 설정하면 [MCP 도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)이 기본적으로 비활성화됩니다. 프록시가 `tool_reference` 블록을 전달하면 `ENABLE_TOOL_SEARCH=true`를 설정하세요. v2.1.196부터 [원격 제어](/docs/ko/remote-control#requirements)는 이것이 `api.anthropic.com` 이외의 호스트를 가리킬 때 비활성화되며, Amazon Bedrock, Google Cloud의 Agent Platform 및 Microsoft Foundry의 동작과 일치합니다 |

152| `ANTHROPIC_BEDROCK_BASE_URL` | Amazon Bedrock 엔드포인트 URL을 재정의합니다. 사용자 정의 Amazon Bedrock 엔드포인트나 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통한 라우팅에 사용합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock)을 참조하세요 |152| `ANTHROPIC_BEDROCK_BASE_URL` | Amazon Bedrock 엔드포인트 URL을 재정의합니다. 사용자 정의 Amazon Bedrock 엔드포인트나 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통한 라우팅에 사용합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock)을 참조하세요 |

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)에 옵트인하려면 이를 사용하세요. [`--betas` 플래그](/docs/ko/cli-reference#cli-flags)와 달리 API 키 인증이 필요하지만, 이 변수는 Claude.ai 구독을 포함한 모든 인증 방법에서 작동합니다 |156| `ANTHROPIC_BETAS` | API 요청에 포함할 추가 `anthropic-beta` 헤더 값의 쉼표로 구분된 목록입니다. Claude Code는 이미 필요한 베타 헤더를 전송합니다. Claude Code가 기본 지원을 추가하기 전에 [Anthropic API 베타](https://platform.claude.com/docs/en/api/beta-headers)에 옵트인하려면 이를 사용하세요. [`--betas` 플래그](/docs/ko/cli-reference#cli-flags)와 달리 API 키 인증이 필요하지만, 이 변수는 Claude.ai 구독을 포함한 모든 인증 방법에서 작동합니다 |

157| `ANTHROPIC_CUSTOM_HEADERS` | 요청에 추가할 사용자 정의 헤더입니다(`Name: Value` 형식, 여러 헤더의 경우 줄바꿈으로 구분). 이름이나 값에 곡선 따옴표나 너비가 0인 공백 같은 HTTP 헤더가 전달할 수 없는 문자가 포함되면 요청이 위치로 쌍을 식별하는 오류로 실패합니다. Claude Code v2.1.227 이상이 필요합니다. [Invalid request header value](/docs/ko/errors#invalid-request-header-value)는 정확한 문자 집합과 검사가 실행되는 위치를 나열합니다. `Authorization` 또는 `Host` 같은 자격 증명, 조직 또는 테넌트, 라우팅 또는 API 동작 헤더를 설정하는 값은 서버 관리 설정이 전달할 때 [승인이 필요한 설정](/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>)`로 기본값이 설정됩니다 |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | `/model` 선택기의 사용자 정의 모델 항목에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 [ID를 인식](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)하면 모델의 이름을 표시하고, 그렇지 않으면 모델 ID를 표시합니다 |160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | `/model` 선택기의 사용자 정의 모델 항목에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 [ID를 인식](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)하면 모델의 이름을 표시하고, 그렇지 않으면 모델 ID를 표시합니다 |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | 사용자 정의 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다. 예: `effort,thinking`. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | 사용자 정의 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다(예: `effort,thinking`). [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | `fable` 별칭이 확인되는 모델 ID이며, Claude Code가 타사 공급자에서 [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)을 위해 Fable 모델로 인식하는 ID입니다. [모델 구성](/docs/ko/model-config#environment-variables)을 참조하세요 |162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | `fable` 별칭이 확인되는 모델 ID이며, Claude Code가 타사 공급자에서 [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)을 위해 Fable 모델로 인식하는 ID입니다. [모델 구성](/docs/ko/model-config#environment-variables)을 참조하세요 |

163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | `/model` 선택기의 고정된 Fable 모델에 대한 표시 설명입니다. 설정하지 않으면 행에 `Custom Fable model`로 시작하는 기본 설명이 표시됩니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | `/model` 선택기의 고정된 Fable 모델에 대한 표시 설명입니다. 설정하지 않으면 행에 `Custom Fable model`로 시작하는 기본 설명이 표시됩니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | `/model` 선택기의 고정된 Fable 모델에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 고정된 ID를 인식하면 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | `/model` 선택기의 고정된 Fable 모델에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 고정된 ID를 인식하면 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Fable 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다. 예: `effort,thinking`. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Fable 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다(예: `effort,thinking`). [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` 별칭이 확인되는 모델 ID이며, [배경 기능](/docs/ko/costs#background-token-usage)에도 사용됩니다. [모델 구성](/docs/ko/model-config#environment-variables)을 참조하세요 |166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku` 별칭이 확인되는 모델 ID이며, [백그라운드 기능](/docs/ko/costs#background-token-usage)에도 사용됩니다. [모델 구성](/docs/ko/model-config#environment-variables)을 참조하세요 |

167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | `/model` 선택기의 고정된 Haiku 모델에 대한 표시 설명입니다. 설정하지 않으면 행에 `Custom Haiku model`로 시작하는 기본 설명이 표시됩니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | `/model` 선택기의 고정된 Haiku 모델에 대한 표시 설명입니다. 설정하지 않으면 행에 `Custom Haiku model`로 시작하는 기본 설명이 표시됩니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | `/model` 선택기의 고정된 Haiku 모델에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 고정된 ID를 인식하면 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | `/model` 선택기의 고정된 Haiku 모델에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 고정된 ID를 인식하면 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Haiku 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다. 예: `effort,thinking`. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Haiku 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다(예: `effort,thinking`). [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

170| `ANTHROPIC_DEFAULT_MODEL` | 새 세션이 기본적으로 시작되는 모델입니다. Claude Code v2.1.236 이상이 필요합니다. [새 세션의 기본 모델 설정](/docs/ko/model-config#set-a-default-model-for-new-sessions)을 참조하세요 |170| `ANTHROPIC_DEFAULT_MODEL` | 새 세션이 기본적으로 시작되는 모델입니다. Claude Code v2.1.236 이상이 필요합니다. [새 세션의 기본 모델 설정](/docs/ko/model-config#set-a-default-model-for-new-sessions)을 참조하세요 |

171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus` 별칭이 확인되는 모델 ID이며, Plan Mode가 활성화되어 있을 때 `opusplan`이 사용하는 ID입니다. [모델 구성](/docs/ko/model-config#environment-variables)을 참조하세요 |171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | `opus` 별칭이 확인되는 모델 ID이며, Plan Mode가 활성화되어 있을 때 `opusplan`이 사용하는 ID입니다. [모델 구성](/docs/ko/model-config#environment-variables)을 참조하세요 |

172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | `/model` 선택기의 고정된 Opus 모델에 대한 표시 설명입니다. 설정하지 않으면 행에 `Custom Opus model`로 시작하는 기본 설명이 표시됩니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | `/model` 선택기의 고정된 Opus 모델에 대한 표시 설명입니다. 설정하지 않으면 행에 `Custom Opus model`로 시작하는 기본 설명이 표시됩니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | `/model` 선택기의 고정된 Opus 모델에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 고정된 ID를 인식하면 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | `/model` 선택기의 고정된 Opus 모델에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 고정된 ID를 인식하면 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Opus 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다. 예: `effort,thinking`. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Opus 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다(예: `effort,thinking`). [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet` 별칭이 확인되는 모델 ID이며, Plan Mode가 활성화되지 않았을 때 `opusplan`이 사용하는 ID입니다. [모델 구성](/docs/ko/model-config#environment-variables)을 참조하세요 |175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | `sonnet` 별칭이 확인되는 모델 ID이며, Plan Mode가 활성화되지 않았을 때 `opusplan`이 사용하는 ID입니다. [모델 구성](/docs/ko/model-config#environment-variables)을 참조하세요 |

176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | `/model` 선택기의 고정된 Sonnet 모델에 대한 표시 설명입니다. 설정하지 않으면 행에 `Custom Sonnet model`로 시작하는 기본 설명이 표시됩니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | `/model` 선택기의 고정된 Sonnet 모델에 대한 표시 설명입니다. 설정하지 않으면 행에 `Custom Sonnet model`로 시작하는 기본 설명이 표시됩니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | `/model` 선택기의 고정된 Sonnet 모델에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 고정된 ID를 인식하면 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | `/model` 선택기의 고정된 Sonnet 모델에 대한 표시 이름입니다. 설정하지 않으면 Claude Code가 고정된 ID를 인식하면 모델의 이름을 표시하고, 그렇지 않으면 고정된 ID를 표시합니다. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Sonnet 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다. 예: `effort,thinking`. [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | 고정된 Sonnet 모델이 지원하는 [기능](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)의 쉼표로 구분된 목록입니다(예: `effort,thinking`). [모델 구성](/docs/ko/model-config#customize-pinned-model-display-and-capabilities)을 참조하세요 |

179| `ANTHROPIC_FEDERATION_RULE_ID` | [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation)의 페더레이션 규칙 ID입니다. `ANTHROPIC_ORGANIZATION_ID`와 함께 설정하면 Claude Code가 페더레이션 자격 증명을 선택하며, 이는 `/login` 자격 증명보다 우선합니다. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하세요 |179| `ANTHROPIC_FEDERATION_RULE_ID` | [워크로드 ID 페더레이션](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation)의 페더레이션 규칙 ID입니다. `ANTHROPIC_ORGANIZATION_ID`와 함께 설정하면 Claude Code가 페더레이션 자격 증명을 선택하며, 이는 `/login` 자격 증명보다 우선합니다. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하세요 |

180| `ANTHROPIC_FOUNDRY_API_KEY` | Microsoft Foundry 인증용 API 키입니다([Microsoft Foundry](/docs/ko/microsoft-foundry) 참조) |180| `ANTHROPIC_FOUNDRY_API_KEY` | Microsoft Foundry 인증용 API 키입니다([Microsoft Foundry](/docs/ko/microsoft-foundry) 참조) |

181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Microsoft Foundry 인증용 Bearer 토큰입니다(예: Microsoft Entra 액세스 토큰). Claude Code는 이를 `Authorization: Bearer` 헤더로 전송합니다. `ANTHROPIC_FOUNDRY_API_KEY`와 Azure 기본 자격 증명 체인보다 우선합니다. [Microsoft Foundry](/docs/ko/microsoft-foundry)를 참조하세요. Claude Code v2.1.203 이상이 필요합니다 |181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Microsoft Entra 액세스 토큰 같은 Microsoft Foundry 인증용 Bearer 토큰입니다. Claude Code는 이를 `Authorization: Bearer` 헤더로 전송합니다. `ANTHROPIC_FOUNDRY_API_KEY`와 Azure 기본 자격 증명 체인보다 우선합니다. [Microsoft Foundry](/docs/ko/microsoft-foundry)를 참조하세요. Claude Code v2.1.203 이상이 필요합니다 |

182| `ANTHROPIC_FOUNDRY_BASE_URL` | Microsoft Foundry 리소스의 전체 기본 URL입니다(예: `https://my-resource.services.ai.azure.com/anthropic`). `ANTHROPIC_FOUNDRY_RESOURCE`의 대안입니다([Microsoft Foundry](/docs/ko/microsoft-foundry) 참조) |182| `ANTHROPIC_FOUNDRY_BASE_URL` | Microsoft Foundry 리소스의 전체 기본 URL입니다(예: `https://my-resource.services.ai.azure.com/anthropic`). `ANTHROPIC_FOUNDRY_RESOURCE`의 대안입니다([Microsoft Foundry](/docs/ko/microsoft-foundry) 참조) |

183| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry 리소스 이름입니다(예: `my-resource`). `ANTHROPIC_FOUNDRY_BASE_URL`이 설정되지 않은 경우 필수입니다([Microsoft Foundry](/docs/ko/microsoft-foundry) 참조) |183| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry 리소스 이름입니다(예: `my-resource`). `ANTHROPIC_FOUNDRY_BASE_URL`이 설정되지 않은 경우 필수입니다([Microsoft Foundry](/docs/ko/microsoft-foundry) 참조) |

184| `ANTHROPIC_MODEL` | 사용할 모델 설정의 이름입니다([모델 구성](/docs/ko/model-config#environment-variables) 참조) |184| `ANTHROPIC_MODEL` | 사용할 모델 설정의 이름입니다([모델 구성](/docs/ko/model-config#environment-variables) 참조) |

185| `ANTHROPIC_ORGANIZATION_ID` | [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation)의 조직 ID입니다. `ANTHROPIC_FEDERATION_RULE_ID`와 함께 설정하세요. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하세요 |185| `ANTHROPIC_ORGANIZATION_ID` | [워크로드 ID 페더레이션](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation)의 조직 ID입니다. `ANTHROPIC_FEDERATION_RULE_ID`와 함께 설정하세요. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하세요 |

186| `ANTHROPIC_PROFILE` | 인증할 Anthropic 프로필의 이름입니다. 예: [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication)으로 생성된 프로필이나 [API 키 없이 Console 계정에 로그인](/docs/ko/authentication#sign-in-without-an-api-key)하여 생성된 프로필입니다. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하세요 |186| `ANTHROPIC_PROFILE` | [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication)으로 생성된 것이나 [API 키 없이 Console 계정에 로그인](/docs/ko/authentication#sign-in-without-an-api-key)하여 생성된 Anthropic 프로필의 이름입니다. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하세요 |

187| `ANTHROPIC_SMALL_FAST_MODEL` | \[더 이상 사용되지 않음] [배경 작업용 Haiku 클래스 모델](/docs/ko/costs)의 이름입니다 |187| `ANTHROPIC_SMALL_FAST_MODEL` | \[더 이상 사용되지 않음] [백그라운드 작업용 Haiku 클래스 모델](/docs/ko/costs)의 이름입니다 |

188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Amazon Bedrock 또는 Amazon Bedrock Mantle을 사용할 때 Haiku 클래스 모델의 AWS 영역을 재정의합니다. Amazon Bedrock에서는 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 또는 더 이상 사용되지 않는 `ANTHROPIC_SMALL_FAST_MODEL`도 설정된 경우에만 적용됩니다. Amazon Bedrock은 그렇지 않으면 세션 영역의 [기본 Sonnet 모델 또는 주 모델](/docs/ko/amazon-bedrock#4-pin-model-versions)에서 배경 작업을 실행하기 때문입니다 |188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Amazon Bedrock 또는 Amazon Bedrock Mantle을 사용할 때 Haiku 클래스 모델의 AWS 리전을 재정의합니다. Amazon Bedrock에서는 `ANTHROPIC_DEFAULT_HAIKU_MODEL` 또는 더 이상 사용되지 않는 `ANTHROPIC_SMALL_FAST_MODEL`도 설정되어 있을 때만 적용됩니다. Amazon Bedrock은 그렇지 않으면 세션 리전의 [기본 Sonnet 모델 또는 주 모델](/docs/ko/amazon-bedrock#4-pin-model-versions)에서 백그라운드 작업을 실행하기 때문입니다 |

189| `ANTHROPIC_VERTEX_BASE_URL` | Google Cloud의 Agent Platform 엔드포인트 URL을 재정의합니다. 사용자 정의 Google Cloud의 Agent Platform 엔드포인트나 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통한 라우팅에 사용합니다. [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)을 참조하세요 |189| `ANTHROPIC_VERTEX_BASE_URL` | Google Cloud의 Agent Platform 엔드포인트 URL을 재정의합니다. 사용자 정의 Google Cloud의 Agent Platform 엔드포인트나 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통한 라우팅에 사용합니다. [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)을 참조하세요 |

190| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud의 Agent Platform 요청이 주소 지정되는 GCP 프로젝트 ID입니다. [GCP 자격 증명 구성](/docs/ko/google-vertex-ai#3-configure-gcp-credentials)을 참조하세요 |190| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud의 Agent Platform 요청이 주소 지정되는 GCP 프로젝트 ID입니다. [GCP 자격 증명 구성](/docs/ko/google-vertex-ai#3-configure-gcp-credentials)을 참조하세요 |

191| `ANTHROPIC_WORKSPACE_ID` | [워크로드 ID 페더레이션](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation)의 워크스페이스 ID입니다. 페더레이션 규칙이 둘 이상의 워크스페이스로 범위가 지정된 경우 설정하여 토큰 교환이 어느 워크스페이스를 대상으로 할지 알 수 있도록 합니다 |191| `ANTHROPIC_WORKSPACE_ID` | [워크로드 ID 페더레이션](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation)의 워크스페이스 ID입니다. 페더레이션 규칙이 둘 이상의 워크스페이스로 범위가 지정되어 있을 때 설정하여 토큰 교환이 어느 워크스페이스를 대상으로 할지 알 수 있도록 합니다 |

192| `API_FORCE_IDLE_TIMEOUT` | 스트리밍 모델 응답이 도착하는 바이트가 없을 때 중단하는 5분 본문 유휴 타임아웃을 재정의합니다. 느린 [게이트웨이](/docs/ko/llm-gateway) 또는 로컬 모델이 청크 사이에 5분 이상 일시 중지되는 경우 `0`으로 설정하여 타임아웃을 끕니다. 또는 모든 공급자에 대해 켜려면 `1`로 설정합니다. 설정하지 않으면 직접 Anthropic API 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 이외의 공급자에서 타임아웃이 활성화됩니다. [스트림 감시견](/docs/ko/network-config#streaming-idle-watchdogs)은 독립적으로 실행되며 여기서 `0`을 설정해도 긴 침묵을 중단합니다 |192| `API_FORCE_IDLE_TIMEOUT` | 바이트가 도착하지 않을 때 스트리밍 모델 응답을 중단하는 5분 본문 유휴 타임아웃을 재정의합니다. 느린 [게이트웨이](/docs/ko/llm-gateway) 또는 로컬 모델이 청크 사이에 5분 이상 일시 중지되는 경우 `0`으로 설정하여 타임아웃을 끄거나, 모든 공급자에 대해 켜려면 `1`로 설정합니다. 설정하지 않으면 타임아웃이 직접 Anthropic API 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 이외의 공급자에서 활성화됩니다. [스트림 감시견](/docs/ko/network-config#streaming-idle-watchdogs)은 독립적으로 실행되며 여기서 `0`을 설정해도 긴 침묵을 중단합니다 |

193| `API_TIMEOUT_MS` | API 요청의 타임아웃(밀리초 단위)(기본값: 600000, 또는 10분; 최대: 2147483647)입니다. 느린 네트워크에서 요청이 타임아웃되거나 프록시를 통해 라우팅할 때 이를 증가시킵니다. 최대값을 초과하는 값은 기본 타이머를 오버플로우하여 요청이 즉시 실패합니다 |193| `API_TIMEOUT_MS` | API 요청의 타임아웃(밀리초 단위)(기본값: 600000, 또는 10분; 최대값: 2147483647). 느린 네트워크에서 요청이 타임아웃되거나 프록시를 통해 라우팅할 때 이를 증가시킵니다. 최대값 이상의 값은 기본 타이머를 오버플로우하여 요청이 즉시 실패합니다 |

194| `AWS_BEARER_TOKEN_BEDROCK` | Amazon Bedrock 인증용 API 키입니다([Amazon Bedrock API 키](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/) 참조) |194| `AWS_BEARER_TOKEN_BEDROCK` | Amazon Bedrock 인증용 API 키입니다([Amazon Bedrock API 키](https://aws.amazon.com/blogs/machine-learning/accelerate-ai-development-with-amazon-bedrock-api-keys/) 참조) |

195| `BASH_DEFAULT_TIMEOUT_MS` | 장시간 실행되는 bash 명령의 기본 타임아웃입니다(기본값: 120000, 또는 2분) |195| `BASH_DEFAULT_TIMEOUT_MS` | 장시간 실행되는 bash 명령의 기본 타임아웃입니다(기본값: 120000, 또는 2분) |

196| `BASH_MAX_OUTPUT_LENGTH` | Claude Code가 명령 결과로 다시 읽는 bash 출력의 최대 문자 수입니다(기본값: 30000; 최대: 150000). [`bashOutputMaxChars`](/docs/ko/settings-reference#bashoutputmaxchars) 설정을 설정하면 Claude Code는 이 변수를 무시합니다. [출력 제한](/docs/ko/tools-reference#output-limits)을 참조하세요 |196| `BASH_MAX_OUTPUT_LENGTH` | Claude Code가 명령의 결과로 다시 읽는 bash 출력의 최대 문자 수입니다(기본값: 30000; 최대값: 150000). [`bashOutputMaxChars`](/docs/ko/settings-reference#bashoutputmaxchars) 설정을 설정하면 Claude Code는 이 변수를 무시합니다. [출력 제한](/docs/ko/tools-reference#output-limits)을 참조하세요 |

197| `BASH_MAX_TIMEOUT_MS` | 모델이 장시간 실행되는 bash 명령에 대해 설정할 수 있는 최대 타임아웃입니다(기본값: 600000, 또는 10분). 유효한 상한은 이것과 `BASH_DEFAULT_TIMEOUT_MS` 중 더 큰 값입니다 |197| `BASH_MAX_TIMEOUT_MS` | 모델이 장시간 실행되는 bash 명령에 대해 설정할 수 있는 최대 타임아웃입니다(기본값: 600000, 또는 10분). 유효한 상한은 이것과 `BASH_DEFAULT_TIMEOUT_MS` 중 더 큰 값입니다 |

198| `BETA_TRACING_ENDPOINT` | [상세 베타 추적](/docs/ko/monitoring-usage#traces-beta)용 OTLP 엔드포인트입니다. `ENABLE_BETA_TRACING_DETAILED=1`을 사용하면 로그와 추적이 구성된 내보내기 대신 여기로 이동합니다. 셸, 사용자 설정 또는 관리 설정에서 설정합니다. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다 |198| `BETA_TRACING_ENDPOINT` | [상세 베타 추적](/docs/ko/monitoring-usage#traces-beta)용 OTLP 엔드포인트입니다: `ENABLE_BETA_TRACING_DETAILED=1`을 사용하면 로그와 추적이 구성된 내보내기 대신 여기로 이동합니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다 |

199| `CCR_FORCE_BUNDLE` | [`claude --cloud`](/docs/ko/claude-code-on-the-web#send-local-repositories-without-github)가 원격에서 복제하는 대신 로컬 리포지토리를 번들로 묶고 업로드하도록 강제하려면 `1`로 설정합니다 |199| `CCR_FORCE_BUNDLE` | [`claude --cloud`](/docs/ko/claude-code-on-the-web#send-local-repositories-without-github)가 원격에서 복제하는 대신 로컬 리포지토리를 번들로 묶고 업로드하도록 강제하려면 `1`로 설정하세요 |

200| `CLAUDECODE` | Claude Code가 생성하는 서브프로세스(Bash 및 PowerShell 도구, tmux 세션, [훅](/docs/ko/hooks) 명령, [상태 줄](/docs/ko/statusline) 명령, stdio [MCP 서버](/docs/ko/mcp) 서브프로세스)에서 `1`로 설정됩니다. IDE 확장도 통합 터미널에서 이를 설정합니다. 스크립트가 Claude Code에서 생성한 서브프로세스 내에서 실행 중인지 감지하는 데 사용합니다. 현재 프로세스가 도구 호출 또는 훅에 의해 직접 생성되었는지, 아니면 Claude Code가 시작한 stdio MCP 서버 내부인지 확인하려면 `CLAUDE_CODE_CHILD_SESSION`을 대신 사용하세요 |200| `CLAUDECODE` | Claude Code가 생성하는 서브프로세스(Bash 및 PowerShell 도구, tmux 세션, [hook](/docs/ko/hooks) 명령, [상태 줄](/docs/ko/statusline) 명령, stdio [MCP 서버](/docs/ko/mcp) 서브프로세스)에서 `1`로 설정됩니다. IDE 확장도 통합 터미널에서 이를 설정합니다. 스크립트가 Claude Code에서 생성한 서브프로세스 내에서 실행 중인지 감지하는 데 사용합니다. 현재 프로세스가 Claude Code가 시작한 stdio MCP 서버 내부가 아니라 도구 호출 또는 hook에 의해 직접 생성되었는지 확인하려면 `CLAUDE_CODE_CHILD_SESSION`을 대신 사용하세요 |

201| `CLAUDE_AFK_COUNTDOWN_MS` | 자동 계속 전에 응답하지 않은 [`AskUserQuestion`](/docs/ko/tools-reference) 대화 상자에 화면상 카운트다운이 나타나기 전의 밀리초 수입니다. 기본값 `20000`(20초), 자동 계속 타임아웃으로 제한됩니다. 자동 계속이 켜져 있지 않으면 효과가 없습니다. [`askUserQuestionTimeout`](/docs/ko/settings-reference#askuserquestiontimeout) 설정 및 `CLAUDE_AFK_TIMEOUT_MS`를 참조하세요. Claude Code v2.1.198 이상이 필요합니다 |201| `CLAUDE_AFK_COUNTDOWN_MS` | 자동 계속 전에 응답하지 않은 [`AskUserQuestion`](/docs/ko/tools-reference) 대화 상자에 화면상 카운트다운이 나타나기 전의 밀리초 수입니다. 기본값 `20000`(20초), 자동 계속 타임아웃으로 제한됩니다. 자동 계속이 켜져 있지 않으면 효과가 없습니다. [`askUserQuestionTimeout`](/docs/ko/settings-reference#askuserquestiontimeout) 설정 및 `CLAUDE_AFK_TIMEOUT_MS`를 참조하세요. Claude Code v2.1.198 이상이 필요합니다 |

202| `CLAUDE_AFK_TIMEOUT_MS` | 응답하지 않은 [`AskUserQuestion`](/docs/ko/tools-reference) 대화 상자가 자동으로 계속되기 전의 유휴 시간(밀리초 단위)입니다. 자동 계속은 기본적으로 꺼져 있습니다. [`askUserQuestionTimeout`](/docs/ko/settings-reference#askuserquestiontimeout) 설정으로 옵트인하세요. 이 변수는 데모 및 자동화된 테스트를 위한 재정의입니다. 설정하면 해당 설정보다 우선하고 설정이 설정 해제되거나 `never`인 경우에도 자동 계속을 켭니다. `0`을 설정하면 타임아웃이 꺼지지 않습니다. 대화 상자가 즉시 닫힙니다. v2.1.198 및 v2.1.199에서는 자동 계속이 기본적으로 켜져 있었고 `60000`(60초) 타임아웃이 있었습니다. Claude Code v2.1.198 이상이 필요합니다 |202| `CLAUDE_AFK_TIMEOUT_MS` | 응답하지 않은 [`AskUserQuestion`](/docs/ko/tools-reference) 대화 상자가 자동으로 계속되기 전의 유휴 시간(밀리초 단위)입니다. 자동 계속은 기본적으로 꺼져 있습니다. [`askUserQuestionTimeout`](/docs/ko/settings-reference#askuserquestiontimeout) 설정으로 옵트인하세요. 이 변수는 데모 및 자동화된 테스트를 위한 재정의입니다: 설정하면 해당 설정보다 우선하고 설정이 설정 해제되거나 `never`인 경우에도 자동 계속을 켭니다. `0`을 설정하면 타임아웃이 꺼지지 않습니다. 대화 상자가 즉시 닫힙니다. v2.1.198 및 v2.1.199에서는 자동 계속이 기본적으로 켜져 있었고 `60000`(60초) 타임아웃이 있었습니다. Claude Code v2.1.198 이상이 필요합니다 |

203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | 모든 기본 제공 [서브에이전트](/docs/ko/sub-agents) 유형(예: Explore 및 Plan)을 비활성화하려면 `1`로 설정합니다. 비대화형 모드(`-p` 플래그)에만 적용됩니다. SDK 사용자가 백지 상태를 원할 때 유용합니다. 이는 또한 `general-purpose`를 제거합니다. 이는 Agent 도구 호출이 `subagent_type`을 생략할 때 Claude Code가 실행하는 서브에이전트입니다. 그러한 호출은 [`subagent_type is required`](/docs/ko/errors#subagent-type-is-required)로 실패합니다 |203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | 모든 기본 제공 [서브에이전트](/docs/ko/sub-agents) 유형(예: Explore 및 Plan)을 비활성화하려면 `1`로 설정하세요. 비대화형 모드(`-p` 플래그)에만 적용됩니다. SDK 사용자가 백지 상태를 원할 때 유용합니다. 이는 또한 `general-purpose`를 제거합니다. 이는 Agent 도구 호출이 `subagent_type`을 생략할 때 Claude Code가 실행하는 서브에이전트입니다. 그러한 호출은 [`subagent_type is required`](/docs/ko/errors#subagent-type-is-required)로 실패합니다 |

204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | SDK에서 생성한 MCP 서버의 도구 이름에서 `mcp__<server>__` 접두사를 건너뛰려면 `1`로 설정합니다. 도구는 원래 이름을 사용합니다. SDK 사용만 해당 |204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | SDK에서 생성한 MCP 서버의 도구 이름에서 `mcp__<server>__` 접두사를 건너뛰려면 `1`로 설정하세요. 도구는 원래 이름을 사용합니다. SDK 사용만 해당 |

205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | 서브에이전트의 정지 타임아웃(밀리초 단위)입니다. 기본값 `600000`(10분); `CLAUDE_STREAM_IDLE_TIMEOUT_MS`를 스트림 감시견이 켜져 있는 동안 올리면 기본값이 함께 올라갑니다. [느리거나 정지된 API 응답 처리](/docs/ko/agent-sdk/typescript#handle-slow-or-stalled-api-responses)에서 설명합니다. 타이머는 각 스트리밍 진행 이벤트에서 재설정됩니다. 창 내에 진행이 도착하지 않으면 Claude Code가 서브에이전트를 중단하고 정지를 부모에 보고합니다 |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | 서브에이전트의 정체 타임아웃(밀리초 단위)입니다. 기본값 `600000`(10분); `CLAUDE_STREAM_IDLE_TIMEOUT_MS`를 스트림 감시견이 켜져 있는 동안 올리면 기본값이 함께 올라갑니다. [느리거나 정체된 API 응답 처리](/docs/ko/agent-sdk/typescript#handle-slow-or-stalled-api-responses)에서 설명합니다. 타이머는 각 스트리밍 진행 이벤트에서 재설정됩니다. 창 내에 진행이 도착하지 않으면 Claude Code가 서브에이전트를 중단하고 정체를 부모에 보고합니다 |

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 자동 압축이 트리거되는 자동 압축 창의 백분율(1-100)을 설정합니다. `50` 같은 낮은 값을 사용하여 더 일찍 압축합니다. 변수는 임계값을 올릴 수 없으므로 기본 백분율보다 높은 값은 무시됩니다. [모델의 컨텍스트 제한 전에 압축](/docs/ko/model-config#context-window-and-auto-compaction)하는 세션에만 적용됩니다. 주 대화 및 서브에이전트 모두에 적용됩니다 |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | 자동 압축이 트리거되는 자동 압축 창의 백분율(1-100)을 설정합니다. `50` 같은 낮은 값을 사용하여 더 일찍 압축합니다. 변수는 임계값을 올릴 수 없으므로 기본 백분율보다 높은 값은 무시됩니다. 모델의 컨텍스트 제한 전에 [압축하는 세션](/docs/ko/model-config#context-window-and-auto-compaction)에만 적용됩니다. 주 대화 및 서브에이전트 모두에 적용됩니다 |

207| `CLAUDE_AUTO_BACKGROUND_TASKS` | 장시간 실행되는 에이전트 작업의 자동 백그라운드 처리를 강제로 활성화하려면 `1`로 설정합니다. 활성화되면 서브에이전트는 약 2분 동안 실행한 후 백그라운드로 이동합니다. 또한 Claude Code v2.1.212 이상의 비대화형 모드에서 [장시간 MCP 도구 호출의 자동 백그라운드 처리](/docs/ko/mcp#automatic-backgrounding-of-long-tool-calls)를 활성화합니다 |207| `CLAUDE_AUTO_BACKGROUND_TASKS` | 장시간 실행되는 에이전트 작업의 자동 백그라운드 처리를 강제로 활성화하려면 `1`로 설정하세요. 활성화되면 서브에이전트는 약 2분 동안 실행한 후 백그라운드로 이동합니다. 또한 Claude Code v2.1.212 이상의 비대화형 모드에서 [장시간 MCP 도구 호출의 자동 백그라운드 처리](/docs/ko/mcp#automatic-backgrounding-of-long-tool-calls)를 활성화합니다 |

208| `CLAUDE_AX_PREPARK_MS` | [화면 판독기 모드](/docs/ko/accessibility#what-your-screen-reader-hears)에서 Claude Code가 커서를 줄의 시작 부분에 두고 새 줄이나 변경된 줄을 쓰기 전에 대기하는 밀리초 수입니다. 기본값 `50`. 즉시 쓰려면 `0`으로 설정합니다. Claude Code는 대기를 `5000`으로 제한합니다. Claude Code v2.1.233 이상이 필요합니다 |208| `CLAUDE_AX_PREPARK_MS` | [화면 판독기 모드](/docs/ko/accessibility#what-your-screen-reader-hears)에서 Claude Code가 커서를 줄의 시작에 두고 새 줄이나 변경된 줄을 쓰기 전에 대기하는 밀리초 수입니다. 기본값 `50`. 즉시 쓰려면 `0`으로 설정하세요. Claude Code는 대기를 `5000`으로 제한합니다. Claude Code v2.1.233 이상이 필요합니다 |

209| `CLAUDE_AX_SCREEN_READER` | 화면 판독기 친화적 출력을 렌더링하려면 `1`로 설정합니다. 장식용 테두리나 애니메이션 없는 평면 텍스트입니다. [`axScreenReader`](/docs/ko/settings-reference#axscreenreader)가 `true`인 경우에도 화면 판독기 모드를 강제로 끄려면 `0`으로 설정합니다. [`--ax-screen-reader`](/docs/ko/cli-reference#cli-flags) 플래그가 우선합니다. Claude Code v2.1.181 이상이 필요합니다 |209| `CLAUDE_AX_SCREEN_READER` | 화면 판독기 친화적 출력을 렌더링하려면 `1`로 설정하세요: 장식 테두리나 애니메이션 없는 평면 텍스트입니다. [`axScreenReader`](/docs/ko/settings-reference#axscreenreader)가 `true`인 경우에도 화면 판독기 모드를 강제로 끄려면 `0`으로 설정하세요. [`--ax-screen-reader`](/docs/ko/cli-reference#cli-flags) 플래그가 우선합니다. Claude Code v2.1.181 이상이 필요합니다 |

210| `CLAUDE_AX_STARTUP_QUIET_MS` | [화면 판독기 모드](/docs/ko/accessibility)에서 Claude Code가 시작 확인 줄 후 첫 번째 인터페이스 렌더링을 유지하는 밀리초 수입니다. 새 출력이 이를 중단하기 전에 화면 판독기가 줄을 완전히 말할 수 있도록 합니다. 기본값 `3000`. 즉시 렌더링하려면 `0`으로 설정합니다. Claude Code는 보류를 `600000`(10분)으로 제한합니다. 첫 번째 키 입력이 보류를 조기에 종료합니다. Claude Code v2.1.217 이상이 필요합니다 |210| `CLAUDE_AX_STARTUP_QUIET_MS` | [화면 판독기 모드](/docs/ko/accessibility)에서 Claude Code가 시작 확인 줄을 화면 판독기가 전체 줄을 말할 수 있도록 새 출력이 중단하기 전에 첫 번째 인터페이스 렌더링을 보유하는 밀리초 수입니다. 기본값 `3000`. 즉시 렌더링하려면 `0`으로 설정하세요. Claude Code는 보유를 `600000`(10분)으로 제한합니다. 첫 번째 키 입력이 보유를 조기에 종료합니다. Claude Code v2.1.217 이상이 필요합니다 |

211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | 주 세션의 각 Bash 또는 PowerShell 명령 후 원래 작업 디렉토리로 돌아갑니다 |211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | 주 세션의 각 Bash 또는 PowerShell 명령 후 원래 작업 디렉토리로 돌아갑니다 |

212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | 바이트 수준 스트리밍 유휴 감시견의 타임아웃(밀리초 단위)입니다. 설정하면 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`보다 우선하고 해당 감시견에 대해서만 이벤트 수준 감시견은 변경되지 않습니다. Claude Code는 이 변수를 10초에서 30분 사이로 제한합니다. Claude Code v2.1.210 이상이 필요합니다 |212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | 바이트 수준 스트리밍 유휴 감시견의 타임아웃(밀리초 단위)입니다. 설정하면 해당 감시견에 대해 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`보다 우선하고 이벤트 수준 감시견은 변경하지 않습니다. Claude Code는 이 변수를 10초에서 30분 사이로 제한합니다. Claude Code v2.1.210 이상이 필요합니다 |

213| `CLAUDE_CLIENT_PRESENCE_FILE` | 화면 잠금 수신기 같은 외부 도구가 화면을 잠금 해제할 때 생성하고 잠금할 때 삭제하는 파일의 경로입니다. 파일이 존재하는 동안 Claude Code는 [Remote Control 모바일 푸시 알림](/docs/ko/remote-control#mobile-push-notifications)을 건너뜁니다. 따라서 컴퓨터를 적극적으로 사용하는 동안 푸시를 받지 않습니다. 파일이 없거나 읽을 수 없으면 알림이 정상적으로 전송됩니다. Claude Code는 파일을 폴링하지 않고 푸시 트리거 이벤트당 한 번 확인합니다. Claude Code v2.1.181 이상이 필요합니다 |213| `CLAUDE_CLIENT_PRESENCE_FILE` | 화면 잠금 수신기 같은 외부 도구가 화면을 잠금 해제할 때 생성하고 잠금할 때 삭제하는 파일의 경로입니다. 파일이 존재하는 동안 Claude Code는 [원격 제어 모바일 푸시 알림](/docs/ko/remote-control#mobile-push-notifications)을 건너뜁니다. 따라서 컴퓨터를 적극적으로 사용하는 동안 푸시를 받지 않습니다. 파일이 없거나 읽을 수 없으면 알림이 정상적으로 전송됩니다. Claude Code는 파일을 폴링하지 않고 푸시 트리거 이벤트당 한 번 확인합니다. Claude Code v2.1.181 이상이 필요합니다 |

214| `CLAUDE_CODE_ACCESSIBILITY` | 기본 터미널 커서를 표시하고 반전된 텍스트 커서 표시기를 비활성화하려면 `1`로 설정합니다. macOS Zoom 같은 화면 확대기가 커서 위치를 추적할 수 있습니다 |214| `CLAUDE_CODE_ACCESSIBILITY` | 기본 터미널 커서를 표시하고 반전된 텍스트 커서 표시기를 비활성화하려면 `1`로 설정하세요. macOS Zoom 같은 화면 확대기가 커서 위치를 추적할 수 있습니다 |

215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | `--add-dir`으로 지정된 디렉토리에서 메모리 파일을 로드하려면 `1`로 설정합니다. `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md`, 및 `CLAUDE.local.md`를 로드합니다. 기본적으로 추가 디렉토리는 메모리 파일을 로드하지 않습니다 |215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | `--add-dir`로 지정된 디렉토리에서 메모리 파일을 로드하려면 `1`로 설정하세요. `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` 및 `CLAUDE.local.md`를 로드합니다. 기본적으로 추가 디렉토리는 메모리 파일을 로드하지 않습니다 |

216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 증분 업데이트를 보내는 대신 모든 프레임에서 전체 화면을 다시 칠하려면 `1`로 설정합니다. 전체 화면 모드에 오래된 텍스트 조각이나 잘못된 위치의 텍스트가 표시되면 이를 사용합니다. Claude Code는 Windows의 백그라운드 세션 및 [에이전트 보기](/docs/ko/agent-view)에 대해 자동으로 이를 활성화합니다 |216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 증분 업데이트를 보내는 대신 모든 프레임에서 전체 화면을 다시 칠하려면 `1`로 설정하세요. 전체 화면 모드에 오래된 텍스트 조각이나 잘못된 위치의 텍스트가 표시되면 이를 사용하세요. Claude Code는 Windows의 백그라운드 세션 및 [에이전트 보기](/docs/ko/agent-view)에 대해 자동으로 이를 활성화합니다 |

217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | [노력](/docs/ko/model-config#adjust-effort-level) 매개변수를 Claude Code가 모델 ID를 노력 가능으로 인식하지 않더라도 모든 요청과 함께 전송하려면 `1`로 설정합니다. [LLM 게이트웨이](/docs/ko/llm-gateway) 또는 사용자 정의 식별자로 모델을 제공하는 타사 공급자를 통해 라우팅할 때 사용합니다. Claude 3 모델, Sonnet 4.0 및 4.5, Opus 4.0 및 4.1, Haiku 4.5를 포함하여 API에서 노력 매개변수를 거부하는 모델은 요청이 실패하지 않도록 제외됩니다 |217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Claude Code가 모델 ID를 노력 가능으로 인식하지 않을 때에도 모든 요청과 함께 [노력](/docs/ko/model-config#adjust-effort-level) 매개변수를 전송하려면 `1`로 설정하세요. [LLM 게이트웨이](/docs/ko/llm-gateway) 또는 사용자 정의 식별자로 모델을 제공하는 타사 공급자를 통해 라우팅할 때 사용합니다. Claude 3 모델, Sonnet 4.0 및 4.5, Opus 4.0 및 4.1, Haiku 4.5를 포함하여 API에서 노력 매개변수를 거부하는 모델은 요청이 실패하지 않도록 제외됩니다 |

218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | 자격 증명을 새로 고쳐야 하는 간격(밀리초 단위)입니다([`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 사용 시) |218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | 자격 증명을 새로 고쳐야 하는 간격(밀리초 단위)([ `apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 사용 시) |

219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | 새 [아티팩트](/docs/ko/artifacts#create-an-artifact)가 게시될 때 Claude Code가 브라우저를 자동으로 열지 않도록 하려면 `0`으로 설정합니다 |219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | 새 [아티팩트](/docs/ko/artifacts#create-an-artifact)가 게시될 때 Claude Code가 브라우저를 자동으로 열지 않도록 하려면 `0`으로 설정하세요 |

220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Claude가 [아티팩트의 댓글](/docs/ko/artifacts#collect-comments-on-an-artifact)을 읽고 회신하지 않도록 하려면 `0`으로 설정합니다. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`이 [아티팩트를 끈](/docs/ko/artifacts#availability) 경우 효과가 없습니다. Claude Code v2.1.221 이상이 필요합니다 |220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Claude가 [아티팩트의 댓글](/docs/ko/artifacts#collect-comments-on-an-artifact)을 읽고 회신하지 않도록 하려면 `0`으로 설정하세요. `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`이 [아티팩트를 끈](/docs/ko/artifacts#availability) 경우 효과가 없습니다. Claude Code v2.1.221 이상이 필요합니다 |

221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Claude가 [자신에게 전송된 댓글에 자동으로 회신](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)하지 않도록 하려면 `0`으로 설정합니다. Claude Code v2.1.228 이상이 필요합니다 |221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Claude가 [자신에게 전송된 댓글에 자동으로 회신](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)하지 않도록 하려면 `0`으로 설정하세요. Claude Code v2.1.228 이상이 필요합니다 |

222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 클라이언트 버전과 프롬프트 지문을 전달하는 [속성 블록](/docs/ko/llm-gateway-protocol#system-prompt-attribution-block)을 시스템 프롬프트의 시작 부분에서 생략하려면 `0`으로 설정합니다. Anthropic API에 대한 직접 연결의 캐싱은 어느 쪽이든 영향을 받지 않습니다. 일부 직접 연결 설정에서 Claude Code는 `0`을 설정한 경우에도 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) 분류기 요청에서 블록을 유지합니다. [시스템 프롬프트 속성 블록](/docs/ko/llm-gateway-protocol#system-prompt-attribution-block)에서 이것이 적용되는 연결과 자격 증명을 확인하세요. v2.1.181 이전에는 블록이 사용자 정의 기본 URL 및 Microsoft Foundry 연결에 요청당 토큰을 포함했으므로 해당 버전에서는 LLM 게이트웨이가 요청 본문에 캐시하거나 요청을 타사 공급자에게 전달하거나 Microsoft Foundry에 직접 연결할 때 `0`으로 설정합니다 |222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | 클라이언트 버전과 프롬프트 지문을 전달하는 [속성 블록](/docs/ko/llm-gateway-protocol#system-prompt-attribution-block)을 시스템 프롬프트의 시작에서 생략하려면 `0`으로 설정하세요. Anthropic API에 대한 직접 연결의 캐싱은 어느 쪽이든 영향을 받지 않습니다. 일부 직접 연결 설정에서 Claude Code는 `0`을 설정할 때에도 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode) 분류기 요청에서 블록을 유지합니다. [시스템 프롬프트 속성 블록](/docs/ko/llm-gateway-protocol#system-prompt-attribution-block)에서 이것이 적용되는 연결과 자격 증명을 확인하세요. v2.1.181 이전에는 블록이 사용자 정의 기본 URL 및 Microsoft Foundry 연결에서 요청당 토큰을 포함했으므로 LLM 게이트웨이가 요청 본문에 캐시하거나 타사 공급자에게 요청을 전달하거나 Microsoft Foundry에 직접 연결할 때 이 버전에서 `0`으로 설정하세요 |

223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | `CLAUDE_AUTO_BACKGROUND_TASKS`가 활성화되면 Claude에 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)가 여전히 실행 중인지 확인하도록 상기시키는 간격(초 단위)입니다. `1`에서 `86400` 사이의 일반 정수만 허용합니다. 다른 값이나 표기법은 설정 해제로 읽힙니다. 설정하지 않으면 체크인 알림이 없습니다. Claude Code v2.1.248 이상이 필요합니다 |223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | `CLAUDE_AUTO_BACKGROUND_TASKS`가 활성화되면 Claude가 여전히 실행 중인 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)를 확인하도록 상기시키는 간격(초 단위)입니다. `1`에서 `86400`까지의 일반 정수만 허용합니다. 다른 값이나 표기법은 설정 해제로 읽습니다. 설정하지 않으면 체크인 알림이 없습니다. Claude Code v2.1.248 이상이 필요합니다 |

224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | [자동 압축 창](/docs/ko/model-config#set-the-auto-compact-window)을 토큰 단위로 설정합니다. `100000`에서 `1000000` 사이입니다. `500000` 같은 일반 정수만 허용합니다. `500k` 같은 값은 `500`으로 읽고 100K 최소값으로 제한됩니다. 유효한 창은 모델의 컨텍스트 창으로도 제한됩니다. `/autocompact` 명령, `--autocompact` 플래그, `autoCompactWindow` 설정보다 우선합니다. 상태 줄의 `used_percentage`는 항상 모델의 전체 컨텍스트 창에 대해 측정되므로 이 변수가 설정되면 해당 백분율은 더 이상 압축이 실행될 때를 나타내지 않습니다 |224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | [자동 압축 창](/docs/ko/model-config#set-the-auto-compact-window)을 토큰 단위로 설정합니다(`100000`에서 `1000000`). `500000` 같은 일반 정수만 허용합니다: `500k` 같은 값은 `500`으로 읽고 100K 최소값으로 제한됩니다. 유효한 창은 모델의 컨텍스트 창으로도 제한됩니다. `/autocompact` 명령, `--autocompact` 플래그 및 `autoCompactWindow` 설정보다 우선합니다. 상태 줄의 `used_percentage`는 항상 모델의 전체 컨텍스트 창에 대해 측정되므로 이 변수가 설정되면 해당 백분율은 더 이상 압축이 실행될 때를 나타내지 않습니다 |

225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 자동 [IDE 연결](/docs/ko/vs-code)을 재정의합니다. 기본적으로 Claude Code는 지원되는 IDE의 통합 터미널 내에서 시작될 때 자동으로 연결됩니다. 이를 방지하려면 `false`로 설정합니다. tmux가 부모 터미널을 숨기는 경우처럼 자동 감지가 실패할 때 연결 시도를 강제하려면 `true`로 설정합니다. [`autoConnectIde`](/docs/ko/settings-reference#autoconnectide) 전역 구성 설정보다 우선합니다 |225| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 자동 [IDE 연결](/docs/ko/vs-code)을 재정의합니다. 기본적으로 Claude Code는 지원되는 IDE의 통합 터미널 내에서 시작될 때 자동으로 연결됩니다. 자동 감지가 실패할 때(예: tmux가 부모 터미널을 숨길 때) 연결 시도를 방지하려면 `false`로 설정하세요. 연결 시도를 강제하려면 `true`로 설정하세요. [`autoConnectIde`](/docs/ko/settings-reference#autoconnectide) 전역 구성 설정보다 우선합니다 |

226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Claude Code가 서버에 [자동 모드 작업을 검토](/docs/ko/permission-modes#server-side-classifier-review)하도록 요청할지 여부를 제어합니다. Claude Code의 자체 분류기 요청을 대신 사용하려면 `0`으로 설정합니다. Anthropic API에 대한 직접 연결에서는 v2.1.281 이상이 필요합니다. 연결된 섹션은 변수가 설정 해제되었을 때 서버를 요청하는 세션과 어느 버전부터인지를 나열합니다. Claude Code v2.1.271 이상이 필요합니다 |226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Claude Code가 서버에 [자동 모드 작업을 검토](/docs/ko/permission-modes#server-side-classifier-review)하도록 요청할지 여부를 제어합니다. Claude Code의 자체 분류기 요청을 대신 사용하려면 `0`으로 설정하세요. Anthropic API에 대한 직접 연결에서는 v2.1.281 이상이 필요합니다. 연결된 섹션은 변수가 설정 해제되었을 때 서버에 요청하는 세션과 어느 버전부터인지 나열합니다. Claude Code v2.1.271 이상이 필요합니다 |

227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Claude Code가 AWS 기본 자격 증명 공급자 체인이 자격 증명을 생성할 때까지 대기하는 시간(밀리초 단위)입니다. 요청이 [`AWS default-chain credential resolve timed out`](/docs/ko/errors#aws-default-chain-credential-resolve-timed-out)으로 실패하기 전입니다(기본값: `60000`). `aws-vault` 같은 래퍼를 통한 MFA를 사용한 브라우저 기반 SSO 로그인 같이 체인의 단계가 합법적으로 더 오래 필요할 때 이를 올립니다. [Amazon Bedrock](/docs/ko/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/ko/claude-platform-on-aws), [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)에서 Claude Code가 기본 체인으로 서명하는 모든 곳에 적용됩니다. Claude Code v2.1.207 이상이 필요합니다 |227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Claude Code가 AWS 기본 자격 증명 공급자 체인이 자격 증명을 생성할 때까지 대기하는 시간(밀리초 단위)입니다. 그 후 요청이 [`AWS default-chain credential resolve timed out`](/docs/ko/errors#aws-default-chain-credential-resolve-timed-out)으로 실패합니다(기본값: `60000`). 체인의 단계가 합법적으로 더 오래 필요할 때(예: `aws-vault` 같은 래퍼를 통한 MFA를 사용한 브라우저 기반 SSO 로그인) 이를 올리세요. [Amazon Bedrock](/docs/ko/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 및 [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)에서 Claude Code가 기본 체인으로 서명하는 모든 곳에 적용됩니다. Claude Code v2.1.207 이상이 필요합니다 |

228| `CLAUDE_CODE_BASH_EDIT_DIFF` | Bash 명령이 실행되는 동안 변경된 [파일의 diff](/docs/ko/hooks#bash)를 끄려면 `0`으로 설정하거나, 모든 권한 모드에서 기록하려면 `1`로 설정합니다. [`bashEditDiffEnabled`](/docs/ko/settings-reference#basheditdiffenabled) 설정보다 우선합니다. Claude Code v2.1.269 이상이 필요합니다 |228| `CLAUDE_CODE_BASH_EDIT_DIFF` | Bash 명령이 실행되는 동안 변경된 파일의 [diff](/docs/ko/hooks#bash)를 끄려면 `0`으로 설정하거나, 모든 권한 모드에서 기록하려면 `1`로 설정하세요. [`bashEditDiffEnabled`](/docs/ko/settings-reference#basheditdiffenabled) 설정보다 우선합니다. Claude Code v2.1.269 이상이 필요합니다 |

229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | 백그라운드 작업이 여전히 실행 중인 동안에도 비대화형 세션이 모든 턴 끝에서 호스트에 유휴 상태를 보고하도록 하려면 `0`으로 설정합니다. 기본적으로 세션은 백그라운드 에이전트나 [워크플로우](/docs/ko/workflows) 실행 같은 백그라운드 작업이 여전히 활성화되어 있는 동안 턴 끝을 지나 실행 상태를 계속 보고합니다. 이는 세션 목록 같은 상태를 감시하는 호스트가 Claude가 작업 중간에 입력을 기다리고 있다고 발표하는 것을 방지합니다. 백그라운드 셸 명령 같은 개발 서버는 실행 상태를 유지하지 않습니다. 실행 상태 기본값과 `0` 옵트아웃에는 Claude Code v2.1.269 이상이 필요합니다. 이전 버전에서는 `1`을 설정하여 실행 상태를 유지하고 변수를 설정 해제하는 것이 유일한 방법이었습니다 |229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | 백그라운드 작업이 여전히 실행 중인 동안에도 비대화형 세션이 모든 턴 끝에서 유휴 상태를 호스트에 보고하도록 하려면 `0`으로 설정하세요. 기본적으로 세션은 백그라운드 에이전트나 [워크플로우](/docs/ko/workflows) 실행 같은 백그라운드 작업이 여전히 활성화되어 있는 동안 턴 끝을 지나 실행 상태를 계속 보고합니다. 이는 세션 목록 같은 상태를 감시하는 호스트가 Claude가 작업 중간에 입력을 기다리고 있다고 발표하는 것을 방지합니다. 백그라운드 셸 명령(예: 개발 서버)은 실행 상태를 유지하지 않습니다. 실행 상태 기본값과 `0` 옵트아웃에는 Claude Code v2.1.269 이상이 필요합니다. 이전 버전에서는 `1`을 설정하여 실행 상태를 유지하세요 |

230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | 세션에 활성 [Remote Control](/docs/ko/remote-control) 연결이 있는 동안 Bash 도구 및 [훅 명령](/docs/ko/hooks) 서브프로세스에서 자동으로 설정되며, 연결이 끝나면 제거됩니다. 값은 `session_` 형식의 세션 ID이며, 세션의 `claude.ai/code` URL에 나타나는 동일한 식별자이므로 스크립트가 이를 실행한 세션으로 다시 연결할 수 있습니다. Claude Code v2.1.199 이상이 필요합니다. [클라우드 세션](/docs/ko/claude-code-on-the-web)에서는 대신 `CLAUDE_CODE_REMOTE_SESSION_ID`를 읽으세요 |230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | 세션에 활성 [원격 제어](/docs/ko/remote-control) 연결이 있는 동안 Bash 도구 및 [hook 명령](/docs/ko/hooks) 서브프로세스에서 자동으로 설정되며, 연결이 끝나면 제거됩니다. 값은 `session_` 형식의 세션 ID이며, 세션의 `claude.ai/code` URL에 나타나는 동일한 식별자이므로 스크립트가 이를 실행한 세션으로 다시 연결할 수 있습니다. Claude Code v2.1.199 이상이 필요합니다. [클라우드 세션](/docs/ko/claude-code-on-the-web)에서는 대신 `CLAUDE_CODE_REMOTE_SESSION_ID`를 읽으세요 |

231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Claude Code가 `0x08` 바이트(또한 `^H`로 작성됨)를 일반 백스페이스로 읽도록 하려면 `0`으로 설정하거나, Ctrl+Backspace로 읽도록 하려면 `1`로 설정합니다. 어느 값이든 플랫폼 기본값을 대체합니다. 기본적으로 Claude Code는 Windows에서 Ctrl+Backspace로 읽습니다. 단, `TERM_PROGRAM`이 `mintty`이거나 `TERM`이 `cygwin`인 경우는 제외되며, macOS 및 Linux에서는 일반 백스페이스로 읽습니다. [백스페이스가 Windows에서 전체 단어를 삭제](/docs/ko/terminal-config#fix-backspace-deleting-a-whole-word-on-windows)하는 Windows 터미널에서 `0`으로 설정합니다 |231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Claude Code가 `0x08` 바이트(또한 `^H`로 작성됨)를 일반 백스페이스로 읽도록 하려면 `0`으로 설정하거나, Ctrl+Backspace로 읽도록 하려면 `1`로 설정하세요. 어느 값이든 플랫폼 기본값을 대체합니다. 기본적으로 Claude Code는 Windows에서 Ctrl+Backspace로 읽습니다. 단, `TERM_PROGRAM`이 `mintty`이거나 `TERM`이 `cygwin`인 경우는 제외되며, macOS 및 Linux에서는 일반 Backspace로 읽습니다. Windows 터미널에서 [Backspace가 전체 단어를 삭제](/docs/ko/terminal-config#fix-backspace-deleting-a-whole-word-on-windows)하는 경우 `0`을 설정하세요 |

232| `CLAUDE_CODE_CERT_STORE` | TLS 연결을 위한 CA 인증서 소스의 쉼표로 구분된 목록입니다. `bundled`는 Claude Code와 함께 제공되는 Mozilla CA 집합입니다. `system`은 운영 체제 신뢰 저장소이며, `tls.getCACertificates`가 있는 런타임에서만 읽습니다. 기본 바이너리 또는 npm 설치의 경우 Node 22.15 이상입니다. [CA 인증서 저장소](/docs/ko/network-config#ca-certificate-store)를 참조하세요. 기본값은 `bundled,system`입니다 |232| `CLAUDE_CODE_CERT_STORE` | TLS 연결을 위한 CA 인증서 소스의 쉼표로 구분된 목록입니다. `bundled`는 Claude Code와 함께 제공되는 Mozilla CA 세트입니다. `system`은 운영 체제 신뢰 저장소이며, `tls.getCACertificates`가 있는 런타임에서만 읽습니다: 기본 바이너리 또는 npm 설치의 경우 Node 22.15 이상. [CA 인증서 저장소](/docs/ko/network-config#ca-certificate-store)를 참조하세요. 기본값은 `bundled,system`입니다 |

233| `CLAUDE_CODE_CHILD_SESSION` | Bash, PowerShell, Monitor 도구, [훅](/docs/ko/hooks) 명령, [상태 줄](/docs/ko/statusline) 명령을 통해 Claude Code가 생성하는 서브프로세스에서 `1`로 설정됩니다. stdio [MCP 서버](/docs/ko/mcp) 서브프로세스에는 설정되지 않습니다. 이는 장시간 실행되며 이를 생성한 세션보다 오래 지속됩니다. `CLAUDECODE`와 달리 이는 Claude Code 자체가 서브프로세스를 시작할 때만 설정되며 IDE 확장에서는 설정되지 않으므로 중첩된 세션을 IDE 통합 터미널에서 시작된 최상위 `claude`와 안정적으로 구분합니다. 이러한 방식으로 시작된 중첩 대화형 `claude` TUI는 `--resume`, `--continue`, 위쪽 화살표 기록, `claude agents` 목록에서 자동으로 제외됩니다. 비대화형 `claude -p` 세션은 여전히 지속됩니다. 이 제외를 재정의하려면 `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`을 설정합니다. Claude Code v2.1.172 이상이 필요합니다 |233| `CLAUDE_CODE_CHILD_SESSION` | Bash, PowerShell 및 Monitor 도구, [hook](/docs/ko/hooks) 명령 및 [상태 줄](/docs/ko/statusline) 명령을 통해 Claude Code가 생성하는 서브프로세스에서 `1`로 설정됩니다. stdio [MCP 서버](/docs/ko/mcp) 서브프로세스에는 설정되지 않습니다. 이는 세션을 생성하고 서브프로세스를 시작할 때 Claude Code 자체에서만 설정되고 IDE 확장에서는 설정되지 않으므로 IDE 통합 터미널에서 시작된 최상위 `claude`와 중첩된 세션을 안정적으로 구분합니다. 이러한 방식으로 시작된 중첩된 대화형 `claude` TUI는 `--resume`, `--continue`, 위쪽 화살표 기록 및 `claude agents` 목록에서 자동으로 제외됩니다. 비대화형 `claude -p` 세션은 여전히 지속됩니다. 이 제외를 재정의하려면 `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1`을 설정하세요. Claude Code v2.1.172 이상이 필요합니다 |

234| `CLAUDE_CODE_CLIENT_CERT` | mTLS 인증을 위한 클라이언트 인증서 파일의 경로입니다 |234| `CLAUDE_CODE_CLIENT_CERT` | mTLS 인증을 위한 클라이언트 인증서 파일의 경로 |

235| `CLAUDE_CODE_CLIENT_KEY` | mTLS 인증을 위한 클라이언트 개인 키 파일의 경로입니다 |235| `CLAUDE_CODE_CLIENT_KEY` | mTLS 인증을 위한 클라이언트 개인 키 파일의 경로 |

236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | 암호화된 CLAUDE\_CODE\_CLIENT\_KEY의 암호입니다(선택 사항) |236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | 암호화된 CLAUDE\_CODE\_CLIENT\_KEY의 암호(선택 사항) |

237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | v2.1.186에서 제거되었으며 이제 작동하지 않습니다. 이전에는 스트리밍 API 요청의 연결, TLS, 응답 헤더 단계에 대해 별도의 타임아웃을 설정했습니다. 요청당 타임아웃에는 `API_TIMEOUT_MS`를 사용하세요. 스트리밍 요청의 응답 헤더 단계에는 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`를 참조하세요 |237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | v2.1.186에서 제거되었으며 이제 작동하지 않습니다. 이전에는 스트리밍 API 요청의 연결, TLS 및 응답 헤더 단계에 대해 별도의 타임아웃을 설정했습니다. 요청당 타임아웃에는 `API_TIMEOUT_MS`를 사용하세요. 스트리밍 요청의 응답 헤더 단계에는 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`를 참조하세요 |

238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | 디버그 로그 파일 경로를 재정의합니다. 이름에도 불구하고 이는 디렉토리가 아닌 파일 경로입니다. 디버그 모드를 `--debug`, `/debug`, 또는 `DEBUG` 환경 변수를 통해 별도로 활성화해야 합니다. 이 변수를 설정하는 것만으로는 로깅이 활성화되지 않습니다. [`--debug-file`](/docs/ko/cli-reference#cli-flags) 플래그는 둘 다 한 번에 수행합니다. 기본값은 `~/.claude/debug/<session-id>.txt`입니다 |238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | 디버그 로그 파일 경로를 재정의합니다. 이름에도 불구하고 이는 디렉토리가 아닌 파일 경로입니다. 디버그 모드를 `--debug`, `/debug` 또는 `DEBUG` 환경 변수를 통해 별도로 활성화해야 합니다: 이 변수만 설정하면 로깅이 활성화되지 않습니다. [`--debug-file`](/docs/ko/cli-reference#cli-flags) 플래그는 둘 다 한 번에 수행합니다. 기본값은 `~/.claude/debug/<session-id>.txt`입니다 |

239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 디버그 로그 파일에 작성되는 최소 로그 수준입니다. 값: `verbose`, `debug`(기본값), `info`, `warn`, `error`. 전체 상태 줄 명령 출력 같은 대용량 진단을 포함하려면 `verbose`로 설정하거나, 노이즈를 줄이려면 `error`로 올립니다 |239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | 디버그 로그 파일에 작성되는 최소 로그 수준입니다. 값: `verbose`, `debug`(기본값), `info`, `warn`, `error`. 전체 상태 줄 명령 출력 같은 대용량 진단을 포함하려면 `verbose`로 설정하거나, 노이즈를 줄이려면 `error`로 올리세요 |

240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | [1M 컨텍스트 창](/docs/ko/model-config#extended-context) 지원을 비활성화하려면 `1`로 설정합니다. 설정하면 1M 모델 변형을 모델 선택기에서 사용할 수 없으며, Claude Code는 [Sonnet 5](/docs/ko/model-config#sonnet-5-context-window) 및 Fable 모델 같은 기본 1M 창을 가진 모델의 세션을 200K 창으로 유지합니다. [확장 컨텍스트](/docs/ko/model-config#extended-context)에서 보류가 어떻게 적용되는지 참조하세요. 규정 준수 요구 사항이 있는 엔터프라이즈 환경에 유용합니다. 인식되지 않은 `[1m]` 모델 ID에 대한 창을 수정하는 역할에 대해서는 [게이트웨이 또는 사용자 정의 모델 ID에 대한 창 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하세요 |240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | [1M 컨텍스트 창](/docs/ko/model-config#extended-context) 지원을 비활성화하려면 `1`로 설정하세요. 설정하면 1M 모델 변형을 모델 선택기에서 사용할 수 없으며, Claude Code는 [Sonnet 5.5](/docs/ko/model-config#sonnet-5-5-and-sonnet-5-context-window) 같은 기본 1M 창이 있는 모델과 Fable 모델의 세션을 200K 창으로 유지합니다. [확장 컨텍스트](/docs/ko/model-config#extended-context)에서 보유가 어떻게 적용되는지 참조하세요. 규정 준수 요구 사항이 있는 엔터프라이즈 환경에 유용합니다. 인식되지 않는 `[1m]` 모델 ID에 대한 창을 수정하는 역할에 대해서는 [게이트웨이 또는 사용자 정의 모델 ID에 대한 창 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하세요 |

241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Opus 4.6 및 Sonnet 4.6에서 [적응형 추론](/docs/ko/model-config#adjust-effort-level)을 비활성화하고 `MAX_THINKING_TOKENS`로 제어되는 고정 사고 예산으로 폴백하려면 `1`로 설정합니다. [Fable 모델](/docs/ko/model-config#extended-thinking), Sonnet 5, Opus 4.7 이상에는 효과가 없습니다. 이들은 항상 적응형 추론을 사용합니다 |241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Opus 4.6 및 Sonnet 4.6에서 [적응형 추론](/docs/ko/model-config#adjust-effort-level)을 비활성화하고 `MAX_THINKING_TOKENS`로 제어되는 고정 사고 예산으로 폴백하려면 `1`로 설정하세요. [Fable 모델](/docs/ko/model-config#extended-thinking), Sonnet 5 이상 또는 Opus 4.7 이상에는 효과가 없습니다. 이들은 항상 적응형 추론을 사용합니다 |

242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Claude Code가 [관리 설정](/docs/ko/managed-settings#precedence-within-the-managed-tier) `env` 블록을 키별로 병합하지 않도록 하려면 `1`로 설정합니다. v2.1.223 이전처럼 최고 우선순위 소스의 전체 `env` 블록만 적용됩니다. Claude Code를 시작하는 환경에서 설정합니다. Claude Code는 설정 `env` 블록을 통해 전달된 복사본을 무시합니다. Claude Code v2.1.223 이상이 필요합니다 |242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Claude Code가 [관리 설정](/docs/ko/managed-settings#precedence-within-the-managed-tier) `env` 블록을 관리 소스별로 키별로 병합하지 않도록 하려면 `1`로 설정하세요. v2.1.223 이전처럼 최고 우선순위 소스의 전체 `env` 블록만 적용됩니다. Claude Code를 시작하는 환경에서 설정하세요. Claude Code는 설정 `env` 블록을 통해 전달된 복사본을 무시합니다. Claude Code v2.1.223 이상이 필요합니다 |

243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | [어드바이저 도구](/docs/ko/advisor)를 비활성화하려면 `1`로 설정합니다. `/advisor` 명령을 사용할 수 없게 되고, 구성된 `advisorModel`은 무시되며, `--advisor` 플래그는 허용되지만 효과가 없으므로 이를 전달하는 기존 스크립트는 오류 없이 계속 작동합니다 |243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | [어드바이저 도구](/docs/ko/advisor)를 비활성화하려면 `1`로 설정하세요. `/advisor` 명령을 사용할 수 없게 되고, 구성된 `advisorModel`은 무시되며, `--advisor` 플래그는 허용되지만 효과가 없으므로 이를 전달하는 기존 스크립트는 오류 없이 계속 작동합니다 |

244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | [백그라운드 에이전트 및 에이전트 보기](/docs/ko/agent-view)를 끄려면 `1`로 설정합니다. `claude agents`, `--bg`, `/background`, 온디맨드 감독자를 사용할 수 없게 됩니다. [`disableAgentView`](/docs/ko/settings-reference#disableagentview) 설정과 동일합니다 |244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | [백그라운드 에이전트 및 에이전트 보기](/docs/ko/agent-view)를 끄려면 `1`로 설정하세요: `claude agents`, `--bg`, `/background` 및 온디맨드 감독자. [`disableAgentView`](/docs/ko/settings-reference#disableagentview) 설정과 동일합니다 |

245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | [전체 화면 렌더링](/docs/ko/fullscreen)을 비활성화하고 클래식 주 화면 렌더러를 사용하려면 `1`로 설정합니다. 대화는 터미널의 기본 스크롤백에 남아 있으므로 `Cmd+f` 및 tmux 복사 모드가 평소대로 작동합니다. `CLAUDE_CODE_NO_FLICKER` 및 [`tui`](/docs/ko/settings-reference#tui) 설정보다 우선합니다. `/tui default`로도 전환할 수 있습니다. [에이전트 보기](/docs/ko/agent-view)에서 열린 백그라운드 세션에는 적용되지 않습니다. 이들은 항상 전체 화면 렌더링을 사용합니다 |245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | [전체 화면 렌더링](/docs/ko/fullscreen)을 비활성화하고 클래식 주 화면 렌더러를 사용하려면 `1`로 설정하세요. 대화는 터미널의 기본 스크롤백에 남아 있으므로 `Cmd+f` 및 tmux 복사 모드가 평소처럼 작동합니다. [`tui`](/docs/ko/settings-reference#tui) 설정보다 우선합니다. `/tui default`로도 전환할 수 있습니다. [에이전트 보기](/docs/ko/agent-view)에서 열린 백그라운드 세션에는 적용되지 않습니다. 이들은 항상 전체 화면 렌더링을 사용합니다 |

246| `CLAUDE_CODE_DISABLE_ARTIFACT` | [아티팩트](/docs/ko/artifacts) 도구를 끄려면 `1`로 설정합니다. 이는 claude.ai에서 세션 출력을 비공개 웹 페이지로 게시합니다. 설정하면 설정 파일이 도구를 다시 켤 수 없습니다. 설정 파일에서 도구를 끄려면 [`enableArtifact`](/docs/ko/settings-reference#enableartifact)를 `false`로 설정하세요. 더 이상 사용되지 않는 [`disableArtifact`](/docs/ko/settings-reference#disableartifact) 키도 도구를 끕니다 |246| `CLAUDE_CODE_DISABLE_ARTIFACT` | [아티팩트](/docs/ko/artifacts) 도구를 끄려면 `1`로 설정하세요. 이는 세션 출력을 claude.ai의 비공개 웹 페이지로 게시합니다. 설정하면 설정 파일이 도구를 다시 켤 수 없습니다. 설정 파일에서 도구를 끄려면 [`enableArtifact`](/docs/ko/settings-reference#enableartifact)를 `false`로 설정하세요. 더 이상 사용되지 않는 [`disableArtifact`](/docs/ko/settings-reference#disableartifact) 키도 이를 끕니다 |

247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 첨부 파일 처리를 비활성화하려면 `1`로 설정합니다. `@` 구문이 있는 파일 언급은 파일 내용으로 확장되지 않고 일반 텍스트로 전송됩니다 |247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 첨부 파일 처리를 비활성화하려면 `1`로 설정하세요. `@` 구문이 있는 파일 언급은 파일 내용으로 확장되지 않고 일반 텍스트로 전송됩니다 |

248| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | [자동 메모리](/docs/ko/memory#auto-memory)를 비활성화하려면 `1`로 설정합니다. `--bare` 모드 또는 [`autoMemoryEnabled: false`](/docs/ko/settings-reference#automemoryenabled)가 그렇지 않으면 비활성화할 때에도 자동 메모리를 강제로 켜려면 `0`으로 설정합니다. 비활성화되면 Claude는 자동 메모리 파일을 생성하거나 로드하지 않습니다 |248| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | [자동 메모리](/docs/ko/memory#auto-memory)를 비활성화하려면 `1`로 설정하세요. `--bare` 모드 또는 [`autoMemoryEnabled: false`](/docs/ko/settings-reference#automemoryenabled)가 그렇지 않으면 비활성화할 때에도 자동 메모리를 강제로 켜려면 `0`으로 설정하세요. 비활성화되면 Claude는 자동 메모리 파일을 생성하거나 로드하지 않습니다 |

249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 모든 백그라운드 작업 기능을 비활성화하려면 `1`로 설정합니다. Bash 및 서브에이전트 도구의 `run_in_background` 매개변수, 자동 백그라운드 처리, Ctrl+B 단축키를 포함합니다 |249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | 모든 백그라운드 작업 기능을 비활성화하려면 `1`로 설정하세요. 여기에는 Bash 및 서브에이전트 도구의 `run_in_background` 매개변수, 자동 백그라운드 처리 및 Ctrl+B 단축키가 포함됩니다 |

250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Claude Code가 [Amazon Bedrock](/docs/ko/amazon-bedrock) 스트리밍 응답을 누락되거나 빈 `Content-Type` 헤더가 있는 Amazon Bedrock의 이진 이벤트 스트림으로 처리하지 않도록 하려면 `1`로 설정합니다. 기본적으로 Claude Code는 게이트웨이가 그렇지 않으면 수정되지 않은 응답에서 헤더를 삭제했다고 가정하므로 본문을 디코드하고 스트리밍이 계속 작동합니다. 게이트웨이가 스트림을 서버 전송 이벤트로 다시 내보내는 경우에만 설정합니다. Claude Code는 헤더 없는 본문을 서버 전송 이벤트로 읽습니다. Claude Code v2.1.239 이상이 필요합니다 |250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Claude Code가 [Amazon Bedrock](/docs/ko/amazon-bedrock) 스트리밍 응답을 누락되거나 빈 `Content-Type` 헤더가 있는 Amazon Bedrock의 이진 이벤트 스트림으로 처리하지 않도록 하려면 `1`로 설정하세요. 기본적으로 Claude Code는 게이트웨이가 그렇지 않으면 수정되지 않은 응답에서 헤더를 삭제했다고 가정하므로 본문을 디코딩하고 스트리밍이 계속 작동합니다. 게이트웨이가 스트림을 서버 전송 이벤트로 다시 내보내는 경우에만 설정하세요. Claude Code는 헤더 없는 본문을 서버 전송 이벤트로 읽습니다. Claude Code v2.1.239 이상이 필요합니다 |

251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | [Amazon Bedrock](/docs/ko/amazon-bedrock) 스트리밍 응답이 `application/vnd.amazon.eventstream` 콘텐츠 유형을 전달하는지 확인하는 검사를 건너뛰려면 `1`로 설정합니다. 이 변수가 없으면 응답이 다른 콘텐츠 유형을 전달할 때 Claude Code는 해당 유형을 명명하는 오류로 요청을 실패합니다. 이는 [게이트웨이 또는 프록시가 응답을 변환](/docs/ko/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)하고 있음을 의미합니다. 이 변수를 설정하는 대신 게이트웨이를 구성하여 `Content-Type` 헤더와 본문을 수정되지 않은 상태로 전달합니다. Claude Code v2.1.208 이상이 필요합니다 |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | [Amazon Bedrock](/docs/ko/amazon-bedrock) 스트리밍 응답이 `application/vnd.amazon.eventstream` 콘텐츠 유형을 전달하는지 확인하는 것을 건너뛰려면 `1`로 설정하세요. 이 변수가 없으면 응답이 다른 콘텐츠 유형을 전달할 때 Claude Code는 해당 유형을 명명하는 오류로 요청을 실패합니다. 이는 [게이트웨이 또는 프록시가 응답을 변환](/docs/ko/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)하고 있음을 의미합니다. 이 변수를 설정하는 대신 게이트웨이를 구성하여 `Content-Type` 헤더와 본문을 수정하지 않고 전달하세요. Claude Code v2.1.208 이상이 필요합니다 |

252| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | [백그라운드 세션](/docs/ko/agent-view)의 실행 중인 백그라운드 셸 명령, 동적 워크플로우, v2.1.198부터 백그라운드 서브에이전트가 [감독자](/docs/ko/agent-view#the-supervisor-process)가 중지, 재시작 또는 해당 세션의 프로세스를 업데이트할 때 중지되도록 하려면 `1`로 설정합니다. 이 핸드오프에만 영향을 줍니다. `←` 또는 [`/background`](/docs/ko/agent-view#from-inside-a-session)로 세션을 백그라운드 처리하면 여전히 진행 중인 작업을 전달하고, `CLAUDE_DISABLE_ADOPT`는 둘 다 끕니다. Claude Code v2.1.196 이상이 필요합니다 |252| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | [백그라운드 세션](/docs/ko/agent-view)의 실행 중인 백그라운드 셸 명령, 동적 워크플로우, v2.1.198부터 백그라운드 서브에이전트가 [감독자](/docs/ko/agent-view#the-supervisor-process)가 해당 세션의 프로세스를 중지, 재시작 또는 업데이트할 때 다음 프로세스로 전달되지 않도록 하려면 `1`로 설정하세요. 이는 해당 전달에만 영향을 줍니다: `←`를 사용하거나 [`/background`](/docs/ko/agent-view#from-inside-a-session)를 사용하여 세션을 백그라운드로 처리하면 진행 중인 작업이 계속 전달되며, `CLAUDE_DISABLE_ADOPT`는 둘 다 끕니다. Claude Code v2.1.196 이상이 필요합니다 |

253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 메모리 압박 상태에서 [백그라운드 셸 명령](/docs/ko/interactive-mode#background-bash-commands)을 종료하지 않도록 Claude Code를 중지하려면 `1`로 설정합니다. 기본적으로 macOS 및 Linux에서 운영 체제가 중요한 메모리 압박을 보고하고 세션이 30분 동안 유휴 상태이며 턴이나 서브에이전트가 실행 중이 아닐 때 Claude Code가 백그라운드 셸을 종료합니다. Windows에는 메모리 압박 신호가 없으므로 이 변수는 효과가 없습니다. Claude Code v2.1.193 이상이 필요합니다 |253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | 메모리 부하 상태에서 Claude Code가 [백그라운드 셸 명령](/docs/ko/interactive-mode#background-bash-commands)을 종료하지 않도록 하려면 `1`로 설정하세요. 기본적으로 macOS 및 Linux에서 운영 체제가 중요한 메모리 부하를 보고하고 세션이 30분 동안 유휴 상태이며 턴이나 서브에이전트가 실행되지 않을 때 Claude Code가 백그라운드 셸을 종료합니다. Windows에는 메모리 부하 신호가 없으므로 이 변수는 효과가 없습니다. Claude Code v2.1.193 이상이 필요합니다 |

254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Claude Code에 포함된 [기술](/docs/ko/skills) 및 워크플로우를 비활성화하려면 `1`로 설정합니다. 번들 기술 및 워크플로우는 완전히 제거되지만 `/init` 같은 기본 제공 명령은 입력 가능하지만 모델에서 숨겨집니다. `/doctor`는 기본 제공 명령처럼 입력 가능합니다. `DISABLE_DOCTOR_COMMAND`로 숨깁니다. 플러그인, `.claude/skills/`, `.claude/commands/`의 기술은 영향을 받지 않습니다. [`disableBundledSkills`](/docs/ko/settings-reference#disablebundledskills) 설정과 동일합니다 |254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Claude Code에 포함된 [기술](/docs/ko/skills) 및 워크플로우를 비활성화하려면 `1`로 설정하세요: 번들 기술 및 워크플로우는 완전히 제거되고, `/init` 같은 기본 제공 명령은 입력 가능하지만 모델에서 숨겨집니다. `/doctor`는 기본 제공 명령처럼 입력 가능합니다. `DISABLE_DOCTOR_COMMAND`로 숨기세요. 플러그인, `.claude/skills/` 및 `.claude/commands/`의 기술은 영향을 받지 않습니다. [`disableBundledSkills`](/docs/ko/settings-reference#disablebundledskills) 설정과 동일합니다 |

255| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | [Chrome의 Claude](/docs/ko/chrome) 브라우저 도구를 사용 가능하게 유지하면서 시스템 프롬프트의 Chrome 섹션과 `/claude-in-chrome` [번들 기술](/docs/ko/skills#bundled-skills)을 생략하려면 `1`로 설정합니다. Claude Code를 포함하고 자체 브라우저 지침을 제공하는 호스트용입니다. Claude Code v2.1.257 이상이 필요합니다 |255| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | [Chrome의 Claude](/docs/ko/chrome) 브라우저 도구를 사용 가능하게 유지하면서 시스템 프롬프트의 Chrome 섹션과 `/claude-in-chrome` [번들 기술](/docs/ko/skills#bundled-skills)을 생략하려면 `1`로 설정하세요. Claude Code를 포함하고 자체 브라우저 지침을 제공하는 호스트용입니다. Claude Code v2.1.257 이상이 필요합니다 |

256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 사용자, 프로젝트, 자동 메모리 파일을 포함한 CLAUDE.md 메모리 파일 로드를 방지하려면 `1`로 설정합니다 |256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | 사용자, 프로젝트 및 자동 메모리 파일을 포함한 CLAUDE.md 메모리 파일을 컨텍스트에 로드하지 않으려면 `1`로 설정하세요 |

257| `CLAUDE_CODE_DISABLE_CRON` | [예약된 작업](/docs/ko/scheduled-tasks)을 비활성화하려면 `1`로 설정합니다. `/loop` 기술 및 cron 도구를 사용할 수 없게 되고 이미 예약된 작업은 실행을 중지합니다. 세션 중간에 이미 실행 중인 작업을 포함합니다 |257| `CLAUDE_CODE_DISABLE_CRON` | [예약된 작업](/docs/ko/scheduled-tasks)을 비활성화하려면 `1`로 설정하세요. `/loop` 기술 및 cron 도구를 사용할 수 없게 되고 이미 예약된 작업이 중지됩니다. 세션 중간에 이미 실행 중인 작업 포함 |

258| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Anthropic 특정 `anthropic-beta` 요청 헤더 및 베타 도구 스키마 필드(예: `defer_loading` 및 `eager_input_streaming`)를 API 요청에서 제거하려면 `1`로 설정합니다. 프록시 게이트웨이가 "Unexpected value(s) for the `anthropic-beta` header" 또는 "Extra inputs are not permitted" 같은 오류로 요청을 거부할 때 사용합니다. 표준 필드(`name`, `description`, `input_schema`, `cache_control`)는 유지됩니다. [MCP 도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)은 비활성화되고 모든 MCP 도구는 미리 로드됩니다. 도구 검색이 설정되어 있어도 마찬가지입니다. Claude Code v2.1.227 이상에서는 [관리 설정](/docs/ko/managed-settings)이 도구 검색을 켜진 상태로 유지할 수 있습니다. [사전 릴리스 기능 비활성화](/docs/ko/llm-gateway-protocol#disable-pre-release-capabilities)는 재정의가 적용되는 위치를 다룹니다 |258| `CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` | [중요 경로 제거](/docs/ko/permission-modes#critical-paths) 프롬프트의 시간 제한을 끄려면 `1`로 설정하세요. `auto` 모드에서 Claude Code는 이러한 제거를 분류기로 대신 전송하고, `bypassPermissions` 모드에서 프롬프트는 답변을 기다립니다. Claude Code를 시작하는 환경에서 설정하세요. Claude Code는 설정 파일의 `env` 블록을 통해 전달된 복사본을 무시합니다. Claude Code v2.1.281 이상이 필요합니다 |

259| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | 기본 제공 [Explore 및 Plan 서브에이전트](/docs/ko/sub-agents#built-in-subagents)를 비활성화하려면 `1`로 설정합니다. Claude는 검색 도구 또는 범용 서브에이전트로 탐색하고, [계획 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)는 Explore 및 Plan 에이전트를 시작하는 대신 파일을 직접 읽습니다. `Explore` 또는 `Plan`이라는 사용자 정의 서브에이전트는 영향을 받지 않습니다. Agent SDK 또는 비대화형 모드에서 모든 기본 제공 서브에이전트 유형을 제거하려면 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`를 대신 사용합니다. Claude Code v2.1.198 이상이 필요합니다 |259| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Anthropic 특정 `anthropic-beta` 요청 헤더 및 베타 도구 스키마 필드(예: `defer_loading` 및 `eager_input_streaming`)를 API 요청에서 제거하려면 `1`로 설정하세요. 프록시 게이트웨이가 "Unexpected value(s) for the `anthropic-beta` header" 또는 "Extra inputs are not permitted" 같은 오류로 요청을 거부할 때 사용합니다. 표준 필드(`name`, `description`, `input_schema`, `cache_control`)는 유지됩니다. [MCP 도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)이 비활성화되고 모든 MCP 도구는 도구 검색을 설정해도 미리 로드됩니다. Claude Code v2.1.227 이상에서 [관리 설정](/docs/ko/managed-settings)은 도구 검색을 켜진 상태로 유지할 수 있습니다. [사전 릴리스 기능 비활성화](/docs/ko/llm-gateway-protocol#disable-pre-release-capabilities)는 재정의가 적용되는 위치를 다룹니다 |

260| `CLAUDE_CODE_DISABLE_FAST_MODE` | [빠른 모드](/docs/ko/fast-mode)를 비활성화하려면 `1`로 설정합니다 |260| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | 기본 제공 [Explore 및 Plan 서브에이전트](/docs/ko/sub-agents#built-in-subagents)를 비활성화하려면 `1`로 설정하세요. Claude는 검색 도구 또는 범용 서브에이전트로 탐색하고, [계획 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)는 Explore 및 Plan 에이전트를 시작하는 대신 파일을 직접 읽습니다. `Explore` 또는 `Plan`이라는 사용자 정의 서브에이전트는 영향을 받지 않습니다. Agent SDK 또는 비대화형 모드에서 모든 기본 제공 서브에이전트 유형을 제거하려면 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`를 대신 사용하세요. Claude Code v2.1.198 이상이 필요합니다 |

261| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | "Claude가 어떻게 하고 있나요?" 세션 품질 설문조사를 비활성화하려면 `1`로 설정합니다. `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, 또는 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`이 설정되면 설문조사도 비활성화됩니다. `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`이 다시 옵트인하지 않는 한입니다. 완전히 비활성화하는 대신 샘플 속도를 설정하려면 [`feedbackSurveyRate`](/docs/ko/settings-reference#feedbacksurveyrate) 설정을 사용합니다. [세션 품질 설문조사](/docs/ko/data-usage#session-quality-surveys)를 참조하세요 |261| `CLAUDE_CODE_DISABLE_FAST_MODE` | [빠른 모드](/docs/ko/fast-mode)를 비활성화하려면 `1`로 설정하세요 |

262| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | 파일 [체크포인팅](/docs/ko/checkpointing)을 비활성화하려면 `1`로 설정합니다. `/rewind` 명령이 코드 변경을 복원할 수 없습니다. [`fileCheckpointingEnabled`](/docs/ko/settings-reference#filecheckpointingenabled) 설정을 재정의합니다 |262| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | "Claude가 어떻게 하고 있나요?" 세션 품질 설문조사를 비활성화하려면 `1`로 설정하세요. `DISABLE_TELEMETRY`, `DO_NOT_TRACK` 또는 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`이 설정되면 설문조사도 비활성화됩니다. `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`이 다시 옵트인하지 않는 한. 완전히 비활성화하는 대신 샘플 속도를 설정하려면 [`feedbackSurveyRate`](/docs/ko/settings-reference#feedbacksurveyrate) 설정을 사용하세요. [세션 품질 설문조사](/docs/ko/data-usage#session-quality-surveys)를 참조하세요 |

263| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | 기본 제공 커밋 및 PR 워크플로우 지침과 git 상태 스냅샷을 Claude의 컨텍스트에서 제거하려면 `1`로 설정합니다. 자체 git 워크플로우 기술을 사용할 때 유용합니다. [`includeGitInstructions`](/docs/ko/settings-reference#includegitinstructions) 설정이 설정되었을 때 우선합니다 |263| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | 파일 [체크포인팅](/docs/ko/checkpointing)을 비활성화하려면 `1`로 설정하세요. `/rewind` 명령이 코드 변경을 복원할 수 없습니다. [`fileCheckpointingEnabled`](/docs/ko/settings-reference#filecheckpointingenabled) 설정을 재정의합니다 |

264| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Anthropic API에서 Opus 4.0 및 4.1을 현재 Opus 버전으로 자동 재매핑하지 않으려면 `1`로 설정합니다. 의도적으로 이전 모델을 고정하려고 할 때 사용합니다. 재매핑은 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서 실행되지 않습니다 |264| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | 기본 제공 커밋 및 PR 워크플로우 지침과 git 상태 스냅샷을 Claude의 컨텍스트에서 제거하려면 `1`로 설정하세요. 자신의 git 워크플로우 기술을 사용할 때 유용합니다. [`includeGitInstructions`](/docs/ko/settings-reference#includegitinstructions) 설정이 설정되면 우선합니다 |

265| `CLAUDE_CODE_DISABLE_MOUSE` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 마우스 추적을 비활성화하려면 `1`로 설정합니다. `PgUp` 및 `PgDn`을 사용한 키보드 스크롤은 여전히 작동합니다. 터미널의 기본 선택 시 복사 동작을 유지하려면 이를 사용합니다 |265| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Anthropic API에서 Opus 4.0 및 4.1을 현재 Opus 버전으로 자동 재매핑하지 않으려면 `1`로 설정하세요. 의도적으로 이전 모델을 고정하려고 할 때 사용합니다. 재매핑은 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 실행되지 않습니다 |

266| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | 마우스 휠 스크롤을 유지하면서 [전체 화면 렌더링](/docs/ko/fullscreen)에서 클릭, 드래그, 호버 처리를 비활성화하려면 `1`로 설정합니다. Claude Code 내에서 휠 스크롤이 작동하기를 원하지만 클릭이 커서를 배치하거나, 도구 출력을 확장하거나, 링크를 열지 않기를 원할 때 사용합니다. 둘 다 설정되면 `CLAUDE_CODE_DISABLE_MOUSE`가 우선합니다. Claude Code v2.1.195 이상이 필요합니다 |266| `CLAUDE_CODE_DISABLE_MOUSE` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 마우스 추적을 비활성화하려면 `1`로 설정하세요. `PgUp` 및 `PgDn`을 사용한 키보드 스크롤은 여전히 작동합니다. 터미널의 기본 선택 시 복사 동작을 유지하려면 이를 사용하세요 |

267| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | API 요청이 연결 재설정이나 TLS 핸드셰이크 오류 같은 연결 수준 오류로 실패할 때 Claude Code가 [mTLS 클라이언트 인증서 및 키](/docs/ko/network-config#mtls-authentication)를 다시 읽지 않도록 하려면 `1`로 설정합니다. 다시 로드가 비활성화되면 Claude Code는 다음에 설정을 적용하거나 다음 시작 시에만 회전된 파일을 로드합니다. Claude Code v2.1.232 이상이 필요합니다 |267| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 클릭, 드래그 및 호버 처리를 비활성화하면서 마우스 휠 스크롤을 유지하려면 `1`로 설정하세요. Claude Code 내에서 휠 스크롤이 작동하기를 원하지만 클릭이 커서를 배치하거나, 도구 출력을 확장하거나, 링크를 열지 않기를 원할 때 사용합니다. 둘 다 설정되면 `CLAUDE_CODE_DISABLE_MOUSE`가 우선합니다. Claude Code v2.1.195 이상이 필요합니다 |

268| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | 자동 업데이트, 원격 분석, 오류 보고, `/feedback` 명령, [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior), 릴리스 노트, [PR 및 MR 상태 배지](/docs/ko/interactive-mode#pr-review-status) 검사, [빠른 모드](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 검사 같은 가용성 검사를 포함한 비필수 네트워크 트래픽을 비활성화하려면 `1` 같은 비어있지 않은 값으로 설정합니다. 또한 [플러그인 `command` 소스의 백그라운드 실행](/docs/ko/plugins/loading#when-a-command-source-re-runs)을 중지합니다. 이는 네트워크 트래픽이 아니라 로컬 명령이지만 종속성 설치를 트리거할 수 있습니다. **`0` 또는 `false`로 설정하면 여전히 이 트래픽을 비활성화합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 다시 허용합니다. 또한 기능 플래그 가져오기를 비활성화하여 [Remote Control](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. 공식 플러그인 마켓플레이스 자동 설치는 포함되지 않습니다. `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`로 비활성화합니다. [게이트웨이 모델 검색](/docs/ko/llm-gateway-connect#add-gateway-models-to-the-model-picker)에는 영향을 주지 않습니다. 자체 옵트인이 있습니다 |268| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | API 요청이 연결 재설정 또는 TLS 핸드셰이크 오류 같은 연결 수준 오류로 실패할 때 Claude Code가 [mTLS 클라이언트 인증서 및 키](/docs/ko/network-config#mtls-authentication)를 다시 읽지 않도록 하려면 `1`로 설정하세요. 다시 로드가 비활성화되면 Claude Code는 다음에 설정을 적용하거나 다음 시작 시에만 회전된 파일을 로드합니다. Claude Code v2.1.232 이상이 필요합니다 |

269| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | 스트리밍 요청이 스트림 중간에 실패할 때 비스트리밍 폴백을 비활성화하려면 `1`로 설정합니다. 스트리밍 오류는 재시도 계층으로 전파됩니다. 프록시 또는 게이트웨이가 폴백으로 인해 중복 도구 실행을 생성할 때 유용합니다 |269| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | 비필수 네트워크 트래픽을 비활성화하려면 `1` 같은 비어있지 않은 값으로 설정하세요: 자동 업데이트, 원격 분석, 오류 보고, `/feedback` 명령, [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior), 릴리스 노트, [PR 및 MR 상태 배지](/docs/ko/interactive-mode#pr-review-status) 확인 및 [빠른 모드](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 확인 같은 가용성 확인. 또한 로컬 명령이지만 네트워크 트래픽이 아닌 플러그인 `command` 소스의 [백그라운드 실행](/docs/ko/plugins/loading#when-a-command-source-re-runs)을 중지합니다. 종속성 설치를 트리거할 수 있기 때문입니다. **`0` 또는 `false`로 설정하면 여전히 이 트래픽을 비활성화합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 다시 허용하세요. 또한 기능 플래그 가져오기를 비활성화합니다. 이는 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 만듭니다. 공식 플러그인 마켓플레이스 자동 설치는 포함되지 않습니다. `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`로 비활성화하세요. [게이트웨이 모델 검색](/docs/ko/llm-gateway-connect#add-gateway-models-to-the-model-picker)에는 영향을 주지 않습니다. 자체 옵트인이 있습니다 |

270| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | 터미널에 입력하거나 포커스되어 있는 동안에도 `PushNotification` 도구의 데스크톱 알림을 전송하려면 `1`로 설정합니다. 기본적으로 도구는 최근 키보드 활동이나 터미널 포커스를 감지할 때 데스크톱 알림과 [모바일 푸시](/docs/ko/remote-control#mobile-push-notifications)를 모두 건너뜁니다. 이 변수는 로컬 검사만 비활성화하므로 서버는 활동을 감지할 때 모바일 푸시를 여전히 억제할 수 있습니다. Claude Code v2.1.193 이상이 필요합니다 |270| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | 스트리밍 요청이 스트림 중간에 실패할 때 비스트리밍 폴백을 비활성화하려면 `1`로 설정하세요. 스트리밍 오류는 재시도 계층으로 전파됩니다. 프록시 또는 게이트웨이가 폴백으로 인해 중복 도구 실행을 생성할 때 유용합니다 |

271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 공식 플러그인 마켓플레이스의 자동 등록을 비활성화하려면 `1`로 설정합니다. Claude Code는 일반적으로 머신의 첫 대화형 시작 중에 마켓플레이스를 등록하려고 할 때 변수를 읽습니다. 그 시점에서 변수가 설정되면 Claude Code는 등록을 영구적으로 건너뜁니다. 나중에 변수를 설정 해제해도 건너뛰기가 취소되지 않습니다. `claude plugin marketplace add anthropics/claude-plugins-official`을 실행하여 언제든지 마켓플레이스를 등록합니다 |271| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | 터미널에 입력하거나 포커스되어 있는 동안에도 `PushNotification` 도구의 데스크톱 알림을 전송하려면 `1`로 설정하세요. 기본적으로 도구는 최근 키보드 활동이나 터미널 포커스를 감지할 때 데스크톱 알림과 [모바일 푸시](/docs/ko/remote-control#mobile-push-notifications)를 모두 건너뜁니다. 이 변수는 로컬 확인만 비활성화하므로 서버는 활성 상태를 감지할 때 모바일 푸시를 여전히 억제할 수 있습니다. Claude Code v2.1.193 이상이 필요합니다 |

272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Claude Code가 Claude Desktop 및 VS Code 확장이 Claude Code를 호스팅하는 방식인 Agent SDK의 `canUseTool` 콜백으로 전송하는 세션에서 [응답하지 않은 권한 요청에 대한 `Notification` 훅](/docs/ko/hooks#notification)을 실행하지 않도록 하려면 `1`로 설정합니다. 터미널 세션에는 효과가 없습니다. Claude Code v2.1.233 이상이 필요합니다 |272| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | 공식 플러그인 마켓플레이스의 자동 등록을 비활성화하려면 `1`로 설정하세요. Claude Code는 마켓플레이스를 등록하려고 할 때 변수를 읽습니다. 보통 머신의 첫 대화형 시작 중입니다. 그 시점에서 변수가 설정되면 Claude Code는 등록을 영구적으로 건너뜁니다. 나중에 변수를 설정 해제해도 건너뛰기가 취소되지 않습니다. 언제든지 `claude plugin marketplace add anthropics/claude-plugins-official`을 실행하여 마켓플레이스를 등록하세요 |

273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | 시스템 전체 관리 기술 디렉토리에서 기술 로드를 건너뛰려면 `1`로 설정합니다. 운영자가 프로비저닝한 기술을 로드하지 않아야 하는 컨테이너 또는 CI 세션에 유용합니다 |273| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Claude Code가 Claude Desktop 및 VS Code 확장이 Claude Code를 호스팅하는 방식인 Agent SDK의 `canUseTool` 콜백으로 전송하는 세션에서 [응답하지 않은 권한 요청에 대한 `Notification` 훅](/docs/ko/hooks#notification)을 실행하지 않도록 하려면 `1`로 설정하세요. 터미널 세션에는 효과가 없습니다. Claude Code v2.1.233 이상이 필요합니다 |

274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 대화 컨텍스트를 기반으로 자동 터미널 제목 업데이트를 비활성화하려면 `1`로 설정합니다. 또한 [세션 제목을 생성](/docs/ko/sessions#name-your-sessions)하는 백그라운드 소형/빠른 모델 요청을 건너뜁니다 |274| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | 시스템 전체 관리 기술 디렉토리에서 기술 로드를 건너뛰려면 `1`로 설정하세요. 운영자 프로비저닝 기술을 로드하지 않아야 하는 컨테이너 또는 CI 세션에 유용합니다 |

275| `CLAUDE_CODE_DISABLE_THINKING` | API 요청에서 `thinking` 매개변수를 완전히 생략하려면 `1`로 설정합니다. 이는 매개변수를 거부하는 프록시 및 게이트웨이를 위한 호환성 옵션입니다. 기본적으로 생각하는 모델에서 매개변수를 생략하면 모델이 여전히 생각할 수 있습니다. Anthropic API에서 [확장 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)를 명시적으로 비활성화하려면 `MAX_THINKING_TOKENS=0`을 대신 사용합니다. 어느 변수도 Opus 5.5 또는 Fable 모델에서 사고를 끄지 않습니다. 이들은 사고를 끌 수 없습니다. [타사 공급자](/docs/ko/third-party-integrations)에서 `MAX_THINKING_TOKENS=0`은 마찬가지로 매개변수를 생략하므로 두 변수는 동일하게 작동합니다 |275| `CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY` | [PowerShell 도구](/docs/ko/tools-reference#powershell-tool)가 [시스템 경로](/docs/ko/permission-modes#remove-item-in-powershell)(예: 드라이브 루트 또는 홈 디렉토리)에서 `cmd` 기본 제공 `rd`, `rmdir`, `del` 및 `erase`를 거부하는 확인을 끄려면 `1`로 설정하세요. Claude Code는 설정 파일의 `env` 블록에서 이 변수를 무시합니다. Claude Code v2.1.283 이상이 필요합니다 |

276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Claude Code가 모델 ID를 인식하지 못할 때(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭) 사전 [자동 압축](/docs/ko/costs#reduce-token-usage)을 건너뛰려면 `1`로 설정합니다. 이 변수가 없으면 Claude Code는 ID에 대해 가정하는 컨텍스트 창에서 압축합니다. `CLAUDE_CODE_MAX_CONTEXT_TOKENS`은 대신 가정된 창을 수정할 수 있습니다. [게이트웨이 또는 사용자 정의 모델 ID에 대한 창 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)에서 각 변수가 적용되는 시기를 참조하세요. Claude Code v2.1.223 이상이 필요합니다 |276| `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT` | [중요 경로](/docs/ko/permission-modes#critical-paths) 확인을 `rm -rf "$(pwd)"` 같은 명령 치환의 전체 출력인 재귀 `rm`에 대해 끄려면 `1`로 설정하세요. 다른 중요 경로 확인은 계속 실행됩니다. Claude Code를 시작하는 환경에서 설정하세요. Claude Code는 설정 파일의 `env` 블록을 통해 전달된 복사본을 무시합니다. Claude Code v2.1.281 이상이 필요합니다 |

277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 가상 스크롤을 비활성화하고 대화 기록의 모든 메시지를 렌더링하려면 `1`로 설정합니다. 전체 화면 모드에서 스크롤이 메시지가 나타나야 할 위치에 빈 영역을 표시할 때 이를 사용합니다 |277| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | 대화 컨텍스트를 기반으로 자동 터미널 제목 업데이트를 비활성화하려면 `1`로 설정하세요. 또한 [세션 제목을 생성](/docs/ko/sessions#name-your-sessions)하는 백그라운드 소형/빠른 모델 요청을 건너뜁니다 |

278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Windows에서 `cmd.exe` 런처를 통하지 않고 [PowerShell 도구](/docs/ko/tools-reference#powershell-tool) 명령을 직접 시작하려면 `1`로 설정합니다. 기본적으로 런처는 [백그라운드에서 실행](/docs/ko/tools-reference#background-commands) 중인 PowerShell 명령이 [세션의 다음 프로세스](/docs/ko/agent-view#the-supervisor-process)로 [이월](/docs/ko/agent-view#from-inside-a-session)되도록 합니다. 예: 세션을 백그라운드 처리할 때입니다. 변수를 설정하면 백그라운드 PowerShell 명령은 세션의 프로세스가 종료될 때 중지됩니다. Bash 명령은 영향을 받지 않습니다. Claude Code v2.1.269 이상이 필요합니다 |278| `CLAUDE_CODE_DISABLE_THINKING` | API 요청에서 `thinking` 매개변수를 완전히 생략하려면 `1`로 설정하세요. 이는 매개변수를 거부하는 프록시 및 게이트웨이를 위한 호환성 옵션입니다. 기본적으로 생각하는 모델에서 매개변수를 생략하면 모델이 여전히 생각할 수 있습니다. Anthropic API에서 [확장 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)를 명시적으로 비활성화하려면 `MAX_THINKING_TOKENS=0`을 대신 사용하세요. 어느 변수도 Opus 5.5, Sonnet 5.5 또는 Fable 모델에서 사고를 끄지 않습니다. 이들은 사고를 끌 수 없습니다. [타사 공급자](/docs/ko/third-party-integrations)에서 `MAX_THINKING_TOKENS=0`은 마찬가지로 매개변수를 생략하므로 두 변수가 동일하게 작동합니다 |

279| `CLAUDE_CODE_DISABLE_WORKFLOWS` | [워크플로우](/docs/ko/workflows#turn-workflows-off)를 비활성화하려면 `1`로 설정합니다. [`disableWorkflows`](/docs/ko/settings-reference#disableworkflows) 설정과 동일합니다 |279| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Claude Code가 모델 ID를 인식하지 못할 때(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭) 사전 [자동 압축](/docs/ko/costs#reduce-token-usage)을 건너뛰려면 `1`로 설정하세요. 이 변수가 없으면 Claude Code는 ID에 대해 가정하는 컨텍스트 창에서 압축합니다. `CLAUDE_CODE_MAX_CONTEXT_TOKENS`는 대신 가정된 창을 수정할 수 있습니다. [게이트웨이 또는 사용자 정의 모델 ID에 대한 창 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)에서 각 변수가 적용되는 시기를 참조하세요. Claude Code v2.1.223 이상이 필요합니다 |

280| `CLAUDE_CODE_EFFORT_LEVEL` | 지원되는 모델의 노력 수준을 설정합니다. 값: `low`, `medium`, `high`, `xhigh`, `max`, 또는 `auto`(모델 기본값 사용). 사용 가능한 수준은 모델에 따라 다릅니다. `--effort`, `/effort`, `modelSettings` 및 `effortLevel` 설정보다 우선합니다. [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel) 상한이 여전히 적용됩니다. [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)을 참조하세요 |280| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | [전체 화면 렌더링](/docs/ko/fullscreen)에서 가상 스크롤을 비활성화하고 대화 기록의 모든 메시지를 렌더링하려면 `1`로 설정하세요. 전체 화면 모드에서 스크롤이 메시지가 나타나야 할 위치에 빈 영역을 표시하면 이를 사용하세요 |

281| `CLAUDE_CODE_ENABLE_AUTO_MODE` | 이전 릴리스와의 호환성을 위해 허용되며 효과가 없습니다. 자동 모드는 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, 서명된 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션을 포함한 모든 공급자에서 기본적으로 사용 가능합니다. v2.1.158부터 v2.1.206까지 이러한 공급자에서 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)를 사용 가능하게 하려면 이를 `1`로 설정해야 했습니다 |281| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Windows에서 `cmd.exe` 런처를 통하지 않고 [PowerShell 도구](/docs/ko/tools-reference#powershell-tool) 명령을 직접 시작하려면 `1`로 설정하세요. 기본적으로 런처는 [백그라운드에서 실행 중인](/docs/ko/tools-reference#background-commands) PowerShell 명령이 [세션의 다음 프로세스로 이월](/docs/ko/agent-view#the-supervisor-process)되도록 합니다. 예를 들어 [세션을 백그라운드로 처리](/docs/ko/agent-view#from-inside-a-session)할 때입니다. 변수를 설정하면 백그라운드 PowerShell 명령이 세션의 프로세스가 종료될 때 중지됩니다. Bash 명령은 영향을 받지 않습니다. Claude Code v2.1.269 이상이 필요합니다 |

282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | [세션 요약](/docs/ko/interactive-mode#session-recap) 가용성을 재정의합니다. `/config` 토글에 관계없이 요약을 강제로 끄려면 `0`으로 설정합니다. [`awaySummaryEnabled`](/docs/ko/settings-reference#awaysummaryenabled)가 `false`일 때 요약을 강제로 켜려면 `1`로 설정합니다. 설정 및 `/config` 토글보다 우선합니다 |282| `CLAUDE_CODE_DISABLE_WORKFLOWS` | [워크플로우](/docs/ko/workflows#turn-workflows-off)를 비활성화하려면 `1`로 설정하세요. [`disableWorkflows`](/docs/ko/settings-reference#disableworkflows) 설정과 동일합니다 |

283| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | 백그라운드 설치가 완료된 후 [비대화형 모드](/docs/ko/headless)에서 턴 경계에서 플러그인 상태를 새로 고치려면 `1`로 설정합니다. 기본적으로 꺼져 있습니다. 새로 고침이 세션 중간에 시스템 프롬프트를 변경하기 때문입니다. 이는 해당 턴에 대한 [프롬프트 캐싱](/docs/ko/prompt-caching)을 무효화합니다 |283| `CLAUDE_CODE_EFFORT_LEVEL` | 지원되는 모델의 노력 수준을 설정합니다. 값: `low`, `medium`, `high`, `xhigh`, `max` 또는 모델 기본값을 사용하려면 `auto`. 사용 가능한 수준은 모델에 따라 다릅니다. `--effort`, `/effort` 및 `modelSettings` 및 `effortLevel` 설정보다 우선합니다. [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel) 상한이 여전히 적용됩니다. [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)을 참조하세요 |

284| `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` 및 조직 제품 피드백 정책이 우선합니다 |284| `CLAUDE_CODE_ENABLE_AUTO_MODE` | 이전 릴리스와의 호환성을 위해 허용되며 효과가 없습니다. 자동 모드는 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 서명된 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션을 포함한 모든 공급자에서 기본적으로 사용 가능합니다. v2.1.158부터 v2.1.206까지 이 공급자들에서 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)를 사용 가능하게 하려면 이를 `1`로 설정해야 했습니다 |

285| `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) 연결에서는 기본적으로 꺼져 있습니다 |285| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | [세션 요약](/docs/ko/interactive-mode#session-recap) 가용성을 재정의합니다. `/config` 토글에 관계없이 요약을 강제로 끄려면 `0`으로 설정하세요. [`awaySummaryEnabled`](/docs/ko/settings-reference#awaysummaryenabled)가 `false`일 때 요약을 강제로 켜려면 `1`로 설정하세요. 설정 및 `/config` 토글보다 우선합니다 |

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

287| `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` 및 조직 제품 피드백 정책이 우선합니다 |

288| `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) 연결에서는 기본적으로 꺼져 있습니다 |

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

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

288| `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)을 참조하세요 |291| `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)을 참조하세요 |

289| `CLAUDE_CODE_ENABLE_TASKS` | [이를 가진 세션](/docs/ko/tools-reference#task-tool-availability)에서 Claude Code가 제공하는 작업 추적 도구를 선택합니다. 기본적으로 Claude Code는 Task 도구 `TaskCreate`, `TaskUpdate`, `TaskGet`, `TaskList`를 제공합니다. 대신 레거시 `TodoWrite` 도구를 얻으려면 `0`으로 설정합니다. [작업 목록](/docs/ko/interactive-mode#task-list)을 참조하세요 |292| `CLAUDE_CODE_ENABLE_TASKS` | [이를 가진 세션](/docs/ko/tools-reference#task-tool-availability)에서 Claude Code가 제공하는 작업 추적 도구를 선택합니다. 기본적으로 Claude Code는 Task 도구 `TaskCreate`, `TaskUpdate`, `TaskGet` 및 `TaskList`를 제공합니다. 대신 레거시 `TodoWrite` 도구를 얻으려면 `0`으로 설정하세요. [작업 목록](/docs/ko/interactive-mode#task-list)을 참조하세요 |

290| `CLAUDE_CODE_ENABLE_TELEMETRY` | OpenTelemetry 데이터 수집을 메트릭 및 로깅에 대해 활성화하려면 `1`로 설정합니다. OTel 내보내기를 구성하기 전에 필수입니다. 셸, 사용자 설정 또는 관리 설정에서 설정합니다. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |293| `CLAUDE_CODE_ENABLE_TELEMETRY` | OpenTelemetry 데이터 수집을 메트릭 및 로깅에 대해 활성화하려면 `1`로 설정하세요. OTel 내보내기를 구성하기 전에 필수입니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

291| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | 모든 모델에서 작업 추적 도구를 얻으려면 `1`로 설정합니다. 이것이 없으면 Claude Code는 [작업 도구 가용성](/docs/ko/tools-reference#task-tool-availability) 아래 나열된 모델에서만 기본적으로 제공합니다. `CLAUDE_CODE_ENABLE_TASKS`는 여전히 Task 도구 또는 `TodoWrite`를 선택합니다. Claude Code v2.1.233 이상이 필요합니다 |294| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | 모든 모델에서 작업 추적 도구를 얻으려면 `1`로 설정하세요. 없으면 Claude Code는 [작업 도구 가용성](/docs/ko/tools-reference#task-tool-availability)에 나열된 모델에서만 기본적으로 제공합니다. `CLAUDE_CODE_ENABLE_TASKS`는 여전히 Task 도구 또는 `TodoWrite`를 선택합니다. Claude Code v2.1.233 이상이 필요합니다 |

292| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | 쿼리 루프가 유휴 상태가 된 후 자동으로 종료되기 전에 대기할 시간(밀리초 단위)입니다. SDK 모드를 사용하는 자동화된 워크플로우 및 스크립트에 유용합니다 |295| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | 쿼리 루프가 유휴 상태가 된 후 자동으로 종료되기 전에 대기할 시간(밀리초 단위)입니다. SDK 모드를 사용하는 자동화된 워크플로우 및 스크립트에 유용합니다 |

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

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

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

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

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

298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 터미널이 지원하지만 자동 감지되지 않을 때 DEC 프라이빗 모드 2026 [동기화된 출력](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)을 강제로 활성화하려면 `1`로 설정합니다. Emacs `eat` 같은 BSU/ESU를 구현하지만 기능 프로브에 응답하지 않는 에뮬레이터에 유용합니다. tmux에서는 효과가 없습니다. `CLAUDE_CODE_NO_FLICKER`와 달리 [전체 화면 렌더링](/docs/ko/fullscreen)으로 전환하지 않습니다. 이는 렌더러를 변경하지 않습니다 |301| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | 터미널이 지원하지만 자동 감지되지 않을 때 DEC 프라이빗 모드 2026 [동기화된 출력](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036)을 강제로 활성화하려면 `1`로 설정하세요. Emacs `eat` 같은 BSU/ESU를 구현하지만 기능 프로브에 응답하지 않는 에뮬레이터에 유용합니다. tmux에서는 효과가 없습니다. [전체 화면 렌더링](/docs/ko/fullscreen)으로 전환하는 `CLAUDE_CODE_NO_FLICKER`와 달리 이는 렌더러를 변경하지 않습니다 |

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

300| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | `claude -p --output-format stream-json` 출력에서 [서브에이전트](/docs/ko/sub-agents) 텍스트 및 사고 블록을 내보내려면 `1`로 설정합니다. [`--forward-subagent-text`](/docs/ko/cli-reference#cli-flags) 플래그와 동일한 동작입니다. 하네스가 `claude`를 호출하고 플래그 자체를 전달할 수 없을 때 변수를 사용합니다. 플래그와 달리 비대화형 모드에서 stream-json 출력 외부에서 오류로 종료되지만 변수는 무시되므로 중첩된 호출이 프로세스 전체에 설정되었을 때 계속 작동합니다. Claude Code v2.1.211 이상이 필요합니다 |303| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | [서브에이전트](/docs/ko/sub-agents) 텍스트 및 사고 블록을 `claude -p --output-format stream-json` 출력에서 내보내려면 `1`로 설정하세요. 이는 [`--forward-subagent-text`](/docs/ko/cli-reference#cli-flags) 플래그와 동일한 동작입니다. 하네스가 `claude`를 호출하지만 플래그 자체를 전달할 수 없을 때 변수를 사용합니다. 플래그와 달리 비대화형 모드에서 stream-json 출력 외부에서 오류로 종료되는 것과 달리 변수는 무시되므로 중첩된 호출이 프로세스 전체에 설정되어 있을 때 계속 작동합니다. Claude Code v2.1.211 이상이 필요합니다 |

301| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | `x-claude-code-request-class` 및 `x-claude-code-compaction` 같은 [게이트웨이 힌트 헤더](/docs/ko/llm-gateway-protocol#gateway-hint-headers)를 사용자 정의 프록시 또는 Amazon Bedrock 또는 Claude Platform on AWS 같은 타사 공급자에서 전송하려면 `1`로 설정합니다. Anthropic API에 대한 직접 연결을 포함한 모든 연결에서 전송을 중지하려면 `0`으로 설정합니다. Claude Code는 기본적으로 직접 연결에서 이를 전송합니다. Claude Code v2.1.273 이상이 필요합니다 |304| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | 사용자 정의 프록시 또는 Amazon Bedrock 또는 Claude Platform on AWS 같은 타사 공급자에서 [게이트웨이 힌트 헤더](/docs/ko/llm-gateway-protocol#gateway-hint-headers)(예: `x-claude-code-request-class` 및 `x-claude-code-compaction`)를 전송하려면 `1`로 설정하세요. 모든 연결(Claude Code가 기본적으로 전송하는 Anthropic API에 대한 직접 연결 포함)에서 전송을 중지하려면 `0`으로 설정하세요. Claude Code v2.1.273 이상이 필요합니다 |

302| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY`가 켜는 [게이트웨이 모델 검색](/docs/ko/llm-gateway-protocol#model-discovery) 요청의 타임아웃(밀리초 단위)입니다(기본값: `3000`). 게이트웨이가 시작 시 `/v1/models`에 응답하는 데 3초 이상 필요할 때 이를 올립니다. 일반 숫자만 허용합니다. `0`, 음수 값, 기타 표기법은 기본값을 유지합니다. Claude Code v2.1.269 이상이 필요합니다 |305| `CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS` | `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY`가 켜는 [게이트웨이 모델 검색](/docs/ko/llm-gateway-protocol#model-discovery) 요청의 타임아웃(밀리초 단위)(기본값: `3000`). 게이트웨이가 시작 시 `/v1/models`에 응답하는 데 3초 이상 필요할 때 올리세요. 일반 숫자만 사용합니다. `0`, 음수 값 및 다른 표기법은 기본값을 유지합니다. Claude Code v2.1.269 이상이 필요합니다 |

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

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

305| `CLAUDE_CODE_GLOB_NO_IGNORE` | [Glob 도구](/docs/ko/tools-reference#glob-tool-behavior)가 `.gitignore` 패턴을 존중하도록 하려면 `false`로 설정합니다. 기본적으로 Glob은 gitignored 파일을 포함한 모든 일치 파일을 반환합니다. `@` 파일 자동 완성에는 영향을 주지 않습니다. 이는 자체 [`respectGitignore` 설정](/docs/ko/settings-reference#respectgitignore)을 가집니다 |308| `CLAUDE_CODE_GLOB_NO_IGNORE` | [Glob 도구](/docs/ko/tools-reference#glob-tool-behavior)가 `.gitignore` 패턴을 존중하도록 하려면 `false`로 설정하세요. 기본적으로 Glob은 gitignored 파일을 포함한 모든 일치 파일을 반환합니다. `@` 파일 자동 완성에는 영향을 주지 않습니다. 이는 자체 [`respectGitignore` 설정](/docs/ko/settings-reference#respectgitignore)을 가집니다 |

306| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Glob 도구 파일 검색의 타임아웃(초 단위)입니다. 대부분의 플랫폼에서 기본값은 20초이고 WSL에서는 60초입니다 |309| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Glob 도구 파일 검색의 타임아웃(초 단위)입니다. 대부분의 플랫폼에서 기본값은 20초이고 WSL에서는 60초입니다 |

307| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | 백그라운드 작업이 활성 목표를 대기 상태로 유지할 수 있는 시간(분 단위)입니다. Claude Code가 [이를 확인하도록 요청](/docs/ko/goal#background-work-defers-evaluation)하기 전입니다. 기본값 `30`. 체크인을 끄려면 `0`으로 설정합니다. 일반 숫자로 전체 분을 제공합니다. 최대 `10080`(1주). Claude Code는 다른 값을 설정 해제로 취급하고 기본값을 사용합니다. Claude Code v2.1.234 이상이 필요합니다 |310| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | 백그라운드 작업이 활성 목표를 대기하게 할 수 있는 시간(분 단위)입니다. 그 후 Claude Code는 [Claude에 이를 확인하도록 요청](/docs/ko/goal#background-work-defers-evaluation)합니다. 기본값 `30`. 체크인을 끄려면 `0`으로 설정하세요. 일반 숫자로 전체 분을 제공합니다. 최대 `10080`(1주). Claude Code는 다른 값을 기본값으로 취급합니다. Claude Code v2.1.234 이상이 필요합니다 |

308| `CLAUDE_CODE_HIDE_CWD` | 시작 로고에서 작업 디렉토리를 숨기려면 `1`로 설정합니다. 경로가 OS 사용자 이름을 노출하는 화면 공유 또는 녹화에 유용합니다 |311| `CLAUDE_CODE_HIDE_CWD` | 시작 로고에서 작업 디렉토리를 숨기려면 `1`로 설정하세요. 경로가 OS 사용자 이름을 노출하는 화면 공유 또는 녹화에 유용합니다 |

309| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | IDE 확장에 연결하는 데 사용되는 호스트 주소를 재정의합니다. 기본적으로 Claude Code는 WSL-to-Windows 라우팅을 포함한 올바른 주소를 자동 감지합니다 |312| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | IDE 확장에 연결하는 데 사용되는 호스트 주소를 재정의합니다. 기본적으로 Claude Code는 WSL-to-Windows 라우팅을 포함한 올바른 주소를 자동 감지합니다 |

310| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | IDE 확장의 자동 설치를 건너뛰려면 `1`로 설정합니다. [`autoInstallIdeExtension`](/docs/ko/settings-reference#autoinstallideextension)을 `false`로 설정하는 것과 동일합니다 |313| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | IDE 확장의 자동 설치를 건너뛰려면 `1`로 설정하세요. [`autoInstallIdeExtension`](/docs/ko/settings-reference#autoinstallideextension)을 `false`로 설정하는 것과 동일합니다 |

311| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | 연결 중에 IDE 잠금 파일 항목의 유효성 검사를 건너뛰려면 `1`로 설정합니다. 자동 연결이 실행 중인 IDE를 찾지 못할 때 사용합니다 |314| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | IDE 연결 중 IDE 잠금 파일 항목의 유효성 검사를 건너뛰려면 `1`로 설정하세요. 자동 연결이 실행 중인 IDE를 찾지 못할 때 사용합니다 |

312| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Agent 도구가 다른 것을 생성하기를 거부하기 전에 한 세션에서 실행할 수 있는 [서브에이전트](/docs/ko/sub-agents#concurrent-subagent-limit) 수입니다(기본값: 20). 일반 숫자로 양의 정수를 허용합니다. 다른 것은 무시되므로 변수는 상한을 조정할 수 있지만 비활성화할 수 없습니다. Claude Code v2.1.217 이상이 필요합니다 |315| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Agent 도구가 다른 것을 생성하기를 거부하기 전에 한 세션에서 실행할 수 있는 [서브에이전트](/docs/ko/sub-agents#concurrent-subagent-limit) 수입니다(기본값: 20). 일반 숫자로 양의 정수를 허용합니다. 다른 것은 무시되므로 변수가 상한을 조정할 수 있지만 비활성화할 수는 없습니다. Claude Code v2.1.217 이상이 필요합니다 |

313| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Claude Code가 활성 모델에 대해 가정하는 컨텍스트 창 크기를 재정의합니다. v2.1.193부터 적용 방식은 Claude Code가 모델 ID를 확인하는 방식에 따라 다릅니다. [게이트웨이 또는 사용자 정의 모델 ID에 대한 창 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하세요. `ANTHROPIC_BASE_URL`을 통해 컨텍스트 창이 기본 제공 크기와 일치하지 않는 모델로 라우팅할 때 사용합니다 |316| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Claude Code가 활성 모델에 대해 가정하는 컨텍스트 창 크기를 재정의합니다. v2.1.193부터 적용 방식은 Claude Code가 모델 ID를 확인하는 방식에 따라 다릅니다. [게이트웨이 또는 사용자 정의 모델 ID에 대한 창 수정](/docs/ko/model-config#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하세요. `ANTHROPIC_BASE_URL`을 통해 이름이 기본 제공 크기와 일치하지 않는 모델로 라우팅할 때 사용합니다 |

314| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code가 모델로 전송하는 각 MCP 도구 설명 및 각 MCP 서버의 지침의 최대 길이(문자 단위)입니다(기본값: 2048). Claude Code는 [더 긴 텍스트를 자릅니다](/docs/ko/mcp#for-mcp-server-authors). 일반 숫자로 양의 정수를 허용합니다. 다른 것은 무시되고 기본값이 적용됩니다. Claude Code v2.1.280 이상이 필요합니다 |317| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Claude Code가 모델로 전송하는 각 MCP 도구 설명 및 각 MCP 서버의 지침의 최대 길이(문자 단위)(기본값: 2048). Claude Code는 [더 긴 텍스트를 자릅니다](/docs/ko/mcp#for-mcp-server-authors). 일반 숫자로 양의 정수를 허용합니다. 다른 것은 무시되고 기본값이 적용됩니다. Claude Code v2.1.280 이상이 필요합니다 |

315| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | 대부분의 요청에 대한 최대 출력 토큰 수를 설정합니다. 기본값 및 상한은 모델에 따라 다릅니다. [최대 출력 토큰](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)을 참조하세요. Claude Code는 인식하지 못하는 모델 ID(예: 게이트웨이 특정 이름)에 대해 32000으로 기본값을 설정하고 모델의 상한을 초과하는 값을 상한으로 낮춥니다. 이 값을 증가시키면 [자동 압축](/docs/ko/costs#reduce-token-usage)이 트리거되기 전에 사용 가능한 유효 컨텍스트 창이 감소합니다 |318| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | 대부분의 요청에 대한 최대 출력 토큰 수를 설정합니다. 기본값 및 상한은 모델에 따라 다릅니다. [최대 출력 토큰](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison)을 참조하세요. Claude Code는 인식하지 못하는 모델 ID(예: 게이트웨이 특정 이름)에 대해 32000으로 기본값을 설정하고 모델의 상한 이상의 값을 상한으로 낮춥니다. 이 값을 증가시키면 [자동 압축](/docs/ko/costs#reduce-token-usage)이 트리거되기 전에 사용 가능한 유효 컨텍스트 창이 감소합니다 |

316| `CLAUDE_CODE_MAX_RETRIES` | 실패한 API 요청을 재시도할 횟수를 재정의합니다(기본값: 10). v2.1.186부터 15로 제한됩니다. v2.1.199부터 `CLAUDE_CODE_RETRY_WATCHDOG`이 기본값을 올리고 상한을 제거합니다. 더 긴 중단을 기다려야 하는 무인 세션의 경우 대신 `CLAUDE_CODE_RETRY_WATCHDOG`을 설정합니다 |319| `CLAUDE_CODE_MAX_RETRIES` | 실패한 API 요청을 재시도할 횟수를 재정의합니다(기본값: 10). v2.1.186부터 15로 제한됩니다. v2.1.199부터 `CLAUDE_CODE_RETRY_WATCHDOG`이 기본값을 올리고 상한을 제거합니다. 더 긴 중단을 기다려야 하는 무인 세션의 경우 대신 `CLAUDE_CODE_RETRY_WATCHDOG`을 설정하세요 |

317| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | v2.1.224에서 제거되었으며 이제 작동하지 않습니다. 이전에는 한 세션에서 Agent 도구로 생성할 수 있는 [서브에이전트](/docs/ko/sub-agents)의 총 수를 제한했습니다(기본값: 200). 상한을 초과하여 생성하면 `Subagent spawn limit reached`로 실패했습니다. [동시 서브에이전트 제한](/docs/ko/sub-agents#concurrent-subagent-limit) 및 [깊이 제한](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)은 여전히 적용됩니다 |320| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | v2.1.224에서 제거되었으며 이제 작동하지 않습니다. 이전에는 한 세션에서 Agent 도구로 Claude가 생성할 수 있는 [서브에이전트](/docs/ko/sub-agents)의 총 수를 제한했습니다(기본값: 200). 상한을 초과하여 생성하면 `Subagent spawn limit reached`로 실패했습니다. [동시 서브에이전트 제한](/docs/ko/sub-agents#concurrent-subagent-limit) 및 [깊이 제한](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)은 여전히 적용됩니다 |

318| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | 주 대화 아래에 허용되는 [서브에이전트 계층](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents) 수입니다 (기본값: 3). 기본값에서 서브에이전트는 자신의 서브에이전트를 생성할 수 있고, 세 번째 계층의 서브에이전트는 추가로 생성할 수 없습니다. 중첩을 끄려면 `1`로 설정합니다. v2.1.217부터 v2.1.218까지 기본값은 1이었으므로 제한을 올리지 않으면 서브에이전트가 자신의 것을 생성할 수 없었습니다. v2.1.219는 기본값을 3으로 올렸습니다. 일반 숫자로 양의 정수를 허용합니다. 다른 것은 무시되므로 제한을 조정할 수 있지만 제거할 수 없습니다. Claude Code v2.1.217 이상이 필요합니다 |321| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | 주 대화 아래에 허용되는 [서브에이전트 계층](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents) 수입니다 (기본값: 3). 기본값에서 서브에이전트는 자신의 서브에이전트를 생성할 수 있으며, 세 번째 계층의 서브에이전트는 더 이상 생성할 수 없습니다. 중첩을 끄려면 `1`로 설정하세요. v2.1.217부터 v2.1.218까지 기본값은 1이었으므로 제한을 올리지 않으면 서브에이전트가 자신의 것을 생성할 수 없었습니다. v2.1.219는 기본값을 3으로 올렸습니다. 일반 숫자로 양의 정수를 허용합니다. 다른 것은 무시되므로 제한을 조정할 수 있지만 제거할 수는 없습니다. Claude Code v2.1.217 이상이 필요합니다 |

319| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | 병렬로 실행할 수 있는 읽기 전용 도구 및 서브에이전트의 최대 수입니다(기본값: 10). 더 높은 값은 병렬 처리를 증가시키지만 더 많은 리소스를 소비합니다 |322| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | 병렬로 실행할 수 있는 읽기 전용 도구 및 서브에이전트의 최대 수입니다(기본값: 10). 더 높은 값은 병렬 처리를 증가시키지만 더 많은 리소스를 소비합니다 |

320| `CLAUDE_CODE_MAX_TURNS` | 명시적 제한이 전달되지 않을 때 에이전트 턴 수를 제한합니다. [`--max-turns`](/docs/ko/cli-reference#cli-flags) 전달과 동일합니다. 둘 다 설정되면 플래그가 우선합니다. 양의 정수가 아닌 값은 상한이 없는 것으로 취급하지 않고 시작 시 오류로 거부됩니다 |323| `CLAUDE_CODE_MAX_TURNS` | 명시적 제한이 전달되지 않을 때 에이전트 턴 수를 제한합니다. [`--max-turns`](/docs/ko/cli-reference#cli-flags) 전달과 동일합니다. 둘 다 설정되면 플래그가 우선합니다. 양의 정수가 아닌 값은 상한이 없는 것으로 취급되지 않고 시작 시 오류로 거부됩니다 |

321| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | 한 세션이 만들 수 있는 [WebSearch](/docs/ko/tools-reference#websearch-tool-behavior) 호출의 총 수에 대한 상한입니다(기본값: 200). Claude가 상한에 도달하면 추가 WebSearch 호출은 이미 수집한 정보로 계속하도록 지시하는 알림을 반환합니다. 상한이 없는 양의 정수를 허용합니다. 다른 것은 무시되고 기본값이 적용되므로 상한을 올릴 수 있지만 끌 수 없습니다. Claude Code v2.1.212 이상이 필요합니다 |324| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | 한 세션이 만들 수 있는 [WebSearch](/docs/ko/tools-reference#websearch-tool-behavior) 호출의 총 수에 대한 상한입니다(기본값: 200). Claude가 상한에 도달하면 추가 WebSearch 호출은 이미 수집한 정보로 계속하도록 지시하는 알림을 반환합니다. 상한 없이 양의 정수를 허용합니다. 다른 것은 무시되고 기본값이 적용되므로 상한을 올릴 수 있지만 끌 수는 없습니다. Claude Code v2.1.212 이상이 필요합니다 |

322| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | stdio MCP 서버를 셸 환경을 상속하는 대신 안전한 기본 환경과 서버의 구성된 `env`만으로 생성하려면 `1`로 설정합니다 |325| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | 셸 환경을 상속하는 대신 안전한 기본 환경과 서버의 구성된 `env`만 사용하여 stdio MCP 서버를 생성하려면 `1`로 설정하세요 |

323| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | 여전히 실행 중인 MCP 도구 호출이 [백그라운드 작업](/docs/ko/mcp#automatic-backgrounding-of-long-tool-calls)으로 이동하기 전의 경과 시간(밀리초 단위)입니다(기본값: 120000, 또는 2분). 자동 백그라운드 처리를 끄려면 `0`으로 설정합니다. Claude Code v2.1.212 이상이 필요합니다 |326| `CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS` | 여전히 실행 중인 MCP 도구 호출이 [백그라운드 작업으로 이동](/docs/ko/mcp#automatic-backgrounding-of-long-tool-calls)하기 전의 경과 시간(밀리초 단위)(기본값: 120000, 또는 2분). 자동 백그라운드 처리를 끄려면 `0`으로 설정하세요. Claude Code v2.1.212 이상이 필요합니다 |

324| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | [비대화형](/docs/ko/headless) 세션의 첫 번째 턴이 여전히 연결 중인 MCP 서버를 기다리는 시간(밀리초 단위)입니다. 기본 [첫 번째 턴 대기](/docs/ko/agent-sdk/mcp#connection-timing) 대신입니다. 설정하면 대기가 모든 보류 중인 서버를 포함합니다. 대기를 건너뛰려면 `0`으로 설정합니다. [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 서버는 값에 관계없이 자체 `MCP_TIMEOUT` 대기를 유지합니다. Claude Code v2.1.274 이상이 필요합니다 |327| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | [비대화형](/docs/ko/headless) 세션의 첫 번째 턴이 여전히 연결 중인 MCP 서버를 기다리는 시간(밀리초 단위)입니다. 기본 [첫 번째 턴 대기](/docs/ko/agent-sdk/mcp#connection-timing) 대신입니다. 설정하면 대기가 모든 보류 중인 서버를 포함합니다. 대기를 건너뛰려면 `0`으로 설정하세요. [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 서버는 값에 관계없이 자체 `MCP_TIMEOUT` 대기를 유지합니다. Claude Code v2.1.274 이상이 필요합니다 |

325| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP 도구 호출의 유휴 타임아웃(밀리초 단위)입니다. stdio, HTTP, SSE, WebSocket, 또는 [claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai) MCP 서버가 이 시간 동안 응답이나 진행 알림을 보내지 않으면 도구 호출이 전체 `MCP_TOOL_TIMEOUT`을 기다리는 대신 오류로 중단됩니다. 네트워크 서버의 기본값 300000(5분) 및 stdio 서버의 1800000(30분)을 재정의합니다. `0`으로 설정하여 유휴 검사를 비활성화합니다. 1000 미만의 값은 1초로 올라가고 값은 유효한 `MCP_TOOL_TIMEOUT`으로 제한됩니다. `.mcp.json`의 서버별 `timeout`이 최소 1000이면 해당 서버의 유휴 창을 최소 `timeout` 값으로 올립니다. IDE 서버 또는 SDK 인프로세스 서버에는 적용되지 않습니다. Claude Code v2.1.187 이상이 필요합니다. v2.1.203 이전에는 stdio 서버가 유휴 타임아웃에서 제외되었습니다 |328| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | MCP 도구 호출의 유휴 타임아웃(밀리초 단위)입니다. stdio, HTTP, SSE, WebSocket 또는 [claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai) MCP 서버가 이 시간 동안 응답이나 진행 알림을 보내지 않으면 도구 호출이 전체 `MCP_TOOL_TIMEOUT`을 기다리는 대신 오류로 중단됩니다. 네트워크 서버의 기본값 300000(5분) 및 stdio 서버의 1800000(30분)을 재정의합니다. 유휴 확인을 비활성화하려면 `0`으로 설정하세요. 1000 미만의 값은 1초로 올라가고 값은 유효한 `MCP_TOOL_TIMEOUT`으로 제한됩니다. `.mcp.json`의 서버별 `timeout`이 최소 1000이면 해당 서버의 유휴 창을 최소 `timeout` 값으로 올립니다. IDE 서버 또는 SDK 인프로세스 서버에는 적용되지 않습니다. Claude Code v2.1.187 이상이 필요합니다. v2.1.203 이전에는 stdio 서버가 유휴 타임아웃에서 제외되었습니다 |

326| `CLAUDE_CODE_MESSAGING_SOCKET` | Claude Code에서 설정합니다. 사용자가 설정하지 않습니다. [수신함 소켓](/docs/ko/cross-session-messaging#the-sessions-inbox-socket)을 바인드하는 세션에서 Claude Code는 훅 및 Bash 명령에 해당 소켓의 경로를 내보냅니다. 메시징이 켜진 상태로 시작하는 세션에서 Claude Code는 훅이 실행되기 전에 소켓을 바인드합니다. 머신의 다른 세션이 이 경로로 메시지를 전달합니다. 각 세션은 부모에서 상속된 것이 아닌 자신의 소켓을 내보내고, 도착하는 메시지는 세션의 [인바운드 제어](/docs/ko/cross-session-messaging#control-inbound-messages)를 통과합니다. 설정 `env` 블록은 이를 설정할 수 없습니다. Claude Code v2.1.224 이상이 필요합니다 |329| `CLAUDE_CODE_MESSAGING_SOCKET` | Claude Code에서 설정합니다. 사용자가 설정하지 않습니다: [수신함 소켓](/docs/ko/cross-session-messaging#the-sessions-inbox-socket)을 바인드하는 세션에서 Claude Code는 소켓을 바인드할 때 해당 소켓의 경로를 훅 및 Bash 명령으로 내보냅니다. 메시징이 켜진 상태로 시작하는 세션에서 Claude Code는 모든 훅이 실행되기 전에 소켓을 바인드합니다. 머신의 다른 세션이 이 경로로 메시지를 전달합니다. 각 세션은 부모에서 상속된 것이 아니라 자신의 소켓을 내보내고, 도착하는 메시지는 세션의 [인바운드 제어](/docs/ko/cross-session-messaging#control-inbound-messages)를 통과합니다. 설정 `env` 블록은 이를 설정할 수 없습니다. Claude Code v2.1.224 이상이 필요합니다 |

327| `CLAUDE_CODE_MESSAGING_TOKEN` | Claude Code에서 설정합니다. 사용자가 설정하지 않습니다. [수신함 소켓](/docs/ko/cross-session-messaging#the-sessions-inbox-socket)을 바인드하는 세션에서 Claude Code는 `CLAUDE_CODE_MESSAGING_SOCKET`과 함께 훅 및 Bash 명령에 이 세션별 토큰을 내보냅니다. 소켓에 게시하는 스크립트는 `{"type":"auth","token":"<token>"}` 첫 번째 줄로 전송하여 세션에 속함을 증명할 수 있습니다. 기본 Windows에서 Claude Code는 이 줄을 요구하고 유효한 줄로 열지 않는 모든 연결을 닫습니다. [자신의 자식 규칙](/docs/ko/cross-session-messaging#the-sessions-inbox-socket)은 Claude Code가 토큰을 참조하는 시기를 설명합니다. 각 세션은 부모 세션에서 상속된 것이 아닌 자신의 토큰을 내보냅니다. 설정 `env` 블록은 이를 설정할 수 없습니다. Claude Code v2.1.228 이상이 필요합니다 |330| `CLAUDE_CODE_MESSAGING_TOKEN` | Claude Code에서 설정합니다. 사용자가 설정하지 않습니다: [수신함 소켓](/docs/ko/cross-session-messaging#the-sessions-inbox-socket)을 바인드하는 세션에서 Claude Code는 이 세션별 토큰을 `CLAUDE_CODE_MESSAGING_SOCKET`과 함께 훅 및 Bash 명령으로 내보냅니다. 소켓에 게시하는 스크립트는 `{"type":"auth","token":"<token>"}` 첫 번째 줄로 전송하여 세션에 속함을 증명할 수 있습니다. 기본 Windows에서 Claude Code는 이 줄을 요구하고 유효한 줄로 열지 않는 모든 연결을 닫습니다. [자신의 자식 규칙](/docs/ko/cross-session-messaging#the-sessions-inbox-socket)은 Claude Code가 토큰을 참조하는 시기를 설명합니다. 각 세션은 부모 세션에서 상속된 것이 아니라 자신의 토큰을 내보냅니다. 설정 `env` 블록은 이를 설정할 수 없습니다. Claude Code v2.1.228 이상이 필요합니다 |

328| `CLAUDE_CODE_NATIVE_CURSOR` | 그려진 블록 대신 입력 캐럿에서 터미널의 자체 커서를 표시하려면 `1`로 설정합니다. 커서는 터미널의 깜박임, 모양, 포커스 설정을 존중합니다 |331| `CLAUDE_CODE_NATIVE_CURSOR` | 입력 캐럿에서 그려진 블록 대신 터미널의 자체 커서를 표시하려면 `1`로 설정하세요. 커서는 터미널의 깜박임, 모양 및 포커스 설정을 존중합니다 |

329| `CLAUDE_CODE_NEW_INIT` | `/init`이 대화형 설정 흐름을 실행하도록 하려면 `1`로 설정합니다. 흐름은 CLAUDE.md, 기술, 훅을 포함한 생성할 파일을 묻고 코드베이스를 탐색한 후 작성합니다. 이 변수가 없으면 `/init`은 프롬프트 없이 CLAUDE.md를 자동으로 생성합니다 |332| `CLAUDE_CODE_NEW_INIT` | `/init`이 대화형 설정 흐름을 실행하도록 하려면 `1`로 설정하세요. 흐름은 CLAUDE.md, 기술 및 훅을 포함하여 생성할 파일을 선택한 후 코드베이스를 탐색하고 작성하도록 요청합니다. 이 변수가 없으면 `/init`은 프롬프트 없이 CLAUDE.md를 자동으로 생성합니다 |

330| `CLAUDE_CODE_NONBLOCKING_STDOUT` | 두 번째 비차단 파일 디스크립터를 통해 터미널 출력을 작성하려면 `1`로 설정합니다. 일시 중지된 tmux 제어 모드 창이나 정지된 SSH 연결 같이 읽기를 중지하는 터미널이 Claude Code를 세션 중간에 동결할 수 없습니다. macOS, Linux, WSL에서 stdout이 터미널일 때 적용됩니다. Claude Code v2.1.261 이상이 필요합니다 |333| `CLAUDE_CODE_NONBLOCKING_STDOUT` | 일시 중지된 tmux 제어 모드 창이나 정체된 SSH 연결 같은 읽기를 중지하는 터미널이 세션 중간에 Claude Code를 동결할 수 없도록 두 번째 비차단 파일 설명자를 통해 터미널 출력을 쓰려면 `1`로 설정하세요. macOS, Linux 및 WSL에서 stdout이 터미널일 때 적용됩니다. Claude Code v2.1.261 이상이 필요합니다 |

331| `CLAUDE_CODE_NO_FLICKER` | [전체 화면 렌더링](/docs/ko/fullscreen)을 활성화하려면 `1`로 설정합니다. 이는 깜박임을 줄이고 긴 대화에서 메모리를 평평하게 유지하는 연구 미리보기입니다. [`tui`](/docs/ko/settings-reference#tui) 설정을 재정의합니다. `/tui fullscreen`으로도 전환할 수 있습니다 |334| `CLAUDE_CODE_NO_FLICKER` | [전체 화면 렌더링](/docs/ko/fullscreen)을 활성화하려면 `1`로 설정하세요. 이는 깜박임을 줄이고 긴 대화에서 메모리를 평평하게 유지하는 연구 미리보기입니다. [`tui`](/docs/ko/settings-reference#tui) 설정을 재정의합니다. `/tui fullscreen`으로도 전환할 수 있습니다 |

332| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Claude.ai 인증용 OAuth 새로 고침 토큰입니다. 설정하면 `claude auth login`이 브라우저를 열지 않고 이 토큰을 직접 교환합니다. `CLAUDE_CODE_OAUTH_SCOPES`가 필요합니다. 자동화된 환경에서 인증을 프로비저닝하는 데 유용합니다 |335| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Claude.ai 인증을 위한 OAuth 새로 고침 토큰입니다. 설정하면 `claude auth login`이 브라우저를 열지 않고 이 토큰을 직접 교환합니다. `CLAUDE_CODE_OAUTH_SCOPES`가 필요합니다. 자동화된 환경에서 인증을 프로비저닝하는 데 유용합니다 |

333| `CLAUDE_CODE_OAUTH_SCOPES` | 새로 고침 토큰이 발급된 공백으로 구분된 OAuth 범위입니다. 예: `"user:profile user:inference user:sessions:claude_code"`. `CLAUDE_CODE_OAUTH_REFRESH_TOKEN`이 설정되었을 때 필수입니다 |336| `CLAUDE_CODE_OAUTH_SCOPES` | 새로 고침 토큰이 발급된 공백으로 구분된 OAuth 범위입니다(예: `"user:profile user:inference user:sessions:claude_code"`). `CLAUDE_CODE_OAUTH_REFRESH_TOKEN`이 설정되면 필수입니다 |

334| `CLAUDE_CODE_OAUTH_TOKEN` | claude.ai 인증용 OAuth 액세스 토큰입니다. SDK 및 자동화된 환경에서 `/login`의 대안입니다. 키체인 저장 자격 증명보다 우선합니다. [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)으로 생성합니다. [`/login`](/docs/ko/authentication#authentication-precedence)을 실행하지 않으면 Claude Code는 전체 세션에 대해 설정한 토큰을 사용합니다. 만료된 토큰을 교체하려면 새 토큰을 생성하고 다시 시작합니다 |337| `CLAUDE_CODE_OAUTH_TOKEN` | claude.ai 인증을 위한 OAuth 액세스 토큰입니다. `/login`의 대안으로 SDK 및 자동화된 환경에 사용됩니다. 키체인 저장 자격 증명보다 우선합니다. [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)으로 생성하세요. [`/login`](/docs/ko/authentication#authentication-precedence)을 실행하지 않으면 Claude Code는 전체 세션에 대해 설정한 토큰을 사용합니다. 만료된 토큰을 교체하려면 새 토큰을 생성하고 다시 시작하세요 |

335| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | v2.1.160에서 제거되었으며 이제 작동하지 않습니다. 이전에는 [빠른 모드](/docs/ko/fast-mode)를 현재 기본값 대신 Claude Opus 4.6으로 고정했습니다. Opus 4.6은 더 이상 빠른 모드를 지원하지 않습니다 |338| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | v2.1.160에서 제거되었으며 이제 작동하지 않습니다. 이전에는 [빠른 모드](/docs/ko/fast-mode)를 현재 기본값 대신 Claude Opus 4.6으로 고정했습니다. Opus 4.6은 더 이상 빠른 모드를 지원하지 않습니다 |

336| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 콘텐츠 보유 OpenTelemetry 속성(모델 응답, 도구 콘텐츠, 시스템 프롬프트, 원본 API 본문)의 최대 길이입니다. 자르기 마커 포함(기본값: 61440, 즉 60KB). 원격 분석 백엔드가 64KB보다 큰 속성 값을 허용하는 경우에만 올립니다. 또는 원격 분석 볼륨을 줄이려면 낮춥니다. Claude Code v2.1.214 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |339| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | 콘텐츠 보유 OpenTelemetry 속성(모델 응답, 도구 콘텐츠, 시스템 프롬프트, 원본 API 본문)의 최대 길이입니다. 자르기 마커 포함(기본값: 61440, 즉 60KB). UTF-16 코드 단위입니다. 원격 분석 백엔드가 64KB보다 큰 속성 값을 허용하는 경우에만 올리거나, 원격 분석 볼륨을 줄이려면 낮추세요. Claude Code v2.1.214 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

337| `CLAUDE_CODE_OTEL_DIAG_STDERR` | OpenTelemetry 내보내기 진단 오류를 stderr에 작성하려면 `1`로 설정합니다. 기본적으로 이러한 오류는 `--debug`에서만 나타나므로 Prometheus 포트 충돌 같은 잘못 구성된 내보내기는 그렇지 않으면 조용히 실패합니다. Claude Code v2.1.179 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |340| `CLAUDE_CODE_OTEL_DIAG_STDERR` | OpenTelemetry 내보내기 진단 오류를 stderr에 쓰려면 `1`로 설정하세요. 기본적으로 이러한 오류는 `--debug`에서만 나타나므로 Prometheus 포트 충돌 같은 잘못 구성된 내보내기는 그렇지 않으면 조용히 실패합니다. Claude Code v2.1.179 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

338| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 보류 중인 OpenTelemetry 스팬을 플러시하기 위한 타임아웃(밀리초 단위)(기본값: 5000). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |341| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 보류 중인 OpenTelemetry 스팬을 플러시하기 위한 타임아웃(밀리초 단위)(기본값: 5000). [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

339| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 동적 OpenTelemetry 헤더를 새로 고치기 위한 간격(밀리초 단위)(기본값: 1740000 / 29분). [동적 헤더](/docs/ko/monitoring-usage#dynamic-headers)를 참조하세요 |342| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 동적 OpenTelemetry 헤더를 새로 고치기 위한 간격(밀리초 단위)(기본값: 1740000 / 29분). [동적 헤더](/docs/ko/monitoring-usage#dynamic-headers)를 참조하세요 |

340| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | 종료 시 OpenTelemetry 내보내기가 완료되기 위한 타임아웃(밀리초 단위)(기본값: 2000). 메트릭이 종료 시 삭제되면 증가시킵니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |343| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | 종료 시 OpenTelemetry 내보내기가 완료되기 위한 타임아웃(밀리초 단위)(기본값: 2000). 메트릭이 종료 시 삭제되면 증가시키세요. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

341| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | 새 버전을 사용할 수 있을 때 Claude Code가 백그라운드에서 패키지 관리자의 업그레이드 명령을 실행하도록 하려면 `1`로 설정합니다. Homebrew 및 WinGet 설치에 적용됩니다. 다른 패키지 관리자는 계속 업그레이드 명령을 실행하지 않고 표시합니다. [자동 업데이트](/docs/ko/setup#auto-updates)를 참조하세요 |344| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | 새 버전을 사용할 수 있을 때 Claude Code가 백그라운드에서 패키지 관리자의 업그레이드 명령을 실행하도록 하려면 `1`로 설정하세요. Homebrew 및 WinGet 설치에 적용됩니다. 다른 패키지 관리자는 업그레이드 명령을 실행하지 않고 표시합니다. [자동 업데이트](/docs/ko/setup#auto-updates)를 참조하세요 |

342| `CLAUDE_CODE_PERFORCE_MODE` | Perforce 인식 쓰기 보호를 활성화하려면 `1`로 설정합니다. 설정하면 대상 파일이 소유자 쓰기 비트가 없으면 Edit, Write, NotebookEdit이 `p4 edit <file>` 힌트로 실패합니다. Perforce는 `p4 edit`이 열 때까지 동기화된 파일에서 이를 지웁니다. 이는 Claude Code가 Perforce 변경 추적을 우회하지 않도록 방지합니다 |345| `CLAUDE_CODE_PERFORCE_MODE` | Perforce 인식 쓰기 보호를 활성화하려면 `1`로 설정하세요. 설정하면 Edit, Write 및 NotebookEdit이 대상 파일에 소유자 쓰기 비트가 없으면 `p4 edit <file>` 힌트로 실패합니다. Perforce는 `p4 edit`이 열 때까지 동기화된 파일에서 이를 지웁니다. 이는 Claude Code가 Perforce 변경 추적을 우회하지 않도록 방지합니다 |

343| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | 플러그인 루트 디렉토리를 재정의합니다. 이름에도 불구하고 이는 캐시 자체가 아닌 부모 디렉토리를 설정합니다. 마켓플레이스 및 플러그인 캐시는 이 경로 아래의 하위 디렉토리에 있습니다. 기본값은 `~/.claude/plugins`입니다 |346| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | 플러그인 루트 디렉토리를 재정의합니다. 이름에도 불구하고 이는 부모 디렉토리를 설정합니다: 마켓플레이스 및 플러그인 캐시는 이 경로 아래의 하위 디렉토리에 있습니다. 기본값은 `~/.claude/plugins`입니다 |

344| `CLAUDE_CODE_PLUGIN_DIRS` | 세션에 로드할 플러그인 디렉토리입니다. 각각은 [`--plugin-dir`](/docs/ko/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) 플래그가 로드하는 방식으로 로드됩니다. Unix에서는 `:`로, Windows에서는 `;`로 여러 경로를 구분합니다. 각 경로를 절대 경로로 제공하거나 `~`로 시작합니다. Claude Code는 상대 경로를 건너뜁니다. Claude Code v2.1.280 이상이 필요합니다. [한 세션에 대한 플러그인 로드](/docs/ko/plugins/create#load-a-directory-or-archive-for-one-session)를 참조하세요 |347| `CLAUDE_CODE_PLUGIN_DIRS` | 세션에 로드할 플러그인 디렉토리입니다. 각각은 [`--plugin-dir`](/docs/ko/plugins/cli-reference#flags-that-load-a-plugin-for-one-session) 플래그가 로드하는 방식으로 로드됩니다. Unix에서는 `:`로, Windows에서는 `;`로 여러 경로를 구분합니다. 각 경로를 절대 경로로 제공하거나 `~`로 시작하세요. Claude Code는 상대 경로를 건너뜁니다. Claude Code v2.1.280 이상이 필요합니다. [한 세션에 대한 플러그인 로드](/docs/ko/plugins/create#load-a-directory-or-archive-for-one-session)를 참조하세요 |

345| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | 플러그인 마켓플레이스를 복제하거나 새로 고치기 위한 타임아웃(밀리초 단위)(기본값: 120000). 큰 리포지토리 또는 느린 네트워크 연결의 경우 이 값을 증가시킵니다. [Git 복제 시간 초과](/docs/ko/plugins/troubleshooting#git-clone-timed-out-after-120s)를 참조하세요 |348| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | 플러그인 마켓플레이스를 복제하거나 새로 고치기 위한 타임아웃(밀리초 단위)(기본값: 120000). 큰 리포지토리나 느린 네트워크 연결의 경우 이 값을 증가시키세요. [Git 복제 시간 초과](/docs/ko/plugins/troubleshooting#git-clone-timed-out-after-120s)를 참조하세요 |

346| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | 마켓플레이스 새로 고침이 원격에 도달하거나 인증할 수 없을 때 재복제 시도를 건너뛰고 기존 마켓플레이스 체크아웃을 계속 사용하려면 `1`로 설정합니다. 재복제가 동일한 방식으로 실패하는 오프라인 또는 에어갭 환경에 유용합니다. [마켓플레이스 업데이트가 오프라인 환경에서 계속 실패](/docs/ko/plugins/troubleshooting#marketplace-updates-keep-failing-offline)를 참조하세요 |349| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | 마켓플레이스 새로 고침이 원격에 도달하거나 인증할 수 없을 때 재복제 시도를 건너뛰고 기존 마켓플레이스 체크아웃을 계속 사용하려면 `1`로 설정하세요. 재복제가 동일한 방식으로 실패하는 오프라인 또는 에어갭 환경에 유용합니다. [마켓플레이스 업데이트가 오프라인 환경에서 계속 실패](/docs/ko/plugins/troubleshooting#marketplace-updates-keep-failing-offline)를 참조하세요 |

347| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | GitHub `owner/repo` 단축 소스를 SSH 대신 HTTPS를 통해 복제하려면 `1`로 설정합니다. 플러그인 설치 및 업데이트, `/plugin marketplace add` 및 `update`에 적용됩니다. CI 러너, 컨테이너, 또는 `github.com`에 대해 구성된 SSH 키가 없는 환경에 유용합니다 |350| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | GitHub `owner/repo` 단축 소스를 SSH 대신 HTTPS를 통해 복제하려면 `1`로 설정하세요. 플러그인 설치 및 업데이트, `/plugin marketplace add` 및 `update`에 적용됩니다. CI 러너, 컨테이너 또는 `github.com`에 대해 구성된 SSH 키가 없는 모든 환경에 유용합니다 |

348| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 하나 이상의 읽기 전용 플러그인 시드 디렉토리의 경로입니다. Unix에서는 `:`로, Windows에서는 `;`로 구분합니다. 사전 채워진 플러그인 디렉토리를 컨테이너 이미지에 번들로 묶는 데 사용합니다. Claude Code는 시작 시 이러한 디렉토리에서 마켓플레이스를 등록하고 재복제 없이 사전 캐시된 플러그인을 사용합니다. [컨테이너 및 CI에 대한 플러그인 사전 채우기](/docs/ko/plugins/org#seed-containers-and-ci)를 참조하세요 |351| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Unix에서는 `:`로, Windows에서는 `;`로 구분된 하나 이상의 읽기 전용 플러그인 시드 디렉토리의 경로입니다. 사전 채워진 플러그인 디렉토리를 컨테이너 이미지에 번들로 묶는 데 사용합니다. Claude Code는 시작 시 이러한 디렉토리에서 마켓플레이스를 등록하고 재복제 없이 사전 캐시된 플러그인을 사용합니다. [컨테이너 및 CI에 대한 플러그인 사전 채우기](/docs/ko/plugins/org#seed-containers-and-ci)를 참조하세요 |

349| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | PowerShell에 대해 도구 호출, 훅, 상태 줄 명령을 생성할 때 Claude Code가 `-ExecutionPolicy Bypass`를 전달하지 않도록 하려면 `1`로 설정합니다. 대신 머신의 유효한 실행 정책을 존중합니다. 기본적으로 Claude Code는 프로세스 범위에서 실행 정책을 우회하므로 기본 제한 Windows 설치에서 `.ps1` 스크립트 및 모듈 가져오기가 작동합니다. 프로세스 범위 우회는 이 설정에 관계없이 Group Policy `MachinePolicy` 또는 `UserPolicy`를 재정의하지 않습니다 |352| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | PowerShell 도구 호출, 훅 및 상태 줄 명령을 위해 PowerShell을 생성할 때 Claude Code가 `-ExecutionPolicy Bypass`를 전달하지 않도록 하고 대신 머신의 유효한 실행 정책을 존중하려면 `1`로 설정하세요. 기본적으로 Claude Code는 프로세스 범위 바이패스를 수행하므로 `.ps1` 스크립트 및 모듈 가져오기가 기본 제한 Windows 설치에서 작동합니다. 프로세스 범위 바이패스는 이 설정에 관계없이 Group Policy `MachinePolicy` 또는 `UserPolicy`를 재정의하지 않습니다 |

350| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | [비대화형 모드](/docs/ko/headless#background-tasks-at-exit)에서 `-p` 플래그를 사용하여 최종 턴 후 백그라운드 서브에이전트 및 워크플로우를 기다리는 유휴 대기의 상한(밀리초 단위)입니다. 유휴 대기는 Claude가 백그라운드 결과를 처리하기 위해 턴을 할 때마다 다시 시작됩니다. 기본값: `600000`, 또는 10분. 유휴 대기가 상한에 도달하면 Claude Code는 나머지 백그라운드 작업을 기다리지 않고 종료합니다. 무한 대기하려면 `0`으로 설정합니다. 이 상한은 일반 백그라운드 셸에 적용되는 5초 유예 기간과는 별개입니다. Claude Code v2.1.182 이상이 필요합니다 |353| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | [비대화형 모드](/docs/ko/headless#background-tasks-at-exit)에서 `-p` 플래그를 사용하는 최종 턴 후 백그라운드 서브에이전트 및 워크플로우를 기다리는 유휴 대기의 상한(밀리초 단위)입니다. 유휴 대기는 Claude가 백그라운드 결과를 처리하기 위해 턴을 취할 때마다 다시 시작됩니다. 기본값: `600000`, 또는 10분. 유휴 대기가 상한에 도달하면 Claude Code는 나머지 백그라운드 작업을 기다리지 않고 종료합니다. 무한정 기다리려면 `0`으로 설정하세요. 이 상한은 일반 백그라운드 셸에 적용되는 5초 유예 기간과는 별개입니다. Claude Code v2.1.182 이상이 필요합니다 |

351| `CLAUDE_CODE_PROCESS_WRAPPER` | Claude Code가 자신의 바이너리에서 시작하는 프로세스(예: [에이전트 보기](/docs/ko/agent-view) 세션을 호스팅하는 백그라운드 서비스)를 `/opt/corp/launcher` 같은 argv 접두사로 제공되는 기업 런처를 통해 시작합니다. 사용자 또는 [관리 설정](/docs/ko/managed-settings)의 `env` 블록에서 설정합니다. 프로젝트 및 로컬 설정은 이를 설정할 수 없습니다. [`processWrapper` 설정](/docs/ko/settings-reference#processwrapper)과 동일합니다. Claude Code v2.1.210 이상이 필요합니다. 둘 다 설정되면 이 변수가 우선합니다. VS Code 확장은 `claudeProcessWrapper` 설정을 통해 자신의 런처를 별도로 구성합니다. Windows에서는 무시됩니다. [기업 런처 뒤에서 Claude Code 실행](/docs/ko/corporate-launcher)에서 값 형식, 런처가 포함하는 것, 런처가 만족해야 하는 계약을 참조하세요. Claude Code v2.1.208 이상이 필요합니다 |354| `CLAUDE_CODE_PROCESS_WRAPPER` | 자신의 바이너리에서 Claude Code가 시작하는 프로세스(예: [에이전트 보기](/docs/ko/agent-view) 세션을 호스팅하는 백그라운드 서비스)를 `/opt/corp/launcher` 같은 argv 접두사로 제공되는 기업 런처를 통해 시작합니다. 분리된 백그라운드 서비스가 상속하도록 사용자 또는 [관리 설정](/docs/ko/managed-settings)의 `env` 블록에서 설정하세요. 프로젝트 및 로컬 설정은 이를 설정할 수 없습니다. [`processWrapper` 설정](/docs/ko/settings-reference#processwrapper)과 동등합니다. Claude Code v2.1.210 이상이 필요합니다. 둘 다 설정되면 이 변수가 우선합니다. VS Code 확장은 자신의 `claudeProcessWrapper` 설정을 통해 자신의 런처를 구성합니다. Windows에서는 무시됩니다. [기업 런처 뒤에서 Claude Code 실행](/docs/ko/corporate-launcher)에서 값 형식, 런처가 포함하는 것 및 런처가 만족해야 하는 계약을 참조하세요. Claude Code v2.1.208 이상이 필요합니다 |

352| `CLAUDE_CODE_PROJECT_DIR_NAME` | `CLAUDE_CONFIG_DIR`과 함께 설정하여 Claude Code가 해당 세션의 대화 기록 및 자동 메모리를 저장하는 `projects/` 디렉토리 이름을 선택합니다. 작업 디렉토리 경로에서 파생된 것 대신입니다. 예를 들어 `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude`로 Claude Code를 시작하면 `/srv/tenant-a/projects/work/` 아래에 저장합니다. `CLAUDE_CONFIG_DIR`이 설정 해제되면 Claude Code는 이 변수를 무시합니다. `claude`를 시작하는 환경에서만 읽습니다. [설정 파일 `env` 블록](#in-settings-files)에서는 읽지 않습니다. [프로젝트 디렉토리 이름 직접 선택](/docs/ko/sessions#name-the-project-directory-yourself)을 참조하세요. Claude Code v2.1.234 이상이 필요합니다 |355| `CLAUDE_CODE_PROJECT_DIR_NAME` | `CLAUDE_CONFIG_DIR`과 함께 설정하여 Claude Code가 해당 세션의 대화 기록 및 자동 메모리를 저장하는 `projects/` 디렉토리 이름을 선택합니다. 작업 디렉토리 경로에서 파생된 것 대신입니다. 예를 들어 `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude`로 시작하면 `/srv/tenant-a/projects/work/` 아래에 저장합니다. `CLAUDE_CONFIG_DIR`이 설정 해제되면 Claude Code는 이 변수를 무시합니다. `claude`를 시작하는 환경에서만 읽습니다. 설정 파일 `env` 블록에서는 읽지 않습니다. [프로젝트 디렉토리 이름 직접 지정](/docs/ko/sessions#name-the-project-directory-yourself)을 참조하세요. Claude Code v2.1.234 이상이 필요합니다 |

353| `CLAUDE_CODE_PROMPT_CACHE_TTL` | `5m` 또는 `1h`로 설정합니다. Claude Code가 허용하는 유일한 값입니다. 주 대화의 [프롬프트 캐시 TTL](/docs/ko/prompt-caching#cache-lifetime)을 선택합니다. 대화형, `-p`, SDK 턴, 그리고 이들과 함께 인라인으로 실행되는 도우미입니다. `promptCacheTtl` 설정 및 `ENABLE_PROMPT_CACHING_1H`보다 우선합니다. `FORCE_PROMPT_CACHING_5M`이 이를 재정의합니다. API는 1시간 캐시 쓰기를 더 높은 속도로 청구합니다. Claude Code v2.1.242 이상이 필요합니다 |356| `CLAUDE_CODE_PROMPT_CACHE_TTL` | 주 대화의 [프롬프트 캐시 TTL](/docs/ko/prompt-caching#cache-lifetime)을 선택하려면 `5m` 또는 `1h`로 설정하세요. 이는 Claude Code가 허용하는 유일한 값입니다: 대화형, `-p` 및 SDK 턴, 그리고 이들과 함께 인라인으로 실행되는 도우미입니다. `promptCacheTtl` 설정 및 `ENABLE_PROMPT_CACHING_1H`보다 우선하며, `FORCE_PROMPT_CACHING_5M`이 이를 재정의합니다. API는 1시간 캐시 쓰기를 더 높은 속도로 청구합니다. Claude Code v2.1.242 이상이 필요합니다 |

354| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | `ANTHROPIC_BASE_URL`이 사용자 정의 프록시를 가리킬 때 W3C 추적 컨텍스트를 전파하려면 `1`로 설정합니다. 전파는 모델 및 HTTP MCP 요청의 `traceparent` 헤더와 Bash, PowerShell, 훅 서브프로세스의 `TRACEPARENT` 환경 변수를 포함합니다. 기본적으로 Anthropic API에 직접 연결할 때만 전파가 활성화됩니다. v2.1.152에서 추가되었습니다. [추적(베타)](/docs/ko/monitoring-usage#traces-beta)을 참조하세요 |357| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | `ANTHROPIC_BASE_URL`이 사용자 정의 프록시를 가리킬 때 W3C 추적 컨텍스트를 전파하려면 `1`로 설정하세요. 전파는 모델 및 HTTP MCP 요청의 `traceparent` 헤더와 Bash, PowerShell 및 hook 서브프로세스의 `TRACEPARENT` 환경 변수를 포함합니다. 기본적으로 전파는 Anthropic API에 직접 연결할 때만 활성화됩니다. v2.1.152에서 추가되었습니다. [추적(베타)](/docs/ko/monitoring-usage#traces-beta)을 참조하세요 |

355| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Claude Code를 포함하고 자신을 대신하여 모델 공급자 라우팅을 관리하는 호스트 플랫폼에서 설정합니다. 설정하면 Claude Code는 `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL`, `ANTHROPIC_API_KEY` 같은 공급자 선택, 엔드포인트, 인증 변수를 설정 파일에서 무시합니다. 사용자 설정이 호스트의 라우팅을 재정의할 수 없습니다. Claude Code는 또한 [관리 설정](/docs/ko/managed-settings)에서 `model`, `fallbackModel`, `modelOverrides` 같은 모델 선택 키를 무시합니다. 어느 관리 소스가 전달하든 호스트의 모델 구성이 오래된 관리 모델 고정보다 우선합니다. Claude Code는 또한 관리 `env` 블록의 `ANTHROPIC_MODEL` 및 `ANTHROPIC_DEFAULT_*_MODEL` 계열 같은 모델 선택 변수를 무시합니다. 관리 설정의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록은 호스트가 자신의 것을 제공하지 않으면 여전히 적용됩니다. Claude Code는 또한 Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform, Microsoft Foundry 같은 타사 공급자에 적용하는 자동 원격 분석 옵트아웃을 건너뜁니다. 따라서 원격 분석은 표준 `DISABLE_TELEMETRY` 옵트아웃을 따릅니다. [API 공급자별 기본 동작](/docs/ko/data-usage#default-behaviors-by-api-provider)을 참조하세요 |358| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Claude Code를 포함하고 자신을 대신하여 모델 공급자 라우팅을 관리하는 호스트 플랫폼에서 설정합니다. 설정하면 Claude Code는 설정 파일에서 `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` 및 `ANTHROPIC_API_KEY` 같은 공급자 선택, 엔드포인트 및 인증 변수를 무시합니다. 따라서 사용자 설정이 호스트의 라우팅을 재정의할 수 없습니다. Claude Code는 또한 [관리 설정](/docs/ko/managed-settings)의 `model`, `fallbackModel` 및 `modelOverrides` 같은 모델 선택 키를 무시합니다. 어느 관리 소스가 전달하든 호스트의 모델 구성이 오래된 관리 모델 핀보다 우선합니다. Claude Code는 또한 관리 `env` 블록의 `ANTHROPIC_MODEL` 및 `ANTHROPIC_DEFAULT_*_MODEL` 계열 같은 모델 선택 변수를 무시합니다. 관리 설정의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록은 호스트가 자신의 것을 제공하지 않으면 여전히 적용됩니다. Claude Code는 또한 Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform 및 Microsoft Foundry 같은 타사 공급자에서 그렇지 않으면 적용하는 자동 원격 분석 옵트아웃을 건너뜁니다. 따라서 원격 분석은 표준 `DISABLE_TELEMETRY` 옵트아웃을 따릅니다. [API 공급자별 기본 동작](/docs/ko/data-usage#default-behaviors-by-api-provider)을 참조하세요 |

356| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | 호출자 대신 프록시가 DNS 확인을 수행하도록 허용하려면 `1`로 설정합니다. 프록시가 호스트 이름 확인을 처리해야 하는 환경에 옵트인합니다 |359| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | 호출자 대신 프록시가 DNS 확인을 수행하도록 허용하려면 `1`로 설정하세요. 프록시가 호스트 이름 확인을 처리해야 하는 환경에 옵트인합니다 |

357| `CLAUDE_CODE_REMOTE` | Claude Code가 [클라우드 세션](/docs/ko/claude-code-on-the-web)으로 실행 중일 때 자동으로 `true`로 설정됩니다. 훅 또는 설정 스크립트에서 읽어 클라우드 세션에 있는지 감지합니다 |360| `CLAUDE_CODE_REMOTE` | Claude Code가 [클라우드 세션](/docs/ko/claude-code-on-the-web)으로 실행 중일 때 자동으로 `true`로 설정됩니다. 훅 또는 설정 스크립트에서 읽어 클라우드 세션에 있는지 감지합니다 |

358| `CLAUDE_CODE_REMOTE_SESSION_ID` | [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 현재 세션의 ID로 자동으로 설정됩니다. 세션 대화 기록으로 다시 연결하는 링크를 구성하려면 읽습니다. [출력을 세션으로 다시 연결](/docs/ko/cloud-environments#link-output-back-to-the-session)을 참조하세요 |361| `CLAUDE_CODE_REMOTE_SESSION_ID` | [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 현재 세션의 ID로 자동으로 설정됩니다. 세션 대화 기록으로 다시 연결하는 링크를 구성하려면 읽으세요. [출력을 세션으로 다시 연결](/docs/ko/cloud-environments#link-output-back-to-the-session)을 참조하세요 |

359| `CLAUDE_CODE_RESTRICTED` | 세션을 제한된 모드로 시작하려면 `1`로 설정합니다. [`--restricted`](/docs/ko/cli-reference#cli-flags) 전달과 동일합니다. Claude Code는 설정 파일의 `env` 블록에서 이 변수를 무시합니다. Claude Code v2.1.248 이상이 필요합니다 |362| `CLAUDE_CODE_RESTRICTED` | 세션을 제한된 모드로 시작하려면 `1`로 설정하세요. [`--restricted`](/docs/ko/cli-reference#cli-flags)를 전달하는 것과 동일합니다. Claude Code는 설정 파일의 `env` 블록에서 이 변수를 무시합니다. Claude Code v2.1.248 이상이 필요합니다 |

360| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | 이전 세션이 턴 중간에 끝난 경우 자동으로 재개하려면 `1`로 설정합니다. SDK 모드에서 사용되므로 모델이 SDK가 프롬프트를 다시 전송할 필요 없이 계속됩니다. 이를 끄려면 변수를 설정 해제하거나 `0`으로 설정합니다. v2.1.221 이전에는 Claude Code가 `0` 및 기타 거짓 값을 무시했으므로 비대화형 모드에서 `0`을 설정하면 여전히 재개를 트리거했고 변수를 설정 해제하는 것이 유일한 방법이었습니다 |363| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | 이전 세션이 턴 중간에 끝난 경우 자동으로 재개하려면 `1`로 설정하세요. SDK 모드에서 사용되므로 모델이 SDK가 프롬프트를 다시 전송하도록 요구하지 않고 계속됩니다. 이를 끄려면 변수를 설정 해제하거나 `0`으로 설정하세요. v2.1.221 이전에는 Claude Code가 `0` 및 다른 거짓 값을 무시했으므로 비대화형 모드에서 재개를 트리거했으며 변수를 설정 해제하는 것이 끄는 유일한 방법이었습니다 |

361| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | 턴 중간에 끝난 세션이 재개 시 자동으로 계속되기 위한 마지막 대화 기록 메시지의 최대 나이(밀리초 단위)입니다. 마지막 메시지가 이 한계보다 오래되면 Claude Code는 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 자동 재개 및 `CLAUDE_CODE_RESUME_PROMPT` 계속 메시지를 건너뜁니다. 세션은 유휴 상태로 시작되므로 명시적으로 계속됩니다. 설정 해제 또는 `0`은 한계가 없음을 의미합니다. 단, 마지막 요청이 API 오류로 실패한 턴은 해당 오류가 6시간 미만일 때만 재개됩니다. 양수 값은 해당 오류를 포함한 모든 턴을 한계합니다. 음수 또는 숫자가 아닌 값은 1시간 한계를 적용합니다. 장시간 실행되는 에이전트의 스폰 스크립트는 이를 설정하여 오래된 대화 기록에 대한 재시작이 오래된 프롬프트를 다시 실행하지 않도록 할 수 있습니다. Claude Code는 충돌한 [에이전트 보기](/docs/ko/agent-view) 세션을 재시작할 때 대화형 세션에서 상속된 대화를 다시 시작할 때 1시간 한계를 자신이 설정합니다. Claude Code v2.1.211 이상이 필요합니다 |364| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | 턴 중간에 끝난 세션이 재개 시 자동으로 계속되기 위한 마지막 대화 기록 메시지의 최대 나이(밀리초 단위)입니다. 마지막 메시지가 이 한계보다 오래되면 Claude Code는 `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` 자동 재개 및 `CLAUDE_CODE_RESUME_PROMPT` 계속 메시지를 건너뛰고 세션이 시작되어 명시적으로 계속할 수 있습니다. 설정 해제 또는 `0`은 한계가 없음을 의미합니다. 단, 마지막 요청이 API 오류로 실패한 턴은 해당 오류가 6시간 미만일 때만 재개됩니다. 양수 값은 모든 턴을 한계로 제한합니다. 음수 또는 숫자가 아닌 값은 1시간 한계를 적용합니다. 장시간 실행되는 에이전트의 스폰 스크립트는 이를 설정하여 오래된 대화 기록에 대한 재시작이 오래된 프롬프트를 다시 실행하지 않도록 할 수 있습니다. Claude Code는 충돌한 [에이전트 보기](/docs/ko/agent-view) 세션을 재시작할 때 자신이 대화형 세션에서 상속한 경우 1시간 한계를 설정합니다. Claude Code v2.1.211 이상이 필요합니다 |

362| `CLAUDE_CODE_RESUME_PROMPT` | `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`이 프롬프트를 다시 전송하는 대신 중단된 턴을 계속할 때 Claude에 전송하는 계속 메시지를 재정의합니다. 또는 `-p`로 [지연된 도구 호출](/docs/ko/hooks#defer-a-tool-call-for-later)을 재개할 때입니다. 기본값은 `Continue from where you left off.`입니다. 빈 문자열은 기본값을 사용합니다 |365| `CLAUDE_CODE_RESUME_PROMPT` | `CLAUDE_CODE_RESUME_INTERRUPTED_TURN`이 프롬프트를 다시 전송하는 대신 중단된 턴을 계속할 때 Claude에 전송하는 계속 메시지를 재정의합니다. 또는 `-p`로 [지연된 도구 호출](/docs/ko/hooks#defer-a-tool-call-for-later)을 재개할 때입니다. 기본값은 `Continue from where you left off.`입니다. 빈 문자열은 기본값을 사용합니다 |

363| `CLAUDE_CODE_RETRY_WATCHDOG` | 평가 하네스, CI 작업, 원격 작업자 같은 무인 세션에 대해 `1`로 설정합니다. `429` 및 `529` 용량 오류를 `CLAUDE_CODE_MAX_RETRIES` 시도 후 실패하는 대신 무한정 재시도합니다. Claude Code는 표준 속도 요청이 지출 한계 또는 소진된 사용 크레딧을 보고하는 `429`를 받으면 즉시 실패합니다. [게이트웨이 지출 상한](/docs/ko/errors#spend-limit-reached)에서 재설정되는 것도 포함됩니다. v2.1.239 이전에는 감시견이 이를 무한정 재시도했습니다. 빠른 모드 요청의 경우 [속도 제한 처리](/docs/ko/fast-mode#handle-rate-limits)를 참조하세요. 감시견은 시도 사이에 최대 5분까지 백오프하거나 응답이 속도 제한 재설정 시간을 전달할 때까지입니다. 따라서 사용 한계에 도달한 세션은 남은 창을 기다립니다. v2.1.199 이상에서는 서버 오류, 타임아웃, 끊어진 연결 같은 다른 일시적 오류에 대한 기본 재시도 횟수를 300으로 올립니다. 대략 3시간의 백오프이며, `CLAUDE_CODE_MAX_RETRIES`를 명시적으로 설정하면 15의 상한을 제거합니다. Claude Code v2.1.186 이상이 필요합니다 |366| `CLAUDE_CODE_RETRY_WATCHDOG` | 평가 하네스, CI 작업 또는 원격 작업자 같은 무인 세션에 대해 `1`로 설정하세요. `429` 및 `529` 용량 오류를 `CLAUDE_CODE_MAX_RETRIES` 시도 후 실패하는 대신 무한정 재시도합니다. Claude Code는 표준 속도 요청이 지출 제한 또는 소진된 사용 크레딧을 보고하는 `429`를 받으면 즉시 실패합니다. 예를 들어 재설정되는 [게이트웨이 지출 상한](/docs/ko/errors#spend-limit-reached)에서입니다. v2.1.239 이전에는 감시견이 이들을 무한정 재시도했습니다. 빠른 모드 요청의 경우 [속도 제한 처리](/docs/ko/fast-mode#handle-rate-limits)를 참조하세요. 감시견은 시도 사이에 최대 5분까지 백오프하거나 응답이 속도 제한 재설정 시간을 전달할 때까지 백오프합니다. 따라서 사용 제한에 도달한 세션은 남은 창을 기다립니다. v2.1.199 이상에서는 또한 서버 오류, 타임아웃 및 삭제된 연결 같은 다른 일시적 오류에 대한 기본 재시도 횟수를 300으로 올립니다. 대략 3시간의 백오프이며, `CLAUDE_CODE_MAX_RETRIES`를 명시적으로 설정하면 15의 상한을 제거합니다. Claude Code v2.1.186 이상이 필요합니다 |

364| `CLAUDE_CODE_SAFE_MODE` | 안전 모드로 시작하려면 `1`로 설정합니다. CLAUDE.md, 기술, 플러그인, 훅, MCP 서버, 사용자 정의 명령 및 에이전트, 출력 스타일, 워크플로우, 사용자 정의 테마, 사용자 정의 키 바인딩, 상태 줄 및 파일 제안 명령, LSP 서버, 자동 메모리는 로드되지 않습니다. 손상된 구성 문제 해결용입니다. 관리 설정 정책은 여전히 적용됩니다. 정책 구성 훅, 상태 줄, 파일 제안 명령 포함; 관리 플러그인, 관리 기술, 관리 CLAUDE.md, 정책 구성 MCP 서버는 로드되지 않습니다. [`--safe-mode`](/docs/ko/cli-reference#cli-flags) 전달과 동일합니다. 직접 생성된 자식 프로세스는 변수를 상속합니다 |367| `CLAUDE_CODE_SAFE_MODE` | 안전 모드로 시작하려면 `1`로 설정하세요: CLAUDE.md, 기술, 플러그인, 훅, MCP 서버, 사용자 정의 명령 및 에이전트, 출력 스타일, 워크플로우, 사용자 정의 테마, 사용자 정의 키 바인딩, 상태 줄 및 파일 제안 명령, LSP 서버 및 자동 메모리는 로드되지 않습니다. 손상된 구성 문제 해결용입니다. 관리 설정 정책은 여전히 적용됩니다. 정책 구성 훅, 상태 줄 및 파일 제안 명령 포함. 관리 플러그인, 관리 기술, 관리 CLAUDE.md 및 정책 구성 MCP 서버는 로드되지 않습니다. [`--safe-mode`](/docs/ko/cli-reference#cli-flags) 전달과 동등합니다. 직접 생성된 자식 프로세스는 변수를 상속합니다 |

365| `CLAUDE_CODE_SCRIPT_CAPS` | `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`이 설정되었을 때 특정 스크립트가 세션당 호출될 수 있는 횟수를 제한하는 JSON 객체입니다. 키는 명령 텍스트에 대해 일치하는 부분 문자열입니다. 값은 정수 호출 제한입니다. 예: `{"deploy.sh": 2}`는 `deploy.sh`를 최대 2번 호출할 수 있습니다. 일치는 부분 문자열 기반이므로 `./scripts/deploy.sh $(evil)` 같은 셸 확장 트릭도 상한에 대해 계산됩니다. `xargs` 또는 `find -exec`을 통한 런타임 팬아웃은 감지되지 않습니다. 이는 심층 방어 제어입니다 |368| `CLAUDE_CODE_SCRIPT_CAPS` | `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`이 설정되면 세션당 특정 스크립트를 호출할 수 있는 횟수를 제한하는 JSON 객체입니다. 키는 명령 텍스트에 대해 일치하는 부분 문자열입니다. 값은 정수 호출 제한입니다. 예를 들어 `{"deploy.sh": 2}`는 `deploy.sh`를 최대 2번 호출할 수 있습니다. 일치는 부분 문자열 기반이므로 `./scripts/deploy.sh $(evil)` 같은 셸 확장 트릭도 상한에 계산됩니다. `xargs` 또는 `find -exec`를 통한 런타임 팬아웃은 감지되지 않습니다. 이는 심층 방어 제어입니다 |

366| `CLAUDE_CODE_SCROLL_SPEED` | [전체 화면 렌더링](/docs/ko/fullscreen#mouse-wheel-scrolling)에서 마우스 휠 스크롤 배수를 설정합니다. 20까지의 양수 값을 허용합니다. `0.5` 같은 1 미만의 소수 값을 포함합니다. 이미 휠 이벤트를 증폭하는 터미널에서 가속 트랙패드 및 휠 스크롤을 느리게 하려면 `0.5`로 설정합니다. 터미널이 증폭 없이 노치당 하나의 휠 이벤트를 보내면 `3`으로 설정하여 `vim`과 일치합니다. JetBrains IDE 터미널에서는 무시됩니다. Claude Code는 자신의 스크롤 처리를 사용합니다 |369| `CLAUDE_CODE_SCROLL_SPEED` | [전체 화면 렌더링](/docs/ko/fullscreen#mouse-wheel-scrolling)에서 마우스 휠 스크롤 배수를 설정합니다. `0.5` 같은 1 미만의 분수 값을 포함하여 1에서 20까지의 양수 값을 허용합니다. 터미널이 이미 휠 이벤트를 증폭하는 가속 트랙패드 및 휠 스크롤을 느리게 합니다. 터미널이 증폭 없이 노치당 하나의 휠 이벤트를 보내면 `vim`과 일치하도록 `3`으로 설정합니다. JetBrains IDE 터미널에서는 무시됩니다. Claude Code는 자신의 스크롤 처리를 사용합니다 |

367| `CLAUDE_CODE_SEND_FEEDBACK` | 세션에 대해 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior)을 끄려면 `0`으로 설정합니다. 계정이 이미 액세스 권한이 있는 경우 켜려면 `1`로 설정합니다. 변수는 액세스 권한을 부여할 수 없으며, `DISABLE_FEEDBACK_COMMAND` 및 [`feedbackDrafts`](/docs/ko/settings-reference#feedbackdrafts) 설정의 `off` 값 같은 피드백을 끄는 다른 스위치는 여전히 적용됩니다 |370| `CLAUDE_CODE_SEND_FEEDBACK` | 세션에 대해 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior)을 끄려면 `0`으로 설정하세요. 계정이 이미 액세스할 수 있는 경우 켜려면 `1`로 설정하세요. 변수는 액세스 자체를 부여할 수 없으며, `DISABLE_FEEDBACK_COMMAND` 및 [`feedbackDrafts`](/docs/ko/settings-reference#feedbackdrafts) 설정의 `off` 값 같은 피드백을 끄는 다른 스위치가 여전히 적용됩니다 |

368| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | [SessionEnd](/docs/ko/hooks#sessionend) 훅의 시간 예산(밀리초 단위)을 재정의합니다. 값은 자신의 `timeout`을 설정하지 않는 각 훅의 타임아웃이기도 합니다. 세션 종료, `/clear`, 대화형 `/resume`을 통한 세션 전환에 적용됩니다. 기본적으로 예산은 1.5초입니다. 설정 파일에서 구성된 가장 높은 훅별 `timeout`으로 자동으로 올라갑니다. 최대 60초입니다. 플러그인 제공 훅의 타임아웃은 예산을 올리지 않습니다 |371| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | [SessionEnd](/docs/ko/hooks#sessionend) 훅의 시간 예산(밀리초 단위)을 재정의합니다. 값은 또한 자신의 `timeout`을 설정하지 않는 각 훅의 타임아웃입니다. 세션 종료, `/clear` 및 대화형 `/resume`을 통한 세션 전환에 적용됩니다. 기본적으로 예산은 1.5초이며, 설정 파일에서 구성된 가장 높은 훅별 `timeout`으로 자동으로 올라갑니다. 최대 60초입니다. 플러그인 제공 훅의 타임아웃은 예산을 올리지 않습니다 |

369| `CLAUDE_CODE_SESSION_ID` | Bash 및 PowerShell 도구 서브프로세스, [훅 명령](/docs/ko/hooks) 서브프로세스, stdio [MCP 서버](/docs/ko/mcp) 서브프로세스에서 현재 세션 ID로 자동으로 설정됩니다. Bash, PowerShell, 훅의 경우 이는 훅 JSON 입력의 `session_id` 필드와 일치하며 `/clear`에서 업데이트됩니다. MCP 서버 서브프로세스는 생성된 ID를 유지합니다. `--resume <session-id>`에서 재개된 ID를 받습니다. `--continue` 또는 명시적 ID 없는 `--resume`에서 초기 시작 ID를 대신 받을 수 있습니다. 스크립트 및 외부 도구를 이를 시작한 Claude Code 세션과 연관시키는 데 사용합니다 |372| `CLAUDE_CODE_SESSION_ID` | Bash 및 PowerShell 도구 서브프로세스, [hook 명령](/docs/ko/hooks) 서브프로세스 및 stdio [MCP 서버](/docs/ko/mcp) 서브프로세스에서 현재 세션 ID로 자동으로 설정됩니다. Bash, PowerShell 및 훅의 경우 이는 hook JSON 입력의 `session_id` 필드와 일치하며 `/clear`에서 업데이트됩니다. MCP 서버 서브프로세스는 생성된 ID를 유지합니다. `--resume <session-id>`에서 재개된 ID를 수신합니다. `--continue` 또는 명시적 ID 없이 `--resume`에서 초기 시작 ID를 대신 수신할 수 있습니다. 스크립트 및 외부 도구를 시작한 Claude Code 세션과 상관관계를 지으려면 사용합니다 |

370| `CLAUDE_CODE_SHELL` | Claude Code가 Bash 도구 명령을 실행하는 데 사용하는 셸을 설정합니다. `/opt/homebrew/bin/bash` 같은 `bash` 또는 `zsh` 바이너리의 경로를 허용합니다. `fish` 같은 다른 셸은 지원되지 않습니다. 값이 작동하는 `bash` 또는 `zsh` 경로가 아니면 Claude Code는 이를 무시하고 자동 감지로 폴백합니다. 자동 감지는 `$SHELL`이 `bash` 또는 `zsh`를 가리킬 때 사용합니다. 그렇지 않으면 PATH 및 표준 설치 위치에서 작동하는 첫 번째 `zsh`를 선택한 후 `bash`를 선택합니다 |373| `CLAUDE_CODE_SHELL` | Claude Code가 Bash 도구 명령을 실행하는 데 사용하는 셸을 설정합니다. 예를 들어 `/opt/homebrew/bin/bash`와 같은 `bash` 또는 `zsh` 바이너리의 경로를 허용합니다. `fish` 같은 다른 셸은 지원되지 않습니다. 값이 작동하는 `bash` 또는 `zsh` 경로가 아니면 Claude Code는 이를 무시하고 자동 감지로 폴백합니다. 자동 감지는 `$SHELL`이 `bash` 또는 `zsh`를 가리킬 때 사용하고, 그렇지 않으면 PATH 및 표준 설치 위치에서 찾은 첫 번째 작동 `zsh`를 선택한 후 `bash`를 선택합니다 |

371| `CLAUDE_CODE_SHELL_PREFIX` | Claude Code가 생성하는 셸 명령을 래핑하는 명령 접두사입니다. Bash 도구 호출, [훅](/docs/ko/hooks) 명령, [상태 줄](/docs/ko/statusline) 명령, stdio [MCP 서버](/docs/ko/mcp) 시작 명령입니다. PowerShell 훅 및 exec 형식 훅은 접두사 없이 실행됩니다. 로깅 또는 감사에 유용합니다. `/path/to/logger.sh` 같은 단순 실행 파일 경로를 설정하면 각 명령이 `/path/to/logger.sh '<command>'`로 실행됩니다. 래퍼는 명령줄을 `$1`의 단일 셸 인용 인수로 받으므로 래퍼는 `exec bash -c "$1"` 같은 셸로 `$1`을 다시 평가해야 합니다. `$1`을 단순 실행 파일 경로로 취급하면 `npx -y <package>` 같은 인수를 전달하는 stdio MCP 서버가 손상됩니다. Bash 도구 호출의 경우 `$1`은 Claude Code가 조립하는 전체 셸 호출을 포함합니다. 환경 설정 및 Claude가 실행한 명령만이 아닙니다 |374| `CLAUDE_CODE_SHELL_PREFIX` | Claude Code가 생성하는 셸 명령을 래핑하는 명령 접두사: Bash 도구 호출, [hook](/docs/ko/hooks) 명령, [상태 줄](/docs/ko/statusline) 명령 및 stdio [MCP 서버](/docs/ko/mcp) 시작 명령. PowerShell 훅 및 exec 형식 훅은 접두사 없이 실행됩니다. 로깅 또는 감사에 유용합니다. `/path/to/logger.sh` 같은 단순 실행 파일 경로를 설정하면 각 명령이 `/path/to/logger.sh '<command>'`로 실행됩니다. 래퍼는 `$1`에서 명령줄을 단일 셸 인용 인수로 수신하므로 래퍼는 `exec bash -c "$1"` 같은 `$1`을 다시 평가해야 합니다. `$1`을 단순 실행 파일 경로로 취급하면 `npx -y <package>` 같은 인수를 전달하는 stdio MCP 서버가 손상됩니다. Bash 도구 호출의 경우 `$1`은 Claude Code가 조립하는 전체 셸 호출을 포함합니다. 실행한 명령만이 아닙니다 |

372| `CLAUDE_CODE_SIMPLE` | 최소 시스템 프롬프트 및 Bash, 파일 읽기, 파일 편집 도구만으로 실행하려면 `1`로 설정합니다. `--mcp-config`의 MCP 도구는 여전히 사용 가능합니다. 훅, 기술, 사용자 정의 명령, 서브에이전트, 설치된 플러그인, MCP 서버, 자동 메모리, CLAUDE.md의 자동 검색을 비활성화합니다. `--add-dir`로 전달하는 디렉토리의 기술은 여전히 로드됩니다. OAuth 토큰 및 키체인 자격 증명은 읽지 않으므로 Anthropic 인증은 `ANTHROPIC_API_KEY` 또는 `--settings`의 `apiKeyHelper`에서 와야 합니다. [`--bare`](/docs/ko/headless#start-faster-with-bare-mode) 전달과 동일합니다 |375| `CLAUDE_CODE_SIMPLE` | 최소 시스템 프롬프트 및 Bash, 파일 읽기 및 파일 편집 도구만으로 실행하려면 `1`로 설정하세요. `--mcp-config`의 MCP 도구는 여전히 사용 가능합니다. 훅, 기술, 사용자 정의 명령, 서브에이전트, 설치된 플러그인, MCP 서버, 자동 메모리 및 CLAUDE.md의 자동 검색을 비활성화합니다. `--add-dir`로 전달하는 디렉토리의 기술은 여전히 로드됩니다. OAuth 토큰 및 키체인 자격 증명은 읽지 않으므로 Anthropic 인증은 `ANTHROPIC_API_KEY` 또는 `--settings`의 `apiKeyHelper`에서 와야 합니다. [`--bare`](/docs/ko/headless#start-faster-with-bare-mode) 전달과 동등합니다 |

373| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 모든 모델에서 더 짧은 시스템 프롬프트 및 축약된 도구 설명을 사용하려면 `1`로 설정합니다. 실험 또는 서버 구성이 그렇지 않으면 활성화할 때에도 `0`, `false`, `no`, 또는 `off`로 설정하여 옵트아웃합니다. 전체 도구 집합, 훅, MCP 서버, CLAUDE.md 검색은 활성화된 상태로 유지됩니다 |376| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | 모든 모델에서 더 짧은 시스템 프롬프트 및 축약된 도구 설명을 사용하려면 `1`로 설정하세요. 실험 또는 서버 구성이 그렇지 않으면 활성화할 때에도 옵트아웃하려면 `0`, `false`, `no` 또는 `off`로 설정하세요. 전체 도구 세트, 훅, MCP 서버 및 CLAUDE.md 검색은 활성화된 상태로 유지됩니다 |

374| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)에 대한 클라이언트 측 인증을 건너뛰려면 설정합니다. 게이트웨이가 자신이 요청에 서명하는 경우 |377| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)에 대한 클라이언트 측 인증을 건너뛰세요. 게이트웨이가 자신이 요청에 서명하는 경우 |

375| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | AWS 기본 자격 증명 공급자 체인의 인프로세스 캐시를 끄려면 `1`로 설정합니다. Claude Code는 모든 API 요청에서 체인을 확인합니다. 캐시가 꺼져 있으면 SSO 지원 프로필은 모든 요청에서 IAM Identity Center에 자격 증명을 요청합니다. [자격 증명 캐싱 및 확인 타임아웃](/docs/ko/amazon-bedrock#credential-caching-and-resolution-timeout)을 참조하세요. Claude Code v2.1.207 이상이 필요합니다 |378| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | AWS 기본 자격 증명 공급자 체인의 인프로세스 캐시를 끄려면 `1`로 설정하세요. Claude Code는 모든 API 요청에서 체인을 확인합니다. 캐시가 꺼져 있으면 SSO 지원 프로필이 모든 요청에서 IAM Identity Center에 자격 증명을 요청합니다. [자격 증명 캐싱 및 확인 타임아웃](/docs/ko/amazon-bedrock#credential-caching-and-resolution-timeout)을 참조하세요. Claude Code v2.1.207 이상이 필요합니다 |

376| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Amazon Bedrock에 대한 AWS 인증을 건너뛰려면 설정합니다(예: LLM 게이트웨이 사용 시) |379| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Amazon Bedrock에 대한 AWS 인증을 건너뛰세요(예: LLM 게이트웨이 사용 시) |

377| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | 실패한 [빠른 모드](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 가용성 검사를 사용 가능한 것으로 취급하려면 `1`로 설정합니다. 네트워크가 검사의 직접 요청을 `api.anthropic.com`으로 차단하는 경우입니다. Claude Code는 여전히 "조직에서 비활성화됨" 응답을 존중합니다 |380| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | 네트워크가 확인의 직접 요청을 `api.anthropic.com`으로 차단할 때 실패한 [빠른 모드](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 가용성 확인을 사용 가능한 것으로 취급하려면 `1`로 설정하세요. Claude Code는 여전히 "조직에서 비활성화됨" 응답을 존중합니다 |

378| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | 클라이언트 측 [빠른 모드](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 가용성 검사를 건너뛰려면 `1`로 설정합니다. 프록시가 검사의 요청을 거부하는 대신 가로채는 경우입니다. API는 조직이 빠른 모드를 비활성화했을 때 빠른 모드 요청을 여전히 거부합니다 |381| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | 프록시가 확인의 요청을 가로채는 경우 클라이언트 측 [빠른 모드](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) 가용성 확인을 건너뛰려면 `1`로 설정하세요. API는 조직이 빠른 모드를 비활성화했을 때 빠른 모드 요청을 여전히 거부합니다 |

379| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Microsoft Foundry에 대한 Azure 인증을 건너뛰려면 설정합니다. 프록시 또는 게이트웨이가 자신의 `Authorization` 헤더를 주입하는 경우입니다. Claude Code는 Azure 자격 증명 없이 요청을 전송하고 제공한 `Authorization` 헤더를 유지합니다. 예: `ANTHROPIC_CUSTOM_HEADERS`를 통해. `ANTHROPIC_FOUNDRY_API_KEY` 또는 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`이 설정되었을 때는 무시됩니다. v2.1.203 이전에는 이 변수가 API 키도 설정되지 않으면 Microsoft Foundry 클라이언트가 요청을 전송할 수 없게 했습니다 |382| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Microsoft Foundry에 대한 Azure 인증을 건너뛰세요. 프록시 또는 게이트웨이가 자신의 `Authorization` 헤더를 주입하는 경우입니다. Claude Code는 Azure 자격 증명 없이 요청을 전송하고 예를 들어 `ANTHROPIC_CUSTOM_HEADERS`를 통해 제공하는 `Authorization` 헤더를 유지합니다. `ANTHROPIC_FOUNDRY_API_KEY` 또는 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`이 설정되면 무시됩니다. v2.1.203 이전에는 이 변수가 API 키도 설정되지 않으면 Microsoft Foundry 클라이언트가 요청을 전송할 수 없게 했습니다 |

380| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Amazon Bedrock Mantle에 대한 AWS 인증을 건너뛰려면 설정합니다(예: LLM 게이트웨이 사용 시) |383| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Amazon Bedrock Mantle에 대한 AWS 인증을 건너뛰세요(예: LLM 게이트웨이 사용 시) |

381| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | 프롬프트 기록 및 세션 대화 기록을 디스크에 작성하지 않으려면 `1`로 설정합니다. 이 변수로 시작된 세션은 `--resume`, `--continue`, 위쪽 화살표 기록에 나타나지 않습니다. 임시 스크립트 세션에 유용합니다 |384| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | 프롬프트 기록 및 세션 대화 기록을 디스크에 쓰지 않으려면 `1`로 설정하세요. 이 변수로 시작된 세션은 `--resume`, `--continue` 또는 위쪽 화살표 기록에 나타나지 않습니다. 임시 스크립트 세션에 유용합니다 |

382| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Google Cloud의 Agent Platform에 대한 Google 인증을 건너뛰려면 설정합니다(예: LLM 게이트웨이 사용 시) |385| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Google Cloud의 Agent Platform에 대한 Google 인증을 건너뛰세요(예: LLM 게이트웨이 사용 시) |

383| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | `--output-format stream-json`으로 시작된 세션이 [Claude Code가 시작을 거부한 이유를 명명하는 결과 메시지](/docs/ko/agent-sdk/typescript#startup_failure_reason)를 작성하도록 하려면 `1`로 설정합니다. 그렇지 않으면 stderr만으로 끝나는 시작 실패의 경우입니다. Claude Code v2.1.274 이상이 필요합니다 |386| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | `--output-format stream-json`으로 시작된 세션이 [Claude Code가 시작을 거부한 이유를 명명하는 결과 메시지](/docs/ko/agent-sdk/typescript#startup_failure_reason)를 작성하도록 하려면 `1`로 설정하세요. 그렇지 않으면 stderr만으로 끝나는 시작 실패의 경우입니다. Claude Code v2.1.274 이상이 필요합니다 |

384| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | [Stop](/docs/ko/hooks#stop) 또는 [SubagentStop](/docs/ko/hooks#subagentstop) 훅이 Claude Code가 어쨌든 턴을 끝내기 전에 턴이 끝나는 것을 차단할 수 있는 최대 연속 횟수입니다(기본값: 8). 상한을 비활성화하려면 `0`으로 설정합니다. 훅이 합법적으로 더 많은 반복이 필요하면 이를 올립니다 |387| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | [Stop](/docs/ko/hooks#stop) 또는 [SubagentStop](/docs/ko/hooks#subagentstop) 훅이 턴 종료를 차단할 수 있는 최대 연속 횟수입니다(기본값: 8). 그 후 Claude Code는 이를 재정의하고 턴을 어쨌든 종료합니다. 훅이 합법적으로 더 많은 반복이 필요하면 `0`으로 설정하여 상한을 비활성화하거나 올리세요 |

385| `CLAUDE_CODE_SUBAGENT_MODEL` | [서브에이전트](/docs/ko/sub-agents#choose-a-model), [에이전트 팀](/docs/ko/agent-teams#specify-teammates-and-models) 팀원, [워크플로우](/docs/ko/workflows) 에이전트의 기본 모델입니다. 다른 방식으로 모델이 할당되지 않은 경우입니다. `haiku` 같은 별칭 또는 전체 모델 이름을 허용합니다. 두 소스가 이를 우선합니다. Claude가 에이전트를 생성할 때 전달하는 모델과 에이전트 정의의 `model` 필드(예: `inherit` 포함). 이를 변경하려면 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/ko/sub-agents#run-every-subagent-on-one-model)를 설정합니다. [모델 선택](/docs/ko/sub-agents#choose-a-model)에서 전체 순서를 참조하세요. `inherit`로 설정하는 것은 설정 해제하는 것과 동일합니다. v2.1.251 이전에는 이 변수가 호출별 모델과 정의의 `model` 필드를 모두 재정의했습니다 |388| `CLAUDE_CODE_SUBAGENT_MODEL` | [서브에이전트](/docs/ko/sub-agents#choose-a-model), [에이전트 팀](/docs/ko/agent-teams#specify-teammates-and-models) 팀원 및 다른 방식으로 모델이 할당되지 않은 [워크플로우](/docs/ko/workflows) 에이전트의 기본 모델입니다. `haiku` 같은 별칭 또는 전체 모델 이름을 허용합니다. 두 소스가 우선합니다: Claude가 에이전트를 생성할 때 전달하는 모델 및 에이전트 정의의 `model` 필드(예: `inherit` 포함). 이를 변경하려면 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/ko/sub-agents#run-every-subagent-on-one-model)를 설정하세요. [모델 선택](/docs/ko/sub-agents#choose-a-model)에서 전체 순서를 참조하세요. `inherit`로 설정하는 것은 설정 해제하는 것과 동일합니다. v2.1.251 이전에는 이 변수가 호출별 모델과 정의의 `model` 필드를 모두 재정의했습니다 |

386| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | 서브에이전트, 팀원, 워크플로우 에이전트에 하나의 모델을 강제하려면 `1`로 설정합니다. [모든 서브에이전트를 하나의 모델에서 실행](/docs/ko/sub-agents#run-every-subagent-on-one-model)은 그것이 무엇인지 말합니다. Claude Code v2.1.257 이상이 필요합니다 |389| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | 서브에이전트, 팀원 및 워크플로우 에이전트에 하나의 모델을 강제하려면 `1`로 설정하세요. [모든 서브에이전트를 하나의 모델에서 실행](/docs/ko/sub-agents#run-every-subagent-on-one-model)은 어느 모델인지 설명합니다. Claude Code v2.1.257 이상이 필요합니다 |

387| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | `5m` 또는 `1h`로 설정합니다. Claude Code가 허용하는 유일한 값입니다. 주 대화 외부의 요청(예: [서브에이전트](/docs/ko/sub-agents), 워크플로우, 백그라운드 작업)에 대한 [프롬프트 캐시 TTL](/docs/ko/prompt-caching#cache-lifetime)을 선택합니다. `subagentPromptCacheTtl` 설정 및 `ENABLE_PROMPT_CACHING_1H`보다 우선합니다. `FORCE_PROMPT_CACHING_5M`이 이를 재정의합니다. API는 1시간 캐시 쓰기를 더 높은 속도로 청구합니다. Claude Code v2.1.242 이상이 필요합니다 |390| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | [서브에이전트](/docs/ko/sub-agents), 워크플로우 및 백그라운드 작업 같은 주 대화 외부의 요청에 대한 [프롬프트 캐시 TTL](/docs/ko/prompt-caching#cache-lifetime)을 선택하려면 `5m` 또는 `1h`로 설정하세요. 이는 Claude Code가 허용하는 유일한 값입니다. `subagentPromptCacheTtl` 설정 및 `ENABLE_PROMPT_CACHING_1H`보다 우선하며, `FORCE_PROMPT_CACHING_5M`이 이를 재정의합니다. API는 1시간 캐시 쓰기를 더 높은 속도로 청구합니다. Claude Code v2.1.242 이상이 필요합니다 |

388| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | 서브프로세스 환경에서 자격 증명을 제거하려면 `1`로 설정합니다(Bash 도구, 훅, MCP stdio 서버). Anthropic 및 클라우드 공급자 자격 증명, Claude Code가 자격 증명으로 인식하는 다른 변수, 패키지 레지스트리 URL에 포함된 자격 증명입니다. 부모 Claude 프로세스는 API 호출을 위해 이러한 자격 증명을 유지하지만 자식 프로세스는 읽을 수 없습니다. 셸 확장을 통해 비밀을 유출하려는 프롬프트 주입 공격에 대한 노출을 줄입니다. v2.1.251 이상에서는 스크럽이 Claude Code의 자체 구성 저장소 포인터 변수(예: `CLAUDE_CONFIG_DIR`)도 제거합니다. 자식 프로세스가 재배치된 구성 디렉토리를 찾을 수 없습니다. 서브프로세스가 이러한 변수를 필요로 하면 스크럽을 설정 해제합니다. Linux에서는 또한 Bash 서브프로세스를 격리된 PID 네임스페이스에서 실행합니다. 따라서 `/proc`을 통해 호스트 프로세스 환경을 읽을 수 없습니다. 부작용으로 `ps`, `pgrep`, `kill`은 호스트 프로세스를 보거나 신호할 수 없습니다. `claude-code-action`은 `allowed_non_write_users`가 구성되었을 때 자동으로 이를 설정합니다 |391| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | 서브프로세스 환경에서 자격 증명을 제거하려면 `1`로 설정하세요(Bash 도구, 훅, MCP stdio 서버): Anthropic 및 클라우드 공급자 자격 증명, Claude Code가 자격 증명으로 인식하는 다른 변수 및 패키지 레지스트리 URL에 포함된 자격 증명. 부모 Claude 프로세스는 API 호출을 위해 이러한 자격 증명을 유지하지만 자식 프로세스는 읽을 수 없습니다. 셸 확장을 통해 비밀을 유출하려는 프롬프트 주입 공격에 대한 노출을 줄입니다. v2.1.251 이상에서 스크럽은 또한 Claude Code의 자체 구성 저장소 포인터 변수(예: `CLAUDE_CONFIG_DIR`)를 제거합니다. 따라서 자식 프로세스는 재배치된 구성 디렉토리를 찾을 수 없습니다. 서브프로세스가 이러한 변수를 필요로 하면 스크럽을 설정 해제하세요. Linux에서는 또한 Bash 서브프로세스를 격리된 PID 네임스페이스에서 실행하므로 `/proc`을 통해 호스트 프로세스 환경을 읽을 수 없습니다. 부작용으로 `ps`, `pgrep` 및 `kill`은 호스트 프로세스를 보거나 신호할 수 없습니다. `claude-code-action`은 `allowed_non_write_users`가 구성되면 자동으로 이를 설정합니다 |

389| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 비대화형 모드(`-p` 플래그)에서 첫 번째 쿼리 전에 플러그인 설치가 완료될 때까지 기다리려면 `1`로 설정합니다. 이것이 없으면 플러그인이 백그라운드에 설치되고 첫 번째 턴에서 사용할 수 없을 수 있습니다. `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`와 결합하여 대기를 한계합니다 |392| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 비대화형 모드(`-p` 플래그)에서 첫 번째 쿼리 전에 플러그인 설치가 완료될 때까지 기다리려면 `1`로 설정하세요. 없으면 플러그인이 백그라운드에서 설치되며 첫 번째 턴에서 사용할 수 없을 수 있습니다. `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`와 결합하여 대기를 제한하세요 |

390| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 동기 플러그인 설치의 타임아웃(밀리초 단위)입니다. 초과되면 Claude Code는 플러그인 없이 진행하고 오류를 기록합니다. 기본값 없음: 이 변수가 없으면 동기 설치는 완료될 때까지 기다립니다 |393| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 동기 플러그인 설치의 타임아웃(밀리초 단위)입니다. 초과되면 Claude Code는 플러그인 없이 진행하고 오류를 기록합니다. 기본값 없음: 이 변수가 없으면 동기 설치는 완료될 때까지 기다립니다 |

391| `CLAUDE_CODE_SYNC_SKILLS` | 비대화형 모드(`-p` 플래그)에서 Claude Code가 claude.ai 계정에 대해 활성화된 기술을 다운로드하고 `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`까지 목록을 기다리도록 하려면 `1`로 설정합니다. 다운로드 자체는 백그라운드에서 완료되고 Claude는 기술을 호출할 때 해당 기술의 다운로드를 기다립니다. claude.ai 인증이 필요합니다. 로그인한 claude.ai 계정이 있는 터미널 세션은 이 변수 없이 [이러한 기술을 다운로드](/docs/ko/skills#where-synced-skills-load)합니다. `~/.claude/skills/synced/`로 약 10분마다 재동기화합니다. `-p` 실행이 첫 번째 쿼리에서 현재 기술을 필요로 할 때만 설정합니다. v2.1.273 이전에는 터미널 세션이 이 변수 집합이 있는 `-p` 실행에서만 다운로드했습니다. `synced` 폴더 이름은 [이 다운로드를 위해 예약됩니다](/docs/ko/skills#where-skills-live). v2.1.227 이전에는 기술이 `~/.claude/skills/`로 직접 다운로드되었습니다. Claude Code는 [다운로드된 기술에 추가 규칙을 적용합니다](/docs/ko/skills#how-synced-skills-behave). 예: 머신에서 `!` 명령을 실행하지 않습니다 |394| `CLAUDE_CODE_SYNC_SKILLS` | 비대화형 모드(`-p` 플래그)에서 Claude Code가 계정에 대해 활성화된 기술을 다운로드하고 `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`까지 목록을 기다리도록 하려면 `1`로 설정하세요. 다운로드 자체는 백그라운드에서 완료되고 Claude는 해당 기술을 호출할 때 기술의 다운로드를 기다립니다. claude.ai 인증이 필요합니다. claude.ai 계정으로 로그인하는 터미널 세션은 [이러한 기술을 다운로드](/docs/ko/skills#where-synced-skills-load)하여 `~/.claude/skills/synced/`로 저장하고 이 변수 없이 약 10분마다 재동기화합니다. 따라서 `-p` 실행이 첫 번째 쿼리에서 현재 기술이 필요할 때만 설정하세요. v2.1.273 이전에는 터미널 세션이 이 변수로 설정된 `-p` 실행에서만 다운로드했습니다. `synced` 폴더 이름은 [이 다운로드를 위해 예약됩니다](/docs/ko/skills#where-skills-live). v2.1.227 이전에는 기술이 `~/.claude/skills/`로 직접 다운로드되었습니다. Claude Code는 [다운로드된 기술에 추가 규칙을 적용합니다](/docs/ko/skills#how-synced-skills-behave). 예를 들어 머신에서 `!` 명령을 실행하지 않습니다 |

392| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | 앱이 [Agent SDK](/docs/ko/agent-sdk/typescript#query-object)에 구축되었을 때 세션 중간에 기술을 다시 로드할 때 기술 재동기화의 타임아웃(밀리초 단위)입니다(기본값: 30000). 초과되면 재로드는 도착한 기술로 계속되고 나머지 다운로드는 백그라운드에서 완료됩니다 |395| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | 앱이 [Agent SDK](/docs/ko/agent-sdk/typescript#query-object)를 기반으로 기술을 다시 로드할 때 실행되는 기술 재동기화의 타임아웃(밀리초 단위)(기본값: 30000). 초과되면 재로드는 도착한 기술로 계속되고 나머지 다운로드는 백그라운드에서 완료됩니다 |

393| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | `CLAUDE_CODE_SYNC_SKILLS`이 설정되었을 때 첫 번째 쿼리가 초기 기술 목록을 기다리는 타임아웃(밀리초 단위)입니다(기본값: 5000). 초과되면 첫 번째 쿼리는 도착한 기술로 실행됩니다. 다운로드는 어느 쪽이든 백그라운드에서 완료되고 Claude는 기술을 호출할 때 해당 기술의 다운로드를 기다립니다 |396| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | `CLAUDE_CODE_SYNC_SKILLS`가 설정되면 첫 번째 쿼리가 초기 기술 목록을 기다리는 타임아웃(밀리초 단위)(기본값: 5000). 초과되면 첫 번째 쿼리는 도착한 기술로 실행됩니다. 다운로드는 어느 쪽이든 백그라운드에서 완료되고 Claude는 기술을 호출할 때 기술의 다운로드를 기다립니다 |

394| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | diff 출력에서 구문 강조를 비활성화하려면 `false`로 설정합니다. 색상이 터미널 설정을 방해할 때 유용합니다. 코드 블록 및 파일 미리보기에서도 강조를 비활성화하려면 [`syntaxHighlightingDisabled`](/docs/ko/settings-reference#syntaxhighlightingdisabled) 설정을 사용합니다 |397| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | diff 출력에서 구문 강조를 비활성화하려면 `false`로 설정하세요. 색상이 터미널 설정을 방해할 때 유용합니다. 코드 블록 및 파일 미리보기에서도 강조를 비활성화하려면 [`syntaxHighlightingDisabled`](/docs/ko/settings-reference#syntaxhighlightingdisabled) 설정을 사용하세요 |

395| `CLAUDE_CODE_TASK_LIST_ID` | 세션 간에 작업 목록을 공유합니다. 여러 Claude Code 인스턴스에서 동일한 ID를 설정하여 [Task 도구가 있는 세션](/docs/ko/tools-reference#task-tool-availability)에서 공유 작업 목록을 조정합니다. [작업 목록](/docs/ko/interactive-mode#task-list)을 참조하세요 |398| `CLAUDE_CODE_TASK_LIST_ID` | 세션 간에 작업 목록을 공유합니다. 여러 Claude Code 인스턴스에서 동일한 ID를 설정하여 [Task 도구가 있는 세션](/docs/ko/tools-reference#task-tool-availability)에서 공유 작업 목록을 조정합니다. [작업 목록](/docs/ko/interactive-mode#task-list)을 참조하세요 |

396| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | 비대화형 세션이 종료 시 [에이전트 팀](/docs/ko/agent-teams)이 분해될 때까지 기다리는 시간(밀리초 단위)을 재정의합니다. 1000에서 60000을 허용합니다. 범위를 벗어난 값은 무시되고 기본값 10000이 적용됩니다. Claude Code v2.1.206 이상이 필요합니다 |399| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | 비대화형 세션이 [에이전트 팀](/docs/ko/agent-teams)이 종료될 때까지 기다리는 시간(밀리초 단위)을 재정의합니다. 1000에서 60000을 허용합니다. 범위를 벗어난 값은 무시되고 기본값 10000이 적용됩니다. Claude Code v2.1.206 이상이 필요합니다 |

397| `CLAUDE_CODE_TMPDIR` | 내부 임시 파일에 사용되는 임시 디렉토리를 재정의합니다. Claude Code는 Unix에서 이 경로에 `/claude-{uid}/`를 추가하거나 Windows에서 `/claude/`를 추가합니다. 기본값: macOS에서 `/tmp`, Linux 및 Windows에서 `os.tmpdir()`. macOS 및 Linux에서 [샌드박스](/docs/ko/sandboxing) Bash 서브프로세스는 경로가 길 때 시스템 기본값 아래 짧은 폴백 `$TMPDIR`을 받습니다. 일부 도구는 임시 경로가 너무 길면 실패합니다. 샌드박스되지 않은 Bash 명령은 설정된 경우 셸의 `$TMPDIR`을 상속합니다. Claude Code의 자체 임시 파일은 항상 재정의를 사용합니다. 셸, 사용자 설정 또는 관리 설정에서 설정합니다. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다 |400| `CLAUDE_CODE_TMPDIR` | 내부 임시 파일에 사용되는 임시 디렉토리를 재정의합니다. Claude Code는 Unix에서 `/claude-{uid}/`를 또는 Windows에서 `/claude/`를 이 경로에 추가합니다. 기본값: macOS에서 `/tmp`, Linux 및 Windows에서 `os.tmpdir()`. macOS 및 Linux에서 [샌드박스](/docs/ko/sandboxing) Bash 서브프로세스는 재정의가 긴 경로일 때 시스템 기본값 아래에서 짧은 폴백 `$TMPDIR`을 수신합니다. 일부 도구는 임시 경로가 너무 길면 실패하기 때문입니다. 샌드박스되지 않은 Bash 명령은 설정되면 셸의 `$TMPDIR`을 상속합니다. Claude Code의 자체 임시 파일은 항상 재정의를 사용합니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다 |

398| `CLAUDE_CODE_TMUX_TRUECOLOR` | tmux 내에서 24비트 truecolor 출력을 허용하려면 `1` 같은 비어있지 않은 값으로 설정합니다. **`0` 또는 `false`로 설정하면 여전히 truecolor를 허용합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 256색 제한을 복원합니다. 기본적으로 `$TMUX`가 설정되었을 때 Claude Code는 256색으로 제한합니다. tmux는 구성되지 않으면 truecolor 이스케이프 시퀀스를 통과하지 않기 때문입니다. `~/.tmux.conf`에 `set -ga terminal-overrides ',*:Tc'`를 추가한 후 설정합니다. [터미널 구성](/docs/ko/terminal-config)에서 다른 tmux 설정을 참조하세요 |401| `CLAUDE_CODE_TMUX_TRUECOLOR` | tmux 내에서 24비트 참 색상 출력을 허용하려면 `1` 같은 비어있지 않은 값으로 설정하세요. **`0` 또는 `false`로 설정하면 여전히 참 색상을 허용합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 256색 제한을 복원하세요. 기본적으로 `$TMUX`가 설정되면 Claude Code는 256색으로 제한합니다. tmux는 구성되지 않으면 참 색상 이스케이프 시퀀스를 통과하지 않기 때문입니다. `~/.tmux.conf`에 `set -ga terminal-overrides ',*:Tc'`를 추가한 후 이를 설정하세요. [터미널 구성](/docs/ko/terminal-config)에서 다른 tmux 설정을 참조하세요 |

399| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Linux 및 WSL에서 Claude Code가 도구 메모리 상한에서 [제외하는 프로세스 종류](/docs/ko/tools-reference#memory-limit-on-linux-and-wsl)의 쉼표로 구분된 목록입니다. 예: `mcp` 또는 `lsp`. 모든 종류를 제한하려면 `none`으로 설정합니다. 또는 Bash, PowerShell, Monitor 도구 명령만 제한하려면 `all-new`로 설정합니다. Claude Code는 나열한 것에 관계없이 Bash, PowerShell, Monitor 도구 명령을 상한 아래로 유지합니다. Claude Code v2.1.246 이상이 필요합니다 |402| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Linux 및 WSL에서 Claude Code가 도구 메모리 상한에서 [제외하는 프로세스 종류](/docs/ko/tools-reference#memory-limit-on-linux-and-wsl)의 쉼표로 구분된 목록입니다(예: `mcp` 또는 `lsp`). 모든 종류를 제한하려면 `none`으로 설정하거나, Bash, PowerShell 및 Monitor 도구 명령만 제한하려면 `all-new`로 설정하세요. Claude Code는 어떤 것을 나열하든 Bash, PowerShell 및 Monitor 도구 명령을 상한 아래로 유지합니다. Claude Code v2.1.246 이상이 필요합니다 |

400| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Linux 및 WSL에서 `4G` 같은 크기로 설정하여 [Bash 및 PowerShell 도구 명령이 사용할 수 있는 메모리를 제한합니다](/docs/ko/tools-reference#memory-limit-on-linux-and-wsl). v2.1.246 이상에서 Monitor 도구 명령입니다. 일반 숫자로 크기를 작성합니다. 바이트 수만 또는 `K`, `M`, `G`, 또는 `T` 접미사 포함입니다. 상한을 끄려면 `0` 또는 `off`로 설정합니다. 첫 번째 프로세스 Claude Code가 상한을 켜거나 끈 후 변경된 값은 다음 `claude` 시작 시 적용됩니다. Claude Code v2.1.233 이상이 필요합니다 |403| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Linux 및 WSL에서 [Bash 및 PowerShell 도구 명령이 사용할 수 있는 메모리를 제한](/docs/ko/tools-reference#memory-limit-on-linux-and-wsl)하려면 `4G` 같은 크기로 설정하세요. v2.1.246 이상에서 Monitor 도구 명령도 포함됩니다. 일반 숫자로 크기를 작성합니다. 바이트 수만 또는 `K`, `M`, `G` 또는 `T` 접미사 포함. 상한을 끄려면 `0` 또는 `off`로 설정하세요. Claude Code가 시작하는 첫 번째 프로세스가 상한을 켜거나 끈 후 변경된 값은 다음에 `claude`를 시작할 때 적용됩니다. Claude Code v2.1.233 이상이 필요합니다 |

401| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Claude Code가 [Remote Control](/docs/ko/remote-control) 또는 SDK 호스트 같은 원격 클라이언트로 전달하는 대화 상자의 기한(밀리초 단위)입니다. 또는 [보류 중인 교차 세션 메시지](/docs/ko/cross-session-messaging#control-inbound-messages)의 승인 대화 상자입니다. 권한 프롬프트 및 `AskUserQuestion` 질문은 자체 흐름을 사용하며 이에 의해 관리되지 않습니다. Claude Code v2.1.236 이상에서는 또한 무인 상태로 실행될 수 있는 세션의 세션 중간 [Fable 사용 크레딧 동의 프롬프트](/docs/ko/model-config#fable-and-usage-credits)를 한계합니다. [인바운드 메시지 제어](/docs/ko/cross-session-messaging#control-inbound-messages) 및 [비대화형 세션](/docs/ko/cross-session-messaging#non-interactive-sessions)은 기한이 적용되지 않는 경우를 포함한 전체 보류 메시지 만료 규칙을 다룹니다. [`dialogExpiry`](/docs/ko/settings-reference#dialogexpiry) 설정을 재정의합니다. `0` 또는 음수는 기한을 비활성화합니다 |404| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Claude Code가 [원격 제어](/docs/ko/remote-control) 또는 SDK 호스트 같은 원격 클라이언트로 전달하는 대화 상자의 기한(밀리초 단위)입니다. 또는 [보유된 교차 세션 메시지](/docs/ko/cross-session-messaging#control-inbound-messages)의 승인 대화 상자입니다. 권한 프롬프트 및 `AskUserQuestion` 질문은 자체 흐름을 사용하며 이에 의해 관리되지 않습니다. Claude Code v2.1.236 이상에서는 또한 무인 상태로 실행될 수 있는 세션의 세션 중간 [Fable 사용 크레딧 동의 프롬프트](/docs/ko/model-config#fable-and-usage-credits)를 제한합니다. [인바운드 메시지 제어](/docs/ko/cross-session-messaging#control-inbound-messages) 및 [비대화형 세션](/docs/ko/cross-session-messaging#non-interactive-sessions)은 기한이 적용되지 않는 경우를 포함하여 전체 보유 메시지 만료 규칙을 다룹니다. [`dialogExpiry`](/docs/ko/settings-reference#dialogexpiry) 설정을 재정의합니다. `0` 또는 음수 값은 기한을 비활성화합니다 |

402| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)를 사용합니다 |405| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)를 사용합니다 |

403| `CLAUDE_CODE_USE_BEDROCK` | [Amazon Bedrock](/docs/ko/amazon-bedrock)을 사용합니다 |406| `CLAUDE_CODE_USE_BEDROCK` | [Amazon Bedrock](/docs/ko/amazon-bedrock)을 사용합니다 |

404| `CLAUDE_CODE_USE_FOUNDRY` | [Microsoft Foundry](/docs/ko/microsoft-foundry)를 사용합니다 |407| `CLAUDE_CODE_USE_FOUNDRY` | [Microsoft Foundry](/docs/ko/microsoft-foundry)를 사용합니다 |

405| `CLAUDE_CODE_USE_MANTLE` | Amazon Bedrock [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)를 사용합니다 |408| `CLAUDE_CODE_USE_MANTLE` | Amazon Bedrock [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)를 사용합니다 |

406| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | ripgrep 대신 Node.js 파일 API를 사용하여 사용자 정의 명령, 서브에이전트, 출력 스타일을 검색하려면 `1`로 설정합니다. 번들 ripgrep 바이너리를 사용할 수 없거나 환경에서 차단된 경우 설정합니다. Grep 또는 파일 검색 도구에는 영향을 주지 않습니다 |409| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | ripgrep 대신 Node.js 파일 API를 사용하여 사용자 정의 명령, 서브에이전트 및 출력 스타일을 검색하려면 `1`로 설정하세요. 번들 ripgrep 바이너리를 사용할 수 없거나 환경에서 차단되는 경우 설정하세요. Grep 또는 파일 검색 도구에는 영향을 주지 않습니다 |

407| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | PowerShell 도구를 제어합니다. Git Bash가 없는 Windows에서는 도구가 자동으로 활성화됩니다. `0`으로 설정하여 비활성화합니다. Git Bash가 설치된 Windows에서는 claude.ai 및 Console 계정에 대해 기본적으로 켜져 있습니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 세션에서 켜려면 `1`로 설정하거나 `0`으로 끕니다. Linux, macOS, WSL에서는 `1`로 설정하여 켜세요. PATH에 `pwsh`가 필요합니다. Windows에서 활성화되면 Claude는 Git Bash를 통해 라우팅하는 대신 PowerShell 명령을 기본적으로 실행할 수 있습니다. [PowerShell 도구](/docs/ko/tools-reference#powershell-tool)를 참조하세요 |410| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | PowerShell 도구를 제어합니다. Git Bash 없는 Windows에서는 도구가 자동으로 활성화됩니다. `0`으로 설정하여 비활성화하세요. Git Bash가 설치된 Windows에서는 도구가 claude.ai 및 Console 계정에 대해 기본적으로 켜져 있습니다. Amazon Bedrock, Google Cloud의 Agent Platform 및 Microsoft Foundry 세션에서 활성화하려면 `1`로 설정하거나, 끄려면 `0`으로 설정하세요. Linux, macOS 및 WSL에서는 `1`로 설정하여 활성화합니다. PATH에 `pwsh`가 필요합니다. Windows에서 활성화되면 Claude는 Git Bash를 통해 라우팅하는 대신 PowerShell 명령을 기본적으로 실행할 수 있습니다. [PowerShell 도구](/docs/ko/tools-reference#powershell-tool)를 참조하세요 |

408| `CLAUDE_CODE_USE_VERTEX` | [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)을 사용합니다 |411| `CLAUDE_CODE_USE_VERTEX` | [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)을 사용합니다 |

409| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | [WebFetch](/docs/ko/tools-reference#webfetch-tool-behavior)가 각 가져온 URL의 응답을 캐시하는 시간(밀리초 단위)으로 설정합니다. 기본값은 `900000`(15분)입니다. 일반 숫자만 허용합니다. `0`, 소수, 기타 표기법은 기본값을 유지합니다. Claude Code는 값을 시작당 한 번 읽으므로 설정 `env` 블록의 변경은 다음 `claude` 시작 시 적용됩니다. Claude Code v2.1.233 이상이 필요합니다 |412| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | [WebFetch](/docs/ko/tools-reference#webfetch-tool-behavior)가 각 가져온 URL의 응답을 캐시하는 시간(밀리초 단위)으로 설정합니다. 기본값은 `900000`(15분)입니다. 일반 숫자만 사용합니다. `0`, 소수 또는 다른 표기법은 기본값을 유지합니다. Claude Code는 값을 시작당 한 번 읽으므로 설정 `env` 블록의 변경은 다음에 `claude`를 시작할 때 적용됩니다. Claude Code v2.1.233 이상이 필요합니다 |

410| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | [WebFetch](/docs/ko/tools-reference#webfetch-tool-behavior)가 페이지 다운로드를 기다리는 상한(밀리초 단위)입니다. 따라가는 리다이렉트 포함입니다. 그때까지 완료되지 않은 다운로드는 기한 오류로 실패합니다. 기본값은 `300000`(5분)입니다. 제한을 제거하려면 `0`으로 설정합니다. 일반 숫자만 허용합니다. 소수 또는 기타 표기법은 기본값을 유지합니다. Claude Code v2.1.268 이상이 필요합니다 |413| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | [WebFetch](/docs/ko/tools-reference#webfetch-tool-behavior)가 페이지 다운로드를 기다리는 시간(밀리초 단위)의 상한입니다. 따라는 모든 리다이렉트 포함입니다. 그 시간까지 완료되지 않은 다운로드는 기한 오류로 실패합니다. 기본값은 `300000`(5분)입니다. 제한을 제거하려면 `0`으로 설정하세요. 일반 숫자만 사용합니다. 소수 또는 다른 표기법은 기본값을 유지합니다. Claude Code v2.1.268 이상이 필요합니다 |

411| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | 단일 [워크플로우](/docs/ko/workflows) 실행이 한 번에 실행하는 에이전트 수입니다. `1`에서 `256` 사이입니다. 기본적으로 실행은 한 번에 최대 16개 에이전트를 실행합니다. Claude Code가 더 적은 CPU를 사용할 수 있으면 더 적습니다. 대기 중인 `agent()` 호출은 빈 슬롯을 기다립니다. 각 실행 중인 에이전트의 대화 기록은 Claude Code의 메모리에 남아 있으므로 더 높은 값은 메모리 사용을 올립니다. 일반 숫자만 허용합니다. 범위를 벗어난 값 및 기타 표기법은 기본값을 유지합니다. Claude Code v2.1.269 이상이 필요합니다 |414| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | 단일 [워크플로우](/docs/ko/workflows) 실행이 한 번에 실행하는 에이전트 수입니다. `1`에서 `256`까지입니다. 기본적으로 실행은 한 번에 최대 16개 에이전트를 실행합니다. Claude Code가 더 적은 CPU를 사용할 수 있으면 더 적습니다. 대기 중인 `agent()` 호출은 빈 슬롯을 기다립니다. 실행 중인 각 에이전트의 대화 기록은 Claude Code의 메모리에 남아 있으므로 더 높은 값은 메모리 사용을 증가시킵니다. 일반 숫자만 사용합니다. 범위를 벗어난 값 및 다른 표기법은 기본값을 유지합니다. Claude Code v2.1.269 이상이 필요합니다 |

412| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [워크플로우](/docs/ko/workflows) 에이전트가 동일 접두사 형제의 첫 응답이 시작되기 전에 대기하는 상한(밀리초 단위)입니다. 여러 에이전트를 공유하는 [프롬프트 캐시 접두사](/docs/ko/workflows#prompt-caching-in-a-fan-out)로 팬아웃이 시작되면 Claude Code는 나머지가 캐시되지 않은 처리 대신 캐시된 접두사를 읽도록 첫 번째 에이전트를 제외한 모든 에이전트를 이 시간까지 유지합니다. 기본값 `5000`. 대기를 비활성화하려면 `0`으로 설정합니다. `DISABLE_PROMPT_CACHING`이 설정되면 에이전트는 절대 기다리지 않습니다. Claude Code v2.1.229 이상이 필요합니다 |415| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [워크플로우](/docs/ko/workflows) 에이전트가 동일 접두사 형제의 첫 번째 응답이 시작되기 전에 대기하는 시간(밀리초 단위)의 상한입니다. 여러 에이전트가 [프롬프트 캐시 접두사](/docs/ko/workflows#prompt-caching-in-a-fan-out)를 공유하는 팬아웃을 시작할 때입니다. Claude Code는 첫 번째 에이전트를 제외한 모든 에이전트를 이 시간 동안 보유하므로 나머지는 캐시되지 않은 각각 처리하는 대신 캐시된 접두사를 읽습니다. 기본값 `5000`. 대기를 비활성화하려면 `0`으로 설정하세요. `DISABLE_PROMPT_CACHING`이 설정되면 에이전트는 절대 기다리지 않습니다. Claude Code v2.1.229 이상이 필요합니다 |

413| `CLAUDE_CONFIG_DIR` | 구성 디렉토리를 재정의합니다(기본값: `~/.claude`). 모든 설정, 세션 기록, 플러그인은 이 경로 아래에 저장됩니다. 자격 증명의 경우 [Claude Code가 자격 증명을 저장하는 위치](/docs/ko/authentication#credential-management)를 참조하세요. 여러 계정을 나란히 실행하는 데 유용합니다. 예: `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. 셸, 사용자 설정 또는 관리 설정에서 설정합니다. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다 |416| `CLAUDE_CONFIG_DIR` | 구성 디렉토리를 재정의합니다(기본값: `~/.claude`). 모든 설정, 세션 기록 및 플러그인이 이 경로 아래에 저장됩니다. 자격 증명의 경우 [Claude Code가 자격 증명을 저장하는 위치](/docs/ko/authentication#credential-management)를 참조하세요. 여러 계정을 나란히 실행하는 데 유용합니다: 예를 들어 `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다 |

414| `CLAUDE_DISABLE_ADOPT` | `←`를 누르거나 [`/background`](/docs/ko/agent-view#from-inside-a-session)로 세션을 백그라운드 처리할 때 진행 중인 백그라운드 작업을 전달하는 대신 중지하려면 `1`로 설정합니다. Claude Code는 백그라운드 처리 전에 확인하도록 요청한 후 그렇지 않으면 이월될 작업을 중지합니다. Claude Code v2.1.195 이상이 필요합니다 |417| `CLAUDE_DISABLE_ADOPT` | `←`를 누르거나 [`/background`](/docs/ko/agent-view#from-inside-a-session)로 세션을 백그라운드로 처리할 때 진행 중인 백그라운드 작업을 계속하는 대신 중지하려면 `1`로 설정하세요. Claude Code는 백그라운드 처리 전에 확인하도록 요청한 후 그렇지 않으면 계속될 작업을 중지합니다. Claude Code v2.1.195 이상이 필요합니다 |

415| `CLAUDE_EFFORT` | 서브프로세스가 시작될 때 적용되는 [노력 수준](/docs/ko/model-config#adjust-effort-level)으로 Bash 도구 서브프로세스 및 훅 명령에서 자동으로 설정됩니다. `low`, `medium`, `high`, `xhigh`, 또는 `max`. Ultracode는 별개의 수준이 아니며 `xhigh`로 보고됩니다. [훅](/docs/ko/hooks)에 전달된 `effort.level` 필드와 일치합니다. 현재 모델이 노력 매개변수를 지원할 때만 설정됩니다 |418| `CLAUDE_EFFORT` | 서브프로세스가 시작될 때 적용되는 [노력 수준](/docs/ko/model-config#adjust-effort-level)으로 Bash 도구 서브프로세스 및 hook 명령에서 자동으로 설정됩니다: `low`, `medium`, `high`, `xhigh` 또는 `max`. Ultracode는 별개의 수준이 아니며 `xhigh`로 보고됩니다. [훅](/docs/ko/hooks)에 전달된 `effort.level` 필드와 일치합니다. 현재 모델이 노력 매개변수를 지원할 때만 설정됩니다 |

416| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 바이트 수준 스트리밍 유휴 감시견을 강제로 활성화하려면 `1`로 설정하거나, 강제로 비활성화하려면 `0`으로 설정합니다. `0`은 또한 해당 감시견이 실행되는 연결에서 [첫 바이트 기한](/docs/ko/network-config#streaming-idle-watchdogs)을 끕니다. 설정 해제되면 감시견은 직접 Anthropic API 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 연결에서 기본적으로 활성화되고, `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통해 도달한 [게이트웨이](/docs/ko/gateways) 연결의 스트리밍 응답에서 활성화됩니다. v2.1.222 이전에는 해당 게이트웨이 연결에서 실행되지 않았으므로 이벤트 수준 감시견이 keep-alive 핑이 도착하는 동안에도 정지를 보고할 수 있었습니다. 타임아웃 및 타이머 상호 작용 방식은 [스트리밍 유휴 감시견](/docs/ko/network-config#streaming-idle-watchdogs)을 참조하세요 |419| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 바이트 수준 스트리밍 유휴 감시견을 강제로 활성화하려면 `1`로 설정하거나, 강제로 비활성화하려면 `0`으로 설정하세요. `0`은 또한 해당 감시견이 실행되는 연결에서 [첫 번째 바이트 기한](/docs/ko/network-config#streaming-idle-watchdogs)을 끕니다. 설정 해제되면 감시견은 직접 Anthropic API 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 연결에서 기본적으로 활성화되며, `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통해 도달한 [게이트웨이](/docs/ko/gateways) 연결의 스트리밍 응답에서도 활성화됩니다. v2.1.222 이전에는 게이트웨이 연결에서 실행되지 않았으므로 이벤트 수준 감시견이 keep-alive ping이 도착하는 동안에도 정체를 보고할 수 있었습니다. 타임아웃 및 타이머 상호 작용 방식에 대해서는 [스트리밍 유휴 감시견](/docs/ko/network-config#streaming-idle-watchdogs)을 참조하세요 |

417| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Amazon Bedrock `vnd.amazon.eventstream` 응답에서 바이트 수준 스트리밍 유휴 감시견을 활성화하려면 `1`로 설정합니다. 이는 또한 Bedrock 스트리밍 요청에서 [첫 바이트 기한](/docs/ko/network-config#streaming-idle-watchdogs)을 활성화합니다. 기본적으로 꺼져 있습니다. `CLAUDE_STREAM_IDLE_TIMEOUT_MS`로 타임아웃을 구성합니다 |420| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Amazon Bedrock `vnd.amazon.eventstream` 응답에서 바이트 수준 스트리밍 유휴 감시견을 활성화하려면 `1`로 설정하세요. 이는 또한 Bedrock 스트리밍 요청에서 [첫 번째 바이트 기한](/docs/ko/network-config#streaming-idle-watchdogs)을 활성화합니다. 기본적으로 꺼져 있습니다. `CLAUDE_STREAM_IDLE_TIMEOUT_MS`로 타임아웃을 구성하세요 |

418| `CLAUDE_ENABLE_STREAM_WATCHDOG` | 이벤트 수준 스트리밍 유휴 감시견을 강제로 비활성화하려면 `0`으로 설정하거나, 강제로 활성화하려면 `1`로 설정합니다. 설정 해제되면 감시견은 모든 공급자에서 기본적으로 켜져 있습니다. v2.1.196 이전에는 설정 해제 기본값이 직접 Anthropic API에서 서버 제어되었고 다른 공급자에서는 꺼져 있었습니다. `CLAUDE_STREAM_IDLE_TIMEOUT_MS`로 타임아웃을 구성합니다. 이 옆에 실행되는 다른 정지 타이머는 [스트리밍 유휴 감시견](/docs/ko/network-config#streaming-idle-watchdogs)을 참조하세요 |421| `CLAUDE_ENABLE_STREAM_WATCHDOG` | 이벤트 수준 스트리밍 유휴 감시견을 강제로 비활성화하려면 `0`으로 설정하거나, 강제로 활성화하려면 `1`로 설정하세요. 설정 해제되면 감시견은 모든 공급자에서 기본적으로 켜져 있습니다. v2.1.196 이전에는 설정 해제 기본값이 직접 Anthropic API에서 서버 제어되었고 다른 공급자에서는 꺼져 있었습니다. `CLAUDE_STREAM_IDLE_TIMEOUT_MS`로 타임아웃을 구성하세요. 이 감시견과 함께 실행되는 다른 정체 타이머에 대해서는 [스트리밍 유휴 감시견](/docs/ko/network-config#streaming-idle-watchdogs)을 참조하세요 |

419| `CLAUDE_ENV_FILE` | Claude Code가 각 Bash 명령 전에 동일한 셸 프로세스에서 실행하는 셸 스크립트의 경로입니다. 파일의 내보내기는 명령에 표시됩니다. virtualenv 또는 conda 활성화를 명령 간에 유지하는 데 사용합니다. 또한 [SessionStart](/docs/ko/hooks#persist-environment-variables), [Setup](/docs/ko/hooks#setup), [CwdChanged](/docs/ko/hooks#cwdchanged), [FileChanged](/docs/ko/hooks#filechanged) 훅에 의해 동적으로 채워집니다 |422| `CLAUDE_ENV_FILE` | Claude Code가 동일한 셸 프로세스에서 각 Bash 명령 전에 실행하는 셸 스크립트의 경로입니다. 파일의 내보내기가 명령에 표시되도록 합니다. virtualenv 또는 conda 활성화를 명령 간에 유지하는 데 사용합니다. 또한 [SessionStart](/docs/ko/hooks#persist-environment-variables), [Setup](/docs/ko/hooks#setup), [CwdChanged](/docs/ko/hooks#cwdchanged) 및 [FileChanged](/docs/ko/hooks#filechanged) 훅에 의해 동적으로 채워집니다 |

420| `CLAUDE_JOB_DIR` | Claude Code가 각 [백그라운드 세션](/docs/ko/agent-view)에서 해당 세션의 `~/.claude/jobs/<id>` 디렉토리로 설정합니다. 세션이 실행하는 셸 명령이 이를 상속합니다. 스크래치 파일을 [`$CLAUDE_JOB_DIR/tmp`](/docs/ko/agent-view#where-state-is-stored)에 작성합니다. Claude의 `Write` 및 `Edit` 호출은 거기서 권한을 요청하지 않으며, 세션이 삭제되면 디렉토리가 제거됩니다 |423| `CLAUDE_JOB_DIR` | Claude Code가 각 [백그라운드 세션](/docs/ko/agent-view)에서 해당 세션의 `~/.claude/jobs/<id>` 디렉토리로 설정합니다. 세션이 실행하는 셸 명령이 이를 상속합니다. 스크래치 파일을 [`$CLAUDE_JOB_DIR/tmp`](/docs/ko/agent-view#where-state-is-stored)에 작성하세요. Claude의 `Write` 및 `Edit` 호출은 거기서 권한을 요청하지 않으며, 세션이 삭제되면 디렉토리가 제거됩니다 |

421| `CLAUDE_PID` | Claude Code는 이를 생성하는 서브프로세스에서 자신의 프로세스 ID로 설정합니다. Bash 및 PowerShell 도구 명령 및 훅 명령입니다. Linux에서 Bash 도구의 셸 통합은 이를 사용하여 Claude Code 프로세스 자체와 일치하는 `pkill` 패턴을 거부합니다. [오류 참조](/docs/ko/errors#pkill-pattern-matches-the-claude-code-process)를 참조하세요. 자신의 스크립트에서 읽어 부모 Claude Code 프로세스를 의도적으로 식별하거나 신호합니다. Claude Code v2.1.214 이상이 필요합니다 |424| `CLAUDE_PID` | Claude Code는 이를 생성하는 서브프로세스에서 자신의 프로세스 ID로 설정합니다: Bash 및 PowerShell 도구 명령 및 hook 명령. Linux에서 Bash 도구의 셸 통합은 이를 사용하여 Claude Code 프로세스 자체와 일치하는 `pkill` 패턴을 거부합니다. [오류 참조](/docs/ko/errors#pkill-pattern-matches-the-claude-code-process)를 참조하세요. 자신의 스크립트에서 읽어 부모 Claude Code 프로세스를 의도적으로 식별하거나 신호합니다. Claude Code v2.1.214 이상이 필요합니다 |

422| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 명시적 이름이 제공되지 않을 때 자동 생성된 [Remote Control](/docs/ko/remote-control) 세션 이름의 접두사입니다. 기본값은 머신의 호스트 이름이며, `myhost-graceful-unicorn` 같은 이름을 생성합니다. `--remote-control-session-name-prefix` CLI 플래그는 단일 호출에 대해 동일한 값을 설정합니다 |425| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | 명시적 이름이 제공되지 않을 때 자동 생성된 [원격 제어](/docs/ko/remote-control) 세션 이름의 접두사입니다. 기본값은 머신의 호스트 이름이며, `myhost-graceful-unicorn` 같은 이름을 생성합니다. `--remote-control-session-name-prefix` CLI 플래그는 단일 호출에 대해 동일한 값을 설정합니다 |

423| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | [첫 바이트 기한](/docs/ko/network-config#streaming-idle-watchdogs)이 실행되는 연결에서 스트리밍 요청의 첫 응답 바이트에 대한 기한(밀리초 단위)입니다. Claude Code가 이를 제한하는 방식, 큰 요청 본문에 추가하는 추가 시간, 설정 해제되었을 때 기한을 선택하는 방식은 [API에서 응답 없음](/docs/ko/errors#no-response-from-api)을 참조하세요. Claude Code v2.1.242 이상이 필요합니다 |426| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | [첫 번째 바이트 기한](/docs/ko/network-config#streaming-idle-watchdogs)이 실행되는 연결에서 스트리밍 요청의 첫 번째 응답 바이트의 기한(밀리초 단위)입니다. Claude Code가 이를 제한하는 방식, 큰 요청 본문에 추가하는 추가 시간 및 설정 해제할 때 기한을 선택하는 방식에 대해서는 [API의 응답 없음](/docs/ko/errors#no-response-from-api)을 참조하세요. Claude Code v2.1.242 이상이 필요합니다 |

424| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | 이벤트 및 바이트 수준 스트리밍 유휴 감시견이 정지된 연결을 닫기 전의 타임아웃(밀리초 단위)입니다. 이 변수를 명시적으로 설정하면 최소값은 `300000`(5분)입니다. 더 낮은 값은 확장 사고 일시 중지 및 프록시 버퍼링을 흡수하기 위해 조용히 제한되고, 바이트 수준 감시견은 값을 30분으로 제한합니다. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS`는 바이트 수준 감시견에 대해 이 변수보다 우선합니다. 감시견별 설정 해제 기본값은 [스트리밍 유휴 감시견](/docs/ko/network-config#streaming-idle-watchdogs)을 참조하세요 |427| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | 이벤트 및 바이트 수준 스트리밍 유휴 감시견이 정체된 연결을 닫기 전의 타임아웃(밀리초 단위)입니다. 이 변수를 명시적으로 설정하면 최소값은 `300000`(5분)입니다. 더 낮은 값은 확장 사고 일시 중지 및 프록시 버퍼링을 흡수하기 위해 조용히 제한되며, 바이트 수준 감시견은 값을 30분으로 제한합니다. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS`는 바이트 수준 감시견에 대해 이 변수보다 우선합니다. 설정 해제 기본값에 대해서는 [스트리밍 유휴 감시견](/docs/ko/network-config#streaming-idle-watchdogs)을 참조하세요 |

425| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | v2.1.260에서 제거되었으며 이제 작동하지 않습니다. 이전에는 [서브에이전트](/docs/ko/sub-agents)가 시작한 [백그라운드 셸 명령](/docs/ko/interactive-mode#background-bash-commands)이 실행할 수 있는 최대 시간(밀리초 단위)을 제한했습니다. 기본값 60분입니다. [백그라운드 명령 수명 규칙](/docs/ko/tools-reference#background-commands)을 참조하세요 |428| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | v2.1.260에서 제거되었으며 이제 작동하지 않습니다. 이전에는 [서브에이전트](/docs/ko/sub-agents)가 시작한 [백그라운드 셸 명령](/docs/ko/interactive-mode#background-bash-commands)이 실행할 수 있는 최대 시간(밀리초 단위)을 제한했습니다. 기본값 60분입니다. [백그라운드 명령 수명 규칙](/docs/ko/tools-reference#background-commands)을 참조하세요 |

426| `DEBUG` | 디버그 모드를 활성화하려면 `1`로 설정합니다. [`--debug`](/docs/ko/cli-reference#cli-flags)로 시작하는 것과 동일합니다. 디버그 로그는 `~/.claude/debug/<session-id>.txt` 또는 `CLAUDE_CODE_DEBUG_LOGS_DIR`으로 설정된 경로에 작성됩니다. `1`, `true`, `yes`, `on` 같은 참 값만 디버그 모드를 활성화합니다. `DEBUG=express:*` 같은 네임스페이스 패턴은 다른 도구에 대해 설정되므로 이를 트리거하지 않습니다 |429| `DEBUG` | 디버그 모드를 활성화하려면 `1`로 설정하세요. [`--debug`](/docs/ko/cli-reference#cli-flags)로 시작하는 것과 동등합니다. 디버그 로그는 `~/.claude/debug/<session-id>.txt` 또는 `CLAUDE_CODE_DEBUG_LOGS_DIR`로 설정된 경로에 작성됩니다. `1`, `true`, `yes` 및 `on`의 참 값만 디버그 모드를 활성화하므로 다른 도구에 대해 설정된 `DEBUG=express:*` 같은 네임스페이스 패턴은 이를 트리거하지 않습니다 |

427| `DISABLE_AUTOUPDATER` | 자동 백그라운드 업데이트를 비활성화하려면 `1`로 설정합니다. 수동 `claude update`는 여전히 작동합니다. `DISABLE_UPDATES`를 사용하여 둘 다 차단합니다 |430| `DISABLE_AUTOUPDATER` | 자동 백그라운드 업데이트를 비활성화하려면 `1`로 설정하세요. 수동 `claude update`는 여전히 작동합니다. `DISABLE_UPDATES`를 사용하여 둘 다 차단하세요 |

428| `DISABLE_AUTO_COMPACT` | 컨텍스트 제한에 접근할 때 자동 압축을 비활성화하려면 `1`로 설정합니다. 수동 `/compact` 명령은 사용 가능하게 유지됩니다. 압축이 발생할 때를 명시적으로 제어하려고 할 때 사용합니다. [`autoCompactEnabled`](/docs/ko/settings-reference#autocompactenabled) 설정을 재정의합니다 |431| `DISABLE_AUTO_COMPACT` | 컨텍스트 제한에 접근할 때 자동 압축을 비활성화하려면 `1`로 설정하세요. 수동 `/compact` 명령은 사용 가능하게 유지됩니다. 압축이 발생할 때를 명시적으로 제어하려고 할 때 사용합니다. [`autoCompactEnabled`](/docs/ko/settings-reference#autocompactenabled) 설정을 재정의합니다 |

429| `DISABLE_COMPACT` | 모든 압축을 비활성화하려면 `1`로 설정합니다. 자동 압축 및 수동 `/compact` 명령 모두입니다 |432| `DISABLE_COMPACT` | 모든 압축을 비활성화하려면 `1`로 설정하세요: 자동 압축 및 수동 `/compact` 명령 모두 |

430| `DISABLE_COST_WARNINGS` | 비용 경고 메시지를 비활성화하려면 `1`로 설정합니다 |433| `DISABLE_COST_WARNINGS` | 비용 경고 메시지를 비활성화하려면 `1`로 설정하세요 |

431| `DISABLE_DOCTOR_COMMAND` | [`/doctor`](/docs/ko/commands#all-commands) 설정 점검 기술 및 `/checkup` 별칭을 숨기려면 `1`로 설정합니다. 사용자가 세션에서 설정 진단을 실행하지 않아야 하는 관리 배포에 유용합니다. `claude doctor` 터미널 명령에는 영향을 주지 않습니다. v2.1.205 이전에는 이 변수가 `/doctor` 진단 화면 명령을 숨겼습니다 |434| `DISABLE_DOCTOR_COMMAND` | [`/doctor`](/docs/ko/commands#all-commands) 설정 점검 기술 및 `/checkup` 별칭을 숨기려면 `1`로 설정하세요. 사용자가 세션에서 설정 진단을 실행하지 않아야 하는 관리 배포에 유용합니다. `claude doctor` 터미널 명령에는 영향을 주지 않습니다. v2.1.205 이전에는 이 변수가 `/doctor` 진단 화면 명령을 숨겼습니다 |

432| `DISABLE_ERROR_REPORTING` | 오류 보고를 옵트아웃하려면 `1` 같은 비어있지 않은 값으로 설정합니다. **`0` 또는 `false`로 설정하면 여전히 옵트아웃합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 오류 보고를 다시 켭니다 |435| `DISABLE_ERROR_REPORTING` | 오류 보고를 옵트아웃하려면 `1` 같은 비어있지 않은 값으로 설정하세요. **`0` 또는 `false`로 설정하면 여전히 옵트아웃합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 오류 보고를 다시 켜세요 |

433| `DISABLE_EXTRA_USAGE_COMMAND` | 사용자가 속도 제한을 초과하여 추가 사용을 구매할 수 있는 `/usage-credits` 명령을 숨기려면 `1`로 설정합니다 |436| `DISABLE_EXTRA_USAGE_COMMAND` | 사용자가 속도 제한을 초과하여 추가 사용을 구매할 수 있는 `/usage-credits` 명령을 숨기려면 `1`로 설정하세요 |

434| `DISABLE_FEEDBACK_COMMAND` | `/feedback` 명령 및 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior)을 비활성화하려면 `1`로 설정합니다. 또한 동일한 경로를 통해 보고하는 `/bug` 및 `/share`를 비활성화합니다. v2.1.212 이전에는 `/feedback`의 별칭이었으므로 명령은 모든 이름으로 비활성화되었습니다. 더 이상 사용되지 않는 이름 `DISABLE_BUG_COMMAND`도 허용됩니다 |437| `DISABLE_FEEDBACK_COMMAND` | `/feedback` 명령 및 [Claude 작성 피드백](/docs/ko/tools-reference#sendfeedback-tool-behavior)을 비활성화하려면 `1`로 설정하세요. 또한 동일한 경로를 통해 보고하는 `/bug` 및 `/share`를 비활성화합니다. v2.1.212 이전에는 이들이 `/feedback`의 별칭이었으므로 명령이 모든 이름으로 비활성화되었습니다. 더 이전의 이름 `DISABLE_BUG_COMMAND`도 허용됩니다 |

435| `DISABLE_GROWTHBOOK` | GrowthBook 기능 플래그 가져오기를 비활성화하고 모든 플래그에 대해 코드 기본값을 사용하려면 `1` 또는 `true`로 설정합니다. 이는 [Remote Control](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. `0` 또는 `false`로 설정하면 가져오기가 켜진 상태로 유지됩니다. 원격 분석 이벤트 로깅은 `DISABLE_TELEMETRY`도 설정되지 않으면 켜진 상태로 유지됩니다 |438| `DISABLE_GROWTHBOOK` | GrowthBook 기능 플래그 가져오기를 비활성화하고 모든 플래그에 대해 코드 기본값을 사용하려면 `1` 또는 `true`로 설정하세요. 이는 [원격 제어](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 만듭니다. `0` 또는 `false`로 설정하면 가져오기가 켜진 상태로 유지됩니다. 원격 분석 이벤트 로깅은 `DISABLE_TELEMETRY`도 설정되지 않으면 켜진 상태로 유지됩니다 |

436| `DISABLE_INSTALLATION_CHECKS` | 설치 경고를 비활성화하려면 `1`로 설정합니다. 설치 위치를 수동으로 관리할 때만 사용합니다. 표준 설치의 문제를 마스킹할 수 있습니다 |439| `DISABLE_INSTALLATION_CHECKS` | 설치 경고를 비활성화하려면 `1`로 설정하세요. 설치 위치를 수동으로 관리할 때만 사용하세요. 표준 설치의 문제를 마스킹할 수 있습니다 |

437| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | `/install-github-app` 명령을 숨기려면 `1`로 설정합니다. 타사 공급자(Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry)를 사용할 때 이미 숨겨져 있습니다 |440| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | `/install-github-app` 명령을 숨기려면 `1`로 설정하세요. 타사 공급자(Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry)를 사용할 때 이미 숨겨져 있습니다 |

438| `DISABLE_INTERLEAVED_THINKING` | 인터리브 사고 베타 헤더 전송을 방지하려면 `1`로 설정합니다. LLM 게이트웨이 또는 공급자가 [인터리브 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking)를 지원하지 않을 때 유용합니다 |441| `DISABLE_INTERLEAVED_THINKING` | 인터리브된 사고 베타 헤더를 전송하지 않으려면 `1`로 설정하세요. LLM 게이트웨이 또는 공급자가 [인터리브된 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking)를 지원하지 않을 때 유용합니다 |

439| `DISABLE_LOGIN_COMMAND` | `/login` 명령을 숨기려면 `1`로 설정합니다. 인증이 API 키 또는 `apiKeyHelper`를 통해 외부에서 처리될 때 유용합니다 |442| `DISABLE_LOGIN_COMMAND` | `/login` 명령을 숨기려면 `1`로 설정하세요. 인증이 API 키 또는 `apiKeyHelper`를 통해 외부에서 처리될 때 유용합니다 |

440| `DISABLE_LOGOUT_COMMAND` | `/logout` 명령을 숨기려면 `1`로 설정합니다 |443| `DISABLE_LOGOUT_COMMAND` | `/logout` 명령을 숨기려면 `1`로 설정하세요 |

441| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 [프롬프트 캐싱](/docs/ko/prompt-caching#disable-prompt-caching)을 비활성화하려면 `1`로 설정합니다(모델별 설정보다 우선) |444| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 [프롬프트 캐싱](/docs/ko/prompt-caching#disable-prompt-caching)을 비활성화하려면 `1`로 설정하세요(모델별 설정보다 우선) |

442| `DISABLE_PROMPT_CACHING_FABLE` | Fable 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정합니다 |445| `DISABLE_PROMPT_CACHING_FABLE` | Fable 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요 |

443| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정합니다 |446| `DISABLE_PROMPT_CACHING_HAIKU` | [기본 Haiku 모델](/docs/ko/prompt-caching#disable-prompt-caching)에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요. 어디서 실행되든 |

444| `DISABLE_PROMPT_CACHING_OPUS` | Opus 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정합니다 |447| `DISABLE_PROMPT_CACHING_OPUS` | Opus 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요 |

445| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정합니다 |448| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet 모델에 대해 프롬프트 캐싱을 비활성화하려면 `1`로 설정하세요 |

446| `DISABLE_TELEMETRY` | 원격 분석을 옵트아웃하려면 `1` 같은 비어있지 않은 값으로 설정합니다. **`0` 또는 `false`로 설정하면 여전히 옵트아웃합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 원격 분석을 다시 켭니다. 원격 분석 이벤트는 코드, 파일 경로, bash 명령 같은 사용자 데이터를 포함하지 않습니다. 또한 `DISABLE_GROWTHBOOK`과 동일한 효과로 기능 플래그 가져오기를 비활성화합니다. 이는 [Remote Control](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. [조직의 원격 분석 끄기](/docs/ko/managed-settings#turn-telemetry-off-for-your-organization)를 참조하세요 |449| `DISABLE_TELEMETRY` | 원격 분석을 옵트아웃하려면 `1` 같은 비어있지 않은 값으로 설정하세요. **`0` 또는 `false`로 설정하면 여전히 옵트아웃합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 원격 분석을 다시 켜세요. 원격 분석 이벤트는 코드, 파일 경로 또는 Bash 명령 같은 사용자 데이터를 포함하지 않습니다. 또한 [기능 플래그 가져오기](#features-that-need-feature-flag-fetching)를 비활성화합니다. [조직에 대한 원격 분석 끄기](/docs/ko/managed-settings#turn-telemetry-off-for-your-organization)를 참조하세요 |

447| `DISABLE_UPDATES` | 수동 `claude update` 및 `claude install`을 포함한 모든 업데이트를 차단하려면 `1`로 설정합니다. `DISABLE_AUTOUPDATER`보다 더 엄격합니다. 자신의 채널을 통해 Claude Code를 배포하고 사용자가 자동 업데이트하지 않아야 할 때 사용합니다 |450| `DISABLE_UPDATES` | 수동 `claude update` 및 `claude install`을 포함한 모든 업데이트를 차단하려면 `1`로 설정하세요. `DISABLE_AUTOUPDATER`보다 더 엄격합니다. Claude Code를 자신의 채널을 통해 배포하고 사용자가 자체 업데이트하지 않아야 할 때 사용합니다 |

448| `DISABLE_UPGRADE_COMMAND` | `/upgrade` 명령을 숨기려면 `1`로 설정합니다 |451| `DISABLE_UPGRADE_COMMAND` | `/upgrade` 명령을 숨기려면 `1`로 설정하세요 |

449| `DO_NOT_TRACK` | `DISABLE_TELEMETRY`와 동일한 효과로 원격 분석을 옵트아웃하려면 `1`로 설정합니다. [Remote Control](/docs/ko/remote-control#requirements) 및 기타 [기능 플래그 가져오기가 필요한 기능](#features-that-need-feature-flag-fetching)을 사용할 수 없게 합니다. Claude Code는 이 변수를 표준 부울로 읽으므로 `0`은 원격 분석을 켜진 상태로 유지하고, 많은 개발자 CLI에서 인식하는 교차 도구 규칙을 존중합니다 |452| `DO_NOT_TRACK` | `DISABLE_TELEMETRY`와 동일한 효과로 원격 분석을 옵트아웃하려면 `1`로 설정하세요. [기능 플래그 가져오기](#features-that-need-feature-flag-fetching)도 포함합니다. Claude Code는 이 변수를 표준 부울로 읽으므로 `0`은 원격 분석을 켜진 상태로 유지하며, 많은 개발자 CLI에서 인식하는 교차 도구 규칙을 존중합니다 |

450| `ENABLE_BETA_TRACING_DETAILED` | `BETA_TRACING_ENDPOINT`와 함께 [상세 베타 추적](/docs/ko/monitoring-usage#traces-beta)을 켜려면 `1`로 설정합니다. 콘텐츠 보유 스팬 속성 및 `claude_code.hook` 스팬을 추가합니다. 대화형 CLI 세션은 또한 조직이 베타에 대해 허용 목록에 있어야 합니다. 두 변수 모두 [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서 무시됩니다 |453| `ENABLE_BETA_TRACING_DETAILED` | `BETA_TRACING_ENDPOINT`와 함께 [상세 베타 추적](/docs/ko/monitoring-usage#traces-beta)을 켜려면 `1`로 설정하세요. 콘텐츠 보유 스팬 속성 및 `claude_code.hook` 스팬을 추가합니다. 대화형 CLI 세션은 또한 조직이 베타에 대해 허용 목록에 있어야 합니다. 두 변수 모두 [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다 |

451| `ENABLE_CLAUDEAI_MCP_SERVERS` | 로그인한 사용자에 대해 기본적으로 활성화된 [claude.ai MCP 서버](/docs/ko/mcp#use-mcp-servers-from-claude-ai) 가져오기를 중지하려면 `false`로 설정합니다. 프로젝트 또는 조직별로 비활성화하려면 설정 대신 [`disableClaudeAiConnectors`](/docs/ko/settings-reference#disableclaudeaiconnectors)를 설정합니다 |454| `ENABLE_CLAUDEAI_MCP_SERVERS` | [claude.ai MCP 서버](/docs/ko/mcp#use-mcp-servers-from-claude-ai) 가져오기를 중지하려면 `false`로 설정하세요. 로그인한 사용자에 대해 기본적으로 활성화됩니다. 프로젝트별 또는 조직별로 비활성화하려면 설정에서 [`disableClaudeAiConnectors`](/docs/ko/settings-reference#disableclaudeaiconnectors)를 설정하세요 |

452| `ENABLE_PROMPT_CACHING_1H` | 기본 5분 대신 1시간 [프롬프트 캐시 TTL](/docs/ko/prompt-caching#cache-lifetime)을 요청하려면 `1`로 설정합니다. API 키, [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry), [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 사용자를 위한 것입니다. 포함된 사용량 내의 구독 사용자는 [주 대화](/docs/ko/prompt-caching#which-ttl-each-request-gets)에서 자동으로 1시간 TTL을 받습니다. [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 그리는 구독 사용자는 1시간 TTL을 유지하도록 설정할 수 있습니다. 1시간 캐시 쓰기는 더 높은 속도로 청구됩니다. 요청 버킷별로 TTL을 선택하려면 `CLAUDE_CODE_PROMPT_CACHE_TTL` 및 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`을 사용합니다. 이들은 이 변수보다 우선합니다 |455| `ENABLE_PROMPT_CACHING_1H` | 기본 5분 대신 1시간 [프롬프트 캐시 TTL](/docs/ko/prompt-caching#cache-lifetime)을 요청하려면 `1`로 설정하세요. API 키, [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry) 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 사용자를 위한 것입니다. 포함된 사용량 내의 구독 사용자는 [주 대화](/docs/ko/prompt-caching#which-ttl-each-request-gets)에서 자동으로 1시간 TTL을 받습니다. [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)을 그리는 구독 사용자는 1시간 TTL을 유지하도록 설정할 수 있습니다. 1시간 캐시 쓰기는 더 높은 속도로 청구됩니다. 요청 버킷별로 TTL을 선택하려면 `CLAUDE_CODE_PROMPT_CACHE_TTL` 및 `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`을 사용하세요. 이들은 이 변수보다 우선합니다 |

453| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 더 이상 사용되지 않습니다. 대신 `ENABLE_PROMPT_CACHING_1H`을 사용합니다 |456| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 더 이상 사용되지 않습니다. 대신 `ENABLE_PROMPT_CACHING_1H`을 사용하세요 |

454| `ENABLE_TOOL_SEARCH` | [MCP 도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)을 제어합니다. 설정 해제되면 Claude Code는 기본적으로 모든 MCP 도구를 연기합니다. 그래도 Google Cloud의 Agent Platform 모델(Claude 4.5 세대보다 이전), Azure에서 호스팅되는 Microsoft Foundry 배포, `ANTHROPIC_BASE_URL`이 비자사 호스트를 가리킬 때 미리 로드합니다. `true`는 항상 연기하고 베타 헤더를 전송합니다. 단, 해당 Agent Platform 모델 및 Microsoft Foundry 배포는 제외됩니다. 요청이 `tool_reference`를 지원하지 않는 프록시에서 실패합니다. `auto`는 도구 정의가 컨텍스트의 10% 이내에 맞을 때 미리 로드합니다. `auto:N`은 사용자 정의 임계값을 설정합니다. 예: `auto:5`(5%). `false`는 모든 도구를 미리 로드합니다. 자신이 설정한 값은 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`가 설정되었을 때 무시됩니다. v2.1.221 이전에는 Claude Code가 이 변수를 `true`로 설정하지 않으면 Google Cloud의 Agent Platform의 모든 모델에 대해 도구 검색을 비활성화했습니다 |457| `ENABLE_TOOL_SEARCH` | [MCP 도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)을 제어합니다. 설정 해제되면 Claude Code는 기본적으로 모든 MCP 도구를 지연합니다. Claude 4.5 세대보다 이전의 Google Cloud의 Agent Platform 모델, Azure에서 호스팅되는 Microsoft Foundry 배포 및 `ANTHROPIC_BASE_URL`이 비자사 호스트를 가리킬 때는 여전히 미리 로드합니다. `true`는 항상 지연하고 베타 헤더를 전송합니다. 단, 동일한 Agent Platform 모델 및 Microsoft Foundry 배포에서는 제외됩니다. 요청이 `tool_reference`를 지원하지 않는 프록시에서 실패합니다. `auto`는 도구 정의가 컨텍스트의 10% 이내에 맞을 때 미리 로드합니다. `auto:N`은 `auto:5`(5%)처럼 사용자 정의 임계값을 설정합니다. `false`는 모든 도구를 미리 로드합니다. 자신이 설정한 값은 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`가 설정되면 무시됩니다. v2.1.221 이전에는 Claude Code가 설정을 `true`로 설정하지 않으면 Google Cloud의 Agent Platform의 모든 모델에 대해 도구 검색을 비활성화했습니다 |

455| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 폴백 모델이 구성되지 않았을 때 모든 모델에 대해 반복된 과부하 오류 시 재시도를 중지하도록 Claude Code를 만들려면 `1` 같은 비어있지 않은 값으로 설정합니다. **`0` 또는 `false`로 설정하면 여전히 이를 활성화합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 기본 재시도 동작을 복원합니다. 이것이 없으면 Claude Code는 API 키 또는 [타사 공급자](/docs/ko/third-party-integrations)로 인증할 때 Opus, Fable, Mythos 모델로 인식하는 모델에 대해 이러한 방식으로 재시도를 중지합니다. Claude Code v2.1.160 이상에서는 Claude Code가 반복된 과부하 오류에 대해 구성된 [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)으로 전환하므로 이 변수는 폴백 모델로 전환하는 것에 영향을 주지 않습니다 |458| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 폴백 모델이 구성되지 않았을 때 반복된 과부하 오류에 대해 모든 모델에 대한 재시도를 중지하도록 하려면 `1` 같은 비어있지 않은 값으로 설정하세요. **`0` 또는 `false`로 설정하면 여전히 이를 활성화합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 기본 재시도 동작을 복원하세요. 없으면 Claude Code는 API 키 또는 [타사 공급자](/docs/ko/third-party-integrations)로 인증할 때 Opus, Fable 또는 Mythos 모델로 인식하는 모델에 대해 이러한 방식으로 재시도를 중지합니다. Claude Code v2.1.160 이상에서 Claude Code는 반복된 과부하 오류에 대해 구성된 [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)으로 전환하므로 이 변수는 폴백 모델로 전환하는 것에 영향을 주지 않습니다 |

456| `FORCE_AUTOUPDATE_PLUGINS` | 주 자동 업데이터가 `DISABLE_AUTOUPDATER`를 통해 비활성화되었을 때에도 플러그인 자동 업데이트를 강제하려면 `1`로 설정합니다 |459| `FORCE_AUTOUPDATE_PLUGINS` | 주 자동 업데이터가 `DISABLE_AUTOUPDATER`를 통해 비활성화되어 있어도 플러그인 자동 업데이트를 강제하려면 `1`로 설정하세요 |

457| `FORCE_HYPERLINK` | 터미널이 지원하지만 자동 감지되지 않을 때 클릭 가능한 OSC 8 하이퍼링크를 활성화하려면 `1`로 설정하거나, 비활성화하려면 `0`으로 설정합니다. 설정 해제되면 Claude Code는 터미널 지원을 감지할 때만 하이퍼링크를 활성화합니다. Claude Code는 이 값을 부울이 아닌 숫자로 구문 분석하므로 `false`, `no`, 또는 `off` 같은 값은 하이퍼링크를 비활성화하는 대신 활성화합니다. 바닥글 [PR 또는 병합 요청 배지](/docs/ko/interactive-mode#pr-review-status)는 Claude Code가 터미널 지원을 감지할 수 없을 때(예: SSH를 통해)에도 하이퍼링크로 렌더링됩니다. 배지를 일반 텍스트로 렌더링하려면 `0`으로 설정합니다 |460| `FORCE_HYPERLINK` | 터미널이 지원하지만 자동 감지되지 않을 때 클릭 가능한 OSC 8 하이퍼링크를 활성화하려면 `1`로 설정하거나, 비활성화하려면 `0`으로 설정하세요. 설정 해제되면 Claude Code는 터미널 지원이 감지될 때만 하이퍼링크를 활성화합니다. Claude Code는 이 값을 부울이 아닌 숫자로 구문 분석하므로 `false`, `no` 또는 `off` 같은 값은 하이퍼링크를 비활성화하는 대신 활성화합니다. 바닥글 [PR 또는 병합 요청 배지](/docs/ko/interactive-mode#pr-review-status)는 Claude Code가 터미널 지원을 감지할 수 없을 때(예: SSH를 통해)에도 하이퍼링크로 렌더링됩니다. 배지를 일반 텍스트로 렌더링하려면 `0`으로 설정하세요 |

458| `FORCE_PROMPT_CACHING_5M` | 1시간 TTL이 그렇지 않으면 적용될 때에도 5분 프롬프트 캐시 TTL을 강제하려면 `1`로 설정합니다. `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H`, `promptCacheTtl` 및 `subagentPromptCacheTtl` 설정을 재정의합니다 |461| `FORCE_PROMPT_CACHING_5M` | 1시간 TTL이 그렇지 않으면 적용될 때에도 5분 프롬프트 캐시 TTL을 강제하려면 `1`로 설정하세요. `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` 및 `promptCacheTtl` 및 `subagentPromptCacheTtl` 설정을 재정의합니다 |

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

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

461| `IS_DEMO` | 데모 모드를 활성화하려면 `1` 같은 비어있지 않은 값으로 설정합니다. 헤더 및 `/status` 출력에서 이메일 및 조직 이름을 숨기고 온보딩을 건너뜁니다. **`0` 또는 `false`로 설정하면 여전히 데모 모드를 활성화합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 끕니다. 세션을 스트리밍하거나 녹화할 때 유용합니다 |464| `IS_DEMO` | 데모 모드를 활성화하려면 `1` 같은 비어있지 않은 값으로 설정하세요: 헤더 및 `/status` 출력에서 이메일 및 조직 이름을 숨기고 온보딩을 건너뜁니다. **`0` 또는 `false`로 설정하면 여전히 데모 모드를 활성화합니다**. 대부분의 온/오프 변수와 달리 변수를 설정 해제하여 끄세요. 세션을 스트리밍하거나 녹화할 때 유용합니다 |

462| `MAX_MCP_OUTPUT_TOKENS` | MCP 도구 응답에서 허용되는 최대 토큰 수입니다. Claude Code는 출력이 10,000 토큰을 초과할 때 경고를 표시합니다. [`anthropic/maxResultSizeChars`](/docs/ko/mcp#raise-the-limit-for-a-specific-tool)를 선언하는 도구는 텍스트 콘텐츠에 대해 해당 문자 제한을 사용하지만, 해당 도구의 이미지 콘텐츠는 여전히 이 변수의 영향을 받습니다(기본값: 25000) |465| `MAX_MCP_OUTPUT_TOKENS` | MCP 도구 응답에서 허용되는 최대 토큰 수입니다. Claude Code는 출력이 10,000 토큰을 초과할 때 경고를 표시합니다. [`anthropic/maxResultSizeChars`](/docs/ko/mcp#raise-the-limit-for-a-specific-tool)를 선언하는 도구는 텍스트 콘텐츠에 대해 해당 문자 제한을 사용하지만, 이러한 도구의 이미지 콘텐츠는 여전히 이 변수의 영향을 받습니다(기본값: 25000) |

463| `MAX_STRUCTURED_OUTPUT_RETRIES` | 비대화형 모드(`-p` 플래그)에서 [`--json-schema`](/docs/ko/cli-reference#cli-flags)에 대한 유효성 검사에 실패한 모델 응답에 대해 Claude Code가 허용하는 시도 횟수입니다. 그 이후 유효한 출력이 없으면 실행이 실패합니다. [워크플로우](/docs/ko/workflows) 서브에이전트의 구조화된 출력이 유효성 검사에 실패할 때도 동일한 상한이 적용됩니다. 기본값 5(첫 시도 + 4회 재시도) |466| `MAX_STRUCTURED_OUTPUT_RETRIES` | 비대화형 모드에서 `-p` 플래그를 사용하는 [`--json-schema`](/docs/ko/cli-reference#cli-flags)에 대해 모델의 응답이 유효성 검사에 실패할 때 Claude Code가 허용하는 시도 횟수입니다. 그 후 유효한 출력이 없으면 실행이 실패합니다. 동일한 상한은 [워크플로우](/docs/ko/workflows) 서브에이전트의 구조화된 출력이 유효성 검사에 실패할 때 적용됩니다. 기본값 5(첫 번째 시도 + 4회 재시도) |

464| `MAX_THINKING_TOKENS` | [확장 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)의 고정 토큰 예산입니다. Claude Code는 이를 요청의 최대 출력 토큰 1개 아래로 제한하고 1,024 미만으로 제한하지 않습니다. `CLAUDE_CODE_MAX_OUTPUT_TOKENS`에서 해당 제한이 설정되는 방식을 참조하세요. 설정 해제되고 사고가 활성화되면 [적응형 추론](/docs/ko/model-config#adjust-effort-level)이 있는 모델이 자신의 사고 깊이를 선택하고 다른 모델은 상한을 사용합니다. Anthropic API에서 사고를 비활성화하려면 `0`으로 설정합니다. Opus 5.5 및 Fable 모델은 제외됩니다. 이들은 사고를 끌 수 없습니다. [타사 공급자](/docs/ko/third-party-integrations)에서 `0`은 대신 `thinking` 매개변수를 생략합니다. Anthropic API에서 사고가 꺼져 있으면 Claude Code는 Opus 5처럼 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) 것으로 알고 있는 모델에 더 높은 수준 대신 노력 `high`를 보냅니다. Claude Code는 적응형 추론 모델에서 0이 아닌 값을 무시합니다. `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING`이 적응형 추론을 끄는 모델은 제외됩니다 |467| `MAX_THINKING_TOKENS` | [확장 사고](https://platform.claude.com/docs/en/build-with-claude/extended-thinking)의 고정 토큰 예산입니다. Claude Code는 이를 요청의 최대 출력 토큰 아래 1개 토큰으로 제한하고 1,024 미만으로 제한하지 않습니다. [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/ko/model-config#adjust-effort-level)에서 해당 제한이 설정되는 방식을 참조하세요. 설정 해제되고 사고가 활성화되면 [적응형 추론](/docs/ko/model-config#adjust-effort-level)이 있는 모델이 자신의 사고 깊이를 선택하고 다른 모델은 상한을 사용합니다. Anthropic API에서 사고를 비활성화하려면 `0`으로 설정하세요. Opus 5.5, Sonnet 5.5 및 Fable 모델은 제외됩니다. 이들은 사고를 끌 수 없습니다. [타사 공급자](/docs/ko/third-party-integrations)에서 `0`은 대신 `thinking` 매개변수를 생략합니다. Anthropic API에서 사고가 꺼져 있으면 Claude Code는 `MAX_THINKING_TOKENS`로 제어되는 고정 사고 예산 대신 노력 `high`를 전송합니다. 이는 Opus 5 같은 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) 모델에 요청이 실패하지 않도록 합니다. Claude Code는 적응형 추론 모델의 0이 아닌 값을 무시합니다. 단, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING`이 적응형 추론을 끄는 모델은 제외됩니다 |

465| `MCP_CLIENT_SECRET` | [사전 구성된 자격 증명](/docs/ko/mcp#use-pre-configured-oauth-credentials)이 필요한 MCP 서버의 OAuth 클라이언트 비밀입니다. `--client-secret`으로 서버를 추가할 때 대화형 프롬프트를 피합니다 |468| `MCP_CLIENT_SECRET` | [사전 구성된 자격 증명](/docs/ko/mcp#use-pre-configured-oauth-credentials)이 필요한 MCP 서버의 OAuth 클라이언트 비밀입니다. `--client-secret`으로 서버를 추가할 때 대화형 프롬프트를 피합니다 |

466| `MCP_CONNECTION_NONBLOCKING` | MCP 서버가 첫 번째 쿼리 전에 연결될 때까지 시작이 대기하는지 여부를 제어합니다. MCP 시작은 기본적으로 비차단입니다. 서버는 백그라운드에서 연결하고 완료되면 도구를 사용할 수 있게 됩니다. 첫 번째 쿼리 전에 서버가 연결될 때까지 Claude Code가 대기하도록 하려면 `0`으로 설정합니다. [`alwaysLoad: true`](/docs/ko/mcp#exempt-a-server-from-deferral)로 구성된 서버는 [검색 캐시](/docs/ko/mcp#server-status-detail)에서 제공되는 경우를 제외하고 여전히 시작이 대기하도록 합니다. 첫 프롬프트가 구축될 때 도구가 있어야 하기 때문입니다. 비대화형 모드(`-p`)에서 `--input-format stream-json` 없이 Claude Code는 여전히 첫 번째 턴 전에 보류 중인 서버를 기다립니다. 이 변수에 관계없이입니다. [`--mcp-config`](/docs/ko/cli-reference#cli-flags)를 명시적으로 전달하면 대기에 더 긴 기한이 있습니다. 캐시된 서버 예외는 해당 플래그 항목을 참조하세요 |469| `MCP_CONNECTION_NONBLOCKING` | MCP 서버가 첫 번째 쿼리 전에 연결될 때까지 시작이 대기하는지 여부를 제어합니다. MCP 시작은 기본적으로 비차단입니다: 서버는 백그라운드에서 연결되고 도구는 완료되면 사용 가능해집니다. 시작이 서버가 연결될 때까지 대기하도록 하려면 `0`으로 설정하세요. [`alwaysLoad: true`](/docs/ko/mcp#exempt-a-server-from-deferral)로 구성된 서버는 여전히 시작을 대기하게 합니다. 단, [검색 캐시](/docs/ko/mcp#server-status-detail)에서 제공되는 경우는 제외됩니다. 도구가 첫 번째 프롬프트를 구성할 때 존재해야 하기 때문입니다. 비대화형 모드(`-p`)에서 `--input-format stream-json` 없이 Claude Code는 첫 번째 턴 전에 여전히 보류 중인 서버를 기다립니다. 명시적으로 [`--mcp-config`](/docs/ko/cli-reference#cli-flags)를 전달하면 대기에 더 긴 기한이 있습니다. 캐시된 서버 예외에 대해서는 해당 플래그의 항목을 참조하세요 |

467| `MCP_CONNECT_TIMEOUT_MS` | 차단 MCP 시작이 도구 목록을 스냅샷하기 전에 연결 배치를 기다리는 시간(밀리초 단위)입니다(기본값: 5000). [`alwaysLoad: true`](/docs/ko/mcp#exempt-a-server-from-deferral)로 표시된 서버에 적용됩니다. 서버는 기한에서 보류 중인 상태로 백그라운드에서 계속 연결됩니다. `MCP_TIMEOUT`과는 다릅니다. 이는 개별 서버의 연결 시도를 한계합니다 |470| `MCP_CONNECT_TIMEOUT_MS` | 차단 MCP 시작이 도구 목록을 스냅샷하기 전에 연결 배치를 기다리는 시간(밀리초 단위)(기본값: 5000). `MCP_CONNECTION_NONBLOCKING=0` 또는 [`alwaysLoad: true`](/docs/ko/mcp#exempt-a-server-from-deferral)로 표시된 서버에 적용됩니다. 서버는 기한에서 여전히 보류 중이면 백그라운드에서 계속 연결됩니다. `MCP_TIMEOUT`과는 다릅니다. 이는 개별 서버의 연결 시도를 제한합니다 |

468| `MCP_DISCOVERY_CACHE` | [MCP 검색 캐시](/docs/ko/mcp#server-status-detail)를 켜거나 끕니다. 캐시가 켜져 있으면 이전에 사용한 원격 HTTP 또는 SSE 서버가 [`cached` 상태](/docs/ko/mcp#server-status-detail)를 표시할 수 있고, Claude Code는 시작 시 대신 첫 번째 도구 호출에서 연결합니다. 캐시는 기본적으로 꺼져 있습니다. 점진적 롤아웃이 계정에 대해 활성화하지 않으면입니다. 롤아웃이 활성화했을 때에도 켜려면 `1`로 설정하거나, 꺼진 상태로 유지하려면 `0`으로 설정합니다. v2.1.238 이전에는 캐시가 기본적으로 켜져 있었습니다. `cached` 상태에는 Claude Code v2.1.221 이상이 필요합니다 |471| `MCP_DISCOVERY_CACHE` | [MCP 검색 캐시](/docs/ko/mcp#server-status-detail)를 켜거나 끕니다. 캐시가 켜져 있으면 이전에 사용한 원격 HTTP 또는 SSE 서버가 [`cached` 상태](/docs/ko/mcp#server-status-detail)를 표시할 수 있으며, Claude Code는 시작 시 대신 첫 번째 도구 호출에서 연결합니다. 캐시는 기본적으로 꺼져 있습니다. 롤아웃이 계정에 대해 활성화하지 않으면 켜려면 `1`로 설정하거나, 롤아웃이 활성화했을 때에도 꺼진 상태로 유지하려면 `0`으로 설정하세요. v2.1.238 이전에는 캐시가 기본적으로 켜져 있었습니다. `cached` 상태에는 Claude Code v2.1.221 이상이 필요합니다 |

469| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | [검색 캐시](/docs/ko/mcp#server-status-detail) 항목의 최대 나이(초 단위)입니다 (기본값: 14400, 또는 4시간). 항목이 그보다 오래된 시작에서 Claude Code는 이를 버리고 시작 시 서버를 연결합니다. 캐시가 꺼져 있을 때처럼입니다. Claude Code는 값을 7일로 제한합니다. v2.1.238 이전에는 기본값이 86400(24시간)이었고 Claude Code는 값을 제한하지 않았습니다 |472| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | [검색 캐시](/docs/ko/mcp#server-status-detail) 항목의 최대 나이(초 단위)입니다 (기본값: 14400, 또는 4시간). 항목이 이보다 오래된 시작에서 Claude Code는 이를 버리고 시작 시 서버를 연결합니다. 캐시가 꺼져 있을 때처럼입니다. Claude Code는 값을 7일로 제한합니다. v2.1.238 이전에는 기본값이 86400(24시간)이었고 Claude Code는 값을 제한하지 않았습니다 |

470| `MCP_DISCOVERY_CACHE_STRIKES` | [검색 캐시](/docs/ko/mcp#server-status-detail) 항목이 `MCP_DISCOVERY_CACHE_TTL_S`보다 오래된 시작에서 Claude Code는 백그라운드에서 새로 고칩니다. 이 변수는 새로 고침이 연속으로 실패할 수 있는 횟수를 설정합니다. 그 후 Claude Code는 항목을 버리고 다음 시작에서 서버를 연결합니다(기본값: 1). 네트워크 연결이 가끔 끊어지면 이를 올립니다. 하나의 실패한 새로 고침이 항목을 버리지 않도록 합니다. Claude Code v2.1.238 이상이 필요합니다 |473| `MCP_DISCOVERY_CACHE_STRIKES` | [검색 캐시](/docs/ko/mcp#server-status-detail) 항목이 `MCP_DISCOVERY_CACHE_TTL_S`보다 오래된 시작에서 Claude Code가 새로 고침을 시도합니다. 이 변수는 연속으로 실패할 수 있는 새로 고침 횟수를 설정합니다. 그 후 Claude Code는 항목을 버리고 다음 시작에서 서버를 연결합니다(기본값: 1). 네트워크 연결이 가끔 끊어지면 올리세요. 하나의 실패한 새로 고침이 항목을 버리지 않도록 합니다. Claude Code v2.1.238 이상이 필요합니다 |

471| `MCP_DISCOVERY_CACHE_TTL_S` | Claude Code가 새로 고침 없이 [검색 캐시](/docs/ko/mcp#server-status-detail) 항목을 사용하는 시간(초 단위)입니다(기본값: 900). 항목이 그보다 오래된 시작에서 Claude Code는 여전히 사용하지만 백그라운드에서 새로 고칩니다. 항목이 `MCP_DISCOVERY_CACHE_MAX_STALE_S`보다 오래되면 Claude Code는 버립니다. Claude Code는 값을 `MCP_DISCOVERY_CACHE_MAX_STALE_S`로 제한합니다. 기본값은 4시간입니다. v2.1.238 이전에는 Claude Code가 값을 제한하지 않았습니다 |474| `MCP_DISCOVERY_CACHE_TTL_S` | Claude Code가 새로 고침 없이 [검색 캐시](/docs/ko/mcp#server-status-detail) 항목을 사용하는 시간(초 단위)(기본값: 900). 항목이 이보다 오래된 시작에서 Claude Code는 여전히 사용하지만 백그라운드에서 새로 고칩니다. 항목이 `MCP_DISCOVERY_CACHE_MAX_STALE_S`보다 오래되면 Claude Code는 버립니다. Claude Code는 값을 `MCP_DISCOVERY_CACHE_MAX_STALE_S`로 제한합니다. 기본값은 4시간입니다. v2.1.238 이전에는 Claude Code가 값을 제한하지 않았습니다 |

472| `MCP_OAUTH_CALLBACK_PORT` | [사전 구성된 자격 증명](/docs/ko/mcp#use-pre-configured-oauth-credentials)으로 MCP 서버를 추가할 때 OAuth 리다이렉트 콜백의 고정 포트입니다. `--callback-port`의 대안입니다 |475| `MCP_OAUTH_CALLBACK_PORT` | [사전 구성된 자격 증명](/docs/ko/mcp#use-pre-configured-oauth-credentials)으로 MCP 서버를 추가할 때 `--callback-port`의 대안으로 OAuth 리다이렉트 콜백의 고정 포트입니다 |

473| `MCP_PROTOCOL_NEGOTIATION` | [v2 MCP 클라이언트 런타임](/docs/ko/mcp#mcp-client-runtimes)에서만 Claude Code가 MCP 프로토콜 개정 2026-07-28에 대해 서버를 조사하는지 여부입니다. HTTP, claude.ai 커넥터, stdio 서버를 조사하려면 `auto`로 설정합니다. 조사에 응답하지 않는 서버는 이전 프로토콜에서 연결합니다. SSE 및 WebSocket 서버는 항상 그렇게 합니다. 모든 서버에 대해 조사를 건너뛰려면 `legacy`로 설정합니다. 변수가 없으면 Claude Code는 HTTP 서버를 조사하고, [기능 플래그를 가져오는](#features-that-need-feature-flag-fetching) 세션에서 claude.ai 커넥터 서버도 조사합니다. 다른 값은 디버그 로그의 경고로 무시됩니다. Claude Code v2.1.221 이상이 필요합니다 |476| `MCP_PROTOCOL_NEGOTIATION` | [v2 MCP 클라이언트 런타임](/docs/ko/mcp#mcp-client-runtimes)에서만 Claude Code가 MCP 프로토콜 개정 2026-07-28에 대해 서버를 조사하는지 여부입니다. HTTP, claude.ai 커넥터 및 stdio 서버를 조사하려면 `auto`로 설정하세요. 프로브에 응답하지 않는 서버는 이전 프로토콜에서 연결됩니다. SSE 및 WebSocket 서버는 항상 그렇게 합니다. 모든 서버에 대해 프로브를 건너뛰려면 `legacy`로 설정하세요. 변수가 없으면 Claude Code는 HTTP 서버를 조사하고, [기능 플래그를 가져오는](/docs/ko/mcp#mcp-client-runtimes) 세션에서 claude.ai 커넥터 서버도 조사합니다. 다른 값은 디버그 로그의 경고로 무시됩니다. Claude Code v2.1.221 이상이 필요합니다 |

474| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | 시작 중에 병렬로 연결할 원격 MCP 서버(HTTP/SSE)의 최대 수입니다(기본값: 20) |477| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | 시작 중에 병렬로 연결할 원격 MCP 서버(HTTP/SSE)의 최대 수입니다(기본값: 20) |

475| `MCP_SDK_GENERATION` | 이 프로세스가 MCP 서버와 연결하는 [MCP 클라이언트 런타임](/docs/ko/mcp#mcp-client-runtimes)을 고정합니다. `v1`(MCP TypeScript SDK 1.x에 구축) 또는 `v2`([MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/)에 구축). 변수가 없으면 Claude Code는 v2를 사용합니다. 해당 섹션에 나열된 버전부터 시작합니다. Claude Code v2.1.221 이상에서 v2 런타임은 MCP OAuth 서버가 인증 응답에서 반환하는 발급자를 확인하고 일치하지 않으면 `Issuer mismatch in authorization response`로 시작하는 오류로 로그인을 실패합니다. v1 런타임은 이 검사를 실행하지 않습니다. 인식되지 않은 값을 설정하면 Claude Code는 무시하고 디버그 로그에 경고를 작성합니다. Claude Code는 프로세스당 한 번 값을 읽습니다. Claude Code v2.1.218 이상이 필요합니다 |478| `MCP_SDK_GENERATION` | 이 프로세스가 MCP 서버와 연결하는 [MCP 클라이언트 런타임](/docs/ko/mcp#mcp-client-runtimes)을 고정합니다: `v1`(MCP TypeScript SDK 1.x 기반) 또는 `v2`([MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/) 기반). 변수가 없으면 Claude Code는 v2를 사용합니다. 해당 섹션에 나열된 버전부터 시작합니다. Claude Code v2.1.221 이상에서 v2 런타임은 MCP OAuth 서버가 인증 응답에서 반환하는 발급자를 확인하고 일치하지 않으면 `Issuer mismatch in authorization response`로 시작하는 오류로 로그인을 실패합니다. v1 런타임은 이 확인을 실행하지 않습니다. 인식되지 않는 값을 설정하면 Claude Code는 무시하고 디버그 로그에 경고를 작성합니다. Claude Code는 프로세스당 한 번 값을 읽습니다. Claude Code v2.1.218 이상이 필요합니다 |

476| `MCP_SERVER_CONNECTION_BATCH_SIZE` | 시작 중에 병렬로 연결할 로컬 MCP 서버(stdio)의 최대 수입니다(기본값: 3) |479| `MCP_SERVER_CONNECTION_BATCH_SIZE` | 시작 중에 병렬로 연결할 로컬 MCP 서버(stdio)의 최대 수입니다(기본값: 3) |

477| `MCP_TIMEOUT` | MCP 서버 시작의 타임아웃(밀리초 단위)(기본값: 30000, 또는 30초) |480| `MCP_TIMEOUT` | MCP 서버 시작의 타임아웃(밀리초 단위)(기본값: 30000, 또는 30초) |

478| `MCP_TOOL_TIMEOUT` | MCP 도구 실행의 타임아웃(밀리초 단위)(기본값: 100000000, 약 28시간). HTTP, SSE, claude.ai 커넥터 서버의 경우 각 요청도 기본적으로 60초 후 타임아웃됩니다. 이 변수를 60000 이상으로 설정하거나 서버별 `timeout`을 올려 해당 요청당 제한을 올립니다. 더 낮은 값은 여전히 전체 도구 실행 타임아웃을 단축하지만 요청당 제한을 60초로 유지합니다. stdio 및 WebSocket 서버에는 요청당 타이머가 없습니다. `.mcp.json`의 서버별 `timeout` 필드가 이를 재정의합니다. 최소 1000의 서버별 `timeout`은 또한 해당 서버의 도구 호출에 대한 최소 유휴 창을 설정하므로 `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`이 더 일찍 중단하지 않습니다. 이 바닥은 Claude Code v2.1.203 이상이 필요합니다. 환경 변수의 경우 1000 미만의 값은 1초로 올라가고, 서버별 필드의 경우 1000 미만의 값은 무시됩니다 |481| `MCP_TOOL_TIMEOUT` | MCP 도구 실행의 타임아웃(밀리초 단위)(기본값: 100000000, 약 28시간). HTTP, SSE 또는 claude.ai 커넥터 서버의 경우 각 요청도 기본적으로 60초 후 타임아웃됩니다. 이 변수를 또는 서버별 `timeout`을 60000 이상으로 설정하여 해당 요청당 제한을 올리세요. 더 낮은 값은 여전히 전체 도구 실행 타임아웃을 단축하지만 요청당 제한을 60초로 유지합니다. Stdio 및 WebSocket 서버에는 요청당 타이머가 없습니다. `.mcp.json`의 서버별 `timeout` 필드가 이를 재정의합니다. 최소 1000의 서버별 `timeout`은 또한 해당 서버의 도구 호출에 대한 최소 유휴 창을 설정하므로 `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT`이 더 일찍 중단하지 않습니다. 이 바닥은 Claude Code v2.1.203 이상이 필요합니다. env 변수의 경우 1000 미만의 값은 1초로 올라갑니다. 서버별 필드의 경우 1000 미만의 값은 무시됩니다 |

479| `NO_PROXY` | 프록시를 우회하여 요청이 직접 발급될 도메인 및 IP의 목록입니다 |482| `NO_PROXY` | 프록시를 우회하여 직접 요청이 발급될 도메인 및 IP의 목록입니다 |

480| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | 속성 값 길이의 표준 OpenTelemetry SDK 제한입니다. Claude Code는 콘텐츠 보유 원격 분석 속성을 이것과 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`의 더 작은 값으로 제한합니다. 자르기 마커는 SDK 제한 내에 유지됩니다. Claude Code는 `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` 및 `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` 변형을 동일한 방식으로 읽고, 설정된 가장 작은 값이 모든 신호에 적용됩니다. Claude Code v2.1.214 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#common-configuration-variables)을 참조하세요 |483| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | 속성 값 길이의 표준 OpenTelemetry SDK 제한입니다. Claude Code는 콘텐츠 보유 원격 분석 속성을 이것과 `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`의 더 작은 값으로 제한하므로 자르기 마커가 SDK 제한 내에 유지됩니다. Claude Code는 `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` 및 `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` 변형을 동일하게 읽으며, 설정된 가장 작은 값이 모든 신호에 적용됩니다. Claude Code v2.1.214 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#common-configuration-variables)을 참조하세요 |

481| `OTEL_LOG_ASSISTANT_RESPONSES` | `assistant_response` OpenTelemetry 로그 이벤트에 모델의 응답 텍스트를 포함하려면 `1`로 설정합니다. 설정 해제되면 Claude Code는 `OTEL_LOG_USER_PROMPTS`의 값을 대신 사용합니다. 응답이 설정 해제되었을 때에도 수정되도록 하려면 `0`으로 설정합니다. 셸, 사용자 설정 또는 관리 설정에서 설정합니다. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. Claude Code v2.1.193 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#assistant-response-event)을 참조하세요 |484| `OTEL_LOG_ASSISTANT_RESPONSES` | `assistant_response` OpenTelemetry 로그 이벤트에 모델의 응답 텍스트를 포함하려면 `1`로 설정하세요. 설정 해제되면 Claude Code는 `OTEL_LOG_USER_PROMPTS`의 값을 대신 사용합니다. 응답이 `OTEL_LOG_USER_PROMPTS`가 설정되어 있어도 편집되지 않은 상태로 유지되도록 하려면 `0`으로 설정하세요. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. Claude Code v2.1.193 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#assistant-response-event)을 참조하세요 |

482| `OTEL_LOG_MANAGED_SETTINGS` | `managed_settings_resolved` OpenTelemetry 로그 이벤트에 수정된 관리 설정 및 수정 전 설정의 SHA-256 다이제스트를 추가하려면 `1`로 설정합니다. 기본적으로 비활성화됩니다. 셸, 사용자 설정 또는 관리 설정에서 설정합니다. 프로젝트 또는 로컬 설정의 값은 이를 켜지 않습니다. Claude Code v2.1.274 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#managed-settings-resolved-event)을 참조하세요 |485| `OTEL_LOG_MANAGED_SETTINGS` | `managed_settings_resolved` OpenTelemetry 로그 이벤트에 편집된 관리 설정 및 편집 전 설정의 SHA-256 다이제스트를 추가하려면 `1`로 설정하세요. 기본적으로 비활성화됩니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. 프로젝트 또는 로컬 설정의 값은 이를 켜지 않습니다. Claude Code v2.1.274 이상이 필요합니다. [모니터링](/docs/ko/monitoring-usage#managed-settings-resolved-event)을 참조하세요 |

483| `OTEL_LOG_RAW_API_BODIES` | Anthropic Messages API 요청 및 응답 JSON을 `api_request_body` / `api_response_body` 로그 이벤트로 내보냅니다. 콘텐츠 제한으로 자른 인라인 본문의 경우 `1`로 설정하거나, 자르지 않은 본문을 디스크에 작성하고 `body_ref` 경로를 내보내려면 `file:<dir>`로 설정합니다. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`는 콘텐츠 제한을 구성합니다. 기본값 60KB입니다. 기본적으로 비활성화됩니다. 본문은 전체 대화 기록을 포함합니다. 셸, 사용자 설정 또는 관리 설정에서 설정합니다. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. [모니터링](/docs/ko/monitoring-usage#api-request-body-event)을 참조하세요 |486| `OTEL_LOG_RAW_API_BODIES` | Anthropic Messages API 요청 및 응답 JSON을 `api_request_body` / `api_response_body` 로그 이벤트로 내보냅니다. 콘텐츠 제한으로 자른 인라인 본문의 경우 `1`로 설정하거나, 자르지 않은 본문을 디스크에 작성하고 대신 `body_ref` 경로를 내보내려면 `file:<dir>`으로 설정하세요. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`는 콘텐츠 제한을 구성합니다. 기본값 60KB입니다. 기본적으로 비활성화됩니다. 본문은 전체 대화 기록을 포함합니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. [모니터링](/docs/ko/monitoring-usage#api-request-body-event)을 참조하세요 |

484| `OTEL_LOG_TOOL_CONTENT` | `tool.output` OpenTelemetry 스팬 이벤트에 도구 콘텐츠를 포함하려면 `1`로 설정합니다. 스팬 속성은 [자체 게이트](/docs/ko/monitoring-usage#new-context-gates) 아래에서 도구 콘텐츠를 전달합니다. [추적](/docs/ko/monitoring-usage#traces-beta)이 필요합니다. 민감한 데이터를 보호하기 위해 기본적으로 비활성화됩니다. 셸, 사용자 설정 또는 관리 설정에서 설정합니다. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. 해당 섹션에서 설명하는 오프 값은 제외합니다. [모니터링](/docs/ko/monitoring-usage#tool-output-span-event)을 참조하세요 |487| `OTEL_LOG_TOOL_CONTENT` | `tool.output` OpenTelemetry 스팬 이벤트에 도구 콘텐츠를 포함하려면 `1`로 설정하세요. 스팬 속성은 [자체 게이트](/docs/ko/monitoring-usage#new-context-gates)에서 도구 콘텐츠를 전달합니다. [추적](/docs/ko/monitoring-usage#traces-beta)이 필요합니다. 민감한 데이터를 보호하기 위해 기본적으로 비활성화됩니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. 해당 섹션에서 설명하는 오프 값 제외. [모니터링](/docs/ko/monitoring-usage#tool-output-span-event)을 참조하세요 |

485| `OTEL_LOG_TOOL_DETAILS` | 도구 입력 인수, MCP 서버 이름, 사용자 작성 워크플로우 이름, 도구 실패 시 원본 오류 문자열, `api_refusal` 이벤트의 거부 `category`, 기타 도구 세부 정보를 OpenTelemetry 추적 및 로그에 포함하려면 `1`로 설정합니다. 기본적으로 비활성화되어 PII를 보호합니다. 셸, 사용자 설정 또는 관리 설정에서 설정합니다. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. 해당 섹션에서 설명하는 오프 값은 제외합니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |488| `OTEL_LOG_TOOL_DETAILS` | OpenTelemetry 추적 및 로그에 도구 입력 인수, MCP 서버 이름, 사용자 작성 워크플로우 이름, 도구 실패 시 원본 오류 문자열, `api_refusal` 이벤트의 거부 `category` 및 기타 도구 세부 정보를 포함하려면 `1`로 설정하세요. PII를 보호하기 위해 기본적으로 비활성화됩니다. 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. 해당 섹션에서 설명하는 오프 값 제외. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

486| `OTEL_LOG_USER_PROMPTS` | OpenTelemetry 추적 및 로그에 사용자 프롬프트 텍스트를 포함하려면 `1`로 설정합니다. 기본적으로 비활성화됩니다(프롬프트는 수정됨). 셸, 사용자 설정 또는 관리 설정에서 설정합니다. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. 해당 섹션에서 설명하는 오프 값은 제외합니다. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |489| `OTEL_LOG_USER_PROMPTS` | OpenTelemetry 추적 및 로그에 사용자 프롬프트 텍스트를 포함하려면 `1`로 설정하세요. 기본적으로 비활성화됩니다(프롬프트는 편집됨). 셸, 사용자 설정 또는 관리 설정에서 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. 해당 섹션에서 설명하는 오프 값 제외. [모니터링](/docs/ko/monitoring-usage)을 참조하세요 |

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

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

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

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

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

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

493| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | [Skill 도구](/docs/ko/skills#control-who-invokes-a-skill)에 표시되는 기술 메타데이터의 문자 예산을 재정의합니다. 예산은 컨텍스트 창의 1%에서 동적으로 확장되며, 폴백은 8,000자입니다. 이전 버전과의 호환성을 위해 레거시 이름을 유지합니다 |496| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | [Skill 도구](/docs/ko/skills#control-who-invokes-a-skill)에 표시되는 기술 메타데이터의 문자 예산을 재정의합니다. 예산은 컨텍스트 창의 1%에서 동적으로 확장되며, 폴백은 8,000자입니다. 이전 이름이 하위 호환성을 위해 유지됩니다 |

494| `TASK_MAX_OUTPUT_LENGTH` | v2.1.277에서 제거되었으며 이제 작동하지 않습니다. 이전에는 크기를 조정했던 `TaskOutput` 도구와 함께입니다. 이전에는 [백그라운드 작업](/docs/ko/tools-reference#background-commands)의 최대 문자 수를 설정했습니다. Claude는 대신 `Read`로 백그라운드 작업의 출력 파일을 읽습니다 |497| `TASK_MAX_OUTPUT_LENGTH` | v2.1.277에서 제거되었으며 이제 작동하지 않습니다. 이전에는 [백그라운드 작업](/docs/ko/tools-reference#background-commands)의 출력 중 `TaskOutput` 도구가 유지하는 최대 문자 수를 설정했습니다. Claude는 대신 `Read`로 백그라운드 작업의 출력 파일을 읽습니다 |

495| `USE_BUILTIN_RIPGREP` | Claude Code에 포함된 `rg` 대신 시스템 설치 `rg`를 사용하려면 `0`으로 설정합니다 |498| `USE_BUILTIN_RIPGREP` | 번들 `rg` 대신 시스템 설치 `rg`를 사용하려면 `0`으로 설정하세요 |

496| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.5 Haiku의 영역을 재정의합니다 |499| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.5 Haiku의 리전을 재정의합니다 |

497| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.5 Sonnet의 영역을 재정의합니다 |500| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.5 Sonnet의 리전을 재정의합니다 |

498| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.7 Sonnet의 영역을 재정의합니다 |501| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude 3.7 Sonnet의 리전을 재정의합니다 |

499| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude 4.0 Opus의 영역을 재정의합니다 |502| `VERTEX_REGION_CLAUDE_4_0_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude 4.0 Opus의 리전을 재정의합니다 |

500| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude 4.0 Sonnet의 영역을 재정의합니다 |503| `VERTEX_REGION_CLAUDE_4_0_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude 4.0 Sonnet의 리전을 재정의합니다 |

501| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude 4.1 Opus의 영역을 재정의합니다 |504| `VERTEX_REGION_CLAUDE_4_1_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude 4.1 Opus의 리전을 재정의합니다 |

502| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.5의 영역을 재정의합니다 |505| `VERTEX_REGION_CLAUDE_4_5_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.5의 리전을 재정의합니다 |

503| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 4.5의 영역을 재정의합니다 |506| `VERTEX_REGION_CLAUDE_4_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 4.5의 리전을 재정의합니다 |

504| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.6의 영역을 재정의합니다 |507| `VERTEX_REGION_CLAUDE_4_6_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.6의 리전을 재정의합니다 |

505| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 4.6의 영역을 재정의합니다 |508| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 4.6의 리전을 재정의합니다 |

506| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.7의 영역을 재정의합니다 |509| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.7의 리전을 재정의합니다 |

507| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.8의 영역을 재정의합니다 |510| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 4.8의 리전을 재정의합니다 |

508| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 5.5의 영역을 재정의합니다. v2.1.280에서 추가되었습니다 |511| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 5.5의 리전을 재정의합니다. v2.1.280에서 추가되었습니다 |

509| `VERTEX_REGION_CLAUDE_5_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 5의 영역을 재정의합니다. v2.1.219에서 추가되었습니다 |512| `VERTEX_REGION_CLAUDE_5_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 5.5의 리전을 재정의합니다. v2.1.284에서 추가되었습니다 |

510| `VERTEX_REGION_CLAUDE_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 5의 영역을 재정의합니다. v2.1.197에서 추가되었습니다 |513| `VERTEX_REGION_CLAUDE_5_OPUS` | Google Cloud의 Agent Platform을 사용할 때 Claude Opus 5의 리전을 재정의합니다. v2.1.219에서 추가되었습니다 |

511| `VERTEX_REGION_CLAUDE_FABLE_5` | Google Cloud의 Agent Platform을 사용할 때 Claude Fable 5의 영역을 재정의합니다. v2.1.170에서 추가되었습니다 |514| `VERTEX_REGION_CLAUDE_5_SONNET` | Google Cloud의 Agent Platform을 사용할 때 Claude Sonnet 5의 리전을 재정의합니다. v2.1.197에서 추가되었습니다 |

512| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Google Cloud의 Agent Platform을 사용할 때 Claude Fable 5.1의 영역을 재정의합니다. v2.1.257에서 추가되었습니다 |515| `VERTEX_REGION_CLAUDE_FABLE_5` | Google Cloud의 Agent Platform을 사용할 때 Claude Fable 5의 리전을 재정의합니다. v2.1.170에서 추가되었습니다 |

513| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Google Cloud의 Agent Platform을 사용할 때 Claude Haiku 4.5의 영역을 재정의합니다 |516| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Google Cloud의 Agent Platform을 사용할 때 Claude Fable 5.1의 리전을 재정의합니다. v2.1.257에서 추가되었습니다 |

514 517| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Google Cloud의 Agent Platform을 사용할 때 Claude Haiku 4.5의 리전을 재정의합니다 |

515표준 OpenTelemetry 내보내기 변수(`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES`, 신호 특정 변형)도 지원됩니다. 구성 세부 정보는 [모니터링](/docs/ko/monitoring-usage)을 참조하세요.518 

516 519표준 OpenTelemetry 내보내기 변수(`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` 및 신호 특정 변형)도 지원됩니다. 구성 세부 정보는 [모니터링](/docs/ko/monitoring-usage)을 참조하세요.

517`CLAUDE_CODE_ENABLE_TELEMETRY` 및 내보내기를 켜거나, 대상을 선택하거나, 콘텐츠를 캡처하는 OpenTelemetry 변수를 셸, 사용자 설정 또는 관리 설정에서 설정합니다. Claude Code는 [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서 이를 무시합니다. 해당 섹션에서 설명하는 오프 값은 제외합니다. `OTEL_RESOURCE_ATTRIBUTES` 및 내보내기 간격, 타임아웃, 압축 변수(예: `OTEL_METRIC_EXPORT_INTERVAL`)는 프로젝트 및 로컬 설정에서 여전히 적용됩니다.520 

521`CLAUDE_CODE_ENABLE_TELEMETRY` 및 내보내기를 켜거나, 대상을 선택하거나, 콘텐츠를 캡처하는 OpenTelemetry 변수를 셸, 사용자 설정 또는 관리 설정에서 설정하세요. Claude Code는 [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서 이들을 무시합니다. 해당 섹션에서 설명하는 오프 값 제외. `OTEL_RESOURCE_ATTRIBUTES` 및 내보내기 간격, 타임아웃 및 압축 변수(예: `OTEL_METRIC_EXPORT_INTERVAL`)는 프로젝트 및 로컬 설정에서 여전히 적용됩니다.

518 522 

519<h2 id="features-that-need-feature-flag-fetching">523<h2 id="features-that-need-feature-flag-fetching">

520 기능 플래그 가져오기가 필요한 기능524 기능 플래그 가져오기가 필요한 기능


528 532 

529가져오기가 비활성화되면 다음을 수행할 수 없습니다:533가져오기가 비활성화되면 다음을 수행할 수 없습니다:

530 534 

531* [Pro, Max 및 Team 플랜에서 기본적으로 자동 모드로 세션을 시작할 수 없습니다](/docs/ko/permission-modes#which-mode-a-session-starts-in)

532* VS Code 확장이 [시작 권한 모드에 대한 설정 파일을 읽을 수 없습니다](/docs/ko/permission-modes#switch-permission-modes)

533* [`/auto-mode-setup`](/docs/ko/auto-mode-config#generate-environment-entries)을 실행하여 `autoMode.environment` 항목을 작성할 수 없습니다535* [`/auto-mode-setup`](/docs/ko/auto-mode-config#generate-environment-entries)을 실행하여 `autoMode.environment` 항목을 작성할 수 없습니다

534* [원격 제어](/docs/ko/remote-control#requirements)를 사용할 수 없습니다536* [원격 제어](/docs/ko/remote-control)를 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 또는 `DISABLE_GROWTHBOOK`이 설정된 상태에서 사용할 수 없습니다. `DISABLE_TELEMETRY` 및 `DO_NOT_TRACK`의 경우 [원격 제어 요구사항](/docs/ko/remote-control#requirements)을 참조하세요

535* [이 머신 외의 세션에 메시지를 보낼 수 없습니다](/docs/ko/cross-session-messaging#message-sessions-on-other-machines). 이 머신의 세션 간 메시징은 가져오기가 비활성화된 상태에서 작동합니다537* [원격 제어](/docs/ko/remote-control#requirements)를 사용할 수 없을 때 [이 머신 외의 세션에 메시지를 보낼 수 없습니다](/docs/ko/cross-session-messaging#message-sessions-on-other-machines). 이 머신의 세션 간 메시징은 가져오기가 비활성화된 상태에서 작동합니다

536* [`claude import` 또는 `/import` 명령](/docs/ko/cli-reference#cli-commands)을 실행할 수 없습니다538* [`claude import` 또는 `/import` 명령](/docs/ko/cli-reference#cli-commands)을 실행할 수 없습니다

537* [`/skill-doctor`](/docs/ko/skills#find-unused-skills)를 실행하거나 `/plugin` **Stats** 탭에서 해당 보고서를 열 수 없습니다539* [`/skill-doctor`](/docs/ko/skills#find-unused-skills)를 실행하거나 `/plugin` **Stats** 탭에서 해당 보고서를 열 수 없습니다

538* claude.ai 계정에 대해 활성화된 [기술](/docs/ko/skills#where-synced-skills-load) 및 [플러그인](/docs/ko/plugins/loading#synced-plugins)을 터미널 세션에 동기화할 수 없습니다540* claude.ai 계정에 대해 활성화된 [기술](/docs/ko/skills#where-synced-skills-load) 및 [플러그인](/docs/ko/plugins/loading#synced-plugins)을 터미널 세션에 동기화할 수 없습니다


548 설치 또는 업그레이드 후 첫 번째 세션550 설치 또는 업그레이드 후 첫 번째 세션

549</h3>551</h3>

550 552 

551Claude Code를 설치한 후 또는 기능을 추가하는 버전으로 업그레이드한 후 첫 번째 세션에서 [플래그 제어 기능](#features-that-need-feature-flag-fetching)이 누락될 수 있으며, 세션은 자동 모드로 시작하는 플랜에서도 수동 모드로 시작할 수 있습니다. Claude Code는 해당 세션 중에 플래그를 가져오므로 다음 세션에서는 둘 다 있습니다.553Claude Code를 설치한 후 또는 기능을 추가하는 버전으로 업그레이드한 후 첫 번째 세션에서 [플래그 제어 기능](#features-that-need-feature-flag-fetching)이 누락될 수 있습니다. 해당 세션은 또한 이후 세션과 다른 [권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)에서 시작할 수 있습니다. Claude Code는 해당 세션 중에 플래그를 가져오므로 다음 세션에서는 기능과 일반적인 시작 권한 모드가 있습니다.

552 554 

553새로 설치한 후 `claude -p`, Agent SDK 또는 VS Code 확장과 같은 비대화형 세션에서 Claude Code는 [시작 권한 모드를 선택하기](/docs/ko/permission-modes#which-mode-a-session-starts-in) 전에 플래그를 선택할 수 있습니다.555새로 설치한 후 `claude -p`, Agent SDK 또는 VS Code 확장과 같은 비대화형 세션에서 Claude Code는 [시작 권한 모드를 선택하기](/docs/ko/permission-modes#which-mode-a-session-starts-in) 전에 플래그를 선택할 수 있습니다.

554 556 

errors.md +978 −597

Details

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| `Opus is experiencing high load` / `Fable is experiencing high load` | [서버 오류](#api-error-repeated-529-overloaded-errors) |

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

28| `API Error: No response from API` | [서버 오류](#no-response-from-api) |29| `API Error: No response from API` | [서버 오류](#no-response-from-api) |

29| `Server error mid-response. The response above may be incomplete.` | [서버 오류](#the-response-above-may-be-incomplete) |30| `Server error mid-response. The response above may be incomplete.` | [서버 오류](#the-response-above-may-be-incomplete) |

30| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [서버 오류](#the-response-above-may-be-incomplete) |31| `Connection lost mid-response` / `Your computer went to sleep mid-response` / `The response stopped arriving` | [서버 오류](#the-response-above-may-be-incomplete) |

31| `Connection closed mid-response` / `Response stalled mid-stream` | [서버 오류](#the-response-above-may-be-incomplete) |32| `Connection closed mid-response` / `Response stalled mid-stream` | [서버 오류](#the-response-above-may-be-incomplete) |

33| `Part of the response never arrived` / `The response stream was malformed` | [서버 오류](#the-response-above-may-be-incomplete) |

34| `API Error: Content block not found` / `API Error: Content block already closed` / `API Error: Stream event unreadable` | [서버 오류](#the-response-above-may-be-incomplete) |

32| `Connection lost before a response was produced` / `Your computer went to sleep before a response was produced` / `The response stalled before a response was produced` | [자동 재시도](#automatic-retries) |35| `Connection lost before a response was produced` / `Your computer went to sleep before a response was produced` / `The response stalled before a response was produced` | [자동 재시도](#automatic-retries) |

33| `Connection closed while thinking` / `Response stalled while thinking` | [자동 재시도](#automatic-retries) |36| `Connection closed while thinking` / `Response stalled while thinking` | [자동 재시도](#automatic-retries) |

34| `Connection lost while your computer was asleep` | [자동 재시도](#automatic-retries) |37| `Connection lost while your computer was asleep` | [자동 재시도](#automatic-retries) |


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

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

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

55| `Couldn't save your login` | [인증](#couldnt-save-your-login) |

56| `Authentication required · Sign in again to continue` | [인증](#not-logged-in) |

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

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

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


69| `signed-in claude.ai account or organization changed on this machine` | [인증](#remote-control-stopped-because-the-signed-in-account-changed) |74| `signed-in claude.ai account or organization changed on this machine` | [인증](#remote-control-stopped-because-the-signed-in-account-changed) |

70| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [인증](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |75| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [인증](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

71| `Remote Control stopped — the app running this session is signed out of Claude` | [인증](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |76| `Remote Control stopped — the app running this session is signed out of Claude` | [인증](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

77| `Couldn't verify your organization's policy for remote control` | [Remote Control 문제 해결](/docs/ko/remote-control#couldnt-verify-your-organizations-policy-for-remote-control) |

72| `OAuth token revoked` / `OAuth token has expired` | [인증](#oauth-token-revoked-or-expired) |78| `OAuth token revoked` / `OAuth token has expired` | [인증](#oauth-token-revoked-or-expired) |

73| `API Error: 401 Invalid authentication credentials` | [인증](#api-error-401-invalid-authentication-credentials) |79| `API Error: 401 Invalid authentication credentials` | [인증](#api-error-401-invalid-authentication-credentials) |

74| `Login expired · Please run /login` | [인증](#login-expired) |80| `Login expired · Please run /login` | [인증](#login-expired) |


77| `Not signed in to the Cloud gateway — run /login.` | [인증](#administrator-policy-requires-a-cloud-gateway-sign-in) |83| `Not signed in to the Cloud gateway — run /login.` | [인증](#administrator-policy-requires-a-cloud-gateway-sign-in) |

78| `Administrator policy requires a Cloud gateway sign-in on this machine` | [인증](#administrator-policy-requires-a-cloud-gateway-sign-in) |84| `Administrator policy requires a Cloud gateway sign-in on this machine` | [인증](#administrator-policy-requires-a-cloud-gateway-sign-in) |

79| `Failed to authenticate: OAuth session expired and could not be refreshed` | [인증](#login-expired) |85| `Failed to authenticate: OAuth session expired and could not be refreshed` | [인증](#login-expired) |

86| `Could not refresh your login because another Claude Code process is refreshing it` | [인증](#could-not-refresh-your-login) |

87| `Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh` | [인증](#could-not-refresh-your-login) |

80| `Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted` | [인증](#your-account-is-on-hold) |88| `Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted` | [인증](#your-account-is-on-hold) |

81| `Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted` | [인증](#your-account-is-on-hold) |89| `Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted` | [인증](#your-account-is-on-hold) |

82| `Anthropic profile login expired · Re-authenticate your Anthropic profile` | [인증](#anthropic-profile-login-expired) |90| `Anthropic profile login expired · Re-authenticate your Anthropic profile` | [인증](#anthropic-profile-login-expired) |


120| `Couldn't reconnect to your Remote Control session` | [네트워크](#couldnt-reconnect-to-your-remote-control-session) |128| `Couldn't reconnect to your Remote Control session` | [네트워크](#couldnt-reconnect-to-your-remote-control-session) |

121| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [네트워크](#sessions-ended-while-this-machine-was-offline) |129| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [네트워크](#sessions-ended-while-this-machine-was-offline) |

122| `Couldn't share the transcript.` | [네트워크](#couldnt-share-the-transcript) |130| `Couldn't share the transcript.` | [네트워크](#couldnt-share-the-transcript) |

131| `Couldn't send feedback` | [네트워크](#couldnt-send-feedback) |

123| `Prompt is too long` / `Input is too long for requested model` | [요청 오류](#prompt-is-too-long) |132| `Prompt is too long` / `Input is too long for requested model` | [요청 오류](#prompt-is-too-long) |

124| `Prompt is too long · automatic compaction failed:` | [요청 오류](#prompt-is-too-long) |133| `Prompt is too long · automatic compaction failed:` | [요청 오류](#prompt-is-too-long) |

125| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [요청 오류](#prompt-is-too-long) |134| `Prompt is too long · this conversation is a single exchange` / `A single-exchange conversation cannot be compacted` | [요청 오류](#prompt-is-too-long) |


139| `PDF too large` / `PDF is password protected` | [요청 오류](#pdf-errors) |148| `PDF too large` / `PDF is password protected` | [요청 오류](#pdf-errors) |

140| `Extra inputs are not permitted` | [요청 오류](#extra-inputs-are-not-permitted) |149| `Extra inputs are not permitted` | [요청 오류](#extra-inputs-are-not-permitted) |

141| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [요청 오류](#tool-input-schema-is-invalid) |150| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [요청 오류](#tool-input-schema-is-invalid) |

151| `tool_use.name: String should have at most 200 characters` | [요청 오류](#tool-use-name-over-200-characters) |

142| `There's an issue with the selected model` | [요청 오류](#theres-an-issue-with-the-selected-model) |152| `There's an issue with the selected model` | [요청 오류](#theres-an-issue-with-the-selected-model) |

143| `Model ... is not a recognized model id` | [요청 오류](#model-is-not-a-recognized-model-id) |153| `Model ... is not a recognized model id` | [요청 오류](#model-is-not-a-recognized-model-id) |

144| `Model ... not found` | [요청 오류](#model-not-found) |154| `Model ... not found` | [요청 오류](#model-not-found) |

155| `API error: ... · model not changed` | [요청 오류](#api-error-model-not-changed) |

145| `Claude Opus is not available with the Claude Pro plan` | [요청 오류](#claude-opus-is-not-available-with-the-claude-pro-plan) |156| `Claude Opus is not available with the Claude Pro plan` | [요청 오류](#claude-opus-is-not-available-with-the-claude-pro-plan) |

146| `Claude Code ... does not support this model; version ... or newer is required` | [요청 오류](#claude-code-does-not-support-this-model) |157| `Claude Code ... does not support this model; version ... or newer is required` | [요청 오류](#claude-code-does-not-support-this-model) |

147| `Claude Code ... is older than the minimum version required by your organization's policy` | [요청 오류](#claude-code-does-not-support-this-model) |158| `Claude Code ... is older than the minimum version required by your organization's policy` | [요청 오류](#claude-code-does-not-support-this-model) |

148| `Model ... is restricted by your organization's settings` | [요청 오류](#model-is-restricted-by-your-organizations-settings) |159| `Model ... is restricted by your organization's settings` | [요청 오류](#model-is-restricted-by-your-organizations-settings) |

160| `Model ... is not available. Your organization restricts model selection.` | [요청 오류](#model-is-restricted-by-your-organizations-settings) |

149| `Model switch ... blocked by a PreModelSwitch hook` | [요청 오류](#model-switch-was-blocked-by-a-premodelswitch-hook) |161| `Model switch ... blocked by a PreModelSwitch hook` | [요청 오류](#model-switch-was-blocked-by-a-premodelswitch-hook) |

150| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [요청 오류](#couldnt-save-it-as-your-default) |162| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [요청 오류](#couldnt-save-it-as-your-default) |

151| `thinking.type.enabled is not supported for this model` | [요청 오류](#thinking-type-enabled-is-not-supported-for-this-model) |163| `thinking.type.enabled is not supported for this model` | [요청 오류](#thinking-type-enabled-is-not-supported-for-this-model) |


155| `API Error: 400 due to tool use concurrency issues` | [요청 오류](#tool-use-or-thinking-block-mismatch) |167| `API Error: 400 due to tool use concurrency issues` | [요청 오류](#tool-use-or-thinking-block-mismatch) |

156| `API Error: 400 orphaned tool_result in conversation history` | [요청 오류](#tool-use-or-thinking-block-mismatch) |168| `API Error: 400 orphaned tool_result in conversation history` | [요청 오류](#tool-use-or-thinking-block-mismatch) |

157| `API Error: 400 duplicate tool_use ID in conversation history` | [요청 오류](#tool-use-or-thinking-block-mismatch) |169| `API Error: 400 duplicate tool_use ID in conversation history` | [요청 오류](#tool-use-or-thinking-block-mismatch) |

170| `Invalid data in redacted_thinking block` | [요청 오류](#invalid-data-in-redacted-thinking-block) |

158| `[Unsupported tool content removed]` | [요청 오류](#unsupported-tool-content-removed) |171| `[Unsupported tool content removed]` | [요청 오류](#unsupported-tool-content-removed) |

159| `role 'system' must precede an 'assistant' message` | [요청 오류](#role-system-must-precede-an-assistant-message) |172| `role 'system' must precede an 'assistant' message` | [요청 오류](#role-system-must-precede-an-assistant-message) |

160| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [요청 오류](#invalid-encrypted-content-in-search-result-block) |173| `Invalid encrypted_content in search_result block` / `Invalid encrypted_index in text block` / `Failed to decrypt web search result content` | [요청 오류](#invalid-encrypted-content-in-search-result-block) |

174| `Invalid encrypted_stdout in encrypted_code_execution_result block` | [요청 오류](#invalid-encrypted-content-in-search-result-block) |

161| `server_tool_use.name: Input should be` on every turn of a resumed session | [요청 오류](#unsupported-tool-content-removed) |175| `server_tool_use.name: Input should be` on every turn of a resumed session | [요청 오류](#unsupported-tool-content-removed) |

162| `<model> can't help with this. Start a new session to continue` | [요청 오류](#usage-policy-refusal) |176| `<model> can't help with this. Start a new session to continue` | [요청 오류](#usage-policy-refusal) |

163| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [요청 오류](#usage-policy-refusal) |177| `Claude Code is unable to respond to this request, which appears to violate our Usage Policy` | [요청 오류](#usage-policy-refusal) |

164| `<model>'s safeguards flagged this message` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |178| `<model>'s safeguards flagged this message` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |

165| `Opus 5.5's safeguards flagged this session` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |179| `<model>'s safeguards flagged this session` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |

166| `<model> has safety measures that flagged this message for a cybersecurity topic` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |180| `<model> has safety measures that flagged this message for a cybersecurity topic` | [요청 오류](#safety-measures-flagged-a-cybersecurity-topic) |

167| `Installation was killed before it could finish (exit code 137)` | [설치 오류](#installation-was-killed-before-it-could-finish) |181| `Installation was killed before it could finish (exit code 137)` | [설치 오류](#installation-was-killed-before-it-could-finish) |

168| `The connection dropped while downloading the update` | [설치 오류](#the-connection-dropped-while-downloading-the-update) |182| `The connection dropped while downloading the update` | [설치 오류](#the-connection-dropped-while-downloading-the-update) |


173| `Couldn't verify your organization's policy for cloud sessions` | [명령줄 오류](#cloud-sessions-are-disabled-by-your-organizations-policy) |187| `Couldn't verify your organization's policy for cloud sessions` | [명령줄 오류](#cloud-sessions-are-disabled-by-your-organizations-policy) |

174| `Error: --json-schema is not a valid JSON Schema` | [명령줄 오류](#command-line-errors) |188| `Error: --json-schema is not a valid JSON Schema` | [명령줄 오류](#command-line-errors) |

175| `Error: Invalid --agents configuration:` | [명령줄 오류](#invalid-agents-configuration) |189| `Error: Invalid --agents configuration:` | [명령줄 오류](#invalid-agents-configuration) |

190| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [명령줄 오류](#invalid-agents-configuration) |

191| `Error: --agents file not found` | [명령줄 오류](#invalid-agents-configuration) |

176| `Error: Settings file exceeds the 2MiB limit` | [명령줄 오류](#settings-file-exceeds-the-2mib-limit) |192| `Error: Settings file exceeds the 2MiB limit` | [명령줄 오류](#settings-file-exceeds-the-2mib-limit) |

177| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [명령줄 오류](#the-current-directory-no-longer-exists) |193| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [명령줄 오류](#the-current-directory-no-longer-exists) |

178| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [명령줄 오류](#temp-directory-refused-or-cannot-be-created) |194| `Temp directory <dir> ... Refusing to use it` / `ENOSPC: no space left on device, mkdir '<dir>'` | [명령줄 오류](#temp-directory-refused-or-cannot-be-created) |


207| `Single sign-on authorization needed` | [명령줄 오류](#single-sign-on-authorization-needed) |223| `Single sign-on authorization needed` | [명령줄 오류](#single-sign-on-authorization-needed) |

208| `Failed to resume the conversation` | [명령줄 오류](#failed-to-resume-the-conversation) |224| `Failed to resume the conversation` | [명령줄 오류](#failed-to-resume-the-conversation) |

209| `No conversation found with session ID: <session-id>` | [명령줄 오류](#no-conversation-found-with-the-session-id) |225| `No conversation found with session ID: <session-id>` | [명령줄 오류](#no-conversation-found-with-the-session-id) |

226| `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [명령줄 오류](#windows-reported-an-error-ebadf) |

210| `Cannot switch renderers in this session` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |227| `Cannot switch renderers in this session` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |

211| `Cannot switch renderers while work is running in the background` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |228| `Cannot switch renderers while work is running in the background` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |

212| `Couldn't open Claude Desktop` | [명령줄 오류](#couldnt-open-claude-desktop) |229| `Couldn't open Claude Desktop` | [명령줄 오류](#couldnt-open-claude-desktop) |


218| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [명령줄 오류](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |235| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [명령줄 오류](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

219| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [플러그인 오류](#plugin-eval-is-currently-in-early-access) |236| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [플러그인 오류](#plugin-eval-is-currently-in-early-access) |

220| `Marketplace "<name>" is registered from an untrusted source` | [플러그인 오류](#marketplace-is-registered-from-an-untrusted-source) |237| `Marketplace "<name>" is registered from an untrusted source` | [플러그인 오류](#marketplace-is-registered-from-an-untrusted-source) |

238| `Claude Code refuses the marketplace name "<name>"` | [플러그인 오류](#claude-code-refuses-the-marketplace-name) |

239| `Marketplace name impersonates an official Anthropic/Claude marketplace` | [플러그인 오류](#claude-code-refuses-the-marketplace-name) |

221| `Marketplace "<name>" is already added from a different source` | [플러그인 오류](#marketplace-is-already-added-from-a-different-source) |240| `Marketplace "<name>" is already added from a different source` | [플러그인 오류](#marketplace-is-already-added-from-a-different-source) |

222| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [플러그인 오류](#marketplace-name-is-another-spelling-of-a-reserved-name) |241| `"<name>" is another spelling of "<reserved>", a reserved marketplace name` | [플러그인 오류](#marketplace-name-is-another-spelling-of-a-reserved-name) |

223| `references ${user_config.*} in a shell-form command` | [플러그인 오류](#plugin-command-references-user-config) |242| `references ${user_config.*} in a shell-form command` | [플러그인 오류](#plugin-command-references-user-config) |


231| `Failed to load marketplace configuration` | [플러그인 오류](#failed-to-load-marketplace-configuration) |250| `Failed to load marketplace configuration` | [플러그인 오류](#failed-to-load-marketplace-configuration) |

232| `Marketplace configuration file is corrupted` | [플러그인 오류](#failed-to-load-marketplace-configuration) |251| `Marketplace configuration file is corrupted` | [플러그인 오류](#failed-to-load-marketplace-configuration) |

233| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [플러그인 오류](#plugin-is-required-by-your-organization) |252| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [플러그인 오류](#plugin-is-required-by-your-organization) |

253| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [플러그인 오류](#plugin-was-not-uninstalled) |

254| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [플러그인 오류](#plugin-was-not-uninstalled) |

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

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

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

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

236| `subagent_type is required: the general-purpose agent is not available in this session` | [도구 오류](#subagent-type-is-required) |259| `subagent_type is required: the general-purpose agent is not available in this session` | [도구 오류](#subagent-type-is-required) |

237| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [도구 오류](#memory-index-is-over-its-read-limit) |260| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [도구 오류](#memory-index-is-over-its-read-limit) |

238| `pkill: refusing to run` | [도구 오류](#pkill-pattern-matches-the-claude-code-process) |261| `pkill: refusing to run` | [도구 오류](#pkill-pattern-matches-the-claude-code-process) |


248| `Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>)` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [도구 오류](#refusing-after-a-symlink-changed) |271| `Refusing to read <path>: its symlink resolution changed after permission was checked (<reason>)` / `Refusing to search <path>: its symlink resolution changed after permission was checked` | [도구 오류](#refusing-after-a-symlink-changed) |

249| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [도구 오류](#refusing-after-a-symlink-changed) |272| `Refusing to write <path>: its parent-directory symlink resolution changed after permission was checked` / `Refusing to write <path>: it is a symbolic link. Write to the link's target path instead` | [도구 오류](#refusing-after-a-symlink-changed) |

250| `Refusing to write through symlink: <path>` / `Refusing to write into symlinked directory: <path>` | [도구 오류](#refusing-after-a-symlink-changed) |273| `Refusing to write through symlink: <path>` / `Refusing to write into symlinked directory: <path>` | [도구 오류](#refusing-after-a-symlink-changed) |

274| `Refusing to write <path>: where it leads on disk could not be determined` / `Refusing to read <path>: where it leads on disk could not be determined` | [도구 오류](#refusing-after-a-symlink-changed) |

251| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [도구 오류](#refusing-after-a-symlink-changed) |275| `Refusing to search <path>: a path one of its Read deny rules is written through changed while the search was being prepared` / `Refusing to search <path>: it could not be opened` | [도구 오류](#refusing-after-a-symlink-changed) |

252| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [도구 오류](#refusing-after-a-symlink-changed) |276| `its permission check expired before it ran (too many concurrent file operations)` / `ripgrep was found only by name on PATH` | [도구 오류](#refusing-after-a-symlink-changed) |

253| `task output swap refused (tasks dir moved or linked)` | [도구 오류](#task-output-swap-refused) |277| `task output swap refused (tasks dir moved or linked)` | [도구 오류](#task-output-swap-refused) |

254| `Command killed: its output file was replaced or could no longer be verified` | [도구 오류](#task-output-swap-refused) |278| `Command killed: its output file was replaced or could no longer be verified` | [도구 오류](#task-output-swap-refused) |

279| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [도구 오류](#disk-quota-or-temp-filesystem-is-full) |

280| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [도구 오류](#disk-quota-or-temp-filesystem-is-full) |

281| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [도구 오류](#disk-quota-or-temp-filesystem-is-full) |

255| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [도구 오류](#the-source-file-is-not-valid-utf-8-text) |282| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [도구 오류](#the-source-file-is-not-valid-utf-8-text) |

256| `the source file has the replacement character U+FFFD` | [도구 오류](#the-source-file-is-not-valid-utf-8-text) |283| `the source file has the replacement character U+FFFD` | [도구 오류](#the-source-file-is-not-valid-utf-8-text) |

257| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [도구 오류](#reading-a-local-file-from-outside-the-connected-folders) |284| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [도구 오류](#reading-a-local-file-from-outside-the-connected-folders) |


279| `EACCES: permission denied, posix_spawn` | [백그라운드 세션 오류](#eacces-when-starting-a-background-session) |306| `EACCES: permission denied, posix_spawn` | [백그라운드 세션 오류](#eacces-when-starting-a-background-session) |

280| `exited before it became reachable` | [백그라운드 세션 오류](#background-service-exited-before-it-became-reachable) |307| `exited before it became reachable` | [백그라운드 세션 오류](#background-service-exited-before-it-became-reachable) |

281| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [백그라운드 세션 오류](#working-directory-no-longer-exists-when-starting-a-background-session) |308| `Couldn't start a background session (working directory no longer exists or is not accessible: ...)` | [백그라운드 세션 오류](#working-directory-no-longer-exists-when-starting-a-background-session) |

309| `Workspace not trusted.` when starting or restarting a background session | [백그라운드 세션 오류](#workspace-not-trusted-when-dispatching-a-background-session) |

282| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [백그라운드 세션 오류](#eacces-when-starting-a-background-session) |310| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [백그라운드 세션 오류](#eacces-when-starting-a-background-session) |

283| `Claude Code process exited with code N` | [래퍼 및 IDE 오류](#claude-code-process-exited-with-code-n) |311| `Claude Code process exited with code N` | [래퍼 및 IDE 오류](#claude-code-process-exited-with-code-n) |

284| `The connection to Claude Code ended before this message completed` | [래퍼 및 IDE 오류](#the-connection-to-claude-code-ended-before-this-message-completed) |312| `The connection to Claude Code ended before this message completed` | [래퍼 및 IDE 오류](#the-connection-to-claude-code-ended-before-this-message-completed) |


291| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [구성 경고](#fullscreen-failed-start-notice) |319| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [구성 경고](#fullscreen-failed-start-notice) |

292| `Claude Code exited after an unrecoverable interface error (...)` | [구성 경고](#exited-after-an-unrecoverable-interface-error) |320| `Claude Code exited after an unrecoverable interface error (...)` | [구성 경고](#exited-after-an-unrecoverable-interface-error) |

293| `Agent descriptions are over the 15.0k-token limit` | [구성 경고](#agent-descriptions-are-over-the-15000-token-limit) |321| `Agent descriptions are over the 15.0k-token limit` | [구성 경고](#agent-descriptions-are-over-the-15000-token-limit) |

322| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [구성 경고](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

294| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [구성 경고](#workspace-has-not-been-trusted) |323| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [구성 경고](#workspace-has-not-been-trusted) |

295| `is a network path, which cannot be added as a working directory` | [구성 경고](#working-directory-is-a-network-path) |324| `is a network path, which cannot be added as a working directory` | [구성 경고](#working-directory-is-a-network-path) |

296| `Remote managed settings failed to load (<cause>)` | [구성 경고](#remote-managed-settings-failed-to-load) |325| `Remote managed settings failed to load (<cause>)` | [구성 경고](#remote-managed-settings-failed-to-load) |

297| `Managed settings were not approved; exiting without applying them.` | [구성 경고](#managed-settings-were-not-approved) |326| `Managed settings were not approved; exiting without applying them.` | [구성 경고](#managed-settings-were-not-approved) |

327| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [구성 경고](#managed-settings-block-the-default-model) |

298| `MCP server <name> is blocked by enterprise managed policy` | [구성 경고](#mcp-server-is-blocked-by-enterprise-managed-policy) |328| `MCP server <name> is blocked by enterprise managed policy` | [구성 경고](#mcp-server-is-blocked-by-enterprise-managed-policy) |

299| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [구성 경고](#managed-settings-document-could-not-be-parsed) |329| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [구성 경고](#managed-settings-document-could-not-be-parsed) |

300| `Managed settings drop-in directory could not be read` | [구성 경고](#managed-settings-document-could-not-be-parsed) |330| `Managed settings drop-in directory could not be read` | [구성 경고](#managed-settings-document-could-not-be-parsed) |


390 420 

391뒤따르는 문장은 서비스 상태를 확인할 위치를 명시하며 제공자에 따라 다릅니다. Amazon Bedrock, Google Cloud의 Agent Platform 및 Microsoft Foundry 구성은 해당 제공자의 서비스 상태를 명시합니다. 사용자 정의 `ANTHROPIC_BASE_URL`은 게이트웨이 호스트를 명시합니다.421뒤따르는 문장은 서비스 상태를 확인할 위치를 명시하며 제공자에 따라 다릅니다. Amazon Bedrock, Google Cloud의 Agent Platform 및 Microsoft Foundry 구성은 해당 제공자의 서비스 상태를 명시합니다. 사용자 정의 `ANTHROPIC_BASE_URL`은 게이트웨이 호스트를 명시합니다.

392 422 

393이는 API 내부의 예상치 못한 실패를 나타냅니다. 이는 사용자의 프롬프트, 설정 또는 계정으로 인해 발생하지 않습니다.423API 자체의 5xx는 API 내부의 예상치 못한 실패를 나타냅니다. 이는 사용자의 프롬프트, 설정 또는 계정으로 인해 발생하지 않습니다.

424 

425프록시, 로드 밸런서 또는 게이트웨이가 HTML 오류 페이지로 응답할 때 메시지는 상태 코드와 페이지의 제목(예: `API Error: 502 Bad Gateway`)을 표시합니다. 제목이 없는 페이지의 경우 메시지는 상태 코드와 표준 이름을 대신 표시합니다. v2.1.281 이전에는 페이지에 제목이 있을 때 상태 코드가 삭제되었고 제목이 없을 때 페이지의 원본 마크업이 인쇄되었습니다.

394 426 

395**수행할 작업:**427**수행할 작업:**

396 428 


416 448 

417* [status.claude.com](https://status.claude.com) 또는 메시지에 명시된 제공자 상태 페이지에서 용량 공지를 확인합니다449* [status.claude.com](https://status.claude.com) 또는 메시지에 명시된 제공자 상태 페이지에서 용량 공지를 확인합니다

418* 몇 분 후에 다시 시도합니다450* 몇 분 후에 다시 시도합니다

419* `/model`을 실행하고 다른 모델로 전환하여 계속 작업합니다. 용량은 모델별로 추적되기 때문입니다. Claude Code는 한 모델이 특히 높은 부하를 받을 때 이를 수행하도록 프롬프트합니다. 예를 들어 `Opus is experiencing high load, please use /model to switch to Sonnet`입니다.451* `/model`을 실행하고 다른 모델로 전환하여 계속 작업합니다. 용량은 모델별로 추적되기 때문입니다. Claude Code는 한 모델이 특히 높은 부하를 받을 때 이를 수행하도록 프롬프트합니다. 예를 들어 `Opus is experiencing high load, please use /model to switch to Sonnet`입니다. Fable 모델에서 메시지는 Fable을 명시합니다.

452 

453 Claude Desktop 앱이 실행하는 세션(예: Code 탭 또는 Cowork)에서 메시지는 `Opus is experiencing high load. Switch to Sonnet.`으로 읽히며 앱의 모델 선택기로 모델을 전환합니다.

420 454 

421<h3 id="request-timed-out">455<h3 id="request-timed-out">

422 요청 시간 초과456 요청 시간 초과


474API Error: Connection lost mid-response. The response above may be incomplete.508API Error: Connection lost mid-response. The response above may be incomplete.

475API Error: Your computer went to sleep mid-response. The response above may be incomplete.509API Error: Your computer went to sleep mid-response. The response above may be incomplete.

476API Error: The response stopped arriving. The response above may be incomplete.510API Error: The response stopped arriving. The response above may be incomplete.

511API Error: Part of the response never arrived. The response above may be incomplete.

512API Error: The response stream was malformed. The response above may be incomplete.

477```513```

478 514 

479* `Server error mid-response`: 스트림 중간 오버로드 또는 5xx 서버 오류입니다. 이 변형은 Claude Code v2.1.199 이상이 필요합니다. 그 이전에는 부분 출력을 버리고 전체 턴을 오류로 보고했습니다.515* `Server error mid-response`: 스트림 중간 오버로드 또는 5xx 서버 오류입니다. 이 변형은 Claude Code v2.1.199 이상이 필요합니다. 그 이전에는 부분 출력을 버리고 전체 턴을 오류로 보고했습니다.

480* `Connection lost mid-response`: 연결이 끊어졌습니다.516* `Connection lost mid-response`: 연결이 끊어졌습니다. 프록시 또는 게이트웨이가 응답이 완료되기 전에 응답 본문을 깔끔하게 종료할 때도 이 변형이 표시됩니다.

481* `Your computer went to sleep mid-response`: Claude Code가 응답이 스트리밍되는 동안 컴퓨터가 절전 모드로 전환되었음을 감지했습니다. 컴퓨터가 깨어나면 Claude Code는 연결을 끊어진 것으로 취급하고 읽기를 중지합니다.517* `Your computer went to sleep mid-response`: Claude Code가 응답이 스트리밍되는 동안 컴퓨터가 절전 모드로 전환되었음을 감지했습니다. 컴퓨터가 깨어나면 Claude Code는 연결을 끊어진 것으로 취급하고 읽기를 중지합니다.

518* `Part of the response never arrived`: 스트림 이벤트가 API와 Claude Code 사이에서 손실되어 나중 이벤트가 도착하지 않은 콘텐츠를 참조했습니다. v2.1.281 이전에는 이 경우 턴이 `API Error: Content block not found`로 종료되었습니다.

519* `The response stream was malformed`: 이미 완료된 콘텐츠 블록에 대한 이벤트가 도착했거나 손상된 이벤트가 도착했습니다. 손상된 이벤트는 데이터가 유효한 JSON이 아니거나 콘텐츠가 누락되었거나 콘텐츠가 이벤트의 유형과 일치하지 않는 이벤트입니다. v2.1.284 이전에는 파서의 원본 오류(예: `API Error: JSON Parse error`로 시작하는 오류)가 Claude가 생각, 텍스트 블록 또는 도구 호출을 완료한 후 유효하지 않은 JSON이 있는 이벤트가 도착했을 때 대신 나타났습니다.

482* `The response stopped arriving`: 연결은 열려 있었지만 데이터 전달을 중지했으므로 스트리밍 유휴 감시자가 중단했습니다. v2.1.222 이전에는 Claude Code가 `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통해 도달한 [게이트웨이](/docs/ko/gateways) 연결에서 서버의 킵얼라이브 핑이 여전히 도착하는 동안 이 실패를 보고할 수 있었습니다. 파싱된 응답 이벤트만 계산했기 때문입니다. 업그레이드하면 해당 경로에서 이러한 거짓 시간 초과를 중지합니다. `ANTHROPIC_BEDROCK_BASE_URL`과 같은 제공자 기본 URL을 통해 도달한 게이트웨이는 바이트 감시자로 래핑되지 않습니다. [스트리밍 유휴 감시자](/docs/ko/network-config#streaming-idle-watchdogs)를 참조하세요.520* `The response stopped arriving`: 연결은 열려 있었지만 데이터 전달을 중지했으므로 스트리밍 유휴 감시자가 중단했습니다. v2.1.222 이전에는 Claude Code가 `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통해 도달한 [게이트웨이](/docs/ko/gateways) 연결에서 서버의 킵얼라이브 핑이 여전히 도착하는 동안 이 실패를 보고할 수 있었습니다. 파싱된 응답 이벤트만 계산했기 때문입니다. 업그레이드하면 해당 경로에서 이러한 거짓 시간 초과를 중지합니다. `ANTHROPIC_BEDROCK_BASE_URL`과 같은 제공자 기본 URL을 통해 도달한 게이트웨이는 바이트 감시자로 래핑되지 않습니다. [스트리밍 유휴 감시자](/docs/ko/network-config#streaming-idle-watchdogs)를 참조하세요.

483 521 

484v2.1.227 이전에는 `Connection lost mid-response`가 `Connection closed mid-response`로 읽혔고 `The response stopped arriving`이 `Response stalled mid-stream`으로 읽혔습니다.522v2.1.227 이전에는 `Connection lost mid-response`가 `Connection closed mid-response`로 읽혔고 `The response stopped arriving`이 `Response stalled mid-stream`으로 읽혔습니다.

485 523 

524Claude가 텍스트 또는 도구 호출을 시작하기 전에 손실되거나 중복된 스트림 이벤트가 도착하면 이 공지가 표시되지 않습니다:

525 

526* Claude가 생각만 완료했으면 Claude Code가 요청을 다시 발급합니다. 다시 발급된 스트림이 동일한 방식으로 끊어지면 턴이 `Part of the response never arrived and no response was produced. Try again.` 또는 `The response stream was malformed and no response was produced. Try again.`으로 끝납니다.

527* 아무것도 완료되지 않았으면 Claude Code가 스트리밍 없이 요청을 다시 보냅니다. [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/ko/env-vars)으로 해당 폴백을 끈 경우 턴이 손실된 이벤트에 대해 `API Error: Content block not found`로 끝나거나 중복된 이벤트에 대해 `API Error: Content block already closed`로 끝납니다. 손상된 이벤트의 경우 폴백이 꺼져 있으면 턴이 `API Error: Stream event unreadable` 또는 파서의 원본 오류로 끝납니다.

528 

4864가지 경우에 Claude Code는 이 공지를 즉시 표시하지 않고 실패를 처리합니다:5294가지 경우에 Claude Code는 이 공지를 즉시 표시하지 않고 실패를 처리합니다:

487 530 

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


668API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context711API Error: Usage credits required for 1M context · run /usage-credits to turn them on (they take effect after you restart Claude Code), or /model to switch to standard context

669```712```

670 713 

714Claude Desktop app이 실행하는 세션에서 힌트는 명령을 지정하지 않습니다: claude.ai 사용 설정 페이지를 가리키거나 Team 및 Enterprise 플랜에서는 claude.ai/admin-settings/usage에서 사용 크레딧을 켜거나 관리자에게 요청하도록 지시합니다.

715 

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

672 717 

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


733 778 

734뒤따르는 문장은 서비스 상태를 확인할 위치를 지정하며 공급자에 따라 다릅니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 구성은 Anthropic 상태 페이지 대신 해당 공급자의 서비스 상태를 지정합니다. 사용자 정의 `ANTHROPIC_BASE_URL`은 게이트웨이 호스트를 지정합니다.779뒤따르는 문장은 서비스 상태를 확인할 위치를 지정하며 공급자에 따라 다릅니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 구성은 Anthropic 상태 페이지 대신 해당 공급자의 서비스 상태를 지정합니다. 사용자 정의 `ANTHROPIC_BASE_URL`은 게이트웨이 호스트를 지정합니다.

735 780 

781Claude Code와 API 사이의 프록시, 로드 밸런서 또는 게이트웨이가 자체 HTML 429 페이지로 응답할 때 `·` 뒤의 텍스트는 해당 페이지의 제목(있는 경우)입니다(예: `Too Many Requests`). v2.1.281 이전에는 전체 페이지의 마크업이 `·` 뒤에 인쇄되었습니다.

782 

736**수행할 작업:**783**수행할 작업:**

737 784 

738* `/status`를 실행하고 활성 자격 증명이 예상한 것인지 확인합니다. 환경의 잘못된 `ANTHROPIC_API_KEY`는 구독 대신 저가형 키를 통해 요청을 라우팅할 수 있습니다.785* `/status`를 실행하고 활성 자격 증명이 예상한 것인지 확인합니다. 환경의 잘못된 `ANTHROPIC_API_KEY`는 구독 대신 저가형 키를 통해 요청을 라우팅할 수 있습니다.


839Not logged in · Please run /login886Not logged in · Please run /login

840```887```

841 888 

889Claude Desktop 앱이 실행하는 세션(예: Code 탭 또는 Cowork)에서 메시지는 `Authentication required · Sign in again to continue`로 읽으며, 앱에서 다시 로그인합니다.

890 

842**수행할 작업:**891**수행할 작업:**

843 892 

844* `/login`을 실행하여 Claude 구독 또는 Console 계정으로 인증합니다.893* `/login`을 실행하여 Claude 구독 또는 Console 계정으로 인증합니다.


846* CI 또는 자동화에서 대화형 로그인이 불가능한 경우, 시작 시 키를 가져오는 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트를 구성합니다.895* CI 또는 자동화에서 대화형 로그인이 불가능한 경우, 시작 시 키를 가져오는 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트를 구성합니다.

847* [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하여 여러 자격증명이 있을 때 Claude Code가 어떤 자격증명을 사용하는지 이해합니다.896* [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하여 여러 자격증명이 있을 때 Claude Code가 어떤 자격증명을 사용하는지 이해합니다.

848 897 

849반복적으로 로그인하라는 메시지가 표시되면, 시스템 시계 확인 및 macOS 자격증명 저장소 복구 단계에 대해 [로그인하지 않음 또는 토큰 만료](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)를 참조하십시오.898반복적으로 로그인하라는 메시지가 표시되면, [로그인하지 않음 또는 토큰 만료됨](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)에서 시스템 시계 확인 및 macOS 자격증명 저장소 복구 단계를 참조하십시오.

850 899 

851<h3 id="could-not-resolve-authentication-method">900<h3 id="could-not-resolve-authentication-method">

852 인증 방법을 확인할 수 없음901 인증 방법을 확인할 수 없음


862 911 

863**수행할 작업:**912**수행할 작업:**

864 913 

865* 백그라운드 또는 클라우드 세션에 이것이 나타나고 자격증명이 이미 구성되어 있으면 v2.1.176 이상으로 업그레이드합니다.914* 백그라운드 또는 클라우드 세션에서 이것이 나타나고 자격증명이 이미 구성되어 있으면 v2.1.176 이상으로 업그레이드합니다.

866* `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` 또는 클라우드 공급자 자격증명이 대화형 셸뿐만 아니라 워커를 실행하는 환경에 설정되어 있는지 확인합니다.915* `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` 또는 클라우드 공급자 자격증명이 대화형 셸이 아닌 워커를 실행하는 환경에서 설정되어 있는지 확인합니다.

867* Agent SDK의 경우, [빠른 시작의 인증 설정](/docs/ko/agent-sdk/quickstart#setup)을 참조하십시오.916* Agent SDK의 경우, [빠른 시작의 인증 설정](/docs/ko/agent-sdk/quickstart#setup)을 참조합니다.

868* 동일한 환경의 대화형 세션에서 `/status`를 실행하여 어떤 자격증명 소스가 확인되는지 확인합니다.917* 동일한 환경의 대화형 세션에서 `/status`를 실행하여 어떤 자격증명 소스가 확인되는지 확인합니다.

869 918 

870<h3 id="invalid-api-key">919<h3 id="invalid-api-key">


877Invalid API key · Fix external API key926Invalid API key · Fix external API key

878```927```

879 928 

880메시지가 `Fix external API key` 이후로 `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`와 같은 설명으로 계속되면, API는 키를 보지 못했습니다. Claude Code가 HTTP 헤더가 전달할 수 없는 문자를 찾았고 전송하기 전에 요청을 중지했습니다. 설명을 읽고 값을 수정하는 방법은 [잘못된 요청 헤더 값](#invalid-request-header-value)을 참조하십시오.929메시지가 `Fix external API key` 이후로 계속되고 `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`와 같은 설명이 있으면, API는 키를 보지 못했습니다. Claude Code가 HTTP 헤더가 전달할 수 없는 문자를 찾았고 전송하기 전에 요청을 중지했습니다. 설명을 읽고 값을 수정하는 방법은 [잘못된 요청 헤더 값](#invalid-request-header-value)을 참조합니다.

881 930 

882**수행할 작업:**931**수행할 작업:**

883 932 


888* `/status`를 실행하여 Claude Code가 실제로 사용 중인 자격증명 소스를 확인합니다.937* `/status`를 실행하여 Claude Code가 실제로 사용 중인 자격증명 소스를 확인합니다.

889 938 

890<h3 id="your-apikeyhelper-script-is-failing">939<h3 id="your-apikeyhelper-script-is-failing">

891 apiKeyHelper 스크립트가 실패함940 apiKeyHelper 스크립트가 실패 중입니다

892</h3>941</h3>

893 942 

894Claude Code가 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정의 명령을 실행했지만 키를 다시 받지 못했습니다. 키 없이는 요청이 자리 표시자 자격증명으로 API에 도달하고, API가 `401`로 거부합니다. 터미널의 `Authentication` 패널은 다음 중 어떤 일이 발생했는지 보여줍니다:943Claude Code가 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정에서 명령을 실행했지만 키를 다시 받지 못했습니다. 키 없이 요청이 자리 표시자 자격증명으로 API에 도달하고, API가 `401`로 거부합니다. 터미널의 `Authentication` 패널은 다음 중 어떤 일이 발생했는지 보여줍니다:

895 944 

896* 명령이 오류로 종료되었거나 시간 초과됨945* 명령이 오류로 종료되었거나 시간 초과되었습니다.

897* 명령이 stdout에 아무것도 인쇄하지 않음946* 명령이 stdout에 아무것도 인쇄하지 않았습니다.

898* 명령이 로그인 배너 또는 로그 라인과 같은 키 이외의 것을 인쇄했습니다. 패널은 `returned output that cannot be used as an API key`를 표시하고 무엇이 잘못되었는지 말하며, 출력을 반복하지 않습니다. v2.1.227 이전에는 Claude Code가 주변 공백을 자른 후 명령이 인쇄한 모든 것을 전송했습니다.947* 명령이 로그인 배너 또는 로그 라인과 같이 키 이외의 것을 인쇄했습니다. 패널은 `returned output that cannot be used as an API key`를 표시하고 무엇이 잘못되었는지 말하며, 출력을 반복하지 않습니다. v2.1.227 이전에는 Claude Code가 주변 공백을 자른 후 명령이 인쇄한 모든 것을 전송했습니다.

899 948 

900```text theme={null}949```text theme={null}

901Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output950Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output


905 954 

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

907 956 

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

909 958 

910**수행할 작업:**959**수행할 작업:**

911 960 

912* `apiKeyHelper`에 구성된 명령을 셸에서 직접 실행하여 실패를 재현합니다.961* `apiKeyHelper`에 구성된 명령을 셸에서 직접 실행하여 실패를 재현합니다.

913* 명령이 만료된 세션을 보고하면, 예를 들어 SSO 또는 비밀 자격증명 모음에 다시 로그인하여 자격증명 공급자로 다시 인증합니다.962* 명령이 만료된 세션을 보고하면, 예를 들어 SSO 또는 비밀 자격증명 모음에 다시 로그인하여 자격증명 공급자로 다시 인증합니다.

914* 명령이 stdout에만 키를 인쇄하도록 수정합니다. 최대 16,384자의 인쇄 가능한 ASCII의 단일 토큰으로, 종료 코드 0으로 종료합니다. 작동하는 설정은 [apiKeyHelper로 자격증명 회전](/docs/ko/llm-gateway-connect#rotate-credentials-with-apikeyhelper)을 참조하십시오.963* 명령이 stdout에만 키를 인쇄하도록 수정합니다. 단일 인쇄 가능한 ASCII 토큰으로 최대 16,384자이며 종료 코드 0으로 종료합니다. 작동하는 설정은 [apiKeyHelper로 자격증명 회전](/docs/ko/llm-gateway-connect#rotate-credentials-with-apikeyhelper)을 참조합니다.

915* `/status`를 실행하여 `apiKeyHelper`가 활성 자격증명 소스인지 확인합니다. `apiKeyHelper` 행은 `Failing`을 표시하며 마지막 실패의 세부 정보(예: 종료 코드 및 명령의 오류 출력)를 표시하고, 다음 성공적인 실행 후 사라집니다. v2.1.274 이전에는 `/status`가 자격증명 소스만 표시했고 실패를 표시하지 않았습니다.964* `/status`를 실행하여 실패를 확인하고 `apiKeyHelper`가 활성 자격증명 소스인지 확인합니다. `apiKeyHelper` 행은 종료 코드 및 명령의 오류 출력과 같은 마지막 실패의 세부 정보와 함께 `Failing`을 표시하며, 다음 성공적인 실행 후 사라집니다. v2.1.274 이전에는 `/status`가 실패가 아닌 자격증명 소스만 표시했습니다.

916* 명령이 실패할 때마다 종료 코드와 오류 출력이 터미널의 `Authentication` 패널에 나타납니다. v2.1.212 이전에는 패널의 제목이 `Cloud authentication`이었습니다.965* 명령이 실패할 때마다 종료 코드와 오류 출력도 터미널의 `Authentication` 패널에 나타납니다. v2.1.212 이전에는 패널의 제목이 `Cloud authentication`이었습니다.

917 966 

918<h3 id="invalid-request-header-value">967<h3 id="invalid-request-header-value">

919 잘못된 요청 헤더 값968 잘못된 요청 헤더 값


921 970 

922Claude Code가 요청 헤더로 전송하려던 값에 HTTP 헤더가 전달할 수 없는 문자가 포함되어 있습니다: 줄 바꿈, NUL 바이트 또는 `U+00FF` 위의 문자(예: 곡선 따옴표 또는 너비가 0인 공백). Claude Code는 아무것도 전송되기 전에 요청을 중지하고 수정할 변수 또는 설정의 이름을 지정합니다. 일반적인 원인은 보이지 않는 문자 또는 잘못된 줄 바꿈을 전달한 문서 또는 채팅에서 붙여넣은 자격증명입니다.971Claude Code가 요청 헤더로 전송하려던 값에 HTTP 헤더가 전달할 수 없는 문자가 포함되어 있습니다: 줄 바꿈, NUL 바이트 또는 `U+00FF` 위의 문자(예: 곡선 따옴표 또는 너비가 0인 공백). Claude Code는 아무것도 전송되기 전에 요청을 중지하고 수정할 변수 또는 설정의 이름을 지정합니다. 일반적인 원인은 보이지 않는 문자 또는 잘못된 줄 바꿈을 전달한 문서 또는 채팅에서 붙여넣은 자격증명입니다.

923 972 

924Claude Code는 Claude API에 직접 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 요청을 전송할 때 이 확인을 실행합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock)과 같은 타사 클라우드 공급자에서 Claude Code는 전송하기 전에 실행하지 않습니다.973Claude Code는 Claude API에 직접 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 요청을 전송할 때 이 확인을 실행합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock)과 같은 타사 클라우드 공급자에서는 Claude Code가 전송하기 전에 실행하지 않습니다.

925 974 

926```text theme={null}975```text theme={null}

927Invalid auth token · Fix external auth token976Invalid auth token · Fix external auth token


932메시지의 첫 번째 부분은 잘못된 값이 어디에서 왔는지에 따라 달라집니다:981메시지의 첫 번째 부분은 잘못된 값이 어디에서 왔는지에 따라 달라집니다:

933 982 

934* `Invalid auth token`: [`ANTHROPIC_AUTH_TOKEN`](/docs/ko/env-vars) 또는 [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars)의 베어러 토큰983* `Invalid auth token`: [`ANTHROPIC_AUTH_TOKEN`](/docs/ko/env-vars) 또는 [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars)의 베어러 토큰

935* `Invalid ANTHROPIC_CUSTOM_HEADERS`: [`ANTHROPIC_CUSTOM_HEADERS`](/docs/ko/env-vars)에서 설정한 헤더 이름 또는 값입니다. 설명은 `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`와 같이 어떤 `Name: Value` 쌍이 잘못되었는지 세지만, 이름이나 값을 반복하지 않습니다.984* `Invalid ANTHROPIC_CUSTOM_HEADERS`: [`ANTHROPIC_CUSTOM_HEADERS`](/docs/ko/env-vars)에서 설정한 헤더 이름 또는 값입니다. 설명은 `ANTHROPIC_CUSTOM_HEADERS`에서 구문 분석된 3개 중 2번째 고유 헤더와 같이 어떤 `Name: Value` 쌍이 잘못되었는지 계산하며, 이름이나 값을 반복하지 않습니다.

936* `Invalid request header from the environment`: Claude Code가 `CLAUDE_AGENT_SDK_CLIENT_APP`과 같은 다른 환경 변수에서 요청 헤더로 복사하는 값입니다. 설명은 수정할 변수의 이름을 지정합니다.985* `Invalid request header from the environment`: Claude Code가 `CLAUDE_AGENT_SDK_CLIENT_APP`과 같은 다른 환경 변수에서 요청 헤더로 복사하는 값입니다. 설명은 수정할 변수의 이름을 지정합니다.

937 986 

938Claude Code는 이 확인으로 포착된 잘못된 `ANTHROPIC_API_KEY`를 [잘못된 API 키](#invalid-api-key)로 보고하며, 동일한 후행 설명이 있습니다. 저장된 `/login` 자격증명이 잘못된 경우 [로그인하지 않음](#not-logged-in)으로 보고합니다. 대신 `/login`을 실행하여 새 자격증명을 저장합니다. [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트의 출력은 이 확인에 도달하지 않습니다: Claude Code는 스크립트가 실행될 때 유효성을 검사하고, HTTP 헤더가 전달할 수 없는 출력은 [apiKeyHelper 스크립트가 실패함](#your-apikeyhelper-script-is-failing)으로 실패합니다.987Claude Code는 이 확인으로 포착된 잘못된 `ANTHROPIC_API_KEY`를 [잘못된 API 키](#invalid-api-key)로 보고하며, 동일한 후행 설명이 있습니다. 잘못된 저장된 `/login` 자격증명을 [로그인하지 않음](#not-logged-in)으로 보고합니다. [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트의 출력은 이 확인에 도달하지 않습니다: Claude Code는 스크립트가 실행될 때 유효성을 검사하며, HTTP 헤더가 전달할 수 없는 출력은 [apiKeyHelper 스크립트가 실패 중입니다](#your-apikeyhelper-script-is-failing)로 실패합니다.

939 988 

940두 번째 `·` 이후에 메시지는 다음과 같은 전체 예제에서 문제를 설명합니다:989두 번째 `·` 이후에 메시지는 다음과 같은 전체 예제에서 문제를 설명합니다:

941 990 


943Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).992Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).

944```993```

945 994 

946위치는 1부터 시작하는 문자를 세십시오. 설명은 고정된 구문과 문자 수로 구성되므로 값 자체를 포함하지 않습니다. 바이트 순서 표시, 너비가 0인 공백 또는 곡선 따옴표와 같은 잘 알려진 보이지 않는 또는 인쇄 문자인 경우에만 잘못된 문자의 이름을 지정하고, 다른 모든 것을 `a non-ASCII character`로 보고합니다.995위치는 1부터 시작하는 문자를 계산합니다. 설명은 고정된 구문과 문자 수로 구성되므로 값 자체를 포함하지 않습니다. 바이트 순서 표시, 너비가 0인 공백 또는 곡선 따옴표와 같이 잘 알려진 보이지 않는 또는 인쇄 문자인 경우에만 잘못된 문자의 이름을 지정하며, 다른 모든 것을 `a non-ASCII character`로 보고합니다.

947 996 

948**수행할 작업:**997**수행할 작업:**

949 998 

950* 메시지가 이름을 지정한 변수 또는 설정을 다시 설정하고, 동일한 소스에서 붙여넣지 않고 보고된 위치 주변의 문자를 다시 입력합니다.999* 메시지가 이름을 지정한 변수 또는 설정을 다시 설정하고, 동일한 소스에서 붙여넣는 대신 보고된 위치 주변의 문자를 다시 입력합니다.

951* `ANTHROPIC_CUSTOM_HEADERS`의 경우, 한 줄에 하나의 `Name: Value` 쌍을 유지하고 메시지가 세는 쌍을 다시 작성합니다.1000* `ANTHROPIC_CUSTOM_HEADERS`의 경우, 한 줄에 하나의 `Name: Value` 쌍을 유지하고 메시지가 계산하는 쌍을 다시 작성합니다.

952* `/status`를 실행하여 어떤 자격증명 소스가 활성인지 확인합니다.1001* `/status`를 실행하여 어떤 자격증명 소스가 활성화되어 있는지 확인합니다.

953 1002 

954<h3 id="this-organization-has-been-disabled">1003<h3 id="this-organization-has-been-disabled">

955 이 조직이 비활성화됨1004 이 조직이 비활성화되었습니다

956</h3>1005</h3>

957 1006 

958Claude Code가 비활성화된 Console 조직의 오래된 `ANTHROPIC_API_KEY`를 사용하고 있습니다. 저장된 구독 로그인이 있으면 키가 이를 재정의합니다.1007Claude Code가 비활성화된 Console 조직의 오래된 `ANTHROPIC_API_KEY`를 사용 중입니다. 저장된 구독 로그인이 있으면 키가 이를 재정의합니다.

959 1008 

960```text theme={null}1009```text theme={null}

961Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead1010Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead


965 1014 

966`·` 이후의 힌트는 저장된 자격증명에 따라 달라집니다: 첫 번째 형식은 저장된 `/login`이 키를 설정 해제한 후 인수할 수 있을 때 나타나고, 두 번째는 키가 유일한 자격증명일 때 나타납니다.1015`·` 이후의 힌트는 저장된 자격증명에 따라 달라집니다: 첫 번째 형식은 저장된 `/login`이 키를 설정 해제한 후 인수할 수 있을 때 나타나고, 두 번째는 키가 유일한 자격증명일 때 나타납니다.

967 1016 

968환경 변수는 `/login`보다 우선하므로, 셸 프로필에서 내보낸 키 또는 `.env` 파일에서 로드된 키는 작동하는 Pro 또는 Max 구독이 있어도 사용됩니다. 비대화형 모드(`-p`)에서는 키가 있을 때 항상 사용됩니다.1017환경 변수는 `/login`보다 우선순위를 가지므로, 셸 프로필에서 내보낸 키 또는 `.env` 파일에서 로드된 키는 작동하는 Pro 또는 Max 구독이 있어도 사용됩니다. 비대화형 모드(`-p`)에서는 키가 있을 때 항상 사용됩니다.

969 1018 

970**수행할 작업:**1019**수행할 작업:**

971 1020 

972* 현재 셸에서 `ANTHROPIC_API_KEY`를 설정 해제하고 셸 프로필에서 제거한 후 `claude`를 다시 실행합니다.1021* 현재 셸에서 `ANTHROPIC_API_KEY`를 설정 해제하고 셸 프로필에서 제거한 후 `claude`를 다시 실행합니다.

973* 메시지가 `Update or unset`이라고 말하면, 폴백할 저장된 로그인이 없습니다. 키를 설정 해제하고 `/login`을 실행하거나, 활성 Console 조직의 키로 바꿉니다.1022* 메시지가 `Update or unset`이라고 하면, 폴백할 저장된 로그인이 없습니다. 키를 설정 해제하고 `/login`을 실행하거나, 활성 Console 조직의 키로 바꿉니다.

974* 그 후 `/status`를 실행하여 활성 자격증명이 구독인지 확인합니다.1023* 그 후 `/status`를 실행하여 활성 자격증명이 구독인지 확인합니다.

975* 환경 변수가 설정되지 않았고 오류가 지속되면, 비활성화된 조직은 `/login`에 연결된 조직입니다. 지원팀에 문의하거나 다른 계정으로 로그인합니다.1024* 환경 변수가 설정되지 않았고 오류가 지속되면, 비활성화된 조직은 `/login`에 연결된 조직입니다. 지원팀에 문의하거나 다른 계정으로 로그인합니다.

976 1025 

977<h3 id="your-organization-has-disabled-api-key-authentication">1026<h3 id="your-organization-has-disabled-api-key-authentication">

978 조직이 API 키 인증을 비활성화함1027 조직이 API 키 인증을 비활성화했습니다

979</h3>1028</h3>

980 1029 

981이 메시지에는 Claude Code v2.1.169 이상이 필요합니다. Console 조직의 관리자가 API 키 인증을 끄었으므로 API가 Claude Code가 전송하는 키를 거부합니다. 복구 힌트는 `·` 이후에 키가 어디에서 왔는지에 따라 달라집니다:1030이 메시지는 Claude Code v2.1.169 이상이 필요합니다. Console 조직의 관리자가 API 키 인증을 비활성화했으므로 API가 Claude Code가 전송 중인 키를 거부합니다. 복구 힌트는 키가 어디에서 왔는지에 따라 `·` 이후에 달라집니다:

982 1031 

983```text theme={null}1032```text theme={null}

984Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account1033Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account

985Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead1034Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY to use your claude.ai account instead

986Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account1035Your organization has disabled API key authentication · Unset ANTHROPIC_API_KEY and run /login to sign in with your claude.ai account

987Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account1036Your organization has disabled API key authentication · Unset the apiKeyHelper setting and run /login to sign in with your claude.ai account

1037Your organization has disabled API key authentication · Sign in again with your claude.ai account

988```1038```

989 1039 

990환경 변수와 `apiKeyHelper`는 `/login`보다 우선하므로, `/login`을 단독으로 실행하는 것은 둘 중 하나가 여전히 키를 공급하는 동안 도움이 되지 않습니다. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하십시오.1040마지막 형식은 Claude Desktop 앱이 실행하는 세션(예: Code 탭 또는 Cowork)에 나타나며, 앱에서 다시 로그인합니다.

1041 

1042환경 변수와 `apiKeyHelper`는 `/login`보다 우선순위를 가지므로, 둘 중 하나가 여전히 키를 제공하는 동안 `/login`을 실행하는 것만으로는 도움이 되지 않습니다. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조합니다.

991 1043 

992**수행할 작업:**1044**수행할 작업:**

993 1045 


995* 메시지가 `apiKeyHelper`의 이름을 지정하면, `settings.json`에서 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정을 제거합니다.1047* 메시지가 `apiKeyHelper`의 이름을 지정하면, `settings.json`에서 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정을 제거합니다.

996* `/login`을 실행하여 claude.ai 계정으로 로그인합니다.1048* `/login`을 실행하여 claude.ai 계정으로 로그인합니다.

997* 그 후 `/status`를 실행하여 활성 자격증명이 API 키가 아닌 구독인지 확인합니다.1049* 그 후 `/status`를 실행하여 활성 자격증명이 API 키가 아닌 구독인지 확인합니다.

998* 자동화를 위해 API 키 인증이 필요한 경우, 조직 관리자에게 Console에서 다시 활성화하도록 요청합니다.1050* 자동화를 위해 API 키 인증이 필요하면, 조직 관리자에게 Console에서 이를 다시 활성화하도록 요청합니다.

999 1051 

1000<h3 id="your-organization-has-disabled-claude-subscription-access">1052<h3 id="your-organization-has-disabled-claude-subscription-access">

1001 조직이 Claude 구독 액세스를 비활성화함1053 조직이 Claude 구독 액세스를 비활성화했습니다

1002</h3>1054</h3>

1003 1055 

1004Claude 조직이 구독 로그인으로 Claude Code에 로그인하는 것을 허용하지 않습니다. 동일한 계정으로 `/login`을 다시 실행하면 동일한 오류가 반환됩니다.1056Claude 조직이 구독 로그인으로 Claude Code에 로그인하는 것을 허용하지 않습니다. 동일한 계정으로 `/login`을 다시 실행하면 동일한 오류가 반환됩니다.


1013 1065 

1014**수행할 작업:**1066**수행할 작업:**

1015 1067 

1016* 조직의 관리자에게 조직에 대한 Claude Code 액세스를 활성화하도록 요청합니다.1068* 조직 관리자에게 조직에 대한 Claude Code 액세스를 활성화하도록 요청합니다.

1017* 구독 대신 Console API 키로 인증합니다. 설정은 [Claude Console 인증](/docs/ko/authentication#claude-console-authentication)을 참조하십시오.1069* 구독 대신 Console API 키로 인증합니다. 설정은 [Claude Console 인증](/docs/ko/authentication#claude-console-authentication)을 참조합니다.

1018* 관리자이고 액세스를 활성화하는 옵션이 보이지 않으면, [Anthropic 지원](https://support.claude.com)에 문의합니다.1070* 관리자이고 액세스를 활성화하는 옵션이 보이지 않으면, [Anthropic 지원](https://support.claude.com)에 문의합니다.

1019 1071 

1020<h3 id="routines-are-disabled-by-your-organizations-policy">1072<h3 id="routines-are-disabled-by-your-organizations-policy">

1021 루틴이 조직의 정책에 의해 비활성화됨1073 루틴이 조직의 정책에 의해 비활성화되었습니다

1022</h3>1074</h3>

1023 1075 

1024Team 또는 Enterprise 조직의 Owner가 조직 수준에서 루틴을 끄었습니다. 오류는 예를 들어 claude.ai/code의 [루틴](/docs/ko/routines) UI에서 루틴을 만들거나 실행하려고 할 때 나타납니다. Claude Code v2.1.227 이상에서는 동일한 설정이 CLI에서 [`/schedule`도 숨깁니다](/docs/ko/routines#troubleshooting).1076Team 또는 Enterprise 조직의 Owner가 조직 수준에서 루틴을 비활성화했습니다. 오류는 예를 들어 claude.ai/code의 [루틴](/docs/ko/routines) UI에서 루틴을 생성하거나 실행하려고 할 때 나타납니다. Claude Code v2.1.227 이상에서는 동일한 설정이 CLI에서 [`/schedule`도 숨깁니다](/docs/ko/routines#troubleshooting).

1025 1077 

1026```text theme={null}1078```text theme={null}

1027Routines are disabled by your organization's policy.1079Routines are disabled by your organization's policy.


1032**수행할 작업:**1084**수행할 작업:**

1033 1085 

1034* 조직의 Owner에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)에서 **루틴** 토글을 활성화하도록 요청합니다.1086* 조직의 Owner에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)에서 **루틴** 토글을 활성화하도록 요청합니다.

1035* 조직 수준의 루틴이 필요하지 않은 일회성 예약 작업의 경우, [예약된 작업](/docs/ko/scheduled-tasks)을 참조하십시오.1087* 조직 수준의 루틴이 필요하지 않은 일회성 예약 작업의 경우, [예약된 작업](/docs/ko/scheduled-tasks)을 참조합니다.

1036 1088 

1037<h3 id="remote-control-requires-the-anthropic-api">1089<h3 id="remote-control-requires-the-anthropic-api">

1038 원격 제어에는 Anthropic API가 필요함1090 Remote Control에는 Anthropic API가 필요합니다

1039</h3>1091</h3>

1040 1092 

1041세션이 Anthropic API와 직접 통신하지 않으므로 [원격 제어](/docs/ko/remote-control)가 쌍을 이룰 claude.ai 백엔드가 없습니다.1093세션이 Anthropic API와 직접 통신하지 않으므로 [Remote Control](/docs/ko/remote-control)이 쌍을 이룰 claude.ai 백엔드가 없습니다.

1042 1094 

1043```text theme={null}1095```text theme={null}

1044Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.1096Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.


1046 1098 

1047두 번째 문장은 세션을 Anthropic API에서 멀어지게 한 것을 설명합니다. v2.1.219 이전에는 메시지가 첫 번째 문장만 있었습니다. 원인에 따라 메시지는 다음의 이름을 지정합니다:1099두 번째 문장은 세션을 Anthropic API에서 멀어지게 한 것을 설명합니다. v2.1.219 이전에는 메시지가 첫 번째 문장만 있었습니다. 원인에 따라 메시지는 다음의 이름을 지정합니다:

1048 1100 

1049* [Amazon Bedrock](/docs/ko/amazon-bedrock)의 `CLAUDE_CODE_USE_BEDROCK` 또는 [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)의 `CLAUDE_CODE_USE_VERTEX`와 같은 `CLAUDE_CODE_USE_*` 공급자 변수1101* `CLAUDE_CODE_USE_BEDROCK`(예: [Amazon Bedrock](/docs/ko/amazon-bedrock)) 또는 `CLAUDE_CODE_USE_VERTEX`(예: [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai))와 같은 `CLAUDE_CODE_USE_*` 공급자 변수

1050* [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 `api.anthropic.com` 이외의 호스트를 가리키고 있습니다. 예를 들어 [LLM 게이트웨이](/docs/ko/llm-gateway) 또는 프록시이며, claude.ai로 로그인할 때도 마찬가지입니다. v2.1.196 이전에는 사용자 정의 기본 URL이 원격 제어를 차단하지 않았습니다.1102* [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 `api.anthropic.com` 이외의 호스트를 가리키고 있습니다. 예를 들어 [LLM 게이트웨이](/docs/ko/llm-gateway) 또는 프록시이며, claude.ai로 로그인할 때도 마찬가지입니다. v2.1.196 이전에는 사용자 정의 기본 URL이 Remote Control을 차단하지 않았습니다.

1051* `ANTHROPIC_UNIX_SOCKET`이 설정되어 있으므로 세션이 `api.anthropic.com`이 아닌 로컬 소켓을 통해 요청을 전송합니다.1103* `ANTHROPIC_UNIX_SOCKET`이 설정되어 있으므로 세션이 `api.anthropic.com`이 아닌 로컬 소켓을 통해 요청을 전송합니다.

1052* `/login`을 통한 엔터프라이즈 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway) 로그인으로, 원격 제어를 지원하지 않으며 설정 해제할 변수가 없습니다.1104* `/login`을 통한 엔터프라이즈 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway) 로그인으로, Remote Control을 지원하지 않으며 설정 해제할 변수가 없습니다.

1053 1105 

1054**수행할 작업:**1106**수행할 작업:**

1055 1107 

1056* 메시지가 이름을 지정한 변수(예: `CLAUDE_CODE_USE_BEDROCK` 또는 `ANTHROPIC_BASE_URL`)를 설정 해제하고 세션을 다시 시작하거나, Anthropic API와 직접 통신하는 세션에서 원격 제어를 시작합니다.1108* 메시지가 이름을 지정한 변수(예: `CLAUDE_CODE_USE_BEDROCK` 또는 `ANTHROPIC_BASE_URL`)를 설정 해제하고 세션을 다시 시작하거나, Anthropic API와 직접 통신하는 세션에서 Remote Control을 시작합니다.

1057* 변수가 셸에 설정되지 않았으면, [설정 파일](/docs/ko/settings#where-settings-live)의 `env` 키를 확인하십시오. 이는 모든 세션에 환경 변수를 적용합니다.1109* 변수가 셸에 설정되지 않았으면, [설정 파일](/docs/ko/settings#where-settings-live)의 `env` 키를 확인합니다. 이는 모든 세션에 환경 변수를 적용합니다.

1058* 이 및 다른 원격 제어 시작 메시지의 경우, [원격 제어 문제 해결](/docs/ko/remote-control#troubleshooting)을 참조하십시오.1110* 이 및 다른 Remote Control 시작 메시지의 경우, [Remote Control 문제 해결](/docs/ko/remote-control#troubleshooting)을 참조합니다.

1059 1111 

1060<h3 id="remote-control-couldnt-refresh-your-login">1112<h3 id="remote-control-couldnt-refresh-your-login">

1061 원격 제어가 로그인을 새로 고칠 수 없음1113 Remote Control이 로그인을 새로 고칠 수 없습니다

1062</h3>1114</h3>

1063 1115 

1064Claude Code는 저장된 claude.ai 로그인을 사용하여 얻고 갱신하는 단기 자격증명에서 라이브 [원격 제어](/docs/ko/remote-control) 연결을 실행합니다. claude.ai가 해당 로그인을 더 이상 수락하지 않거나 Claude Code에 저장된 로그인이 남아 있지 않으면, Claude Code는 원격 제어를 중지하고 다시 로그인하도록 요청합니다. 두 실패 모두 Claude Code가 여전히 연결 중이거나 나중에 자격증명을 갱신할 때 발생할 수 있습니다.1116Claude Code는 저장된 claude.ai 로그인을 사용하여 얻고 갱신하는 단기 자격증명에서 라이브 [Remote Control](/docs/ko/remote-control) 연결을 실행합니다. claude.ai가 해당 로그인을 더 이상 수락하지 않거나 Claude Code에 저장된 로그인이 남아 있지 않으면, Claude Code는 Remote Control을 중지하고 다시 로그인하도록 요청합니다. 두 실패 모두 Claude Code가 여전히 연결 중이거나 나중에 자격증명을 갱신할 때 발생할 수 있습니다.

1065 1117 

1066Claude Code가 로그인 서비스에 저장된 로그인을 새로 고치도록 요청하고 응답을 받지 못하면, 원격 제어를 계속 실행하고 연결의 현재 자격증명이 여전히 유효한 동안 새로 고침을 다시 시도합니다. 새로 고침이 응답을 받지 못하는 경우는 Claude Code가 로그인 서비스에 도달할 수 없거나, 요청이 시간 초과되거나, 서비스가 로그인을 거부하지 않고 실패할 때입니다. 로그인 서비스가 해당 자격증명이 만료될 때까지 여전히 응답하지 않으면, Claude Code는 원격 제어를 중지하고 `OAuth token refresh failed`를 보고합니다.1118Claude Code가 로그인 서비스에 저장된 로그인을 새로 고치도록 요청하고 응답을 받지 못하면, Remote Control을 계속 실행하고 연결의 현재 자격증명이 여전히 유효한 동안 새로 고침을 다시 시도합니다. 새로 고침이 응답을 받지 못하는 경우는 Claude Code가 로그인 서비스에 도달할 수 없거나, 요청이 시간 초과되거나, 서비스가 로그인을 거부하지 않고 실패할 때입니다. 해당 자격증명이 만료될 때 로그인 서비스가 여전히 응답하지 않으면, Claude Code는 Remote Control을 중지하고 `OAuth token refresh failed`를 보고합니다.

1067 1119 

1068Claude Code가 원격 제어를 중지하면, 경고 및 `Remote Control disconnected`로 시작하는 기록 라인에 이유를 표시합니다. 로컬 세션은 원격 제어 없이 계속 실행됩니다. 이 섹션은 다음 라인을 다룹니다:1120Claude Code가 Remote Control을 중지하면, 경고 및 `Remote Control disconnected`로 시작하는 기록 라인에 이유를 표시합니다. 로컬 세션은 Remote Control 없이 계속 실행됩니다. 이 섹션은 다음 라인을 다룹니다:

1069 1121 

1070```text theme={null}1122```text theme={null}

1071Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control1123Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control


1081 1133 

1082* ` Claude.ai login expired` 및 `Claude.ai login was rejected`: claude.ai가 더 이상 저장된 로그인 토큰을 수락하지 않습니다. 만료되었거나 취소되었기 때문입니다.1134* ` Claude.ai login expired` 및 `Claude.ai login was rejected`: claude.ai가 더 이상 저장된 로그인 토큰을 수락하지 않습니다. 만료되었거나 취소되었기 때문입니다.

1083* ` OAuth token unavailable`: Claude Code가 연결의 자격증명이 갱신될 때 저장된 로그인 토큰이 없었습니다.1135* ` OAuth token unavailable`: Claude Code가 연결의 자격증명이 갱신될 때 저장된 로그인 토큰이 없었습니다.

1084* `OAuth token refresh failed`: claude.ai가 Claude Code가 다시 연결할 때 저장된 로그인 토큰을 거부했고, 토큰을 새로 고치면 새 토큰이 생성되지 않았습니다.1136* `OAuth token refresh failed`: Claude Code가 다시 연결할 때 claude.ai가 저장된 로그인 토큰을 거부했으며, 토큰을 새로 고치면 새 토큰이 생성되지 않았습니다.

1085* `JWT refresh failed: no OAuth token`: Claude Code가 갱신할 저장된 로그인 토큰을 찾지 못했습니다.1137* `JWT refresh failed: no OAuth token`: Claude Code가 갱신할 저장된 로그인 토큰을 찾지 못했습니다.

1086* ` Signed out of Claude`: 예를 들어 다른 터미널에서 `/logout`을 실행하여 이 머신에서 로그아웃했으므로 Claude Code가 연결을 갱신할 저장된 로그인이 없습니다.1138* ` Signed out of Claude`: 예를 들어 다른 터미널에서 `/logout`을 실행하여 이 머신에서 로그아웃했으므로 Claude Code가 연결을 갱신할 저장된 로그인이 없습니다.

1087 1139 


1090* `/login`을 실행하여 다시 로그인합니다.1142* `/login`을 실행하여 다시 로그인합니다.

1091* `/remote-control`을 실행하여 세션을 다시 연결합니다. ` run /login to restore Remote Control`으로 끝나는 메시지는 이 단계가 필요하지 않습니다: Claude Code는 로그인하면 자동으로 다시 연결됩니다.1143* `/remote-control`을 실행하여 세션을 다시 연결합니다. ` run /login to restore Remote Control`으로 끝나는 메시지는 이 단계가 필요하지 않습니다: Claude Code는 로그인하면 자동으로 다시 연결됩니다.

1092 1144 

1093v2.1.224 이전에는 `OAuth token refresh failed — run /login to re-authenticate`가 `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`으로 읽혔고, `JWT refresh failed: no OAuth token — run /login`이 `no OAuth token available for recovery (code <N>)`으로 읽혔습니다. ` Claude.ai login expired`, `Claude.ai login was rejected` 및 `OAuth token unavailable` 메시지는 v2.1.225에서 추가되었습니다.1145v2.1.224 이전에는 `OAuth token refresh failed — run /login to re-authenticate`가 `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`으로 읽혔으며, `JWT refresh failed: no OAuth token — run /login`이 `no OAuth token available for recovery (code <N>)`으로 읽혔습니다. ` Claude.ai login expired`, `Claude.ai login was rejected` 및 `OAuth token unavailable` 메시지는 v2.1.225에서 추가되었습니다.

1094 1146 

1095v2.1.238 이전에는 Claude Code가 현재 `Signed out of Claude`라고 말하는 경우를 `JWT refresh failed: no OAuth token — run /login`으로 보고했고, 한 번의 로그인 새로 고침이 응답을 받지 못하자마자 `Claude.ai login expired — run /login to restore Remote Control`으로 원격 제어를 중지했습니다.1147v2.1.238 이전에는 Claude Code가 현재 `Signed out of Claude`라고 하는 경우를 `JWT refresh failed: no OAuth token — run /login`으로 보고했으며, 한 번의 로그인 새로 고침이 응답을 받지 못하자마자 `Claude.ai login expired — run /login to restore Remote Control`으로 Remote Control을 중지했습니다.

1096 1148 

1097<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1149<h3 id="remote-control-stopped-because-the-signed-in-account-changed">

1098 원격 제어가 로그인한 계정이 변경되어 중지됨1150 Remote Control이 로그인한 계정이 변경되어 중지되었습니다

1099</h3>1151</h3>

1100 1152 

1101Claude Code는 [원격 제어](/docs/ko/remote-control) 세션 중에 이 라인을 표시합니다. 이 머신에서 다른 claude.ai 계정 또는 조직으로 로그인합니다. 예를 들어 다른 터미널에서 `/login`을 실행하여 Claude Code 세션 외부에서 전환했습니다.1153Claude Code는 이 머신에서 다른 claude.ai 계정 또는 조직으로 로그인할 때 [Remote Control](/docs/ko/remote-control) 세션 중에 이 라인을 표시합니다. 예를 들어 다른 터미널에서 `/login`을 실행하여 Claude Code 세션 외부에서 전환했습니다.

1102 1154 

1103`/login`을 통해 로그인하는 동안 시작한 원격 제어 세션은 당시에 로그인한 claude.ai 계정 및 조직에 속합니다.1155`/login`을 통해 로그인하는 동안 시작한 Remote Control 세션은 당시 로그인한 claude.ai 계정 및 조직에 속합니다.

1104 1156 

1105```text theme={null}1157```text theme={null}

1106Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control1158Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control

1107```1159```

1108 1160 

1109Claude Code는 claude.ai가 계정 또는 조직이 변경되었음을 확인하는 즉시 원격 제어 세션을 중지합니다. 로컬 세션은 원격 제어 없이 계속 실행됩니다.1161Claude Code는 claude.ai가 계정 또는 조직이 변경되었음을 확인하자마자 Remote Control 세션을 중지합니다. 로컬 세션은 Remote Control 없이 계속 실행됩니다.

1110 1162 

1111**수행할 작업:**1163**수행할 작업:**

1112 1164 

1113* `/remote-control`을 실행하여 현재 계정 또는 조직에서 새 원격 제어 세션을 시작합니다.1165* `/remote-control`을 실행하여 현재 계정 또는 조직에서 새 Remote Control 세션을 시작합니다.

1114* 다시 전환하려면 `/login`을 실행하고 이전 계정 또는 조직으로 다시 로그인합니다. 그런 다음 `/remote-control`을 실행합니다.1166* 다시 전환하려면, `/login`을 실행하고 이전 계정 또는 조직으로 다시 로그인합니다. 그런 다음 `/remote-control`을 실행합니다.

1115 1167 

1116v2.1.234 이전에는 Claude Code가 Claude Code 세션 외부에서 다른 계정 또는 조직으로 전환할 때 알아차리지 못했습니다. Claude Code는 원격 제어 서버에 대한 나중의 요청이 `Remote Control server rejected the request (HTTP 404)`로 실패할 때까지 원격 제어 세션을 연결된 상태로 유지했습니다. 이 실패는 전환 후 몇 시간 후에 올 수 있습니다.1168v2.1.234 이전에는 Claude Code가 Claude Code 세션 외부에서 다른 계정 또는 조직으로 전환할 때 알아차리지 못했습니다. Claude Code는 Remote Control 서버에 대한 나중의 요청이 `Remote Control server rejected the request (HTTP 404)`로 실패할 때까지 Remote Control 세션을 연결된 상태로 유지했습니다. 해당 실패는 전환 후 몇 시간이 지날 수 있습니다.

1117 1169 

1118<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1170<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">

1119 원격 제어가 세션을 실행하는 앱이 로그아웃하거나 계정을 전환했기 때문에 중지됨1171 Remote Control이 세션을 실행 중인 앱이 로그아웃하거나 계정을 전환하여 중지되었습니다

1120</h3>1172</h3>

1121 1173 

1122Claude 데스크톱 앱 또는 IDE가 세션을 호스팅할 때, Claude Code는 `/login` 대신 해당 앱에서 로그인 토큰을 가져옵니다. claude.ai가 해당 토큰을 거부할 때, Claude Code는 앱에 새 토큰을 요청합니다. 앱이 로그아웃했거나 이제 다른 Claude 계정으로 로그인했다고 응답하면, Claude Code는 [원격 제어](/docs/ko/remote-control) 세션을 종료하고 앱에 다음 라인 중 하나를 보냅니다:1174Claude 데스크톱 앱 또는 IDE가 세션을 호스팅할 때, Claude Code는 `/login`이 아닌 해당 앱에서 로그인 토큰을 가져옵니다. claude.ai가 해당 토큰을 거부할 때, Claude Code는 앱에 새 토큰을 요청합니다. 앱이 로그아웃했거나 이제 다른 Claude 계정으로 로그인했다고 응답하면, Claude Code는 [Remote Control](/docs/ko/remote-control) 세션을 종료하고 앱에 다음 라인 중 하나를 보냅니다:

1123 1175 

1124```text theme={null}1176```text theme={null}

1125Remote Control stopped — the app running this session is now signed in to a different Claude account1177Remote Control stopped — the app running this session is now signed in to a different Claude account

1126Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on1178Remote Control stopped — the app running this session is signed out of Claude. Sign in there, then turn Remote Control back on

1127```1179```

1128 1180 

1129로컬 세션은 원격 제어 없이 계속 실행됩니다.1181로컬 세션은 Remote Control 없이 계속 실행됩니다.

1130 1182 

1131**수행할 작업:**1183**수행할 작업:**

1132 1184 

1133* 앱이 로그아웃되면, 다시 로그인한 후 앱에서 원격 제어를 다시 켭니다.1185* 앱이 로그아웃했으면, 다시 로그인한 후 앱에서 Remote Control을 다시 켭니다.

1134* 앱이 계정을 전환하면, Claude Code는 새 계정에서 종료된 세션을 계속할 수 없습니다. 해당 계정에서 새 원격 제어 세션을 시작합니다.1186* 앱이 계정을 전환했으면, Claude Code는 새 계정에서 종료된 세션을 계속할 수 없습니다. 해당 계정에서 새 Remote Control 세션을 시작합니다.

1135 1187 

1136v2.1.238 이전에는 Claude Code가 두 경우 모두에서 [원격 제어가 로그인을 새로 고칠 수 없음](#remote-control-couldnt-refresh-your-login)에 나열된 `run /login` 메시지를 앱에 보냈습니다.1188v2.1.238 이전에는 Claude Code가 두 경우 모두에서 앱에 [Remote Control이 로그인을 새로 고칠 수 없습니다](#remote-control-couldnt-refresh-your-login)에 나열된 `run /login` 메시지를 보냈습니다.

1137 1189 

1138<h3 id="oauth-token-revoked-or-expired">1190<h3 id="oauth-token-revoked-or-expired">

1139 OAuth 토큰이 취소되었거나 만료됨1191 OAuth 토큰이 취소되었거나 만료되었습니다

1140</h3>1192</h3>

1141 1193 

1142저장된 로그인이 더 이상 유효하지 않습니다. 취소된 토큰은 어디서나 로그아웃했거나 관리자가 액세스를 제거했음을 의미합니다. 만료된 토큰은 자동 새로 고침이 세션 중에 실패했음을 의미합니다.1194저장된 로그인이 더 이상 유효하지 않습니다. 취소된 토큰은 어디서나 로그아웃했거나 관리자가 액세스를 제거했음을 의미합니다. 만료된 토큰은 자동 새로 고침이 세션 중에 실패했음을 의미합니다.

1143 1195 

1144두 메시지 모두 Claude Code가 전송한 요청에 대해 API가 반환한 거부를 보고합니다. 저장된 로그인이 실패한 새로 고침 후 이미 지워진 경우, 대신 [로그인 만료됨](#login-expired)을 참조하십시오. [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars)의 장기 토큰으로 인증하면, 해당 토큰이 만료되거나 취소될 때 동일한 메시지가 표시됩니다.1196두 메시지 모두 Claude Code가 전송한 요청에 대해 API가 반환한 거부를 보고합니다. 저장된 로그인이 실패한 새로 고침 후 이미 지워진 경우, 대신 [로그인 만료됨](#login-expired)을 봅니다. [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars)에서 장기 토큰으로 인증하면, 해당 토큰이 만료되거나 취소될 때 동일한 메시지가 표시됩니다.

1145 1197 

1146```text theme={null}1198```text theme={null}

1147OAuth token revoked · Please run /login1199OAuth token revoked · Please run /login


1152 1204 

1153* `/login`을 실행하여 다시 로그인합니다.1205* `/login`을 실행하여 다시 로그인합니다.

1154* 오류가 다시 인증한 후 동일한 세션 내에서 반환되면, 먼저 `/logout`을 실행하여 저장된 토큰을 완전히 지운 후 `/login`을 실행합니다.1206* 오류가 다시 인증한 후 동일한 세션 내에서 반환되면, 먼저 `/logout`을 실행하여 저장된 토큰을 완전히 지운 후 `/login`을 실행합니다.

1155* ` CLAUDE_CODE_OAUTH_TOKEN` 환경 변수로 인증하면, Claude Code는 요청이 401로 실패한 후 설정한 값을 계속 전송하고, 저장된 로그인의 토큰으로 전환하지 않습니다. [`/status`](/docs/ko/commands)는 이 자격증명을 `Auth token` 행으로 표시하며 `CLAUDE_CODE_OAUTH_TOKEN`을 읽습니다. [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)으로 새 토큰을 생성하고 이를 사용하여 다시 시작하거나, 변수를 설정 해제하고 `/login`을 실행합니다. v2.1.225 이전에는 Claude Code가 세션 중에 변수의 값을 저장된 로그인의 단기 액세스 토큰으로 바꿀 수 있었고, 해당 토큰이 만료되면 세션이 다시 401 오류로 실패했습니다.1207* ` CLAUDE_CODE_OAUTH_TOKEN` 환경 변수로 인증하면, Claude Code는 요청이 401로 실패한 후 설정한 값을 계속 전송하며, 저장된 로그인의 토큰으로 전환하지 않습니다. [`/status`](/docs/ko/commands)는 이 자격증명을 `Auth token` 행으로 표시하며 `CLAUDE_CODE_OAUTH_TOKEN`을 읽습니다. [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)으로 새 토큰을 생성하고 이를 사용하여 다시 시작하거나, 변수를 설정 해제하고 `/login`을 실행합니다. v2.1.225 이전에는 Claude Code가 세션 중에 변수의 값을 저장된 로그인의 단기 액세스 토큰으로 바꿀 수 있었으며, 해당 토큰이 만료되면 세션이 다시 401 오류로 실패했습니다.

1156* 시작 간 반복되는 로그인 프롬프트의 경우, [문제 해결](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)의 시스템 시계 확인 및 macOS 자격증명 저장소 복구 단계를 참조하십시오.1208* 시작 간 반복적인 로그인 프롬프트의 경우, [로그인하지 않음 또는 토큰 만료됨](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)의 시스템 시계 확인 및 macOS 자격증명 저장소 복구 단계를 참조합니다.

1157* `403 Forbidden` 및 OAuth 브라우저 문제를 포함한 다른 실패의 경우, [로그인 및 인증](/docs/ko/troubleshoot-install#login-and-authentication)을 참조하십시오.1209* `403 Forbidden` 및 OAuth 브라우저 문제를 포함한 다른 실패의 경우, [로그인 및 인증](/docs/ko/troubleshoot-install#login-and-authentication)을 참조합니다.

1158 1210 

1159<h3 id="api-error-401-invalid-authentication-credentials">1211<h3 id="api-error-401-invalid-authentication-credentials">

1160 API 오류: 401 잘못된 인증 자격증명1212 API 오류: 401 잘못된 인증 자격증명

1161</h3>1213</h3>

1162 1214 

1163API가 자격증명의 형식을 인식했지만 뒤에 있는 계정 또는 조직을 거부했습니다. Anthropic은 자격증명이 최근에 취소되었을 때, 조직이 비활성화되었거나 액세스를 제거했을 때, 또는 계정 자체가 비활성화되었을 때 이 메시지를 반환하므로, 만료된 토큰이 원인이 아닙니다. 자격증명은 저장된 로그인 또는 승인된 `ANTHROPIC_API_KEY`일 수 있으며, 수정이 다르므로 `/status`를 실행하여 어떤 것이 활성인지 확인하여 시작합니다.1215API가 자격증명의 형식을 인식했지만 뒤에 있는 계정 또는 조직을 거부했습니다. Anthropic은 자격증명이 최근에 취소되었거나, 조직이 비활성화되었거나 액세스를 제거했거나, 계정 자체가 비활성화되었을 때 이 메시지를 반환하므로, 만료된 토큰이 원인이 아닙니다. 자격증명은 저장된 로그인 또는 승인된 `ANTHROPIC_API_KEY`일 수 있으며, 수정이 다르므로 `/status`를 실행하여 어떤 것이 활성화되어 있는지 확인하여 시작합니다.

1164 1216 

1165```text theme={null}1217```text theme={null}

1166Please run /login · API Error: 401 Invalid authentication credentials1218Please run /login · API Error: 401 Invalid authentication credentials


1168 1220 

1169**수행할 작업:**1221**수행할 작업:**

1170 1222 

1171* `/status`가 사용 중이 아닌 것으로 표시되지 않은 `API key` 행을 표시하면, 승인된 [`ANTHROPIC_API_KEY`](/docs/ko/authentication#authentication-precedence)가 활성 자격증명이고 로그인보다 우선하므로 `/login`이 이를 바꾸지 않습니다. Claude Console에서 키를 회전하거나, `unset ANTHROPIC_API_KEY`를 실행하거나, PowerShell에서 `Remove-Item Env:ANTHROPIC_API_KEY`를 실행하여 구독으로 폴백합니다.1223* `/status`가 사용 중이 아닌 것으로 표시되지 않은 `API key` 행을 표시하면, 승인된 [`ANTHROPIC_API_KEY`](/docs/ko/authentication#authentication-precedence)가 활성 자격증명이며 로그인보다 우선순위를 가지므로 `/login`이 이를 바꾸지 않습니다. Claude Console에서 키를 회전하거나, `unset ANTHROPIC_API_KEY`를 실행하거나, PowerShell에서 `Remove-Item Env:ANTHROPIC_API_KEY`를 실행하여 구독으로 폴백합니다.

1172* `/status`가 로그인만 표시하면, `/login`을 한 번 실행합니다. 자격증명이 취소되었으면, 새 로그인이 이를 바꿉니다.1224* `/status`가 로그인만 표시하면, `/login`을 한 번 실행합니다. 자격증명이 취소되었으면, 새 로그인이 이를 바꿉니다.

1173* 동일한 로그인 계정에 대해 동일한 메시지가 반환되면, 계정 또는 조직이 더 이상 활성화되지 않습니다. `/status`가 보고하는 계정 및 조직을 확인하고, 조직 관리자에게 액세스를 복구하도록 요청합니다.1225* 동일한 로그인 계정에 대해 동일한 메시지가 반환되면, 계정 또는 조직이 더 이상 활성화되지 않습니다. `/status`가 보고하는 계정 및 조직을 확인하고, 조직 관리자에게 액세스를 복구하도록 요청합니다.

1174* [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 [LLM 게이트웨이](/docs/ko/llm-gateway)를 가리키면, `401` 이후의 텍스트는 Anthropic의 메시지가 아닌 게이트웨이의 메시지이고, `/login`이 이를 변경하지 않습니다. 대신 게이트웨이가 예상하는 자격증명을 수정합니다.1226* [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 [LLM 게이트웨이](/docs/ko/llm-gateway)를 가리키면, `401` 이후의 텍스트는 Anthropic의 메시지가 아닌 게이트웨이의 메시지이며, `/login`이 이를 변경하지 않습니다. 게이트웨이가 예상하는 자격증명을 대신 수정합니다.

1175 1227 

1176<h3 id="login-expired">1228<h3 id="login-expired">

1177 로그인 만료됨1229 로그인 만료됨

1178</h3>1230</h3>

1179 1231 

1180Claude Code가 저장된 claude.ai 또는 Claude Console 로그인을 갱신하려고 시도했고 OAuth 서비스가 저장된 새로 고침 토큰을 거부했으므로, Claude Code가 저장된 자격증명을 지웠습니다. 그 후, 각 모델 요청은 API에 도달하기 전에 로컬에서 이 메시지로 중지됩니다. `/login`만 새 자격증명을 만들 수 있기 때문입니다.1232Claude Code가 저장된 claude.ai 또는 Claude Console 로그인을 갱신하려고 했으며 OAuth 서비스가 저장된 새로 고침 토큰을 거부했으므로, Claude Code가 저장된 자격증명을 지웠습니다. 그 후, 각 모델 요청은 `/login`만 새 자격증명을 만들 수 있으므로 API에 도달하기 전에 로컬에서 이 메시지로 중지됩니다.

1181 1233 

1182v2.1.206 이전에는 Claude Code가 환경에 남아 있는 모든 자격증명으로 모델 요청을 어쨌든 전송했고, 모든 모델이 로그인하라는 프롬프트 대신 [선택한 모델에 문제가 있음](#theres-an-issue-with-the-selected-model) 또는 401로 실패했습니다.1234v2.1.206 이전에는 Claude Code가 환경에 남아 있는 모든 자격증명으로 모델 요청을 어쨌든 전송했으며, 모든 모델이 로그인하라는 프롬프트 대신 [선택한 모델에 문제가 있습니다](#theres-an-issue-with-the-selected-model) 또는 401로 실패했습니다.

1183 1235 

1184```text theme={null}1236```text theme={null}

1185Login expired · Please run /login1237Login expired · Please run /login


1191Failed to authenticate: OAuth session expired and could not be refreshed1243Failed to authenticate: OAuth session expired and could not be refreshed

1192```1244```

1193 1245 

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

1195 1247 

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

1197 1249 

1198` /status`를 실행하여 요청이 실패하기 전에 이 상태를 확인할 수 있습니다: 로그인 행을 표시하며 `Expired — log in again`을 읽고, 만료된 로그인에 대해 저장한 조직 및 이메일을 표시합니다. 행은 저장된 로그인이 활성 자격증명이고 더 이상 갱신할 수 없을 때만 나타납니다. 다른 방식으로 인증된 세션은 만료된 로그인이 남아 있어도 행을 표시하지 않습니다. v2.1.210 이전에는 `/status`가 이 상태에서 로그인이 존재했던 적이 있다는 표시를 주지 않았습니다. 지워진 자격증명이 보고할 것이 없었기 때문입니다.1250요청이 실패하기 전에 이 상태를 확인할 수 있습니다: [`/status`](/docs/ko/commands)는 `Login` 행을 표시하며 `Expired — log in again`을 읽고, 만료된 로그인에 대해 저장한 조직 및 이메일을 표시합니다. 행은 저장된 로그인이 활성 자격증명이고 더 이상 갱신할 수 없을 때만 나타납니다. 다른 방식으로 인증된 세션은 만료된 로그인이 저장되어 있어도 행을 표시하지 않습니다. v2.1.210 이전에는 `/status`가 이 상태에서 로그인이 존재했던 적이 있다는 표시를 주지 않았습니다. 지워진 자격증명이 보고할 것이 없었기 때문입니다.

1199 1251 

1200**수행할 작업:**1252**수행할 작업:**

1201 1253 

1202* `/login`을 실행하여 다시 로그인합니다. 로그인하지 않고 재시도하면 모든 요청에서 동일한 메시지가 표시됩니다.1254* `/login`을 실행하여 다시 로그인합니다. 로그인하지 않고 재시도하면 모든 요청에서 동일한 메시지가 표시됩니다.

1203* 비대화형 모드에서 동일한 환경에서 `claude`를 실행하고, `/login`을 완료한 후 명령을 다시 실행합니다. 대화형으로 로그인할 수 없는 자동화의 경우, `ANTHROPIC_API_KEY` 또는 [`claude setup-token`으로 장기 토큰 생성](/docs/ko/authentication#generate-a-long-lived-token)으로 인증합니다.1255* 비대화형 모드에서는 동일한 환경에서 `claude`를 실행하고, `/login`을 완료한 후 명령을 다시 실행합니다. 대화형으로 로그인할 수 없는 자동화의 경우, `ANTHROPIC_API_KEY`로 인증하거나 [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)으로 장기 토큰을 생성합니다.

1204* 로그인이 계속 실패하면, [로그인 및 인증](/docs/ko/troubleshoot-install#login-and-authentication)을 참조하십시오.1256* 로그인이 계속 실패하면, [로그인 및 인증](/docs/ko/troubleshoot-install#login-and-authentication)을 참조합니다.

1257 

1258<h3 id="could-not-refresh-your-login">

1259 다른 Claude Code 프로세스가 로그인을 새로 고치고 있어서 로그인을 새로 고칠 수 없습니다

1260</h3>

1261 

1262이 메시지는 로그인이 거부되었다는 의미가 아닙니다. 저장된 claude.ai 로그인이 만료되었으며 갱신이 필요했습니다. 동일한 머신의 다른 Claude Code 프로세스가 공유 새로 고침 잠금을 보유했거나, 종료되고 뒤에 남겨두었으며, 이 세션이 기다리는 동안 새로 고침이 진행되지 않았습니다. Claude Code는 전송하기 전에 요청을 중지합니다:

1263 

1264```text theme={null}

1265Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login

1266```

1267 

1268[비대화형 모드](/docs/ko/headless)(`-p`) 및 [Agent SDK](/docs/ko/agent-sdk/overview)에서 메시지는 다음과 같이 읽으며, 구조화된 오류 코드는 `server_error`입니다:

1269 

1270```text theme={null}

1271Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again

1272```

1273 

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

1275 

1276**수행할 작업:**

1277 

1278* 1분 후에 다시 시도합니다. 다른 프로세스가 먼저 새로 고침을 완료하면, 이 세션이 갱신된 로그인을 사용합니다.

1279* 메시지가 계속 반환되면, 다른 Claude Code 창과 프로세스를 닫은 후 재시도합니다.

1280* 다른 Claude Code 프로세스가 실행 중이지 않은 상태에서 반환되면, `/login`을 실행합니다. 다시 로그인하면 새로 고침 잠금을 기다리지 않습니다.

1281 

1282<h3 id="couldnt-save-your-login">

1283 로그인을 저장할 수 없습니다

1284</h3>

1285 

1286claude.ai로 로그인했지만 Claude Code가 로그인을 자격증명 저장소에 저장할 수 없어서, 로그인이 완료되지 않았습니다. macOS에서는 예를 들어 절전 또는 유휴 후 로그인 키체인이 잠길 때 발생할 수 있으며, Claude Code가 동일한 세션 중에 이미 자격증명을 읽거나 저장한 후입니다.

1287 

1288```text theme={null}

1289Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.

1290Couldn't save your login. Try logging in again.

1291```

1292 

1293첫 번째 형식은 macOS에 나타나고 두 번째는 다른 곳에 나타납니다. 시간 초과 또는 읽을 수 없는 저장소와 같은 일시적인 자격증명 저장소 실패는 동일한 메시지를 생성합니다.

1294 

1295**수행할 작업:**

1296 

1297* macOS에서 로그인 키체인을 잠금 해제한 후 `/login`을 다시 실행합니다.

1298* 다른 플랫폼에서 `/login`을 다시 실행합니다.

1299* 로그인이 여전히 저장되지 않으면, [로그인하지 않음 또는 토큰 만료됨](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)에서 키체인 잠금 해제 명령 및 기타 자격증명 저장소 복구 단계를 참조합니다.

1205 1300 

1206<h3 id="claude-login-not-accepted">1301<h3 id="claude-login-not-accepted">

1207 Claude 로그인이 수락되지 않음1302 Claude 로그인이 수락되지 않음

1208</h3>1303</h3>

1209 1304 

1210[클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작하려고 시도했고, 서버가 401로 생성을 거부했습니다: 이 머신이 보낸 Claude 로그인을 수락하지 않았습니다. 일반적으로 로그인이 만료되었거나 취소되었기 때문입니다.1305[클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작하려고 했으며, 서버가 401로 생성을 거부했습니다: 이 머신이 전송한 Claude 로그인을 수락하지 않았습니다. 일반적으로 로그인이 만료되었거나 취소되었기 때문입니다.

1211 1306 

1212라인의 첫 번째 부분은 서버가 제공할 때 서버의 자체 이유입니다. 그렇지 않으면 라인은 다음과 같이 읽습니다:1307라인의 첫 번째 부분은 서버가 제공할 때 서버 자신의 이유입니다. 그렇지 않으면 라인은 다음과 같이 읽습니다:

1213 1308 

1214```text theme={null}1309```text theme={null}

1215Claude login not accepted · Run /login, then try again1310Claude login not accepted · Run /login, then try again


1220* `/login`을 실행하고, 로그인을 완료한 후 세션을 다시 시작합니다.1315* `/login`을 실행하고, 로그인을 완료한 후 세션을 다시 시작합니다.

1221 1316 

1222<h3 id="artifacts-need-a-claude-ai-login">1317<h3 id="artifacts-need-a-claude-ai-login">

1223 아티팩트에 claude.ai 로그인이 필요함1318 아티팩트에 claude.ai 로그인이 필요합니다

1224</h3>1319</h3>

1225 1320 

1226Claude Code가 [아티팩트](/docs/ko/artifacts) 게시 또는 읽기를 거부했습니다. 세션에 아티팩트에 사용할 수 있는 claude.ai 로그인이 없기 때문입니다.1321Claude Code가 세션에 아티팩트에 사용할 수 있는 claude.ai 로그인이 없어서 [아티팩트](/docs/ko/artifacts) 게시 또는 읽기를 거부했습니다.

1227 1322 

1228메시지의 모든 형식은 동일한 단어로 시작하고, 세션이 인증하는 방식에 따라 달라지는 해결책이 뒤따릅니다. 경쟁하는 자격증명이 없으면 다음과 같이 읽습니다:1323메시지의 모든 형식은 동일한 단어로 시작하며, 그 뒤에 세션이 인증하는 방식에 따라 달라지는 해결책이 있습니다. 경쟁하는 자격증명이 없으면 다음과 같이 읽습니다:

1229 1324 

1230```text theme={null}1325```text theme={null}

1231Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.1326Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.


1234**수행할 작업:**1329**수행할 작업:**

1235 1330 

1236* `/login`을 실행하고 **Claude account with subscription**을 선택합니다. **Anthropic Console account** 옵션은 claude.ai 자격증명을 제공하지 않습니다.1331* `/login`을 실행하고 **Claude account with subscription**을 선택합니다. **Anthropic Console account** 옵션은 claude.ai 자격증명을 제공하지 않습니다.

1237* 메시지가 `ANTHROPIC_API_KEY`, `apiKeyHelper` 설정 또는 이전 `/login`으로 저장된 Console 키와 같이 우선하는 자격증명의 이름을 지정하면, 메시지가 말하는 방식으로 제거한 후 `/login`을 실행합니다.1332* 메시지가 `ANTHROPIC_API_KEY`, `apiKeyHelper` 설정 또는 이전 `/login`으로 저장된 Console 키와 같이 우선순위를 갖는 자격증명의 이름을 지정하면, 메시지가 말하는 방식으로 제거한 후 `/login`을 실행합니다.

1238* 메시지가 이 원격 세션이 이를 실행한 머신을 통해 인증된다고 말하면, 해당 머신에서 claude.ai에 로그인한 후 세션을 다시 연결합니다.1333* 메시지가 이 원격 세션이 이를 실행한 머신을 통해 인증한다고 하면, 해당 머신에서 claude.ai에 로그인한 후 세션을 다시 연결합니다.

1239* 메시지가 자격증명이 세션의 호스트 환경에 의해 주입된다고 말하면, 해당 세션에서 변경할 수 없습니다. claude.ai에 로그인한 세션을 시작합니다.1334* 메시지가 자격증명이 세션의 호스트 환경에 의해 주입된다고 하면, 해당 세션에서 이를 변경할 수 없습니다. claude.ai에 로그인한 세션을 시작합니다.

1240* [가용성](/docs/ko/artifacts#availability)에서 계획, 모델 공급자 및 조직 정책과 같은 아티팩트가 가진 다른 요구 사항을 참조하십시오.1335* 계획, 모델 공급자 및 조직 정책과 같은 아티팩트가 가진 다른 요구 사항은 [가용성](/docs/ko/artifacts#availability)을 참조합니다.

1241 1336 

1242<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1337<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">

1243 관리자 정책에 클라우드 게이트웨이 로그인이 필요함1338 관리자 정책에 Cloud 게이트웨이 로그인이 필요합니다

1244</h3>1339</h3>

1245 1340 

1246관리자의 [관리 설정](/docs/ko/managed-settings)이 이 머신에서 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정했거나 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl)을 설정했습니다. `CLAUDE_CODE_USE_BEDROCK`과 같은 변수를 통해 클라우드 공급자를 선택하지 않으면, Claude Code는 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 로그인만 수락합니다. 두 메시지 중 하나가 표시됩니다:1341관리자의 [관리 설정](/docs/ko/managed-settings)이 이 머신에서 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정했거나 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl)을 설정했습니다. `CLAUDE_CODE_USE_BEDROCK`과 같은 변수를 통해 클라우드 공급자를 선택하지 않으면, Claude Code는 [Claude apps 게이트웨이](/docs/ko/claude-apps-gateway) 로그인만 수락합니다. 두 가지 메시지 중 하나가 표시됩니다:

1247 1342 

1248```text theme={null}1343```text theme={null}

1249Not signed in to the Cloud gateway — run /login.1344Not signed in to the Cloud gateway — run /login.


1251 1346 

1252세션에 게이트웨이 로그인이 없을 때 모델 요청이 이 메시지로 실패합니다. 예를 들어 정책이 머신에 도달한 이후 `/login`을 실행하지 않았기 때문입니다.1347세션에 게이트웨이 로그인이 없을 때 모델 요청이 이 메시지로 실패합니다. 예를 들어 정책이 머신에 도달한 이후 `/login`을 실행하지 않았기 때문입니다.

1253 1348 

1254`ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper` 자격증명이 구성되어 있고 관리 설정이 `forceLoginMethod`를 설정하면, Claude Code는 대신 시작 시 다음과 같이 시작하는 메시지로 종료됩니다:1349또한 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper` 자격증명이 구성되어 있고 관리 설정이 `forceLoginMethod`를 설정하면, Claude Code는 대신 시작 시 다음과 같이 시작하는 메시지로 종료됩니다:

1255 1350 

1256```text theme={null}1351```text theme={null}

1257Administrator policy requires a Cloud gateway sign-in on this machine; the1352Administrator policy requires a Cloud gateway sign-in on this machine; the


1261 1356 

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

1263 1358 

1264* `/login`을 실행하고 **클라우드 게이트웨이** 화면에서 로그인을 완료합니다.1359* `/login`을 실행하고 **Cloud gateway** 화면에서 로그인을 완료합니다.

1265* 시작 메시지의 경우, 구성한 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper` 설정을 제거한 후 `claude`를 시작하고 `/login`을 실행합니다.1360* 시작 메시지의 경우, 구성한 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper` 설정을 제거한 후 `claude`를 시작하고 `/login`을 실행합니다.

1266* 머신이 게이트웨이를 요구하지 않아야 한다고 생각하면, 관리자에게 관리 설정에서 `forceLoginMethod` 및 `forceLoginGatewayUrl`을 제거하도록 요청합니다.1361* 머신이 게이트웨이를 요구하지 않아야 한다고 생각하면, 관리 설정에서 `forceLoginMethod` 및 `forceLoginGatewayUrl`을 제거하도록 머신을 관리하는 관리자에게 요청합니다.

1267 1362 

1268v2.1.265에서는 회귀로 인해 API 키, `apiKeyHelper` 또는 사용자 정의 헤더로 인증하는 일부 LLM 게이트웨이 및 프록시 구성에서도 첫 번째 메시지가 표시되었습니다. 머신에 관리자 요구 사항이 없어도 마찬가지입니다. v2.1.266 이상으로 업그레이드합니다. 구성을 변경할 필요가 없습니다.1363v2.1.265에서는 회귀가 API 키, `apiKeyHelper` 또는 사용자 정의 헤더로 인증하는 일부 LLM 게이트웨이 및 프록시 구성에서도 첫 번째 메시지를 표시했으며, 머신에 관리자 요구 사항이 없었습니다. v2.1.266 이상으로 업데이트합니다. 구성을 변경할 필요가 없습니다.

1269 1364 

1270v2.1.261 이전에는 `forceLoginMethod`를 `"gateway"`로 설정한 머신에서 Claude Code가 모델 요청을 실패하는 대신 남은 저장된 로그인을 사용했고, 구성된 환경 자격증명을 시작 메시지 대신 `This machine's managed settings require a first-party login`으로 보고했습니다. v2.1.265 이전에는 관리 설정이 `forceLoginGatewayUrl`만 설정한 머신이 게이트웨이 로그인을 요구하지 않았고, Claude Code가 거기서 남은 자격증명을 사용했습니다.1365v2.1.261 이전에는 `forceLoginMethod`를 `"gateway"`로 설정한 머신에서 Claude Code가 모델 요청을 실패하는 대신 남은 저장된 로그인을 사용했으며, 구성된 환경 자격증명을 `This machine's managed settings require a first-party login` 대신 시작 메시지로 보고했습니다. v2.1.265 이전에는 관리 설정이 `forceLoginGatewayUrl`만 설정한 머신이 게이트웨이 로그인을 요구하지 않았으며, Claude Code가 거기서 남은 자격증명을 사용했습니다.

1271 1366 

1272<h3 id="your-account-is-on-hold">1367<h3 id="your-account-is-on-hold">

1273 계정이 보류 중임1368 계정이 보류 중입니다

1274</h3>1369</h3>

1275 1370 

1276Claude 계정이 로그인 뒤에 일시 중지되었습니다. Claude Code는 저장된 로그인을 갱신하려고 시도할 때 보류를 알게 되면 첫 번째 메시지를 표시하고, 브라우저에서 완료한 로그인이 이를 보고하면 두 번째 메시지를 표시합니다:1371로그인 뒤의 Claude 계정이 일시 중단되었습니다. Claude Code는 저장된 로그인을 갱신하려고 할 때 보류를 알게 되면 첫 번째 메시지를 표시하고, 브라우저에서 완료한 로그인이 이를 보고하면 두 번째 메시지를 표시합니다:

1277 1372 

1278```text theme={null}1373```text theme={null}

1279Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1374Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted


1291 Anthropic 프로필 로그인 만료됨1386 Anthropic 프로필 로그인 만료됨

1292</h3>1387</h3>

1293 1388 

1294Claude Code가 저장된 로그인 자격증명이 만료된 Anthropic 자격증명 프로필을 통해 인증하고 있으며, 프로필이 갱신하는 데 사용할 수 있는 새로 고침 자격증명을 보유하지 않습니다. Claude Code는 동일한 만료된 자격증명을 읽을 재시도가 하므로 각 요청을 로컬에서 중지합니다.1389Claude Code가 저장된 로그인 자격증명이 만료된 Anthropic 자격증명 프로필을 통해 인증 중이며, 프로필이 Claude Code가 갱신하는 데 사용할 수 있는 새로 고침 자격증명을 보유하지 않습니다. Claude Code는 동일한 만료된 자격증명을 읽을 재시도가 있으므로 각 요청을 로컬에서 중지합니다.

1295 1390 

1296```text theme={null}1391```text theme={null}

1297Anthropic profile login expired · Re-authenticate your Anthropic profile1392Anthropic profile login expired · Re-authenticate your Anthropic profile

1298Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile1393Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile

1299```1394```

1300 1395 

1301이것은 활성 자격증명이 Anthropic 자격증명 프로필에서 오는 경우에만 나타납니다. 하나는 `ANTHROPIC_PROFILE` 환경 변수로 선택하고, Claude Code가 Anthropic 구성 디렉토리에서 활성 프로필로 발견하거나, Claude Code가 [API 키 없이 로그인](/docs/ko/authentication#sign-in-without-an-api-key)할 때 작성했습니다. `/login`의 claude.ai 옵션, API 키, `ANTHROPIC_AUTH_TOKEN`과 같은 베어러 토큰 또는 타사 공급자로 인증된 세션은 이 메시지를 절대 보지 않습니다.1396이것은 활성 자격증명이 Anthropic 자격증명 프로필에서 올 때만 나타나며, `ANTHROPIC_PROFILE` 환경 변수로 선택하거나, Claude Code가 Anthropic 구성 디렉토리에서 활성 프로필로 발견하거나, Claude Code가 [API 키 없이 로그인](/docs/ko/authentication#sign-in-without-an-api-key)할 때 작성했습니다. `/login`의 claude.ai 옵션, API 키, `ANTHROPIC_AUTH_TOKEN`과 같은 베어러 토큰 또는 타사 공급자로 인증하는 세션은 이 메시지를 절대 보지 않습니다.

1302 1397 

1303[키 없는 로그인을 제공](/docs/ko/authentication#sign-in-without-an-api-key)하는 머신에서 `/login`을 실행하고, Anthropic Console 계정을 선택하고, 다시 로그인하여 키 없는 Console 로그인 또는 Claude Platform CLI의 `ant auth login`이 작성한 프로필을 갱신합니다. Claude Code는 해당 프로필의 만료된 자격증명을 바꿉니다. 페더레이션 프로필 또는 다른 도구가 만든 프로필의 경우, `/login`이 자격증명을 갱신하지 않습니다. 어떤 형식이 표시되는지는 프로필을 선택했는지 또는 Claude Code가 발견했는지에 따라 달라집니다:1398[키 없는 로그인을 제공](/docs/ko/authentication#sign-in-without-an-api-key)하는 머신에서는 `/login`을 실행하고, Anthropic Console 계정을 선택하고, 다시 로그인하여 키 없는 Console 로그인 또는 Claude Platform CLI의 `ant auth login`이 작성한 프로필을 갱신합니다. Claude Code는 해당 프로필의 만료된 자격증명을 바꿉니다. 페더레이션 프로필 또는 다른 도구가 만든 프로필의 경우, `/login`이 자격증명을 갱신하지 않습니다. 어떤 형식을 보는지는 프로필을 선택했는지 아니면 Claude Code가 발견했는지에 따라 달라집니다:

1304 1399 

1305* `ANTHROPIC_PROFILE`을 명시적으로 설정하면, 메시지는 `Re-authenticate your Anthropic profile`로 끝납니다.1400* `ANTHROPIC_PROFILE`을 명시적으로 설정하면, 메시지는 `Re-authenticate your Anthropic profile`로 끝납니다.

1306* Claude Code가 구성 디렉토리에서 프로필을 발견하면, 메시지는 `/login`을 제공합니다. Claude Code가 작동하는 `/login`을 발견된 프로필보다 우선하고 대신 claude.ai 또는 Console 계정으로 인증하기 때문입니다. v2.1.234 이전에는 Claude Code가 이 경우에도 `Re-authenticate your Anthropic profile` 형식을 표시했습니다.1401* Claude Code가 구성 디렉토리에서 프로필을 발견했으면, 메시지는 `/login`을 제공합니다. Claude Code가 작동하는 `/login`을 발견된 프로필보다 우선순위를 주고 대신 claude.ai 또는 Console 계정으로 인증하기 때문입니다. v2.1.234 이전에는 Claude Code가 이 경우에도 `Re-authenticate your Anthropic profile` 형식을 표시했습니다.

1307 1402 

1308**수행할 작업:**1403**수행할 작업:**

1309 1404 

1310* 프로필을 다시 인증한 후 재시도합니다: [키 없는 로그인을 제공](/docs/ko/authentication#sign-in-without-an-api-key)하는 머신에서, 키 없는 Console 로그인 또는 Claude Platform CLI의 `ant auth login`이 작성한 프로필의 경우 `/login`을 실행하고 Anthropic Console 계정을 선택합니다. 다른 프로필의 경우, 프로필을 만든 도구를 사용합니다.1405* 프로필에 다시 로그인한 후 재시도합니다: [키 없는 로그인을 제공](/docs/ko/authentication#sign-in-without-an-api-key)하는 머신에서는 키 없는 Console 로그인 또는 Claude Platform CLI의 `ant auth login`이 작성한 프로필의 경우 `/login`을 실행하고 Anthropic Console 계정을 선택합니다. 다른 프로필의 경우, 프로필을 만든 도구를 사용합니다.

1311* 관리자가 프로필의 자격증명을 프로비저닝했으면, 새 자격증명을 발급하도록 요청합니다.1406* 관리자가 프로필의 자격증명을 프로비저닝했으면, 새 자격증명을 발급하도록 요청합니다.

1312* `/status`를 실행하여 활성 자격증명 소스 및 프로필 이름을 확인합니다.1407* `/status`를 실행하여 활성 자격증명 소스 및 프로필 이름을 확인합니다.

1313* 프로필 사용을 중지하려면, 설정했으면 `ANTHROPIC_PROFILE`을 설정 해제한 후 `/login` 또는 `ANTHROPIC_API_KEY`와 같은 다른 방식으로 인증합니다.1408* 프로필 사용을 중지하려면, 설정했으면 `ANTHROPIC_PROFILE`을 설정 해제한 후 `/login` 또는 `ANTHROPIC_API_KEY`와 같은 다른 방식으로 인증합니다.


1316 OAuth 범위 요구 사항1411 OAuth 범위 요구 사항

1317</h3>1412</h3>

1318 1413 

1319저장된 토큰이 최신 기능이 필요한 권한 범위보다 앞서 있습니다. 이것은 `/usage` 및 상태 라인 사용 표시기에서 가장 자주 표시됩니다:1414저장된 토큰이 최신 기능이 필요로 하는 권한 범위보다 앞서 있습니다. 이것은 `/usage` 및 상태 라인 사용 표시기에서 가장 자주 표시됩니다:

1320 1415 

1321```text theme={null}1416```text theme={null}

1322OAuth token does not meet scope requirement: user:profile1417OAuth token does not meet scope requirement: user:profile


1327* `/login`을 실행하여 현재 범위가 있는 새 토큰을 가져옵니다. 먼저 로그아웃할 필요가 없습니다.1422* `/login`을 실행하여 현재 범위가 있는 새 토큰을 가져옵니다. 먼저 로그아웃할 필요가 없습니다.

1328 1423 

1329<h3 id="claude-ai-rejected-the-session-token">1424<h3 id="claude-ai-rejected-the-session-token">

1330 claude.ai가 세션 토큰을 거부함1425 claude.ai가 세션 토큰을 거부했습니다

1331</h3>1426</h3>

1332 1427 

1333[claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai) 요청이 실패했습니다. claude.ai가 Claude Code 로그인의 토큰을 거부했습니다. 일반적으로 만료되었고 새로 고칠 수 없는 로그인입니다. 거부된 토큰은 로그인이지, 커넥터의 자체 claude.ai 인증이 아니므로, 커넥터를 다시 인증해도 해결되지 않습니다. `/mcp`에서 커넥터는 `connected · session token rejected`로 표시되고 세부 정보 보기는 다음과 같이 읽습니다:1428[claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai) 요청이 실패했습니다. claude.ai가 Claude Code 로그인의 토큰을 거부했습니다. 일반적으로 만료되었거나 새로 고칠 수 없는 로그인입니다. 거부된 토큰은 로그인이며, 커넥터 자신의 claude.ai 인증이 아니므로, 커넥터를 다시 인증해도 해결되지 않습니다. `/mcp`에서 커넥터는 `connected · session token rejected`로 표시되며 세부 정보 보기는 다음과 같이 읽습니다:

1334 1429 

1335```text theme={null}1430```text theme={null}

1336claude.ai rejected the session token. Run /login, then reconnect.1431claude.ai rejected the session token. Run /login, then reconnect.


1339**수행할 작업:**1434**수행할 작업:**

1340 1435 

1341* `/login`을 실행하여 다시 로그인합니다.1436* `/login`을 실행하여 다시 로그인합니다.

1342* `/mcp`에서 커넥터를 다시 연결하거나, `/mcp reconnect <server>`를 실행합니다. 다시 로그인하기 전에 다시 연결하면 커넥터가 동일한 상태로 유지됩니다. `/mcp` 패널의 **다시 연결** 옵션은 `your claude.ai session token was rejected`를 보고합니다. 입력된 `/mcp reconnect <server>` 형식은 토큰이 여전히 거부되었음에도 불구하고 성공적인 다시 연결을 보고합니다.1437* `/mcp`에서 커넥터를 다시 연결하거나, `/mcp reconnect <server>`를 실행합니다. 다시 로그인하기 전에 다시 연결하면 커넥터가 동일한 상태로 유지됩니다. `/mcp` 패널의 **Reconnect** 옵션은 `your claude.ai session token was rejected`를 보고합니다. 입력된 `/mcp reconnect <server>` 형식은 토큰이 여전히 거부되었음에도 불구하고 성공적인 다시 연결을 보고합니다.

1343 1438 

1344v2.1.222 이전에는 Claude Code가 커넥터를 인증이 필요한 것으로 표시했으며, 이는 완료해도 상태를 해결하지 않는 커넥터의 인증 흐름을 가리켰습니다.1439v2.1.222 이전에는 Claude Code가 커넥터를 인증이 필요한 것으로 표시했으며, 이는 완료해도 상태를 해결하지 못하는 커넥터의 인증 흐름을 가리켰습니다.

1345 1440 

1346<h3 id="mcp-server-needs-you-to-sign-in-again">1441<h3 id="mcp-server-needs-you-to-sign-in-again">

1347 MCP 서버가 다시 로그인하도록 요청함1442 MCP 서버가 다시 로그인하도록 요청합니다

1348</h3>1443</h3>

1349 1444 

1350원격 [MCP 서버](/docs/ko/mcp)가 세션 중에 도구 호출에 대한 자격증명을 거부했습니다. 일반적으로 로그인 또는 토큰이 만료되었거나 취소되었거나 토큰이 도구가 필요한 권한이 부족하기 때문입니다. 도구 호출이 실패하고 `/mcp`는 서버를 [인증이 필요한 것](/docs/ko/mcp#authenticate-with-remote-mcp-servers)으로 표시합니다.1445원격 [MCP 서버](/docs/ko/mcp)가 세션 중에 도구 호출에서 자격증명을 거부했습니다. 일반적으로 로그인 또는 토큰이 만료되었거나 취소되었거나 토큰이 도구가 필요로 하는 권한이 부족합니다. 도구 호출이 실패하고 `/mcp`가 서버를 [인증이 필요한 것](/docs/ko/mcp#authenticate-with-remote-mcp-servers)으로 표시합니다.

1351 1446 

1352Claude Code에서 로그인하는 서버(claude.ai 커넥터 포함)의 경우, 로그인이 만료되었거나 취소되었습니다:1447Claude Code에서 로그인하는 서버(claude.ai 커넥터 포함)의 경우, 로그인이 만료되었거나 취소되었습니다:

1353 1448 


1357 1452 

1358`/mcp`를 실행하고, 서버를 선택하고, 메뉴에서 다시 로그인합니다.1453`/mcp`를 실행하고, 서버를 선택하고, 메뉴에서 다시 로그인합니다.

1359 1454 

1360[`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication) 스크립트로 구성된 서버의 경우, Claude Code가 이미 헬퍼를 다시 실행하고 호출을 한 번 재시도한 후 이것을 표시합니다:1455[`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication) 스크립트로 구성된 서버의 경우, Claude Code가 이미 헬퍼를 다시 실행하고 표시하기 전에 호출을 한 번 재시도했습니다:

1361 1456 

1362```text theme={null}1457```text theme={null}

1363MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)1458MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)


1365 1460 

1366헬퍼가 서버가 수락하는 자격증명을 반환하는지 확인한 후, `/mcp`에서 다시 연결합니다. 이는 헬퍼를 다시 실행합니다.1461헬퍼가 서버가 수락하는 자격증명을 반환하는지 확인한 후, `/mcp`에서 다시 연결합니다. 이는 헬퍼를 다시 실행합니다.

1367 1462 

1368구성에 정적 `Authorization` 헤더가 있는 서버의 경우:1463정적 `Authorization` 헤더가 있는 서버의 경우:

1369 1464 

1370```text theme={null}1465```text theme={null}

1371MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)1466MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)


1375 1470 

1376v2.1.273 이전에는 만료된 로그인, `headersHelper` 및 `Authorization` 헤더 경우가 모두 `MCP server "<name>" requires re-authorization (token expired)`를 표시했습니다.1471v2.1.273 이전에는 만료된 로그인, `headersHelper` 및 `Authorization` 헤더 경우가 모두 `MCP server "<name>" requires re-authorization (token expired)`를 표시했습니다.

1377 1472 

1378서버는 HTTP 403 `insufficient_scope`로 도구 호출을 거부하여 범위를 인증하도록 요청할 수도 있습니다. 때로는 토큰이 이미 나열한 범위입니다. 메시지는 해당 범위의 이름을 지정합니다:1473서버는 HTTP 403 `insufficient_scope`로 도구 호출을 거부하여 범위를 요청할 수도 있습니다. 때로는 토큰이 이미 나열한 범위입니다. 메시지는 해당 범위의 이름을 지정합니다:

1379 1474 

1380```text theme={null}1475```text theme={null}

1381MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate1476MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate


1385 1480 

1386서버의 구성이 [`oauth.scopes`](/docs/ko/mcp#restrict-oauth-scopes) 또는 [`authServerMetadataUrl`](/docs/ko/mcp#override-oauth-metadata-discovery)을 설정하지 않으면, Claude Code가 서버가 이름을 지정한 범위를 요청합니다. 어느 설정이든 Claude Code가 해당 설정의 범위를 요청합니다. `oauth.scopes`를 고정했으면, 다시 인증하기 전에 누락된 범위를 해당 목록에 추가합니다.1481서버의 구성이 [`oauth.scopes`](/docs/ko/mcp#restrict-oauth-scopes) 또는 [`authServerMetadataUrl`](/docs/ko/mcp#override-oauth-metadata-discovery)을 설정하지 않으면, Claude Code가 서버가 이름을 지정한 범위를 요청합니다. 어느 설정이든 Claude Code가 해당 설정의 범위를 요청합니다. `oauth.scopes`를 고정했으면, 다시 인증하기 전에 누락된 범위를 해당 목록에 추가합니다.

1387 1482 

1388v2.1.274 이전에는 이 경우가 `needs you to sign in again` 메시지를 표시했고, v2.1.273 이전에는 다른 경우처럼 `requires re-authorization (token expired)`를 표시했습니다.1483v2.1.274 이전에는 이 경우가 `needs you to sign in again` 메시지를 표시했으며, v2.1.273 이전에는 다른 경우처럼 `requires re-authorization (token expired)`를 표시했습니다.

1389 1484 

1390<h3 id="issuer-mismatch-in-authorization-response">1485<h3 id="issuer-mismatch-in-authorization-response">

1391 인증 응답의 발급자 불일치1486 인증 응답의 발급자 불일치


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

1398```1493```

1399 1494 

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

1401 1496 

1402**수행할 작업:**1497**수행할 작업:**

1403 1498 

1404* `/mcp`에서 로그인을 다시 시도합니다.1499* `/mcp`에서 로그인을 다시 시도합니다.

1405* 오류가 반복되면, 서버 운영자에게 보고합니다. 수정은 서버 측입니다: 인증 서버는 메타데이터에서 광고하는 것과 동일한 발급자를 `iss` 매개변수에서 반환해야 합니다.1500* 오류가 반복되면, 서버 운영자에게 보고합니다. 수정은 서버 측입니다: 인증 서버는 메타데이터에서 광고하는 것과 동일한 발급자를 `iss` 매개변수에서 반환해야 합니다.

1406* 서버가 수정되는 동안 연결하려면, [`MCP_SDK_GENERATION=v1`](/docs/ko/env-vars)로 Claude Code를 시작합니다. 이 [런타임](/docs/ko/mcp#mcp-client-runtimes)은 이 확인을 실행하지 않습니다. 이는 혼합 공격에 대한 보호를 제거하므로 서버 측 수정을 선호합니다.1501* 서버가 수정되는 동안 연결하려면, [`MCP_SDK_GENERATION=v1`](/docs/ko/env-vars)로 Claude Code를 시작합니다. 해당 [런타임](/docs/ko/mcp#mcp-client-runtimes)은 이 확인을 실행하지 않습니다. 이것은 혼합 공격에 대한 보호를 제거하므로 서버 측 수정을 선호합니다.

1407 1502 

1408v2.1.232 이전에는 Claude Code가 점진적 롤아웃에서만 또는 `MCP_SDK_GENERATION=v2`를 설정할 때 v2 런타임을 사용했습니다.1503v2.1.232 이전에는 Claude Code가 점진적 롤아웃에서만 v2 런타임을 사용했거나 `MCP_SDK_GENERATION=v2`를 설정했을 때 사용했습니다.

1409 1504 

1410<h3 id="aws-credentials-expired-or-invalid">1505<h3 id="aws-credentials-expired-or-invalid">

1411 AWS 자격증명이 만료되었거나 유효하지 않음1506 AWS 자격증명이 만료되었거나 유효하지 않습니다

1412</h3>1507</h3>

1413 1508 

1414AWS 세션 토큰이 만료되었거나 거부되었습니다. 이 메시지는 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 또는 [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)의 401에 나타나며, 이는 해당 공급자가 만료된 보안 토큰을 보고하는 방법입니다.1509AWS 세션 토큰이 만료되었거나 거부되었습니다. 이 메시지는 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 또는 [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)에서 401로 나타나며, 이는 해당 공급자가 만료된 보안 토큰을 보고하는 방식입니다.

1415 1510 

1416중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `AWS credentials expired or invalid`입니다:1511중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `AWS credentials expired or invalid`입니다:

1417 1512 


1423 1518 

1424**수행할 작업:**1519**수행할 작업:**

1425 1520 

1426* 힌트가 자격증명이 이 환경에서 관리된다고 말하면, 앱이 Claude Code를 실행하고 여기의 다른 단계가 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1521* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.

1427* [`awsAuthRefresh`](/docs/ko/amazon-bedrock#advanced-credential-configuration)가 설정되면, 메시지에서 이름을 지정한 명령(예: `aws sso login --profile myprofile`)을 다른 터미널에서 실행하고 브라우저 로그인을 완료한 후 재시도합니다. 그렇지 않으면 직접 사용하는 AWS 자격증명을 새로 고칩니다: SSO 로그인, 액세스 키, API 키 또는 프록시 토큰1522* [`awsAuthRefresh`](/docs/ko/amazon-bedrock#advanced-credential-configuration)가 설정되면, 메시지에서 이름을 지정한 명령(예: `aws sso login --profile myprofile`)을 다른 터미널에서 실행하고 브라우저 로그인을 완료한 후 재시도합니다. 그렇지 않으면 사용하는 AWS 자격증명을 직접 새로 고칩니다: SSO 로그인, 액세스 키, API 키 또는 프록시 토큰입니다.

1428* 대화형 세션에서 `awsAuthRefresh`가 설정되면, 대신 `/login`을 실행하고, **3rd-party platform**을 선택한 후, **Using 3rd-party platforms** 아래에서 **Claude Platform on AWS · refresh credentials**를 선택하여 Claude Code를 다시 시작하지 않고 동일한 명령을 실행할 수 있습니다. [AWS 자격증명 구성](/docs/ko/claude-platform-on-aws#1-configure-aws-credentials)을 참조하십시오.1523* `awsAuthRefresh`가 대화형 세션에 설정되면, `/login`을 실행하고, **3rd-party platform**을 선택한 후, **Using 3rd-party platforms** 아래에서 **Claude Platform on AWS · refresh credentials**를 선택하여 Claude Code를 다시 시작하지 않고 동일한 명령을 실행할 수 있습니다. [AWS 자격증명 구성](/docs/ko/claude-platform-on-aws#1-configure-aws-credentials)을 참조합니다.

1429* 새로 고침 명령이 성공한 후 오류가 반복되면, 동일한 셸 및 프로필에서 `aws sts get-caller-identity`로 Claude Code 외부에서 ID가 유효한지 확인합니다.1524* 새로 고침 명령이 성공한 후에도 오류가 반복되면, 동일한 셸 및 프로필에서 `aws sts get-caller-identity`로 Claude Code 외부에서 ID가 유효한지 확인합니다.

1430 1525 

1431<h3 id="aws-authentication-failed">1526<h3 id="aws-authentication-failed">

1432 AWS 인증 실패1527 AWS 인증 실패


1434 1529 

1435AWS 공급자가 403을 반환했거나, [Amazon Bedrock](/docs/ko/amazon-bedrock)이 401을 반환했습니다.1530AWS 공급자가 403을 반환했거나, [Amazon Bedrock](/docs/ko/amazon-bedrock)이 401을 반환했습니다.

1436 1531 

1437Amazon Bedrock은 만료된 보안 토큰을 403으로 보고하지만, 403은 또한 누락된 IAM 권한과 같은 `AccessDeniedException`의 인증 거부를 보고하는 방법입니다. Claude Code는 이 두 원인을 구분할 수 없습니다.1532Amazon Bedrock은 만료된 보안 토큰을 403으로 보고하지만, 403은 또한 누락된 IAM 권한과 같은 `AccessDeniedException`의 인증 거부를 보고하는 방식입니다. Claude Code는 이 두 원인을 구분할 수 없습니다.

1438 1533 

1439Amazon Bedrock의 401은 또한 [AWS 자격증명이 만료되었거나 유효하지 않음](#aws-credentials-expired-or-invalid) 아래가 아닌 여기에 도달합니다. Amazon Bedrock이 만료된 토큰을 401로 보고하지 않기 때문입니다. 해당 엔드포인트의 401은 일반적으로 요청 경로의 다른 것(예: 회사 프록시)에서 옵니다.1534Amazon Bedrock의 401은 [AWS 자격증명이 만료되었거나 유효하지 않습니다](#aws-credentials-expired-or-invalid) 아래가 아닌 여기에 도달합니다. 해당 엔드포인트의 401은 일반적으로 요청 경로의 다른 것(예: 회사 프록시)에서 옵니다.

1440 1535 

1441자격증명 새로 고침은 만료된 토큰을 수정하고 다른 원인을 수정할 수 없으므로, 메시지는 둘 다 제공합니다:1536자격증명 새로 고침은 만료된 토큰을 수정하고 다른 원인을 수정할 수 없으므로, 메시지는 둘 다 제공합니다:

1442 1537 


1452 1547 

1453**수행할 작업:**1548**수행할 작업:**

1454 1549 

1455* 힌트가 자격증명이 이 환경에서 관리된다고 말하면, 앱이 Claude Code를 실행하고 여기의 다른 단계가 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1550* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.

1456* 만료된 자격증명이 원인일 수 있으므로 AWS 자격증명을 새로 고칩니다: 설정되면 [`awsAuthRefresh`](/docs/ko/amazon-bedrock#advanced-credential-configuration)에서 이름을 지정한 명령을 실행하거나, SSO 로그인, 액세스 키, API 키 또는 프록시 토큰을 직접 새로 고칩니다.1551* 만료된 자격증명이 원인일 수 있으므로 AWS 자격증명을 새로 고칩니다: 설정되면 [`awsAuthRefresh`](/docs/ko/amazon-bedrock#advanced-credential-configuration)에서 이름을 지정한 명령을 실행하거나, SSO 로그인, 액세스 키, API 키 또는 프록시 토큰을 직접 새로 고칩니다.

1457* 자격증명이 최신이면, [IAM 구성](/docs/ko/amazon-bedrock#iam-configuration)의 권한이 사용 중인 ID에 연결되어 있고 선택한 모델이 계정 및 지역에 대해 활성화되어 있는지 확인합니다.1552* 자격증명이 현재이면, [IAM 구성](/docs/ko/amazon-bedrock#iam-configuration)의 IAM 권한이 사용 중인 ID에 연결되어 있고 선택한 모델이 계정 및 지역에 대해 활성화되어 있는지 확인합니다.

1458* `aws sts get-caller-identity`를 실행하여 요청이 어떤 ID를 사용하는지 확인합니다. 오래된 `AWS_PROFILE` 또는 기본 프로필은 권한 불일치의 일반적인 원인입니다.1553* `aws sts get-caller-identity`를 실행하여 요청이 어떤 ID를 사용하는지 확인합니다. 오래된 `AWS_PROFILE` 또는 기본 프로필은 권한 불일치의 일반적인 원인입니다.

1459 1554 

1460<h3 id="google-cloud-credentials-expired-or-invalid">1555<h3 id="google-cloud-credentials-expired-or-invalid">

1461 Google Cloud 자격증명이 만료되었거나 유효하지 않음1556 Google Cloud 자격증명이 만료되었거나 유효하지 않습니다

1462</h3>1557</h3>

1463 1558 

1464[Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)의 Google Cloud 자격증명이 만료되었거나 거부되었습니다: 요청이 401을 반환했으며, 이는 Agent Platform이 자격증명 만료를 보고하는 방법입니다.1559[Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)에 대한 Google Cloud 자격증명이 만료되었거나 거부되었습니다: 요청이 401을 반환했으며, 이는 Agent Platform이 자격증명 만료를 보고하는 방식입니다.

1465 1560 

1466중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `Google Cloud credentials expired or invalid`입니다:1561중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `Google Cloud credentials expired or invalid`입니다:

1467 1562 


1471 1566 

1472**수행할 작업:**1567**수행할 작업:**

1473 1568 

1474* 힌트가 자격증명이 이 환경에서 관리된다고 말하면, 앱이 Claude Code를 실행하고 여기의 다른 단계가 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1569* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.

1475* 애플리케이션 기본 자격증명으로 인증하면, 메시지에서 이름을 지정한 [`gcpAuthRefresh`](/docs/ko/google-vertex-ai#advanced-credential-configuration) 명령 또는 `gcloud auth application-default login`을 실행하고 로그인을 완료한 후 재시도합니다.1570* 애플리케이션 기본 자격증명으로 인증하면, 메시지에서 이름을 지정한 [`gcpAuthRefresh`](/docs/ko/google-vertex-ai#advanced-credential-configuration) 명령을 실행하거나, `gcloud auth application-default login`을 실행하고 로그인을 완료한 후 재시도합니다.

1476* `CLAUDE_CODE_SKIP_VERTEX_AUTH`가 설정된 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 라우팅하면, `ANTHROPIC_AUTH_TOKEN` 또는 `ANTHROPIC_CUSTOM_HEADERS`의 게이트웨이 토큰을 새로 고친 후 재시도합니다.1571* `CLAUDE_CODE_SKIP_VERTEX_AUTH`가 설정된 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 라우팅하면, `ANTHROPIC_AUTH_TOKEN` 또는 `ANTHROPIC_CUSTOM_HEADERS`의 게이트웨이 토큰을 새로 고친 후 재시도합니다.

1477* 서비스 계정 키 파일로 인증하면, `GOOGLE_APPLICATION_CREDENTIALS`가 유효한 키를 가리키는지 확인합니다. [GCP 자격증명 구성](/docs/ko/google-vertex-ai#3-configure-gcp-credentials)을 참조하십시오.1572* 서비스 계정 키 파일로 인증하면, `GOOGLE_APPLICATION_CREDENTIALS`가 유효한 키를 가리키는지 확인합니다. [GCP 자격증명 구성](/docs/ko/google-vertex-ai#3-configure-gcp-credentials)을 참조합니다.

1478* 새로 고침 후 오류가 반복되면, 동일한 셸에서 `gcloud auth application-default print-access-token`으로 Claude Code 외부에서 ID가 작동하는지 확인합니다.1573* 새로 고침 후에도 오류가 반복되면, 동일한 셸에서 `gcloud auth application-default print-access-token`으로 Claude Code 외부에서 ID가 작동하는지 확인합니다.

1479 1574 

1480v2.1.273 이전에는 Agent Platform의 401이 대신 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했으며, Google Cloud 자격증명을 새로 고칠 수 없습니다.1575v2.1.273 이전에는 Agent Platform의 401이 자격증명을 새로 고칠 수 없는 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했습니다.

1481 1576 

1482<h3 id="google-cloud-authentication-failed">1577<h3 id="google-cloud-authentication-failed">

1483 Google Cloud 인증 실패1578 Google Cloud 인증 실패

1484</h3>1579</h3>

1485 1580 

1486[Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)이 403을 반환했으며, 이는 만료된 자격증명이 아닌 인증 거부에 사용합니다. 일반적으로 인증하는 ID에 IAM 권한이 누락되었거나 모델이 프로젝트에 대해 활성화되지 않았습니다.1581[Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)이 403을 반환했으며, 이는 만료된 자격증명이 아닌 인증 거부에 사용합니다. 일반적으로 인증하는 ID에 IAM 권한이 부족하거나, 모델이 프로젝트에 대해 활성화되지 않았습니다.

1487 1582 

1488중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `Google Cloud authentication failed`입니다:1583중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `Google Cloud authentication failed`입니다:

1489 1584 


1493 1588 

1494**수행할 작업:**1589**수행할 작업:**

1495 1590 

1496* 힌트가 자격증명이 이 환경에서 관리된다고 말하면, 앱이 Claude Code를 실행하고 여기의 다른 단계가 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1591* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.

1497* [IAM 구성](/docs/ko/google-vertex-ai#iam-configuration)의 역할이 인증하는 ID에 부여되었는지 확인합니다.1592* [IAM 구성](/docs/ko/google-vertex-ai#iam-configuration)의 역할이 인증하는 ID에 부여되어 있는지 확인합니다.

1498* 모델이 프로젝트에 대해 활성화되었는지 확인합니다. [모델 액세스 요청](/docs/ko/google-vertex-ai#2-request-model-access)을 참조하십시오.1593* 모델이 프로젝트에 대해 활성화되어 있는지 확인합니다. [모델 액세스 요청](/docs/ko/google-vertex-ai#2-request-model-access)을 참조합니다.

1499 1594 

1500v2.1.273 이전에는 Agent Platform의 403이 대신 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했으며, Google Cloud 자격증명을 새로 고칠 수 없습니다.1595v2.1.273 이전에는 Agent Platform의 403이 자격증명을 새로 고칠 수 없는 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했습니다.

1501 1596 

1502<h3 id="microsoft-foundry-authentication-failed">1597<h3 id="microsoft-foundry-authentication-failed">

1503 Microsoft Foundry 인증 실패1598 Microsoft Foundry 인증 실패


1511 1606 

1512**수행할 작업:**1607**수행할 작업:**

1513 1608 

1514* 힌트가 자격증명이 이 환경에서 관리된다고 말하면, 앱이 Claude Code를 실행하고 여기의 다른 단계가 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1609* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.

1515* [Azure 자격증명 구성](/docs/ko/microsoft-foundry#2-configure-azure-credentials)에서 구성한 자격증명을 새로 고칩니다: `ANTHROPIC_FOUNDRY_API_KEY`를 회전하거나, 새 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`을 발급하거나, `az login`을 실행하여 기본 Microsoft Entra 자격증명 체인이 다시 로그인할 수 있도록 합니다.1610* [Azure 자격증명 구성](/docs/ko/microsoft-foundry#2-configure-azure-credentials)에서 구성한 자격증명을 새로 고칩니다: `ANTHROPIC_FOUNDRY_API_KEY`를 회전하거나, 새 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`을 발급하거나, `az login`을 실행하여 기본 Microsoft Entra 자격증명 체인이 다시 로그인할 수 있도록 합니다.

1516* 자격증명이 최신이면, ID가 Foundry 리소스에 액세스할 수 있는지 확인합니다. [Azure RBAC 구성](/docs/ko/microsoft-foundry#azure-rbac-configuration)을 참조하십시오.1611* 자격증명이 현재이면, ID가 Foundry 리소스에 액세스할 수 있는지 확인합니다. [Azure RBAC 구성](/docs/ko/microsoft-foundry#azure-rbac-configuration)을 참조합니다.

1517 1612 

1518v2.1.273 이전에는 Microsoft Foundry의 401 또는 403이 대신 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했으며, Azure 자격증명을 새로 고칠 수 없습니다.1613v2.1.273 이전에는 Microsoft Foundry의 401 또는 403이 자격증명을 새로 고칠 수 없는 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했습니다.

1519 1614 

1520<h3 id="could-not-load-aws-or-google-cloud-credentials">1615<h3 id="could-not-load-aws-or-google-cloud-credentials">

1521 AWS 또는 Google Cloud 자격증명을 로드할 수 없음1616 AWS 또는 Google Cloud 자격증명을 로드할 수 없습니다

1522</h3>1617</h3>

1523 1618 

1524Claude Code가 실행되는 머신의 AWS 자격증명 공급자 체인 또는 Google 애플리케이션 기본 자격증명에서 사용 가능한 자격증명을 얻을 수 없으므로, 클라우드 공급자에 도달한 요청이 없습니다. Claude Code는 캐시된 자격증명을 지우고 이 메시지를 표시하기 전에 두 번 재시도합니다. `·` 이후의 세부 정보는 만료된 SSO 세션, `Could not load the default credentials`로 보고된 누락된 애플리케이션 기본 자격증명 또는 `invalid_grant`로 보고된 취소된 로그인과 같은 특정 원인의 이름을 지정합니다:1619Claude Code가 AWS 자격증명 공급자 체인 또는 머신의 Google 애플리케이션 기본 자격증명에서 사용 가능한 자격증명을 얻을 수 없어서, 요청이 클라우드 공급자에 도달하지 않았습니다. Claude Code는 캐시된 자격증명을 지우고 표시하기 전에 두 번 재시도합니다. `·` 이후의 세부 정보는 만료된 SSO 세션, `Could not load the default credentials`로 보고된 누락된 애플리케이션 기본 자격증명 또는 `invalid_grant`로 보고된 취소된 로그인과 같은 특정 원인의 이름을 지정합니다:

1525 1620 

1526```text theme={null}1621```text theme={null}

1527API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.1622API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.

1528API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.1623API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.

1529```1624```

1530 1625 

1531[비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하고 [Agent SDK](/docs/ko/agent-sdk/overview)에서 구조화된 오류 코드는 `cloud_credential_error`입니다. v2.1.267 이전에는 메시지가 `API Error:` 이후의 세부 정보 텍스트만 표시했고, 구조화된 코드는 `server_error` 또는 `unknown`이었습니다.1626[비대화형 모드](/docs/ko/headless)에서 `-p`와 [Agent SDK](/docs/ko/agent-sdk/overview)에서 구조화된 오류 코드는 `cloud_credential_error`입니다. v2.1.267 이전에는 메시지가 `API Error:` 이후의 세부 정보만 표시했으며, 구조화된 코드는 `server_error` 또는 `unknown`이었습니다.

1532 1627 

1533**수행할 작업:**1628**수행할 작업:**

1534 1629 

1535* `aws sso login --profile myprofile` 또는 `gcloud auth application-default login`과 같은 공급자의 로그인 명령을 실행한 후 재시도합니다. [Bedrock, Agent Platform 또는 Foundry 자격증명이 로드되지 않음](/docs/ko/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading)은 Claude Code 외부에서 자격증명을 확인하는 방법을 보여줍니다.1630* `aws sso login --profile myprofile` 또는 `gcloud auth application-default login`과 같은 공급자의 로그인 명령을 실행한 후 재시도합니다. [Bedrock, Agent Platform 또는 Foundry 자격증명이 로드되지 않음](/docs/ko/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading)은 Claude Code 외부에서 자격증명을 확인하는 방법을 보여줍니다.

1536* 세부 정보가 `AWS default-chain credential resolve timed out`을 읽으면, 체인이 실패하지 않고 중단되었으므로, 대신 [AWS 기본 체인 자격증명 확인 시간 초과](#aws-default-chain-credential-resolve-timed-out)를 따릅니다.1631* 세부 정보가 `AWS default-chain credential resolve timed out`을 읽으면, 체인이 실패하지 않고 중단되었으므로, 대신 [AWS default-chain credential resolve timed out](#aws-default-chain-credential-resolve-timed-out)을 따릅니다.

1537 1632 

1538<h3 id="aws-default-chain-credential-resolve-timed-out">1633<h3 id="aws-default-chain-credential-resolve-timed-out">

1539 AWS 기본 체인 자격증명 확인 시간 초과1634 AWS default-chain credential resolve timed out

1540</h3>1635</h3>

1541 1636 

1542AWS 기본 자격증명 공급자 체인이 60초 내에 자격증명을 생성하지 않았으므로, Claude Code가 확인을 중지하고 요청을 실패했습니다. 이 시간 초과는 [AWS 또는 Google Cloud 자격증명을 로드할 수 없음](#could-not-load-aws-or-google-cloud-credentials)의 한 원인입니다. 실패는 로컬 자격증명 확인입니다: 요청이 [Amazon Bedrock](/docs/ko/amazon-bedrock), [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 또는 [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)에 도달하지 않았습니다. Claude Code는 이 오류가 표시되기 전에 반복된 시도에서 [자격증명 캐시](/docs/ko/amazon-bedrock#credential-caching-and-resolution-timeout)를 지우고 재시도하므로, 이 시점에서 체인이 반복된 시도에서 중단되었습니다.1637AWS 기본 자격증명 공급자 체인이 60초 내에 자격증명을 생성하지 않아서, Claude Code가 확인을 중지하고 요청을 실패했습니다. 이 시간 초과는 [AWS 또는 Google Cloud 자격증명을 로드할 수 없습니다](#could-not-load-aws-or-google-cloud-credentials)의 한 원인입니다. 실패는 로컬 자격증명 확인입니다: 요청이 [Amazon Bedrock](/docs/ko/amazon-bedrock), [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 또는 [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)에 도달하지 않았습니다. Claude Code는 [자격증명 캐시](/docs/ko/amazon-bedrock#credential-caching-and-resolution-timeout)를 지우고 이 오류가 표시되기 전에 재시도하므로, 이를 볼 때쯤 체인이 반복된 시도에서 중단되었습니다.

1543 1638 

1544```text theme={null}1639```text theme={null}

1545API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.1640API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.


1548일반적인 원인은 AWS 프로필의 `credential_process` 명령이 받을 수 없는 입력을 기다리고 있으며, 컨테이너 또는 VM의 인스턴스 메타데이터 서비스(IMDS)가 체인의 프로브에 응답하지 않습니다.1643일반적인 원인은 AWS 프로필의 `credential_process` 명령이 받을 수 없는 입력을 기다리고 있으며, 컨테이너 또는 VM의 인스턴스 메타데이터 서비스(IMDS)가 체인의 프로브에 응답하지 않습니다.

1549 1644 

1550v2.1.267 이전에는 메시지가 `API Error: AWS default-chain credential resolve timed out`을 읽었습니다.1645v2.1.267 이전에는 메시지가 `API Error: AWS default-chain credential resolve timed out`을 읽었습니다.

1551v2.1.207 이전에는 중단된 체인이 요청을 무한정 기다리게 했습니다.1646v2.1.207 이전에는 중단된 체인이 실패하는 대신 요청을 무한정 기다리게 했습니다.

1552 1647 

1553**수행할 작업:**1648**수행할 작업:**

1554 1649 

1555* 동일한 셸에서 동일한 `AWS_PROFILE`로 `aws sts get-caller-identity`를 실행합니다. 또한 중단되면, 프로필을 수정합니다. 대화형으로 프롬프트하는 `credential_process` 명령이 일반적인 원인입니다.1650* 동일한 셸에서 동일한 `AWS_PROFILE`로 `aws sts get-caller-identity`를 실행합니다. 또한 중단되면, 프로필을 수정합니다. 대화형으로 프롬프트하는 `credential_process` 명령이 일반적인 원인입니다.

1556* Claude Code를 시작하기 전에 로그인 단계를 완료합니다. 예를 들어 `aws sso login --profile myprofile`을 실행하여 체인이 로컬 SSO 캐시에서 확인되도록 합니다.1651* Claude Code를 시작하기 전에 로그인 단계를 완료합니다. 예를 들어 `aws sso login --profile myprofile`을 실행하여 체인이 브라우저 흐름을 기다리는 대신 로컬 SSO 캐시에서 확인되도록 합니다.

1557* 체인이 `aws-vault`와 같은 래퍼를 통한 MFA를 사용하는 SSO와 같이 60초 이상 필요로 하는 대화형 로그인을 실행하면, [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에서 밀리초 단위로 제한을 높입니다.1652* 체인이 `aws-vault`와 같은 래퍼를 통해 MFA가 있는 SSO와 같이 60초 이상 필요로 하는 대화형 로그인을 실행하면, [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에서 밀리초 단위로 제한을 높입니다.

1558 1653 

1559<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1654<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">

1560 Bedrock 설정 확인이 AWS를 기다리다가 시간 초과됨1655 Bedrock 설정 확인이 AWS를 기다리다가 시간 초과되었습니다

1561</h3>1656</h3>

1562 1657 

1563[Bedrock 설정 마법사](/docs/ko/amazon-bedrock#sign-in-with-bedrock)의 자격증명 확인 중 AWS 호출(예: 자격증명 조회 또는 ID 확인)이 60초 제한 내에 완료되지 않았습니다. 마법사가 기다리기를 중지하고 확인 단계를 실패합니다:1658[Bedrock 설정 마법사](/docs/ko/amazon-bedrock#sign-in-with-bedrock)의 자격증명 확인 중 AWS에 대한 호출(예: 자격증명 조회 또는 ID 확인)이 60초 제한 내에 완료되지 않았습니다. 마법사가 기다리기를 중지하고 확인 단계를 실패합니다:

1564 1659 

1565```text theme={null}1660```text theme={null}

1566Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.1661Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.


1568 1663 

1569숫자는 제한을 반영합니다: 기본적으로 60초 또는 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에서 설정한 값입니다.1664숫자는 제한을 반영합니다: 기본적으로 60초 또는 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에서 설정한 값입니다.

1570 1665 

1571일반적인 원인은 AWS에 대한 요청을 중단하는 네트워크 또는 프록시(SSO 토큰 새로 고침 포함) 및 입력을 기다리는 자격증명 헬퍼입니다. 헬퍼가 합법적으로 더 많은 시간이 필요한 경우에만 제한을 높입니다.1666일반적인 원인은 SSO 토큰 새로 고침을 포함하여 AWS에 대한 요청을 중단하는 네트워크 또는 프록시이며, 자격증명 헬퍼가 볼 수 없는 입력을 기다리고 있습니다. 헬퍼가 합법적으로 더 많은 시간이 필요할 때만 제한을 높입니다.

1572 1667 

1573AWS에 대한 단일 중단된 요청도 자체 요청별 시간 초과에서 실패할 수 있으며, 동일한 단계에서 더 짧은 메시지를 표시합니다:1668AWS에 대한 단일 중단된 요청도 자체 요청별 시간 초과로 실패할 수 있으며, 동일한 단계에서 더 짧은 메시지를 표시합니다:

1574 1669 

1575```text theme={null}1670```text theme={null}

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

1577```1672```

1578 1673 

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

1580 1675 

1581**수행할 작업:**1676**수행할 작업:**

1582 1677 

1583* 동일한 셸에서 `aws sts get-caller-identity`를 실행합니다. 또한 중단되면, 중단이 Claude Code 외부에 있습니다. 네트워크, 프록시 또는 AWS 프로필의 자격증명 헬퍼에서 먼저 수정합니다.1678* 동일한 셸에서 `aws sts get-caller-identity`를 실행합니다. 또한 중단되면, 중단이 Claude Code 외부에 있습니다. 네트워크, 프록시 또는 AWS 프로필의 자격증명 헬퍼에서 먼저 수정합니다.

1584* 마법사를 열기 전에 대화형 로그인을 완료합니다. 예를 들어 `aws sso login --profile myprofile`을 실행합니다.1679* 마법사를 열기 전에 대화형 로그인을 완료합니다. 예를 들어 `aws sso login --profile myprofile`을 실행합니다.

1585* AWS 프로필의 자격증명 헬퍼가 합법적으로 60초 이상 필요하여 프롬프트하면, [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에서 밀리초 단위로 제한을 높입니다.1680* AWS 프로필의 자격증명 헬퍼가 합법적으로 60초 이상 프롬프트를 기다려야 하면, [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에서 밀리초 단위로 제한을 높입니다.

1586 1681 

1587<h3 id="cloud-gateway-session-expired">1682<h3 id="cloud-gateway-session-expired">

1588 클라우드 게이트웨이 세션 만료됨1683 클라우드 게이트웨이 세션 만료됨

1589</h3>1684</h3>

1590 1685 

1591[Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)를 통해 로그인했고, 이 머신에 저장된 게이트웨이 세션이 만료되었고 갱신할 수 없거나, 게이트웨이가 더 이상 수락하지 않습니다. 예를 들어 게이트웨이의 [JWT 비밀이 교체된](/docs/ko/claude-apps-gateway-deploy#jwt-secret-rotation) 후입니다. 대화형으로 `claude`를 시작할 때 이 라인이 표시되면, 세션이 게이트웨이에서 로그아웃된 상태로 열렸습니다:1686[Claude apps 게이트웨이](/docs/ko/claude-apps-gateway)를 통해 로그인했으며, 이 머신에 저장된 게이트웨이 세션이 만료되었으며 갱신할 수 없거나, 게이트웨이가 더 이상 수락하지 않습니다. 예를 들어 게이트웨이의 [JWT 비밀이 교체된](/docs/ko/claude-apps-gateway-deploy#jwt-secret-rotation) 후입니다. 대화형으로 `claude`를 시작할 때 이 라인을 보면, 세션이 게이트웨이에서 로그아웃된 상태로 열렸습니다:

1592 1687 

1593```text theme={null}1688```text theme={null}

1594Cloud gateway session expired — run /login to reconnect.1689Cloud gateway session expired — run /login to reconnect.

1595```1690```

1596 1691 

1597동일한 라인은 게이트웨이 자격증명이 만료되고 Claude Code가 갱신할 수 없을 때 세션 중에 나타날 수 있습니다.1692동일한 라인이 게이트웨이 자격증명이 만료되고 Claude Code가 갱신할 수 없을 때 세션 중에 나타날 수 있습니다.

1598 1693 

1599[비대화형](/docs/ko/headless) 실행, 백그라운드 또는 기타 무인 세션 또는 `claude auth` 이외의 `claude` 하위 명령에서, 게이트웨이가 더 이상 세션을 수락하지 않으면 Claude Code는 대신 이 메시지로 종료됩니다:1694[비대화형](/docs/ko/headless) 실행, 백그라운드 또는 기타 무인 세션 또는 `claude auth` 이외의 `claude` 하위 명령에서, Claude Code는 게이트웨이가 더 이상 세션을 수락하지 않을 때 대신 이 메시지로 종료됩니다:

1600 1695 

1601```text theme={null}1696```text theme={null}

1602Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1697Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.


1608* 비대화형 실행의 경우, 동일한 환경에서 `claude`를 시작하고, `/login`을 실행한 후 명령을 다시 실행합니다.1703* 비대화형 실행의 경우, 동일한 환경에서 `claude`를 시작하고, `/login`을 실행한 후 명령을 다시 실행합니다.

1609 1704 

1610<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1705<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">

1611 로그인 시간 초과 중 계속 대기1706 로그인이 계속하기를 기다리다가 시간 초과되었습니다

1612</h3>1707</h3>

1613 1708 

1614[Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 로그인 중에 게이트웨이가 로그인한 계정의 이름을 지정했고, Claude Code가 저장하기 전에 확인하도록 요청했습니다. 로그인의 자체 만료를 지나 확인을 열어 두었고, 게이트웨이가 새로 고침 토큰을 발급하지 않았으므로, Claude Code는 계속할 때 아무것도 저장하지 않았습니다:1709[Claude apps 게이트웨이](/docs/ko/claude-apps-gateway) 로그인 중에 게이트웨이가 로그인한 계정의 이름을 지정했으며, Claude Code가 자격증명을 저장하기 전에 확인하도록 요청했습니다. 로그인 자신의 만료를 지나 확인을 열어 두었으며, 게이트웨이가 갱신할 수 있는 새로 고침 토큰을 발급하지 않았으므로, Claude Code가 계속할 때 아무것도 저장하지 않았습니다:

1615 1710 

1616```text theme={null}1711```text theme={null}

1617Sign-in timed out while waiting for you to continue. Try again.1712Sign-in timed out while waiting for you to continue. Try again.


1622* `/login`을 다시 실행하고 로그인이 만료되기 전에 계정을 확인합니다.1717* `/login`을 다시 실행하고 로그인이 만료되기 전에 계정을 확인합니다.

1623 1718 

1624<h3 id="gateway-refused-the-request">1719<h3 id="gateway-refused-the-request">

1625 게이트웨이가 요청을 거부함1720 게이트웨이가 요청을 거부했습니다

1626</h3>1721</h3>

1627 1722 

1628[Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)를 통해 로그인했고, 요청이 403을 반환했습니다: 게이트웨이 또는 뒤의 업스트림이 거부했습니다. 다시 로그인하면 거부가 변경되지 않으므로, 메시지는 게이트웨이 관리자를 가리킵니다:1723[Claude apps 게이트웨이](/docs/ko/claude-apps-gateway)를 통해 로그인했으며, 요청이 403을 반환했습니다: 게이트웨이 또는 뒤의 업스트림이 거부했습니다. 다시 로그인하면 거부가 변경되지 않으므로, 메시지는 게이트웨이 관리자를 가리킵니다:

1629 1724 

1630```text theme={null}1725```text theme={null}

1631Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...1726Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...


1634**수행할 작업:**1729**수행할 작업:**

1635 1730 

1636* 게이트웨이 관리자에게 요청을 조회하도록 요청합니다. `API Error:` 꼬리는 게이트웨이가 반환한 거부를 전달합니다.1731* 게이트웨이 관리자에게 요청을 조회하도록 요청합니다. `API Error:` 꼬리는 게이트웨이가 반환한 거부를 전달합니다.

1637* 관리자의 경우: 게이트웨이의 [액세스 제어 규칙](/docs/ko/claude-apps-gateway-config#http-tuning)이 [감사 로그](/docs/ko/claude-apps-gateway-deploy#logs)가 이유와 함께 기록하는 403을 반환하고, 업스트림의 인증 거부는 [업스트림 오류 메시지](/docs/ko/claude-apps-gateway-config#upstream-error-messages)에 따라 통과합니다.1732* 관리자의 경우: 게이트웨이의 [액세스 제어 규칙](/docs/ko/claude-apps-gateway-config#http-tuning)이 [감사 로그](/docs/ko/claude-apps-gateway-deploy#logs)가 이유와 함께 기록하는 403을 반환하며, 업스트림의 인증 거부는 [업스트림 오류 메시지](/docs/ko/claude-apps-gateway-config#upstream-error-messages)에 따라 통과합니다.

1638 1733 

1639v2.1.273 이전에는 게이트웨이 세션의 403이 대신 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했고, 다시 로그인해도 거부가 지워지지 않았습니다.1734v2.1.273 이전에는 게이트웨이 세션의 403이 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했으며, 다시 로그인해도 거부가 지워지지 않았습니다.

1640 1735 

1641<h2 id="network-and-connection-errors">1736<h2 id="network-and-connection-errors">

1642 네트워크 및 연결 오류1737 네트워크 및 연결 오류


1677 1772 

1678`curl`이 성공하지만 Claude Code가 여전히 실패하는 경우, 원인은 일반적으로 네트워크 자체가 아니라 런타임과 네트워크 사이의 무언가입니다:1773`curl`이 성공하지만 Claude Code가 여전히 실패하는 경우, 원인은 일반적으로 네트워크 자체가 아니라 런타임과 네트워크 사이의 무언가입니다:

1679 1774 

1775* `ANTHROPIC_BASE_URL`이 설정되어 있는지 `echo $ANTHROPIC_BASE_URL`을 실행하여 확인하거나, PowerShell에서 `echo $env:ANTHROPIC_BASE_URL`을 실행하고 [설정 파일](/docs/ko/settings)의 `env` 블록에서 찾습니다. 설정되면 Claude Code는 모델 요청을 `api.anthropic.com` 대신 해당 주소로 보내므로, 더 이상 실행되지 않는 로컬 프록시 또는 게이트웨이를 가리키는 남은 값은 `curl`이 API에 도달하더라도 `Connection refused`를 생성합니다. 셸 프로필 또는 설정에서 제거하고 새 터미널에서 Claude Code를 시작합니다.

1680* Linux 및 WSL에서 `/etc/resolv.conf`에서 도달할 수 없는 네임서버를 확인합니다. 특히 WSL은 호스트에서 손상된 리졸버를 상속할 수 있습니다.1776* Linux 및 WSL에서 `/etc/resolv.conf`에서 도달할 수 없는 네임서버를 확인합니다. 특히 WSL은 호스트에서 손상된 리졸버를 상속할 수 있습니다.

1681* macOS에서 연결이 끊어지거나 제거된 VPN 클라이언트는 터널 인터페이스 또는 라우팅 규칙을 남길 수 있습니다. `ifconfig`에서 오래된 `utun` 인터페이스를 확인하고 시스템 설정에서 VPN의 네트워크 확장을 제거합니다.1777* macOS에서 연결이 끊어지거나 제거된 VPN 클라이언트는 터널 인터페이스 또는 라우팅 규칙을 남길 수 있습니다. `ifconfig`에서 오래된 `utun` 인터페이스를 확인하고 시스템 설정에서 VPN의 네트워크 확장을 제거합니다.

1682* Docker Desktop 및 유사한 컨테이너 런타임은 아웃바운드 트래픽을 가로챌 수 있습니다. 이를 배제하기 위해 종료하고 다시 시도합니다.1778* Docker Desktop 및 유사한 컨테이너 런타임은 아웃바운드 트래픽을 가로챌 수 있습니다. 이를 배제하기 위해 종료하고 다시 시도합니다.


1897* `claude --remote-control`로 새 세션을 시작하여 새 Remote Control 세션을 만듭니다.1993* `claude --remote-control`로 새 세션을 시작하여 새 Remote Control 세션을 만듭니다.

1898* 다른 Remote Control 시작 메시지는 [Remote Control 문제 해결](/docs/ko/remote-control#troubleshooting)을 참조합니다.1994* 다른 Remote Control 시작 메시지는 [Remote Control 문제 해결](/docs/ko/remote-control#troubleshooting)을 참조합니다.

1899 1995 

1900서버가 대신 이전 세션이 없다고 보고하면 이 메시지가 표시되지 않습니다. Claude Code는 [대화의 재연결 기록](/docs/ko/remote-control#resume-outcomes)에 따라 새 세션을 시작하거나 [`Previous session is unavailable — run /remote-control to start a new one`](/docs/ko/remote-control#previous-session-is-unavailable)을 표시합니다. v2.1.227부터 v2.1.231까지 Claude Code는 `Remote Control could not resume the previous session under the current login`으로 시작하는 메시지를 표시했으며, [이전 버전은 다시 다르게 작동했습니다](/docs/ko/remote-control#reconnect-history).1996서버가 대신 이전 세션이 없다고 보고하면 이 메시지가 표시되지 않습니다. Claude Code는 새 세션을 시작하거나 [`Previous session is unavailable — run /remote-control to start a new one`](/docs/ko/remote-control#previous-session-is-unavailable)을 표시합니다.

1901 1997 

1902<h3 id="sessions-ended-while-this-machine-was-offline">1998<h3 id="sessions-ended-while-this-machine-was-offline">

1903 이 머신이 오프라인 상태인 동안 세션이 종료됨1999 이 머신이 오프라인 상태인 동안 세션이 종료됨


1931* `/feedback`을 실행하여 발생한 상황에 대한 설명과 함께 트랜스크립트를 보냅니다. 환경에서 `/feedback`을 사용할 수 없는 경우 [오류 보고](#report-an-error)를 참조합니다.2027* `/feedback`을 실행하여 발생한 상황에 대한 설명과 함께 트랜스크립트를 보냅니다. 환경에서 `/feedback`을 사용할 수 없는 경우 [오류 보고](#report-an-error)를 참조합니다.

1932* 다른 요청도 실패하는 경우, 네트워크 연결을 확인하고 [API에 연결할 수 없음](#unable-to-connect-to-api)을 참조합니다.2028* 다른 요청도 실패하는 경우, 네트워크 연결을 확인하고 [API에 연결할 수 없음](#unable-to-connect-to-api)을 참조합니다.

1933 2029 

2030<h3 id="couldnt-send-feedback">

2031 피드백을 보낼 수 없습니다

2032</h3>

2033 

2034[`/feedback`, `/bug`, 또는 `/share` 대화](/docs/ko/commands#all-commands)에서 보고서를 보냈고 Anthropic으로의 업로드가 실패했습니다. 대화는 텍스트를 유지하므로 다시 시도할 수 있습니다.

2035 

2036```text theme={null}

2037Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.

2038```

2039 

2040접두사 뒤의 텍스트는 실패한 것을 명시합니다:

2041 

2042* **`: not signed in. Run /login, then retry.`**: 대화는 Claude Code가 열릴 때 Anthropic 자격 증명을 찾았을 때만 업로드되며, 보낼 때까지 사용 가능한 것이 없었습니다. 예를 들어, 그 사이에 이 머신에서 로그아웃했거나, 로그인을 더 이상 새로 고칠 수 없었습니다.

2043* **괄호 안의 내용**: `(server returned <status>)`는 서비스의 응답 코드입니다. `(request timed out)` 및 `(couldn't reach the service)`는 네트워크 실패입니다. Claude Code가 이유를 명시할 수 없으면 괄호 안의 내용이 없습니다.

2044 

2045[피드백 초안 큐](/docs/ko/tools-reference#sendfeedback-tool-behavior)에서 동일한 실패는 `The draft is still queued. Try again later.`로 끝나며, 초안은 다른 시도를 위해 큐에 남아 있습니다.

2046 

2047**수행할 작업:**

2048 

2049* 서명되지 않은 표현의 경우, `/login`을 실행하고 다시 보냅니다.

2050* 그 외의 경우, 다시 보냅니다. 다른 요청도 실패하는 경우, 네트워크 연결을 확인하고 [API에 연결할 수 없음](#unable-to-connect-to-api)을 참조합니다.

2051* 계속 실패하면 메시지가 말하는 대로 [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)에서 보고서를 제출합니다.

2052 

2053v2.1.281 이전에는 Remote Control **중지** 또는 긴급 교차 세션 메시지가 대화가 열려 있는 동안 도착했을 때 모든 전송이 이 메시지로 실패했습니다. 이러한 버전에서는 대화를 닫고, 다시 열고, 다시 보냅니다.

2054 

2055***

2056 

2057title: "요청 오류"

2058description: "요청 내용과 관련된 오류 및 해결 방법"

2059------------------------------------

2060 

1934<h2 id="request-errors">2061<h2 id="request-errors">

1935 요청 오류2062 요청 오류

1936</h2>2063</h2>


1953Context limit reached · /compact or /clear to continue2080Context limit reached · /compact or /clear to continue

1954```2081```

1955 2082 

1956[`DISABLE_COMPACT`](/docs/ko/env-vars)가 설정된 경우에만 줄에 `/clear`만 표시됩니다. 아래의 압축 실패 형식과 같은 더 긴 오류 형식은 `Prompt is too long ·` 표현을 유지합니다. `-p` 출력 및 기록에서 텍스트는 `Prompt is too long`으로 유지됩니다.2083[`DISABLE_COMPACT`](/docs/ko/env-vars)가 설정된 경우에만 `/clear`를 표시합니다. 아래의 압축 실패 형식과 같은 더 긴 오류 형식은 `Prompt is too long ·` 표현을 유지합니다. `-p` 출력 및 기록에서 텍스트는 `Prompt is too long`으로 유지됩니다.

1957 2084 

1958[사용자 설정](/docs/ko/settings-reference#autocompactenabled)에서 자동 압축을 끈 경우, 줄에도 다음과 같이 표시됩니다:2085[사용자 설정](/docs/ko/settings-reference#autocompactenabled)에서 자동 압축을 끈 경우, 이 줄은 다음과 같이 표시됩니다:

1959 2086 

1960```text theme={null}2087```text theme={null}

1961Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on2088Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on

1962```2089```

1963 2090 

1964`/config`의 **Auto-compact** 토글은 사용자 설정에 `autoCompactEnabled`를 씁니다. 힌트는 `/config` 변경이 적용될 때만 나타납니다. 예를 들어, [`DISABLE_AUTO_COMPACT`](/docs/ko/env-vars) 또는 [`DISABLE_COMPACT`](/docs/ko/env-vars)가 자동 압축을 끈 경우에는 나타나지 않습니다. 또한 프로젝트 또는 관리 설정과 같은 더 높은 우선순위 범위가 `autoCompactEnabled`를 `false`로 설정한 경우에도 나타나지 않습니다. v2.1.235 이전에는 줄에 자동 압축 힌트가 없었습니다.2091`/config`의 **자동 압축** 토글은 사용자 설정에 `autoCompactEnabled`를 씁니다. 이 힌트는 `/config` 변경이 적용될 때만 나타납니다. 예를 들어, [`DISABLE_AUTO_COMPACT`](/docs/ko/env-vars) 또는 [`DISABLE_COMPACT`](/docs/ko/env-vars)가 자동 압축을 끈 경우에는 나타나지 않습니다. 또한 프로젝트 또는 관리 설정과 같은 더 높은 우선순위 범위가 `autoCompactEnabled`를 `false`로 설정한 경우에도 나타나지 않습니다. v2.1.235 이전에는 이 줄에 자동 압축 힌트가 없었습니다.

1965 2092 

1966Amazon Bedrock은 이 조건을 `Input is too long for requested model.`로 보고하며, Claude Code는 동일한 방식으로 처리합니다. v2.1.217 이전에는 Claude Code가 Bedrock 표현을 인식하지 못했으므로 자동 압축이 트리거되지 않았고 `/compact`는 동일한 오류로 실패했습니다.2093Amazon Bedrock은 이 조건을 `Input is too long for requested model.`로 보고하며, Claude Code는 동일한 방식으로 처리합니다. v2.1.217 이전에는 Claude Code가 Bedrock 표현을 인식하지 못했으므로 자동 압축이 트리거되지 않았고 `/compact`는 동일한 오류로 실패했습니다.

1967 2094 

1968[Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway-config#upstream-error-messages)는 클라우드 업스트림이 제공자의 자체 오류 형식으로 요청을 거부할 때 이 조건을 `capability_rejected: prompt_too_long`으로 보고합니다. Claude Code는 토큰을 `Prompt is too long`과 동일하게 처리합니다. v2.1.228 이전에는 Claude Code가 토큰을 인식하지 못했으므로 자동 압축이 트리거되지 않았습니다.2095[Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway-config#upstream-error-messages)는 클라우드 업스트림이 제공자의 자체 오류 형식으로 요청을 거부할 때 이 조건을 `capability_rejected: prompt_too_long`으로 보고합니다. Claude Code는 토큰을 `Prompt is too long`과 동일하게 처리합니다. v2.1.228 이전에는 Claude Code가 토큰을 인식하지 못했으므로 자동 압축이 트리거되지 않았습니다.

1969 2096 

1970자동 압축이 이 턴에서 실행되었지만 사용할 수 없는 모델 또는 인증 실패와 같은 기본 오류에서 실패한 경우, 메시지는 구분 기호 뒤에 해당 오류를 이름으로 지정합니다:2097자동 압축이 이 턴에서 실행되었지만 사용할 수 없는 모델 또는 인증 실패와 같은 기본 오류로 실패한 경우, 메시지는 구분자 뒤에 해당 오류를 표시합니다:

1971 2098 

1972```text theme={null}2099```text theme={null}

1973Prompt is too long · automatic compaction failed: <the underlying error>2100Prompt is too long · automatic compaction failed: <the underlying error>

1974```2101```

1975 2102 

1976명명된 오류를 먼저 해결하십시오. `/compact`는 해결할 때까지 동일한 오류로 실패합니다. v2.1.229 이전에는 실패한 자동 압축이 원인 없이 `Prompt is too long`을 표시했습니다.2103명명된 오류를 먼저 해결하십시오. 해결할 때까지 `/compact`는 동일한 오류로 실패합니다. v2.1.229 이전에는 실패한 자동 압축이 원인 없이 `Prompt is too long`을 표시했습니다.

1977 2104 

1978자동 압축이 이 오류에서 실행될 때, 일반적으로 가장 오래된 교환을 요약하고 가장 최신의 것을 유지합니다. 최후의 수단으로 Claude Code는 다르게 요약합니다:2105자동 압축이 이 오류에서 실행될 때, 일반적으로 가장 오래된 교환을 요약하고 가장 최신 교환을 유지합니다. 최후의 수단으로 Claude Code는 다르게 요약합니다:

1979 2106 

1980* 전체 교환을 요약할 수 없을 때, Claude Code는 가장 최신 프롬프트를 그대로 유지하고 그 이전의 모든 것을 요약합니다.2107* 전체 교환을 요약할 수 없는 경우, Claude Code는 가장 최신 프롬프트를 그대로 유지하고 그 이전의 모든 것을 요약합니다.

1981* 그 경우, 대화가 프롬프트로 끝나지 않으면 Claude Code는 전체 대화를 대신 요약합니다.2108* 이 경우, 대화가 프롬프트로 끝나지 않으면 Claude Code는 전체 대화를 대신 요약합니다.

1982 2109 

1983Claude Code는 전달할 내용이 모델 응답을 보유하지 않고 짧은 재시도와 같은 약 1,000개 토큰 미만의 자신의 텍스트를 보유할 때 이 복구를 건너뜁니다. `/clear`를 실행하여 새로 시작합니다. v2.1.269 이전에는 전체 교환을 요약할 수 없을 때마다 압축이 실패했으므로 이 상태의 세션은 모든 턴에서 이 오류를 다시 맞았습니다.2110Claude Code는 전달할 내용이 모델 응답을 포함하지 않고 짧은 재시도와 같은 약 1,000개 토큰 미만의 자신의 텍스트를 포함하는 경우 이 복구를 건너뜁니다. `/clear`를 실행하여 새로 시작하십시오. v2.1.269 이전에는 전체 교환을 요약할 수 없을 때마다 압축이 실패했으므로 이 상태의 세션은 매 턴마다 이 오류를 다시 만났습니다.

1984 2111 

1985단일 교환 대화에는 요약할 이전 턴이 없습니다. 자동 압축이 하나에서 실행되었을 때, Claude Code는 시도를 건너뛰고 요청을 채우는 것을 설명합니다. API가 오류에서 토큰 수를 보고하지 않으면 메시지는 다음과 같이 읽힙니다:2112단일 교환 대화에는 요약할 이전 턴이 없습니다. 자동 압축이 하나에서 실행되었을 때, Claude Code는 시도를 건너뛰고 요청을 채우는 것을 설명합니다. API가 오류에서 토큰 수를 보고하지 않으면 메시지는 다음과 같이 읽습니다:

1986 2113 

1987```text theme={null}2114```text theme={null}

1988Prompt is too long · this conversation is a single exchange and cannot be compacted — the request size comes mostly from system prompt, tool definitions, or attachments.2115Prompt is too long · this conversation is a single exchange and cannot be compacted — the request size comes mostly from system prompt, tool definitions, or attachments.

1989```2116```

1990 2117 

1991API가 오류에서 토큰 수를 보고하면 Claude Code는 이를 대화 크기의 자체 추정치와 비교하여 요청의 대부분을 차지하는 것이 무엇인지 알려줍니다: 대화 자체의 내용, 또는 Claude Code가 함께 보내는 시스템 프롬프트, 도구 정의 및 첨부 내용입니다. 대화 자체의 내용이 요청의 대부분인 경우 메시지는 다음과 같이 읽힙니다:2118API가 오류에서 토큰 수를 보고하면 Claude Code는 이를 자신의 대화 크기 추정치와 비교하여 요청의 대부분이 무엇인지 알려줍니다: 대화 자체의 내용, 또는 Claude Code가 함께 보내는 시스템 프롬프트, 도구 정의 및 첨부 내용. 대화 자체의 내용이 요청의 대부분인 경우 메시지는 다음과 같이 읽습니다:

1992 2119 

1993```text theme={null}2120```text theme={null}

1994Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) and this conversation's own content is most of it. A single-exchange conversation cannot be compacted; start with less content (smaller files or pasted text).2121Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) and this conversation's own content is most of it. A single-exchange conversation cannot be compacted; start with less content (smaller files or pasted text).

1995```2122```

1996 2123 

1997요청의 대부분이 대화 외부에 있으면 메시지는 다음과 같이 읽힙니다:2124요청의 대부분이 대화 외부에 있으면 메시지는 다음과 같이 읽습니다:

1998 2125 

1999```text theme={null}2126```text theme={null}

2000Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) but this conversation is only ~<conversation tokens> tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context.2127Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) but this conversation is only ~<conversation tokens> tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context.

2001```2128```

2002 2129 

2003v2.1.162 이전에는 Claude Code가 압축을 시도했으며 실패했을 때 기본 `Prompt is too long`을 표시했습니다.2130v2.1.162 이전에는 Claude Code가 압축을 시도했고 실패했을 때 기본 `Prompt is too long`을 표시했습니다.

2004 2131 

2005**할 일:**2132**할 일:**

2006 2133 

2007* 다중 턴 대화에서 `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보하거나, `/clear`를 실행하여 새로 시작합니다. `/compact`가 `Not enough messages to compact.`로 응답하면, 대화는 요약할 이전 내용이 없는 단일 교환이므로 공간은 해당 프롬프트와 Claude Code가 모든 요청과 함께 보내는 것으로 차지됩니다: `/clear`를 실행하고 붙여넣은 텍스트가 적거나 첨부 파일이 작은 상태로 다시 보내거나, 아래 단계를 사용하여 도구 정의 및 메모리 파일을 줄입니다2134* `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보하거나, `/clear`를 실행하여 새로 시작합니다. `/compact`가 `Not enough messages to compact.`로 응답하면 대화는 요약할 이전 내용이 없는 단일 교환이므로 공간은 해당 프롬프트와 Claude Code가 모든 요청과 함께 보내는 것으로 채워집니다: `/clear`를 실행하고 더 적은 붙여넣은 텍스트 또는 더 작은 첨부 파일로 다시 보내거나, 아래 단계를 사용하여 도구 정의 및 메모리 파일을 줄입니다.

2008* `/context`를 실행하여 윈도우를 소비하는 것의 분석을 확인합니다: 시스템 프롬프트, 도구, 메모리 파일 및 메시지2135* `/context`를 실행하여 윈도우를 소비하는 것의 분석을 확인합니다: 시스템 프롬프트, 도구, 메모리 파일 및 메시지

2009* `/mcp disable <name>`으로 사용하지 않는 MCP 서버를 비활성화하여 컨텍스트에서 도구 정의를 제거합니다2136* `/mcp disable <name>`으로 사용하지 않는 MCP 서버를 비활성화하여 컨텍스트에서 도구 정의를 제거합니다.

2010* 큰 `CLAUDE.md` 메모리 파일을 정리하거나, 지침을 관련이 있을 때만 로드되는 [경로 범위 규칙](/docs/ko/memory#path-specific-rules)으로 이동합니다2137* 큰 `CLAUDE.md` 메모리 파일을 정리하거나, 지시사항을 관련이 있을 때만 로드되는 [경로 범위 규칙](/docs/ko/memory#path-specific-rules)으로 이동합니다.

2011* 서브에이전트는 부모 세션에서 모든 MCP 도구 정의를 상속하므로 첫 번째 턴 전에 컨텍스트 윈도우를 채울 수 있습니다. 서브에이전트를 생성하기 전에 사용하지 않는 MCP 서버를 비활성화합니다2138* 하위 에이전트는 부모 세션의 모든 MCP 도구 정의를 상속하므로 첫 번째 턴 전에 컨텍스트 윈도우를 채울 수 있습니다. 하위 에이전트를 생성하기 전에 사용하지 않는 MCP 서버를 비활성화합니다.

2012* 자동 압축은 기본적으로 켜져 있으며 일반적으로 이 오류를 방지합니다. `/config`에서 또는 [`DISABLE_AUTO_COMPACT`](/docs/ko/env-vars)로 끈 경우 다시 켭니다. 끈 상태로 유지하면 윈도우가 채워지기 전에 `/compact`를 직접 실행합니다.2139* 자동 압축은 기본적으로 켜져 있으며 일반적으로 이 오류를 방지합니다. `/config`에서 또는 [`DISABLE_AUTO_COMPACT`](/docs/ko/env-vars)로 끈 경우 다시 켭니다. 끈 상태로 유지하면 윈도우가 채워지기 전에 `/compact`를 직접 실행합니다.

2013 2140 

2014[컨텍스트 윈도우 탐색](/docs/ko/context-window)에서 컨텍스트가 어떻게 채워지는지에 대한 대화형 보기를 참조하십시오.2141[컨텍스트 윈도우 탐색](/docs/ko/context-window)에서 컨텍스트가 어떻게 채워지는지에 대한 대화형 보기를 참조하십시오.


2017 컨텍스트가 토큰 제한을 초과합니다2144 컨텍스트가 토큰 제한을 초과합니다

2018</h3>2145</h3>

2019 2146 

2020`/context`는 대화가 모델의 컨텍스트 윈도우를 초과했을 때 출력 상단에 이 경고를 표시합니다. [`Prompt is too long`](#prompt-is-too-long)을 해제할 때까지 요청이 실패합니다. 대화형 세션은 해당 오류를 `Context limit reached` 줄로 표시합니다.2147`/context`는 대화가 모델의 컨텍스트 윈도우를 초과했을 때 출력 상단에 이 경고를 표시합니다. [`Prompt is too long`](#prompt-is-too-long)으로 공간을 확보할 때까지 요청이 실패합니다. 대화형 세션은 해당 오류를 `Context limit reached` 줄로 표시합니다.

2021 2148 

2022```text theme={null}2149```text theme={null}

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

2024```2151```

2025 2152 

2026초과한 제한이 1M 컨텍스트 모델의 200K 경계와 같은 모델의 컨텍스트 윈도우보다 작은 압축 윈도우인 경우, 경고는 다르게 읽힙니다. 압축 윈도우는 모델의 컨텍스트 윈도우 아래에 있을 수 있으므로 그것을 지난 요청은 여전히 성공할 수 있습니다.2153초과한 제한이 1M 컨텍스트 모델의 200K 경계와 같은 압축 윈도우인 경우 경고는 다르게 읽힙니다. 압축 윈도우는 모델의 컨텍스트 윈도우 아래에 있을 수 있으므로 그 이후의 요청은 여전히 성공할 수 있습니다.

2027 2154 

2028```text theme={null}2155```text theme={null}

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

2030```2157```

2031 2158 

2032두 형식 모두 [`DISABLE_COMPACT`](/docs/ko/env-vars)를 설정한 경우 `/compact` 대신 `/clear`를 이름으로 지정합니다.2159두 형식 모두 [`DISABLE_COMPACT`](/docs/ko/env-vars)를 설정한 경우 `/compact` 대신 `/clear`를 표시합니다.

2033 2160 

2034**할 일:**2161**할 일:**

2035 2162 

2036* 다중 턴 대화에서 `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보합니다. 대신 새로 시작하려면 `/clear`를 실행합니다2163* 다중 턴 대화에서 `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보합니다. 대신 새로 시작하려면 `/clear`를 실행합니다.

2037* 사용량을 줄이는 더 많은 방법은 [Prompt is too long](#prompt-is-too-long)을 참조하십시오2164* 사용량을 줄이는 더 많은 방법은 [프롬프트가 너무 깁니다](#prompt-is-too-long)를 참조하십시오.

2038 2165 

2039v2.1.216 이전에는 `/context`가 100% 이상의 사용량을 표시했으며 그것이 의미하는 바 또는 복구 방법을 설명하는 경고 줄이 없었습니다.2166v2.1.216 이전에는 `/context`가 100% 이상의 사용량을 표시했으며 그것이 의미하는 바 또는 복구 방법을 설명하는 경고 줄이 없었습니다.

2040 2167 


2052 2179 

2053**할 일:**2180**할 일:**

2054 2181 

2055* Esc를 두 번 눌러 메시지 목록을 열고 여러 턴을 뒤로 이동합니다. 이렇게 하면 컨텍스트에서 가장 최근 메시지가 제거됩니다. 그런 다음 `/compact`를 다시 실행합니다.2182* Esc를 두 번 눌러 메시지 목록을 열고 여러 턴을 뒤로 이동합니다. 이렇게 하면 가장 최근 메시지가 컨텍스트에서 제거됩니다. 그런 다음 `/compact`를 다시 실행합니다.

2056* 뒤로 이동해도 충분한 공간이 확보되지 않으면 `/clear`를 실행하여 새 세션을 시작합니다. 이전 대화는 보존되며 `/resume`으로 다시 열 수 있습니다.2183* 뒤로 이동해도 충분한 공간이 확보되지 않으면 `/clear`를 실행하여 새 세션을 시작합니다. 이전 대화는 보존되며 `/resume`으로 다시 열 수 있습니다.

2057 2184 

2058이 메시지 및 기타 `/compact` 실패는 오류 스타일로 표시됩니다. v2.1.216 이전에는 성공한 명령 출력과 동일한 흐릿한 스타일로 렌더링되었으므로 실패한 압축을 성공으로 읽을 수 있었습니다.2185이 메시지 및 기타 `/compact` 실패는 오류 스타일로 표시됩니다. v2.1.216 이전에는 성공적인 명령 출력과 동일한 흐릿한 스타일로 렌더링되어 실패한 압축을 성공으로 읽을 수 있었습니다.

2059 2186 

2060<h3 id="request-too-large">2187<h3 id="request-too-large">

2061 요청이 너무 큽니다2188 요청이 너무 큽니다


2069 2196 

2070요청이 Claude API로 직접 이동했고 API 자체가 거부한 경우, Claude Code는 대화를 측정하고 복구가 작동할 수 있는지 여부에 따라 메시지를 표현합니다. 프록시, 게이트웨이 또는 클라우드 제공자를 통해 일반 메시지를 받습니다. 측정된 형식:2197요청이 Claude API로 직접 이동했고 API 자체가 거부한 경우, Claude Code는 대화를 측정하고 복구가 작동할 수 있는지 여부에 따라 메시지를 표현합니다. 프록시, 게이트웨이 또는 클라우드 제공자를 통해 일반 메시지를 받습니다. 측정된 형식:

2071 2198 

2072* `Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).`: 이미지 또는 문서가 요청을 초과했습니다. Claude Code는 이를 제거하고 다시 시도합니다.2199* `Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).`: 이미지 또는 문서가 요청을 제한 이상으로 밀어냈습니다. Claude Code는 이들을 제거하고 다시 시도합니다.

2073* `Request too large for the API's 32MB request limit`: 메시지 자체가 제한을 초과하므로 메시지는 `compacting cannot make it fit`이라고 말하고 Claude Code는 다시 시도하지 않습니다. [비대화형 모드](/docs/ko/headless)에서 메시지는 입력을 줄이거나 대신 새 세션을 시작하도록 알려줍니다.2200* `Request too large for the API's 32MB request limit`: 메시지만 제한을 초과하므로 메시지는 `compacting cannot make it fit`이라고 말하고 Claude Code는 다시 시도하지 않습니다. [비대화형 모드](/docs/ko/headless)에서 메시지는 입력을 줄이거나 대신 새 세션을 시작하도록 알려줍니다.

2074 2201 

2075v2.1.212 이전에는 충분한 누적 이미지가 있는 대화가 `Request too large (max 32MB). Double press esc to go back and try with a smaller file.`로 모든 턴에서 실패했습니다. v2.1.229 이전에는 Claude Code가 압축이 도움이 될 수 없을 때도 모든 거부에 대해 첨부 조언을 표시했습니다.2202v2.1.212 이전에는 충분한 누적 이미지가 있는 대화가 `Request too large (max 32MB). Double press esc to go back and try with a smaller file.`로 매 턴마다 실패했습니다. v2.1.229 이전에는 Claude Code가 압축이 도움이 될 수 없을 때도 모든 거부에 대해 첨부 파일 조언을 표시했습니다.

2076 2203 

2077**할 일:**2204**할 일:**

2078 2205 

2079* 메시지가 `compacting cannot make it fit`이라고 말하면 큰 내용을 추가한 턴을 지나 Esc를 두 번 눌러 뒤로 이동하거나 `/clear`를 실행하여 새로 시작합니다2206* 메시지가 `compacting cannot make it fit`이라고 말하면 Esc를 두 번 눌러 큰 내용을 추가한 턴을 지나 뒤로 이동하거나 `/clear`를 실행하여 새로 시작합니다.

2080* 그렇지 않으면 `/compact`를 실행하여 누적된 이미지 및 첨부 파일을 제거합니다2207* 그렇지 않으면 `/compact`를 실행합니다. 이는 누적된 이미지 및 첨부 파일을 제거합니다.

2081* 내용을 붙여넣는 대신 경로로 큰 파일을 참조하여 Claude가 청크 단위로 읽을 수 있도록 합니다2208* 내용을 붙여넣는 대신 경로로 큰 파일을 참조하여 Claude가 청크 단위로 읽을 수 있도록 합니다.

2082* 이미지의 경우 아래의 [Image was too large](#image-was-too-large)를 참조하십시오2209* 이미지의 경우 아래의 [이미지가 너무 컸습니다](#image-was-too-large)를 참조하십시오.

2083 2210 

2084<h3 id="image-was-too-large">2211<h3 id="image-was-too-large">

2085 이미지가 너무 큽니다2212 이미지가 너무 컸습니다

2086</h3>2213</h3>

2087 2214 

2088붙여넣거나 첨부한 이미지가 API의 크기 또는 치수 제한을 초과합니다.2215붙여넣거나 첨부한 이미지가 API의 크기 또는 치수 제한을 초과합니다.


2092API Error: 400 ... image dimensions exceed max allowed size2219API Error: 400 ... image dimensions exceed max allowed size

2093```2220```

2094 2221 

2095Claude Code는 처리할 수 없는 이미지를 텍스트 자리 표시자로 바꾸고 다시 시도하므로 후속 메시지가 성공합니다. 2.1.142 이전 버전에서는 붙여넣은 이미지가 대화에 남아 있을 수 있으며 후속 모든 메시지에서 동일한 오류를 반복합니다. 이러한 버전에서 복구하려면 Esc를 두 번 눌러 이미지가 추가된 턴을 지나 뒤로 이동합니다.2222Claude Code는 처리할 수 없는 이미지를 텍스트 자리 표시자로 바꾸고 다시 시도하므로 후속 메시지는 성공합니다. v2.1.142 이전 버전에서는 붙여넣은 이미지가 대화에 남아 있을 수 있으며 후속 모든 메시지에서 동일한 오류를 반복했습니다. 이러한 버전에서 복구하려면 Esc를 두 번 누르고 이미지가 추가된 턴을 지나 뒤로 이동합니다.

2096 2223 

2097**할 일:**2224**할 일:**

2098 2225 

2099* 붙여넣기 전에 이미지 크기를 조정합니다. API는 단일 이미지의 경우 가장 긴 가장자리에서 최대 8000픽셀을 허용하거나 많은 이미지가 컨텍스트에 있을 때 2000픽셀을 허용합니다.2226* 붙여넣기 전에 이미지 크기를 조정합니다. API는 단일 이미지의 경우 가장 긴 가장자리에서 최대 8000픽셀, 또는 많은 이미지가 컨텍스트에 있을 때 2000픽셀까지의 이미지를 허용합니다.

2100* 전체 화면 대신 관련 영역의 더 타이트한 스크린샷을 찍습니다2227* 전체 화면 대신 관련 영역의 더 타이트한 스크린샷을 찍습니다.

2101 2228 

2102<h3 id="unable-to-resize-image">2229<h3 id="unable-to-resize-image">

2103 이미지 크기를 조정할 수 없습니다2230 이미지 크기를 조정할 수 없습니다


2115Unable to resize image — its pixels could not be decoded (the file may be damaged, or use an encoding Claude Code cannot read), and it is over the … API limit (… raw, … base64), so it cannot be sent. Re-save it as a PNG or JPEG and try again.2242Unable to resize image — its pixels could not be decoded (the file may be damaged, or use an encoding Claude Code cannot read), and it is over the … API limit (… raw, … base64), so it cannot be sent. Re-save it as a PNG or JPEG and try again.

2116```2243```

2117 2244 

2118Claude Code는 일반적으로 큰 이미지를 자동으로 크기 조정합니다. 이러한 오류는 이미지를 디코딩하거나 API 제한 내에 맞게 크기 조정할 수 없음을 의미합니다.2245Claude Code는 일반적으로 큰 이미지를 자동으로 크기 조정합니다. 이러한 오류는 이미지를 디코딩하거나 API 제한 내에 맞게 크기를 조정할 수 없음을 의미합니다.

2119 2246 

2120**할 일:**2247**할 일:**

2121 2248 

2122* 메시지가 이미지를 변환하도록 요청하면 PNG, JPEG, GIF 또는 WebP로 변환하고 다시 첨부합니다. Claude Code는 이미지를 디코딩하지 않고 파일 헤더에서 이러한 형식의 치수를 확인할 수 있습니다.2249* 메시지가 이미지를 변환하도록 요청하면 PNG, JPEG, GIF 또는 WebP로 변환하고 다시 첨부합니다. Claude Code는 이미지를 디코딩하지 않고 파일 헤더에서 이러한 형식의 치수를 확인할 수 있습니다.

2123* 메시지가 치수 또는 크기 제한을 보고하면 해당 제한 아래로 이미지 크기를 조정하거나 다시 압축한 후 첨부합니다.2250* 메시지가 치수 또는 크기 제한을 보고하면 해당 제한 아래로 이미지 크기를 조정하거나 다시 압축한 후 첨부합니다.

2124* 메시지가 CMYK JPEG, 애니메이션 WebP 또는 손상된 파일과 같은 원인을 이름으로 지정하면 메시지가 제안하는 형식으로 이미지를 다시 저장하고 첨부합니다.2251* 메시지가 CMYK JPEG, 애니메이션 WebP 또는 손상된 파일 가능성과 같은 원인을 표시하면 메시지가 제안하는 형식으로 이미지를 다시 저장하고 첨부합니다.

2125 2252 

2126<h3 id="pdf-errors">2253<h3 id="pdf-errors">

2127 PDF 오류2254 PDF 오류

2128</h3>2255</h3>

2129 2256 

2130첨부한 PDF를 처리할 수 없었습니다. 메시지는 비대화형 형식으로 표시됩니다. 대화형 세션에서는 대신 Esc를 두 번 눌러 다시 시도하도록 요청합니다.2257첨부한 PDF를 처리할 수 없었습니다. 메시지는 여기에 비대화형 형식으로 표시됩니다. 대화형 세션에서는 대신 Esc를 두 번 누르고 다시 시도하도록 요청합니다.

2131 2258 

2132```text theme={null}2259```text theme={null}

2133PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).2260PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).


2137 2264 

2138**할 일:**2265**할 일:**

2139 2266 

2140* 크기가 큰 PDF의 경우 전체 파일을 첨부하는 대신 Read 도구로 Claude에게 페이지 범위를 읽도록 요청하거나 `pdftotext`와 같은 도구로 텍스트를 추출하고 출력 파일을 경로로 참조합니다2267* 크기가 큰 PDF의 경우 전체 파일을 첨부하는 대신 Read 도구로 페이지 범위를 읽도록 Claude에 요청하거나 `pdftotext`와 같은 도구로 텍스트를 추출하고 출력 파일을 경로로 참조합니다.

2141* 보호되거나 유효하지 않은 PDF의 경우 암호를 제거하거나 소스 애플리케이션에서 파일을 다시 내보낸 후 다시 시도합니다2268* 보호되거나 유효하지 않은 PDF의 경우 암호를 제거하거나 소스 애플리케이션에서 파일을 다시 내보낸 후 다시 시도합니다.

2142 2269 

2143<h3 id="extra-inputs-are-not-permitted">2270<h3 id="extra-inputs-are-not-permitted">

2144 추가 입력은 허용되지 않습니다2271 추가 입력은 허용되지 않습니다


2155 2282 

2156**할 일:**2283**할 일:**

2157 2284 

2158* `anthropic-beta` 헤더를 전달하도록 게이트웨이를 구성합니다. 게이트웨이가 전달해야 하는 것은 [기능 통과](/docs/ko/llm-gateway-protocol#feature-pass-through)를 참조하십시오.2285* `anthropic-beta` 헤더를 전달하도록 게이트웨이를 구성합니다. 게이트웨이가 전달해야 하는 것에 대해서는 [기능 통과](/docs/ko/llm-gateway-protocol#feature-pass-through)를 참조하십시오.

2159* 대체로 시작하기 전에 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/ko/env-vars)을 설정합니다. [사전 릴리스 기능 비활성화](/docs/ko/llm-gateway-protocol#disable-pre-release-capabilities)는 정확한 범위를 다룹니다.2286* 대체로 시작하기 전에 [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/ko/env-vars)을 설정합니다. [사전 릴리스 기능 비활성화](/docs/ko/llm-gateway-protocol#disable-pre-release-capabilities)는 정확한 범위를 다룹니다.

2160 2287 

2161<h3 id="tool-input-schema-is-invalid">2288<h3 id="tool-input-schema-is-invalid">

2162 도구 입력 스키마가 유효하지 않습니다2289 도구 입력 스키마가 유효하지 않습니다

2163</h3>2290</h3>

2164 2291 

2165요청의 도구가 API의 JSON Schema 검증에 실패하는 `input_schema`를 선언했으므로 API가 전체 요청을 거부했습니다. `tools.` 뒤의 숫자는 요청의 도구 목록에서 실패한 도구의 위치이며, 조회할 수 있는 이름이 아닙니다.2292요청의 도구가 API의 JSON Schema 검증에 실패하는 `input_schema`를 선언했으므로 API가 전체 요청을 거부했습니다. `tools.` 뒤의 숫자는 실패한 도구의 위치이며 조회할 수 있는 이름이 아닙니다.

2166 2293 

2167```text theme={null}2294```text theme={null}

2168API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid2295API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid


2171 2298 

2172첫 번째 형식은 스키마가 유효한 JSON Schema draft 2020-12가 아님을 의미합니다. 두 번째는 최상위 속성 이름이 메시지가 인용하는 패턴과 일치하지 않음을 의미합니다.2299첫 번째 형식은 스키마가 유효한 JSON Schema draft 2020-12가 아님을 의미합니다. 두 번째는 최상위 속성 이름이 메시지가 인용하는 패턴과 일치하지 않음을 의미합니다.

2173 2300 

2174Claude Code는 로드할 때 [이 검증에 실패할 입력 스키마가 있는 MCP 도구를 제외](/docs/ko/mcp#tools-with-invalid-input-schemas)하므로 요청은 일반적으로 하나를 포함하지 않습니다.2301Claude Code는 [이 검증에 실패할 입력 스키마를 가진 MCP 도구를 제외합니다](/docs/ko/mcp#tools-with-invalid-input-schemas). 서버의 도구를 로드할 때 요청은 일반적으로 하나를 포함하지 않습니다.

2175 2302 

2176[플래그 가져오기가 꺼진 배포](/docs/ko/env-vars#features-that-need-feature-flag-fetching)에서 또는 플래그가 도착한 적이 없는 머신에서 Claude Code는 서버의 로그에 거부될 도구를 기록하지만 어쨌든 보내므로 이 오류가 여전히 발생할 수 있습니다.2303[플래그 가져오기가 꺼진 배포](/docs/ko/env-vars#features-that-need-feature-flag-fetching)에서 또는 플래그가 도착한 적이 없는 머신에서 Claude Code는 서버의 로그에 거부될 도구를 기록하지만 어쨌든 보내므로 이 오류가 여전히 발생할 수 있습니다.

2177 2304 

2178오류는 또한 스키마가 `$schema`에서 draft 2020-12 이외의 JSON Schema 방언을 선언하는 도구에 대해 발생할 수 있습니다. Claude Code는 이러한 스키마를 JSON Schema 메타 스키마에 대해 확인하지 않지만 최상위 속성 이름 확인은 여전히 적용됩니다.2305오류는 `$schema`에서 draft 2020-12 이외의 JSON Schema 방언을 선언하는 도구의 스키마에서도 발생할 수 있습니다. Claude Code는 이러한 스키마를 JSON Schema 메타 스키마에 대해 확인하지 않지만 최상위 속성 이름 확인은 여전히 적용됩니다.

2179 2306 

2180v2.1.216 이전에는 배포가 제외 확인을 실행하지 않았습니다.2307v2.1.216 이전에는 배포가 제외 확인을 실행하지 않았습니다.

2181 2308 

2182**할 일:**2309**할 일:**

2183 2310 

2184* Claude Code 버전이 v2.1.216보다 이전이면 `claude update`를 실행합니다.2311* Claude Code 버전이 v2.1.216보다 이전이면 `claude update`를 실행합니다.

2185* 유효하지 않은 스키마를 선언하는 MCP 서버를 제거하거나 [비활성화](/docs/ko/mcp#disable-a-server-without-removing-it)합니다. 오류는 도구를 위치로만 이름으로 지정합니다. v2.1.216 이상에서는 각 서버의 로그에서 입력 스키마가 거부될 도구를 이름으로 지정하는 줄을 확인합니다. 로그가 하나를 이름으로 지정하지 않으면 서버를 하나씩 비활성화합니다.2312* 유효하지 않은 스키마를 선언하는 MCP 서버를 제거하거나 [비활성화](/docs/ko/mcp#disable-a-server-without-removing-it)합니다. 오류는 도구를 위치로만 표시합니다. v2.1.216 이상에서는 각 서버의 로그에서 입력 스키마가 거부될 도구를 표시하는 줄을 확인합니다. 로그가 하나를 표시하지 않으면 서버를 하나씩 비활성화합니다.

2186* 서버를 유지 관리하면 도구의 `input_schema`를 수정합니다. 스키마는 유효한 JSON Schema여야 하며 최상위 속성 이름은 1\~64자 길이여야 하고 ASCII 문자와 숫자, `_`, `.` 및 `-`만 사용해야 합니다. [유효하지 않은 입력 스키마가 있는 도구](/docs/ko/mcp#tools-with-invalid-input-schemas)를 참조하십시오.2313* 서버를 유지 관리하면 도구의 `input_schema`를 수정합니다. 스키마는 유효한 JSON Schema여야 하며 최상위 속성 이름은 1\~64자 길이여야 하고 ASCII 문자와 숫자, `_`, `.` 및 `-`만 사용해야 합니다. [유효하지 않은 입력 스키마를 가진 도구](/docs/ko/mcp#tools-with-invalid-input-schemas)를 참조하십시오.

2314 

2315<h3 id="tool-use-name-over-200-characters">

2316 tool\_use.name이 200자를 초과합니다

2317</h3>

2318 

2319대화 기록의 도구 호출이 API가 요청에서 허용하는 200자보다 긴 이름을 포함합니다:

2320 

2321```text theme={null}

2322API Error: 400 ... tool_use.name: String should have at most 200 characters

2323```

2324 

2325Claude Code는 응답이 도착할 때와 저장된 대화를 로드할 때 이러한 이름을 200자로 자릅니다. 따라서 호출은 일반적인 `No such tool available` 도구 오류로 실패하고 대화는 이 API 오류 없이 계속됩니다.

2326 

2327**할 일:**

2328 

2329* `claude update`를 실행한 다음 대화를 재개합니다. 업데이트된 버전은 기록을 로드할 때 과도하게 긴 이름을 복구하므로 막힌 대화가 다시 작동합니다.

2330 

2331v2.1.281 이전에는 과도하게 긴 이름이 기록에 남아 있었고 API는 `/compact` 및 `--resume`을 포함하여 대화를 다시 보내는 모든 요청을 거부했으므로 이 오류가 반복되고 대화가 막혔습니다.

2187 2332 

2188<h3 id="theres-an-issue-with-the-selected-model">2333<h3 id="theres-an-issue-with-the-selected-model">

2189 선택한 모델에 문제가 있습니다2334 선택한 모델에 문제가 있습니다

2190</h3>2335</h3>

2191 2336 

2192구성된 모델 이름이 인식되지 않았거나 계정에 액세스 권한이 없습니다. v2.1.160부터 뒤따르는 힌트는 표시 표면에 따라 다르며 여기에 대화형 형식으로 표시됩니다.2337구성된 모델 이름을 인식하지 못했거나 계정이 이에 대한 액세스 권한이 없습니다. v2.1.160부터 뒤따르는 힌트는 표시 표면에 따라 다릅니다.

2193 2338 

2194```text theme={null}2339```text theme={null}

2195There's an issue with the selected model (claude-...). It may not exist or you may not have access to it. Run /model to pick a different model.2340There's an issue with the selected model (claude-...). It may not exist or you may not have access to it. Run /model to pick a different model.


2200* **대화형 CLI**: `/model`을 실행하여 계정에서 사용 가능한 모델 중에서 선택합니다.2345* **대화형 CLI**: `/model`을 실행하여 계정에서 사용 가능한 모델 중에서 선택합니다.

2201* **비대화형 모드(`-p`)**: 유효한 별칭 또는 ID로 `--model`을 전달하거나 [`ANTHROPIC_MODEL`](/docs/ko/env-vars)을 설정합니다. 오류 텍스트는 이 표면에서 `Run --model`을 표시합니다.2346* **비대화형 모드(`-p`)**: 유효한 별칭 또는 ID로 `--model`을 전달하거나 [`ANTHROPIC_MODEL`](/docs/ko/env-vars)을 설정합니다. 오류 텍스트는 이 표면에서 `Run --model`을 표시합니다.

2202* **Agent SDK**: 모델이 프로그래밍 방식으로 설정되므로 오류 텍스트는 힌트를 생략합니다. TypeScript에서 [`Options`의 `model`](/docs/ko/agent-sdk/typescript#options)을 설정하거나 Python에서 [`ClaudeAgentOptions(model=...)`](/docs/ko/agent-sdk/python#claudeagentoptions)을 설정하고 구조화된 `model_not_found` 오류를 처리하여 자신의 재시도 또는 모델 선택기를 표시합니다.2347* **Agent SDK**: 모델이 프로그래밍 방식으로 설정되므로 오류 텍스트는 힌트를 생략합니다. TypeScript에서 [`Options`의 `model`](/docs/ko/agent-sdk/typescript#options)을 설정하거나 Python에서 [`ClaudeAgentOptions(model=...)`](/docs/ko/agent-sdk/python#claudeagentoptions)을 설정하고 구조화된 `model_not_found` 오류를 처리하여 자신의 재시도 또는 모델 선택기를 표시합니다.

2203* `claude-...`의 전체 버전 ID 대신 `sonnet` 또는 `opus`와 같은 별칭을 사용합니다. 별칭은 유지 관리되는 기본값으로 확인되므로 오래되지 않습니다. [모델 구성](/docs/ko/model-config)을 참조하십시오.2348* `sonnet` 또는 `opus`와 같은 별칭을 전체 버전 ID 대신 사용합니다. 별칭은 유지 관리되는 기본값으로 확인되므로 오래되지 않습니다. [모델 구성](/docs/ko/model-config)을 참조하십시오.

2204* CLI에서 잘못된 모델이 계속 돌아오면 어딘가에 오래된 ID가 설정되어 있습니다. [우선순위 순서](/docs/ko/model-config#setting-your-model)로 모델을 설정할 수 있는 위치를 확인하고 오래된 값을 제거합니다.2349* 잘못된 모델이 CLI에서 계속 돌아오면 어딘가에 오래된 ID가 설정되어 있습니다. [우선순위 순서](/docs/ko/model-config#setting-your-model)로 모델을 설정할 수 있는 위치를 확인하고 오래된 값을 제거합니다.

2205* 새로 출시된 모델은 Anthropic API에서 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry가 제공하기 전에 사용 가능할 수 있습니다. 이러한 제공자 중 하나에서 새 모델 ID를 고정했고 이 오류가 표시되면 제공자의 모델 카탈로그에서 지역의 가용성을 확인하고 새 모델이 나타날 때까지 이전 버전을 고정된 상태로 유지합니다.2350* 새로 출시된 모델은 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry가 제공하기 전에 Anthropic API에서 사용 가능할 수 있습니다. 이러한 제공자 중 하나에서 새 모델 ID를 고정했고 이 오류가 표시되면 제공자의 모델 카탈로그에서 지역의 가용성을 확인하고 새 모델이 나타날 때까지 이전 버전을 고정된 상태로 유지합니다.

2206* Claude Code는 만료된 claude.ai 로그인을 [Login expired](#login-expired)로 보고하며, 이 오류로는 보고하지 않습니다. v2.1.206 이전에는 더 이상 새로 고칠 수 없는 만료된 로그인이 모든 모델에서 실패했습니다. 이전 버전에서 이를 보면 `/login`을 실행합니다.2351* Claude Code는 만료된 claude.ai 로그인을 [로그인 만료됨](#login-expired)으로 보고하며, 이 오류로는 보고하지 않습니다. v2.1.206 이전에는 더 이상 새로 고칠 수 없는 만료된 로그인이 모든 모델에서 실패했습니다. 이전 버전에서 이를 보면 `/login`을 실행합니다.

2207* Google Cloud의 Agent Platform 배포의 경우 [Google Cloud의 Agent Platform 문제 해결](/docs/ko/google-vertex-ai#troubleshooting)을 참조하십시오.2352* Google Cloud의 Agent Platform 배포의 경우 [Google Cloud의 Agent Platform 문제 해결](/docs/ko/google-vertex-ai#troubleshooting)을 참조하십시오.

2208 2353 

2209<h3 id="model-is-not-a-recognized-model-id">2354<h3 id="model-is-not-a-recognized-model-id">

2210 모델이 인식된 모델 ID가 아닙니다2355 모델이 인식된 모델 ID가 아닙니다

2211</h3>2356</h3>

2212 2357 

2213모델 스위치에 전달한 모델 문자열이 모델 별칭, 이 Claude Code 버전이 알고 있는 모델 ID 또는 `claude-`로 시작하는 ID가 아닙니다. 일반적인 원인은 ID의 오타, `Sonnet 5`와 같은 표시 이름(ID `claude-sonnet-5` 필요) 또는 최신 Claude Code 버전만 인식하는 별칭입니다. Claude Code는 스위치를 즉시 거부합니다. v2.1.200 이전에는 Claude Code가 문자열을 저장했고 [선택한 모델에 문제가 있습니다](#theres-an-issue-with-the-selected-model)로 다음 요청에서 실패했습니다.2358모델 전환에 전달한 모델 문자열이 모델 별칭, 이 Claude Code 버전이 알고 있는 모델 ID 또는 `claude-`로 시작하는 ID가 아닙니다. 일반적인 원인은 ID의 오타, `Sonnet 5`와 같은 표시 이름(ID `claude-sonnet-5` 필요) 또는 최신 Claude Code 버전만 인식하는 별칭입니다. Claude Code는 즉시 전환을 거부합니다. v2.1.200 이전에는 Claude Code가 문자열을 저장했고 [선택한 모델에 문제가 있습니다](#theres-an-issue-with-the-selected-model)로 다음 요청에서 실패했습니다.

2214 2359 

2215```text theme={null}2360```text theme={null}

2216Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?2361Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?

2217```2362```

2218 2363 

2219뒤따르는 힌트는 가장 가까운 일치하는 별칭 또는 모델 ID를 이름으로 지정합니다. 충분히 가까운 것이 없으면 `Run /model to see available models.`로 읽힙니다.2364뒤따르는 힌트는 가장 가까운 일치하는 별칭 또는 모델 ID를 표시합니다. 충분히 가까운 것이 없으면 `Run /model to see available models.`로 읽습니다. [Desktop 앱](/docs/ko/desktop)이 시작하는 세션에서 일치하지 않는 힌트는 `Switch to a different model.`로 읽습니다.

2220 2365 

2221Claude Code는 API 요청이 이루어지기 전에 스위치가 요청되는 순간 로컬에서 이 오류를 생성합니다. [Agent SDK](/docs/ko/agent-sdk/typescript) `setModel()` 메서드를 통해 모델이 설정되거나 [Desktop 앱](/docs/ko/desktop)과 같은 앱이 Claude Code CLI를 실행하거나 [Remote Control](/docs/ko/remote-control)을 통해 연결된 장치에서 모델을 선택할 때 적용됩니다. v2.1.260 이전에는 확인이 Remote Control 선택을 다루지 않았으므로 Claude Code가 선택을 적용했고 다음 요청이 [선택한 모델에 문제가 있습니다](#theres-an-issue-with-the-selected-model)로 실패했습니다.2366Claude Code는 전환이 요청되는 순간 로컬에서 이 오류를 생성하며, API 요청이 이루어지기 전입니다. [Agent SDK](/docs/ko/agent-sdk/typescript) `setModel()` 메서드를 통해 모델이 설정되거나 [Desktop 앱](/docs/ko/desktop)과 같은 앱이 Claude Code CLI를 실행할 때 또는 [Remote Control](/docs/ko/remote-control)을 통해 연결된 장치에서 모델을 선택할 때 적용됩니다. v2.1.260 이전에는 확인이 Remote Control 선택을 다루지 않았으므로 Claude Code가 선택을 적용했고 다음 요청이 [선택한 모델에 문제가 있습니다](#theres-an-issue-with-the-selected-model)로 실패했습니다.

2222 2367 

2223**할 일:**2368**할 일:**

2224 2369 

2225* 인수 없이 `/model`을 실행하여 선택기를 열고 계정에서 사용 가능한 모델 중에서 선택한 다음 거기에 표시된 별칭 또는 ID를 전달합니다2370* 인수 없이 `/model`을 실행하여 선택기를 열고 계정에서 사용 가능한 모델 중에서 선택한 다음 거기에 표시된 별칭 또는 ID를 전달합니다.

2226* 최신 Claude Code 버전이 지원하는 별칭을 사용한 경우 `claude update`를 실행합니다. `claude-`로 시작하는 전체 ID는 모델이 Claude Code 버전보다 최신이어도 이 로컬 확인을 통과합니다. 서버는 여전히 해당 모델에 대한 최소 버전을 요구할 수 있습니다. [Claude Code가 이 모델을 지원하지 않습니다](#claude-code-does-not-support-this-model)를 참조하십시오.2371* 최신 Claude Code 버전이 지원하는 별칭을 사용한 경우 `claude update`를 실행합니다. `claude-`로 시작하는 전체 ID는 모델이 Claude Code 버전보다 최신이어도 이 로컬 확인을 통과합니다. 서버는 여전히 해당 모델에 대한 최소 버전을 요구할 수 있습니다. [Claude Code가 이 모델을 지원하지 않습니다](#claude-code-does-not-support-this-model)를 참조하십시오.

2227* v2.1.200 이전에 저장된 모델은 이 확인으로 복구되지 않습니다. 오래된 값이 계속 돌아오면 [모델 설정](/docs/ko/model-config#setting-your-model) 아래에 나열된 위치에서 제거합니다.2372* v2.1.200 이전에 저장된 모델은 이 확인으로 복구되지 않습니다. 오래된 값이 계속 돌아오면 [모델 설정](/docs/ko/model-config#setting-your-model)에 나열된 위치에서 제거합니다.

2228* 확인은 Anthropic API에서만 실행됩니다. 사용자 정의 `ANTHROPIC_BASE_URL`을 포함한 다른 제공자 또는 게이트웨이에서 제공자는 모델 이름을 정의하므로 Claude Code는 모든 문자열을 수락하고 통과합니다. Claude Code는 여전히 요청 시간에 모든 제공자에서 [인식되지 않은 모델 진단 줄](#unrecognized-model-id-on-a-request)을 쓸 수 있습니다.2373* 확인은 Anthropic API에서만 실행됩니다. 사용자 정의 `ANTHROPIC_BASE_URL`을 포함한 다른 제공자 또는 게이트웨이에서 제공자는 모델 이름을 정의하므로 Claude Code는 모든 문자열을 허용하고 통과합니다. Claude Code는 여전히 요청 시간에 [인식되지 않은 모델 진단 줄](#unrecognized-model-id-on-a-request)을 모든 제공자에서 쓸 수 있습니다.

2229 2374 

2230<h3 id="model-not-found">2375<h3 id="model-not-found">

2231 모델을 찾을 수 없습니다2376 모델을 찾을 수 없습니다

2232</h3>2377</h3>

2233 2378 

2234`/model <name>`으로 모델을 선택했고 Claude Code가 해당 이름의 모델이 존재하는지 확인할 수 없었습니다. 이름이 [모델 별칭](/docs/ko/model-config#model-aliases) 또는 Claude Code가 로컬에서 수락하는 다른 철자가 아닌 경우 `/model`은 최소 API 요청으로 확인하고 이 오류는 일반적으로 API 엔드포인트의 답변입니다. 공백을 포함하는 것과 같이 모델 ID가 될 수 없는 이름은 동일한 메시지를 받습니다.2379`/model <name>`으로 모델을 선택했고 Claude Code가 해당 이름의 모델이 존재하는지 확인할 수 없었습니다. 이름이 [모델 별칭](/docs/ko/model-config#model-aliases) 또는 Claude Code가 로컬로 허용하는 다른 철자가 아닌 경우 `/model`은 최소 API 요청으로 이를 확인하고 이 오류는 일반적으로 API 엔드포인트의 응답입니다. 공백을 포함하는 것과 같이 모델 ID가 될 수 없는 이름은 동일한 메시지를 받습니다.

2235 2380 

2236```text theme={null}2381```text theme={null}

2237Model 'claude-opus-9' not found2382Model 'claude-opus-9' not found

2238```2383```

2239 2384 

2240제공자별 모델 ID가 있는 제공자에서 메시지는 대체 모델에 대한 제공자의 ID를 이름으로 지정하는 `Try '...' instead` 제안을 추가할 수 있습니다.2385제공자별 모델 ID를 가진 제공자에서 메시지는 대체 모델에 대한 제공자의 ID를 표시하는 `Try '...' instead` 제안을 추가할 수 있습니다.

2241 2386 

2242**할 일:**2387**할 일:**

2243 2388 

2244* 인수 없이 `/model`을 실행하고 계정에서 사용 가능한 모델 중에서 선택하거나 `sonnet`과 같은 [모델 별칭](/docs/ko/model-config#model-aliases)을 사용합니다. 이는 유지 관리되는 기본값으로 확인됩니다2389* 인수 없이 `/model`을 실행하고 계정에서 사용 가능한 모델 중에서 선택하거나 `sonnet`과 같은 [모델 별칭](/docs/ko/model-config#model-aliases)을 사용합니다. 이는 유지 관리되는 기본값으로 확인됩니다.

2245* 전체 ID를 입력한 경우 제공자의 모델 카탈로그에 대해 확인합니다. 새로 출시된 모델은 제공자 또는 지역이 제공하기 전에 Anthropic API에서 사용 가능할 수 있습니다.2390* 전체 ID를 입력한 경우 제공자의 모델 카탈로그에 대해 확인합니다. 새로 출시된 모델은 제공자 또는 지역이 제공하기 전에 Anthropic API에서 사용 가능할 수 있습니다.

2246* v2.1.265 이전에는 `/model`이 `opusplan[1m]` 별칭 철자를 이 오류로 거부했습니다. 이러한 버전에서는 Claude Code를 업데이트하거나 [설정](/docs/ko/model-config#setting-your-model) 또는 `--model`에서 모델을 설정합니다.2391* v2.1.265 이전에는 `/model`도 `opusplan[1m]` 별칭 철자를 이 오류로 거부했습니다. 이러한 버전에서는 Claude Code를 업데이트하거나 [설정](/docs/ko/model-config#setting-your-model)에서 또는 `--model` 대신 모델을 설정합니다.

2392 

2393<h3 id="api-error-model-not-changed">

2394 선택한 모델을 확인할 때 API 오류

2395</h3>

2396 

2397`/model <name>`으로 모델을 선택했거나 앱이 세션에 연결되어 전환을 요청했습니다. API가 Claude Code가 모델을 확인하기 위해 보내는 최소 요청을 거부했습니다. 이유가 없는 이유(예: 속도 제한 또는 서버 오류)로 인해. 세션은 현재 모델을 유지하고 메시지는 그렇게 말하면서 끝납니다:

2398 

2399```text theme={null}

2400API error: 429 <the server's explanation> · model not changed

2401```

2402 

2403메시지의 중간은 HTTP 상태 및 서버의 자체 설명입니다.

2404 

2405**할 일:**

2406 

2407* 서버의 설명에 따라 행동합니다. 속도 제한 또는 5xx 상태의 경우 기다렸다가 모델을 다시 선택합니다.

2408* 자신의 표현이 있는 거부는 [모델을 찾을 수 없습니다](#model-not-found) 및 [모델이 조직의 설정으로 제한됩니다](#model-is-restricted-by-your-organizations-settings)와 같은 주변 항목으로 다룹니다.

2247 2409 

2248<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">2410<h3 id="claude-opus-is-not-available-with-the-claude-pro-plan">

2249 Claude Opus는 Claude Pro 플랜에서 사용할 수 없습니다2411 Claude Opus는 Claude Pro 플랜에서 사용할 수 없습니다


2255Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.2417Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.

2256```2418```

2257 2419 

2420Claude Desktop 앱이 실행하는 세션에서 메시지는 명령을 표시하는 대신 `sign out and sign in again`이라고 말합니다.

2421 

2258**할 일:**2422**할 일:**

2259 2423 

2260* `/model`을 실행하고 플랜에 포함된 모델을 선택합니다2424* `/model`을 실행하고 플랜에 포함된 모델을 선택합니다.

2261* 최근에 플랜을 업그레이드했는데도 여전히 이를 보면 `/logout`을 실행한 다음 `/login`을 실행합니다. 저장된 토큰은 로그인 시 플랜을 반영하므로 웹에서 업그레이드해도 기존 세션에서 다시 인증할 때까지 적용되지 않습니다.2425* 최근에 플랜을 업그레이드했는데도 여전히 이를 보면 `/logout`을 실행한 다음 `/login`을 실행합니다. 저장된 토큰은 로그인 시점의 플랜을 반영하므로 claude.ai에서 업그레이드하면 다시 인증할 때까지 기존 세션에서 적용되지 않습니다.

2262* [claude.com/pricing](https://claude.com/pricing)에서 각 플랜에 포함된 모델을 참조하십시오2426* 각 플랜에 포함된 모델에 대해서는 [claude.com/pricing](https://claude.com/pricing)을 참조하십시오.

2263 2427 

2264<h3 id="claude-code-does-not-support-this-model">2428<h3 id="claude-code-does-not-support-this-model">

2265 Claude Code가 이 모델을 지원하지 않습니다2429 Claude Code가 이 모델을 지원하지 않습니다

2266</h3>2430</h3>

2267 2431 

2268API가 Claude Code 버전이 필요한 최소값 아래에 있기 때문에 400으로 요청을 거부했습니다. 선택한 모델이 최신 버전을 요구하거나(서버가 모델별로 확인) 조직의 정책이 하나를 요구합니다. 400은 오류 코드 `claude_code_version_too_old`를 전달하고 메시지는 어느 최소값이 적용되는지 말합니다.2432API가 Claude Code 버전이 필요한 최소값 아래에 있기 때문에 400으로 요청을 거부했습니다. 선택한 모델이 최신 버전을 요구하거나(서버가 모델별로 확인) 조직의 정책이 하나를 요구합니다. 400은 오류 코드 `claude_code_version_too_old`를 포함하고 메시지는 어떤 최소값이 적용되는지 말합니다.

2269 2433 

2270```text theme={null}2434```text theme={null}

2271API Error: 400 Claude Code 2.1.219 does not support this model; version 2.1.255 or newer is required. Run 'claude update', or update the Claude desktop app, then try again.2435API Error: 400 Claude Code 2.1.219 does not support this model; version 2.1.255 or newer is required. Run 'claude update', or update the Claude desktop app, then try again.

2272```2436```

2273 2437 

2274조직 정책 표현은 다음과 같이 읽힙니다:2438조직 정책 표현은 다음과 같이 읽습니다:

2275 2439 

2276```text theme={null}2440```text theme={null}

2277API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.2441API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.


2279 2443 

2280**할 일:**2444**할 일:**

2281 2445 

2282* `claude update`를 실행하거나 Claude 데스크톱 앱을 업데이트한 다음 새 세션을 시작합니다2446* `claude update`를 실행하거나 Claude Desktop 앱을 업데이트한 다음 새 세션을 시작합니다.

2283* 모델별 표현의 경우 `/model`로 다른 모델로 전환하여 현재 세션에서 계속 작업할 수 있습니다2447* 모델별 표현의 경우 `/model`로 다른 모델로 전환하여 현재 세션에서 계속 작업할 수 있습니다.

2284* 조직 정책 표현의 경우 계속하기 전에 업데이트합니다2448* 조직 정책 표현의 경우 계속하기 전에 업데이트합니다.

2285 2449 

2286<h3 id="model-is-restricted-by-your-organizations-settings">2450<h3 id="model-is-restricted-by-your-organizations-settings">

2287 모델이 조직의 설정으로 제한됩니다2451 모델이 조직의 설정으로 제한됩니다

2288</h3>2452</h3>

2289 2453 

2290조직 관리자가 claude.ai 관리 콘솔에서 이 모델을 비활성화했거나 관리 설정의 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록으로 제외되었습니다. 제한된 모델이 `--model`, `ANTHROPIC_MODEL` 또는 `model` 설정으로 설정된 경우 Claude Code는 허용된 모델을 대체하고 계속합니다. 제한된 모델에 대해 `/model <name>`을 입력하면 `Run /model to choose a different model.`로 거부되고 세션은 현재 모델을 유지합니다. 대체 공지는 세션이 실행 중인 모델을 관리자가 claude.ai 관리 콘솔에서 비활성화한 후 세션 중간에 나타날 수도 있습니다.2454조직 관리자가 claude.ai 관리 콘솔에서 이 모델을 비활성화했거나 관리 설정이 [`availableModels`](/docs/ko/model-config#restrict-model-selection) 허용 목록 또는 [`deniedModels`](/docs/ko/model-config#block-specific-models-or-versions) 목록을 통해 제외합니다. 알림은 `--model`, `ANTHROPIC_MODEL` 또는 `model` 설정이 제한된 모델을 표시할 때 시작 시 나타나며 세션이 대신 사용하는 모델을 표시합니다. 관리 설정이 세션이 사용할 수 있는 허용된 모델을 남기지 않으면 [관리 설정이 기본 모델을 차단합니다](#managed-settings-block-the-default-model)를 참조하십시오. 대체 알림은 관리자가 claude.ai 관리 콘솔에서 세션이 실행 중인 모델을 비활성화한 후 세션 중간에도 나타날 수 있습니다.

2291 2455 

2292```text theme={null}2456```text theme={null}

2293Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.2457Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.

2294```2458```

2295 2459 

2296에이전트, 스킬 또는 명령 이름이 앞에 붙은 공지는 제한이 해당 [서브에이전트의 요청된 모델](/docs/ko/sub-agents#choose-a-model)에 적용되었음을 의미합니다: 서브에이전트는 대체 모델에서 실행되고 세션의 모델은 변경되지 않습니다. v2.1.223 이전에는 Claude Code가 Agent 도구로 시작된 서브에이전트에 대해서만 공지를 표시했습니다.2460제한된 모델에 대해 `/model <name>`을 입력하면 거부되고 세션은 현재 모델을 유지합니다. 관리 콘솔에서 비활성화된 모델의 경우 거부는 `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.`로 읽습니다. 관리 설정이 제외하는 모델의 경우 `Model '<name>' is not available. Your organization restricts model selection.`로 읽습니다.

2461 

2462에이전트, 스킬 또는 명령 이름이 앞에 붙은 알림은 제한이 해당 [하위 에이전트의 요청된 모델](/docs/ko/sub-agents#choose-a-model)에 적용되었음을 의미합니다: 하위 에이전트는 대체 모델에서 실행되고 세션의 모델은 변경되지 않습니다. v2.1.223 이전에는 Claude Code가 Agent 도구로 시작된 하위 에이전트에 대해서만 알림을 표시했습니다.

2297 2463 

2298Claude Code는 모델 패밀리 별칭(`opus`, `sonnet`, `haiku` 또는 `fable` 중 하나)을 최신 버전에 대한 요청이 아닌 해당 패밀리에 대한 요청으로 취급합니다. Anthropic API 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)에서 제한된 패밀리 별칭은 조직과 `availableModels` 허용 목록이 허용하는 패밀리의 최신 버전으로 확인되고 대체 공지는 해당 버전을 이름으로 지정합니다. Claude Code는 패밀리의 모든 버전이 제한된 경우에만 `/model <alias>`를 거부합니다. v2.1.205 이전에는 패밀리 별칭이 같은 패밀리의 이전 버전이 허용된 경우에도 최신 버전만을 기반으로 대체되거나 거부되었습니다.2464Claude Code는 모델 패밀리 별칭(하나의 `opus`, `sonnet`, `haiku` 또는 `fable`)을 최신 버전이 아닌 해당 패밀리에 대한 요청으로 취급합니다. Anthropic API 및 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws)에서 제한된 패밀리 별칭은 조직의 설정이 허용하는 패밀리의 최신 버전으로 확인되고 대체 알림은 해당 버전을 표시합니다. Claude Code는 패밀리의 모든 버전이 제한된 경우에만 `/model <alias>`를 거부합니다. v2.1.205 이전에는 패밀리 별칭이 최신 버전만을 기반으로 대체되거나 거부되었으며, 같은 패밀리의 이전 버전이 허용되었을 때도 마찬가지였습니다.

2299 2465 

2300**할 일:**2466**할 일:**

2301 2467 

2302* `/model`을 실행하여 조직이 허용하는 모델 중에서 선택합니다. 제한된 모델은 선택기에서 숨겨집니다.2468* `/model`을 실행하여 조직이 허용하는 모델 중에서 선택합니다. 제한된 모델은 선택기에서 숨겨집니다.

2303* 제한된 모델이 `--model`, `ANTHROPIC_MODEL`, 설정 파일의 `model` 필드 또는 [서브에이전트](/docs/ko/sub-agents#choose-a-model), 스킬 또는 명령의 `model` 프론트매터에 설정된 경우 해당 값을 제거하거나 업데이트하여 공지가 다시 나타나지 않도록 합니다2469* 제한된 모델이 `--model`, `ANTHROPIC_MODEL`, 설정 파일의 `model` 필드 또는 [하위 에이전트](/docs/ko/sub-agents#choose-a-model), 스킬 또는 명령의 `model` frontmatter에 설정된 경우 해당 값을 제거하거나 업데이트하여 알림이 반복되지 않도록 합니다.

2304* 제한된 모델에 액세스해야 하면 조직 관리자에게 활성화를 요청합니다. [조직 모델 제한](/docs/ko/model-config#organization-model-restrictions)을 참조하십시오.2470* 제한된 모델에 액세스해야 하면 조직 관리자에게 활성화를 요청합니다. [조직 모델 제한](/docs/ko/model-config#organization-model-restrictions)을 참조하십시오.

2305 2471 

2306<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">2472<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">

2307 모델 스위치가 PreModelSwitch 훅으로 차단되었습니다2473 모델 전환이 PreModelSwitch 훅에 의해 차단되었습니다

2308</h3>2474</h3>

2309 2475 

2310[PreModelSwitch 훅](/docs/ko/hooks#premodelswitch)이 사용자 또는 클라이언트가 요청한 모델 스위치를 승인하지 않았으므로 세션은 현재 모델을 유지합니다. 스위치가 입력한 명령이 아닌 [Agent SDK](/docs/ko/agent-sdk/overview) 호스트 또는 [Remote Control](/docs/ko/remote-control)에서 온 경우 메시지는 대상 모델을 이름으로 지정하지 않고 `Model switch blocked by a PreModelSwitch hook`을 읽습니다.2476[PreModelSwitch 훅](/docs/ko/hooks#premodelswitch)이 사용자 또는 클라이언트가 요청한 모델 전환을 승인하지 않았으므로 세션은 현재 모델을 유지합니다. 전환이 명령을 입력한 것이 아닌 [Agent SDK](/docs/ko/agent-sdk/overview) 호스트 또는 [Remote Control](/docs/ko/remote-control)에서 온 경우 메시지는 대상 모델을 표시하지 않고 `Model switch blocked by a PreModelSwitch hook`으로 읽습니다.

2311 2477 

2312```text theme={null}2478```text theme={null}

2313Model switch to Opus 4.6 was blocked by a PreModelSwitch hook: Opus 4.6 is retired for this project. Use a newer model.2479Model switch to Opus 4.6 was blocked by a PreModelSwitch hook: Opus 4.6 is retired for this project. Use a newer model.

2314```2480```

2315 2481 

2316콜론 뒤의 이유는 스위치를 거부한 것을 말합니다:2482콜론 뒤의 이유는 전환을 거부한 것을 말합니다:

2317 2483 

2318* **훅이 작성한 이유**: PreModelSwitch 훅이 [스위치를 거부하거나 확인을 요청](/docs/ko/hooks#premodelswitch-decision-control)할 때 해당 이유를 제공했습니다. 요청하는 것을 해결하거나 훅이 허용하는 모델을 선택합니다.2484* **훅이 작성한 이유**: PreModelSwitch 훅이 [전환을 거부하거나 확인을 요청](/docs/ko/hooks#premodelswitch-decision-control)할 때 해당 이유를 제공했습니다. 요청하는 것을 해결하거나 훅이 허용하는 모델을 선택합니다.

2319* **`PreModelSwitch hook <name> did not respond before its timeout`**: [타임아웃](/docs/ko/hooks#timeouts) 전에 응답하지 않는 훅이 스위치를 차단합니다. 행(hung) 명령을 수정하거나 해당 훅의 `timeout`을 높인 다음 다시 전환합니다.2485* **`PreModelSwitch hook <name> did not respond before its timeout`**: 훅이 [timeout](/docs/ko/hooks#timeouts) 전에 응답하지 않으면 전환을 차단합니다. 행이 걸린 명령을 수정하거나 해당 훅의 `timeout`을 높인 다음 다시 전환합니다.

2320* **`confirmation required, and this session cannot ask`**: 훅이 이유 없이 `ask`로 응답했고 제어 요청이 확인 프롬프트를 표시할 방법이 없습니다. [`-p` 실행](/docs/ko/headless)의 모델 스위치는 이유 뒤에 `(run /model interactively to confirm)`으로 동일한 조건을 보고합니다. 대화형 세션에서 스위치를 만들거나 이 모델에 대한 훅의 결정을 변경합니다.2486* **`confirmation required, and this session cannot ask`**: 훅이 이유 없이 `ask`로 응답했고 제어 요청이 확인 프롬프트를 표시할 방법이 없습니다. [`-p` 실행](/docs/ko/headless)의 제어 요청은 이유 뒤에 `(run /model interactively to confirm)`으로 동일한 조건을 보고합니다. 대화형 세션에서 전환을 만들거나 이 모델에 대한 훅의 결정을 변경합니다.

2321* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code가 조직의 [관리 플러그인](/docs/ko/settings-reference#enabledplugins)이 제공하는 PreModelSwitch 훅을 알 수 없었습니다. 예를 들어 관리 플러그인이 로드되지 않았기 때문입니다. 이러한 훅 중 하나가 스위치를 차단할 수 있으므로 Claude Code는 확인되지 않은 스위치를 적용하기보다는 거부합니다. 이유의 시작은 실패한 것을 이름으로 지정합니다. Claude Code는 모든 스위치 시도에서 다시 확인하므로 이후 지워진 실패는 차단을 중지합니다. 계속 실패하면 `claude --debug`를 실행하고 다시 전환하여 세부 정보를 캡처한 다음 플러그인을 수정하거나 관리자에게 수정을 요청합니다.2487* **`so organization-managed PreModelSwitch hooks could not be checked`**: Claude Code가 조직의 [관리 플러그인](/docs/ko/settings-reference#enabledplugins)이 제공하는 PreModelSwitch 훅을 알 수 없습니다. 예를 들어 관리 플러그인이 로드되지 않았기 때문입니다. 이러한 훅 중 하나가 전환을 차단할 수 있으므로 Claude Code는 확인되지 않은 전환을 적용하는 대신 거부합니다. 이유의 시작은 실패한 것을 표시합니다. Claude Code는 모든 전환 시도에서 다시 확인하므로 이후 지워진 실패는 차단을 중지합니다. 계속 실패하면 `claude --debug`를 실행하고 다시 전환하여 세부 정보를 캡처한 다음 플러그인을 수정하거나 관리자에게 수정을 요청합니다.

2322* **`a PreModelSwitch hook failed before answering`** 또는 **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: 훅 실행이 평결 없이 종료되었고 Claude Code는 이를 승인으로 취급하지 않습니다. `claude --debug`를 실행하여 실패한 것을 확인한 다음 다시 전환합니다.2488* **`a PreModelSwitch hook failed before answering`** 또는 **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: 훅 실행이 판정 없이 끝났고 Claude Code는 이를 승인으로 취급하지 않습니다. `claude --debug`를 실행하여 실패한 것을 확인한 다음 다시 전환합니다.

2323 2489 

2324v2.1.260 이전에는 관리 플러그인 거부가 `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`로 읽혔습니다. Claude Code는 플러그인 로드를 한 번 재시도한 다음 조직이 플러그인을 관리하지 않은 경우에도 세션의 이후 스위치를 거부했습니다. 이러한 버전에서 플러그인 로드를 다시 실행하려면 세션을 다시 시작합니다.2490v2.1.260 이전에는 관리 플러그인 거부가 `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`로 읽었습니다. Claude Code는 플러그인 로드를 한 번 재시도한 다음 세션의 이후 전환을 거부했습니다. 조직이 플러그인을 관리하지 않은 경우에도 마찬가지였습니다. 이러한 버전에서 세션을 다시 시작하여 플러그인 로드를 다시 실행합니다.

2325 2491 

2326<h3 id="couldnt-save-it-as-your-default">2492<h3 id="couldnt-save-it-as-your-default">

2327 기본값으로 저장할 수 없습니다2493 기본값으로 저장할 수 없었습니다

2328</h3>2494</h3>

2329 2495 

2330모델을 선택하여 기본값으로 저장했습니다. 예를 들어 `/model <name>` 또는 `/model` 선택기의 `Enter`를 사용하고 Claude Code가 사용자 설정 파일 `~/.claude/settings.json`에 선택을 쓸 수 없었습니다. 스위치 자체가 적용되었으므로 현재 세션은 선택한 모델에서 실행되지만 기본값은 변경되지 않으며 다음 세션은 이전 값에서 시작됩니다.2496모델을 기본값으로 저장하도록 선택했습니다. 예를 들어 `/model <name>` 또는 `/model` 선택기에서 `Enter`를 사용하고 Claude Code가 사용자 설정 파일 `~/.claude/settings.json`에 선택을 쓸 수 없었습니다. 전환 자체가 적용되었으므로 현재 세션은 선택한 모델에서 실행되지만 기본값은 변경되지 않으며 다음 세션은 이전 값에서 시작됩니다.

2331 2497 

2332```text theme={null}2498```text theme={null}

2333Set model to Fable 5.1 for this session only · couldn't save it as your default: ~/.claude/settings.json can't be written (EROFS)2499Set model to Fable 5.1 for this session only · couldn't save it as your default: ~/.claude/settings.json can't be written (EROFS)


2335 2501 

2336파일 경로 뒤의 이유는 실패한 것을 말합니다:2502파일 경로 뒤의 이유는 실패한 것을 말합니다:

2337 2503 

2338* **`can't be written (<code>)`**: 쓰기가 괄호의 `EROFS`와 같은 운영 체제 오류 코드로 실패했습니다. 파일이 링크하는 파일이 쓰기를 거부하는 파일 시스템에 있을 때입니다. 파일을 쓰기 가능하게 만들고 다시 전환합니다. 다른 도구가 파일을 생성하면 해당 도구에서 `model` 키를 설정합니다. [Claude Code에서 만든 변경 사항이 새 세션에서 손실됨](/docs/ko/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions)을 참조하십시오.2504* **`can't be written (<code>)`**: 쓰기가 운영 체제 오류 코드(예: 파일 또는 링크하는 파일이 쓰기를 거부하는 파일 시스템에 있을 때 `EROFS`)로 실패했습니다. 파일을 쓰기 가능하게 만들고 다시 전환합니다. 다른 도구가 파일을 생성하면 대신 해당 도구에서 `model` 키를 설정합니다. [Claude Code에서 만든 변경 사항이 새 세션에서 손실됩니다](/docs/ko/settings#a-change-you-made-in-claude-code-is-lost-in-new-sessions)를 참조하십시오.

2339* **`isn't valid JSON`**: 디스크의 파일이 구문 분석되지 않으며 Claude Code는 읽을 수 없는 내용을 덮어쓰기보다는 그대로 둡니다. 구문 오류를 수정한 다음 다시 전환합니다. [손상된 설정 파일 수정](/docs/ko/settings#fix-a-broken-settings-file)을 참조하십시오.2505* **`isn't valid JSON`**: 디스크의 파일이 구문 분석되지 않으며 Claude Code는 읽을 수 없는 내용을 덮어쓰지 않고 그대로 둡니다. 구문 오류를 수정한 다음 다시 전환합니다. [손상된 설정 파일 수정](/docs/ko/settings#fix-a-broken-settings-file)을 참조하십시오.

2340 2506 

2341`couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)`로 끝나는 공지는 3초 후에 쓰기가 완료되지 않았음을 의미합니다. 백그라운드에서 계속되므로 기본값이 여전히 저장될 수 있습니다. 다음 세션이 시작되는 모델을 확인하거나 `/model <name>`을 다시 실행합니다.2507`couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)` 끝나는 알림은 쓰기가 3초 후에 완료되지 않았음을 의미합니다. 백그라운드에서 계속되므로 기본값이 여전히 저장될 수 있습니다. 다음 세션이 어떤 모델에서 시작되는지 확인하거나 `/model <name>`을 다시 실행합니다.

2342 2508 

2343v2.1.265 이전에는 공지가 쓰기가 실패했을 때도 모델이 `saved as your default for new sessions`이라고 말했습니다.2509v2.1.265 이전에는 알림이 쓰기가 실패했을 때도 모델이 `saved as your default for new sessions`이라고 말했습니다.

2344 2510 

2345<h3 id="thinking-type-enabled-is-not-supported-for-this-model">2511<h3 id="thinking-type-enabled-is-not-supported-for-this-model">

2346 thinking.type.enabled는 이 모델에서 지원되지 않습니다2512 thinking.type.enabled은 이 모델에서 지원되지 않습니다

2347</h3>2513</h3>

2348 2514 

2349Claude Code 버전이 선택한 모델에 필요한 최소값보다 오래되었습니다. CLI가 모델이 더 이상 수락하지 않는 사고 구성을 보냈습니다.2515Claude Code 버전이 선택한 모델의 최소값보다 오래되었습니다. CLI가 모델이 더 이상 허용하지 않는 생각 구성을 보냈습니다.

2350 2516 

2351```text theme={null}2517```text theme={null}

2352API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.2518API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.


2354 2520 

2355**할 일:**2521**할 일:**

2356 2522 

2357* `claude update`를 실행하고 Claude Code를 다시 시작합니다. Opus 4.7은 v2.1.111 이상이 필요합니다. Opus 4.8은 v2.1.154 이상이 필요합니다. Sonnet 5는 v2.1.197 이상이 필요합니다. Opus 5는 v2.1.219 이상이 필요합니다. Opus 5.5는 v2.1.280 이상이 필요합니다2523* `claude update`를 실행하고 Claude Code를 다시 시작합니다. Opus 4.7은 v2.1.111 이상이 필요합니다. Opus 4.8은 v2.1.154 이상이 필요합니다. Sonnet 5는 v2.1.197 이상이 필요합니다. Opus 5는 v2.1.219 이상이 필요합니다. Opus 5.5는 v2.1.280 이상이 필요합니다. Sonnet 5.5는 v2.1.284 이상이 필요합니다.

2358* 업그레이드할 수 없으면 `/model`을 실행하고 대신 Opus 4.6 또는 Sonnet 4.6을 선택합니다2524* 업그레이드할 수 없으면 `/model`을 실행하고 대신 Opus 4.6 또는 Sonnet 4.6을 선택합니다.

2359* [Agent SDK](/docs/ko/agent-sdk/overview)에서 이를 맞으면 SDK 패키지를 대신 업그레이드합니다. Opus 4.8은 TypeScript SDK v0.3.154 이상 및 Python SDK v0.2.88 이상이 필요합니다. Sonnet 5는 TypeScript SDK v0.3.197 이상이 필요합니다. Opus 5는 TypeScript SDK v0.3.219 이상이 필요합니다. Opus 5.5는 TypeScript SDK v0.3.280 이상이 필요합니다2525* [Agent SDK](/docs/ko/agent-sdk/overview)에서 이를 만나면 SDK 패키지를 대신 업그레이드합니다. Opus 4.8은 TypeScript SDK v0.3.154 이상 및 Python SDK v0.2.88 이상이 필요합니다. Sonnet 5는 TypeScript SDK v0.3.197 이상이 필요합니다. Opus 5는 TypeScript SDK v0.3.219 이상이 필요합니다. Opus 5.5는 TypeScript SDK v0.3.280 이상이 필요합니다. Sonnet 5.5는 TypeScript SDK v0.3.284 이상이 필요합니다.

2360 2526 

2361<h3 id="effort-isnt-available-with-thinking-turned-off">2527<h3 id="effort-isnt-available-with-thinking-turned-off">

2362 사고가 꺼져 있을 때 노력을 사용할 수 없습니다2528 생각이 꺼져 있으면 노력을 사용할 수 없습니다

2363</h3>2529</h3>

2364 2530 

2365[확장 사고](/docs/ko/model-config#extended-thinking)를 끄고 `high` 이상의 [노력 수준](/docs/ko/model-config#adjust-effort-level)에서 실행했습니다. 모델이 해당 조합을 수락하지 않으므로 API가 요청을 거부했습니다.2531[확장 생각](/docs/ko/model-config#extended-thinking)을 끄고 `high` 이상의 [노력 수준](/docs/ko/model-config#adjust-effort-level)에서 실행했습니다. 모델이 해당 조합을 허용하지 않으므로 API가 요청을 거부했습니다.

2366 2532 

2367```text theme={null}2533```text theme={null}

2368API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0)2534API Error: Effort 'xhigh' isn't available with thinking turned off on this model · run /effort high to continue, or turn thinking back on (unset MAX_THINKING_TOKENS=0)

2369```2535```

2370 2536 

2537`·` 뒤의 힌트는 세션에 따라 다릅니다: 비대화형 세션에서는 `use --effort high (or the effortLevel setting)`로 읽고 Claude Desktop 앱이 실행하는 세션에서는 `you can lower effort to High`로 읽습니다.

2538 

2371**할 일:**2539**할 일:**

2372 2540 

2373* [노력 수준을 낮춥니다](/docs/ko/model-config#set-the-effort-level) `high` 이하로.2541* [노력 수준](/docs/ko/model-config#set-the-effort-level)을 `high` 이하로 낮춥니다.

2374* 사고를 다시 켭니다. 예를 들어 [`MAX_THINKING_TOKENS`](/docs/ko/env-vars)을 설정 해제하거나 설정에서 [`"alwaysThinkingEnabled": false`](/docs/ko/settings-reference#alwaysthinkingenabled)를 제거합니다.2542* 생각을 다시 켭니다. 예를 들어 [`MAX_THINKING_TOKENS`](/docs/ko/env-vars)을 설정 해제하거나 설정에서 [`"alwaysThinkingEnabled": false`](/docs/ko/settings-reference#alwaysthinkingenabled)를 제거합니다.

2375 2543 

2376v2.1.242 이전에는 Claude Code가 API의 자체 메시지를 표시했습니다: `API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking.` v2.1.251 이전에는 Claude Code가 설정한 노력 수준에서 요청을 보냈으므로 Opus 5는 사고가 꺼져 있을 때 `high` 이상의 모든 요청을 거부했습니다. Claude Code는 이제 Opus 5와 같이 조합을 거부하는 것으로 알고 있는 모델에 노력 `high`를 보내므로 v2.1.251 이상에서 이 오류는 Claude Code가 거부하는 것을 알지 못하는 모델에서만 도달합니다.2544v2.1.242 이전에는 Claude Code가 API의 자체 메시지를 표시했습니다: `API Error: 400 output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking.` v2.1.251 이전에는 Claude Code가 설정한 노력 수준에서 요청을 보냈으므로 Opus 5는 생각이 꺼져 있을 때 `high` 이상의 모든 요청을 거부했습니다. Claude Code는 이제 Opus 5와 같이 조합을 거부하는 것으로 알려진 모델에 노력 `high`를 대신 보내므로 v2.1.251 이상에서 이 오류는 Claude Code가 거부하는 것을 알 수 없는 모델에서만 도달합니다.

2377 2545 

2378<h3 id="thinking-budget-exceeds-output-limit">2546<h3 id="thinking-budget-exceeds-output-limit">

2379 사고 예산이 출력 제한을 초과합니다2547 생각 예산이 출력 제한을 초과합니다

2380</h3>2548</h3>

2381 2549 

2382구성된 확장 사고 예산이 최대 응답 길이를 초과하므로 실제 답변을 위한 공간이 남지 않습니다.2550구성된 확장 생각 예산이 최대 응답 길이를 초과하므로 실제 답변을 위한 공간이 남지 않습니다.

2383 2551 

2384```text theme={null}2552```text theme={null}

2385API Error: 400 ... max_tokens must be greater than thinking.budget_tokens2553API Error: 400 ... max_tokens must be greater than thinking.budget_tokens

2386```2554```

2387 2555 

2388Claude Code는 Anthropic API에서 이러한 값을 자동으로 조정합니다. 일반적으로 [`MAX_THINKING_TOKENS`](/docs/ko/env-vars)이 제공자의 출력 제한보다 높게 설정되었거나 계획 모드가 사고 예산을 높일 때 Amazon Bedrock 또는 Google Cloud의 Agent Platform에서 이 오류를 봅니다.2556Claude Code는 Anthropic API에서 이러한 값을 자동으로 조정합니다. 일반적으로 [`MAX_THINKING_TOKENS`](/docs/ko/env-vars)이 제공자의 출력 제한보다 높게 설정되었을 때 또는 계획 모드가 생각 예산을 높일 때 Amazon Bedrock 또는 Google Cloud의 Agent Platform에서 이 오류를 봅니다.

2389 2557 

2390**할 일:**2558**할 일:**

2391 2559 

2392* `MAX_THINKING_TOKENS`를 낮추거나 [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/ko/env-vars)를 사고 예산 이상으로 높입니다2560* `MAX_THINKING_TOKENS`를 낮추거나 [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/ko/env-vars)를 생각 예산 이상으로 높입니다.

2393* [확장 사고](/docs/ko/model-config#extended-thinking)에서 예산이 출력 길이와 상호 작용하는 방식을 참조하십시오2561* [확장 생각](/docs/ko/model-config#extended-thinking)에서 예산이 출력 길이와 상호 작용하는 방식을 참조하십시오.

2394 2562 

2395<h3 id="tool-use-or-thinking-block-mismatch">2563<h3 id="tool-use-or-thinking-block-mismatch">

2396 도구 사용 또는 사고 블록 불일치2564 도구 사용 또는 생각 블록 불일치

2397</h3>2565</h3>

2398 2566 

2399대화 기록이 일관성 없는 상태로 API에 도달했습니다. 일반적으로 도구 호출이 중단되거나 턴이 스트림 중간에 편집된 후입니다.2567대화 기록이 일관성 없는 상태로 API에 도달했습니다. 일반적으로 도구 호출이 중단되거나 턴이 스트림 중간에 편집된 후입니다.


2413* Opus 4.7 또는 Opus 4.8을 사용하는 경우 먼저 `claude update`를 실행합니다. v2.1.156 이전 버전은 정상적인 도구 사용 중에 이 오류를 트리거할 수 있으며 `/rewind`는 이를 지우지 않습니다.2581* Opus 4.7 또는 Opus 4.8을 사용하는 경우 먼저 `claude update`를 실행합니다. v2.1.156 이전 버전은 정상적인 도구 사용 중에 이 오류를 트리거할 수 있으며 `/rewind`는 이를 지우지 않습니다.

2414* `/rewind`를 실행하거나 Esc를 두 번 눌러 손상된 턴 전의 체크포인트로 뒤로 이동하고 거기서 계속합니다. [체크포인팅](/docs/ko/checkpointing)에서 체크포인트가 생성되고 복원되는 방식을 참조하십시오.2582* `/rewind`를 실행하거나 Esc를 두 번 눌러 손상된 턴 전의 체크포인트로 뒤로 이동하고 거기서 계속합니다. [체크포인팅](/docs/ko/checkpointing)에서 체크포인트가 생성되고 복원되는 방식을 참조하십시오.

2415 2583 

2584<h3 id="invalid-data-in-redacted-thinking-block">

2585 redacted\_thinking 블록의 유효하지 않은 데이터

2586</h3>

2587 

2588API가 대화 기록의 이전 턴이 포함하는 `redacted_thinking` 블록을 허용할 수 없기 때문에 400으로 요청을 거부했습니다.

2589 

2590```text theme={null}

2591API Error: 400 ... Invalid `data` in `redacted_thinking` block

2592```

2593 

2594Claude Code는 대화의 이전 생각을 요청에서 제외하고 한 번 다시 시도하므로 세션은 오류를 표시하지 않고 계속됩니다. v2.1.282 이전에는 Claude Code가 거부된 블록을 유지했고 모든 이후 턴이 동일한 오류로 실패했습니다.

2595 

2596**할 일:**

2597 

2598* v2.1.281 이상에 있고 모든 턴이 이 오류로 실패하면 `claude update`를 실행하고 세션을 재개합니다.

2599* 오류가 지속되면 `/clear`를 실행하여 블록을 포함하지 않는 대화를 시작합니다.

2600 

2416<h3 id="unsupported-tool-content-removed">2601<h3 id="unsupported-tool-content-removed">

2417 지원되지 않는 도구 내용이 제거되었습니다2602 지원되지 않는 도구 내용이 제거되었습니다

2418</h3>2603</h3>

2419 2604 

2420Claude Code가 Anthropic API에 직접 연결되고 저장된 세션을 로드하거나 미리 볼 때 Anthropic API가 수락하지 않는 도구 내용을 제거하고 두 사고 블록 사이에 제거된 내용이 있던 위치에 이 줄을 남깁니다:2605Claude Code가 Anthropic API에 직접 연결되고 저장된 세션을 로드하거나 미리 볼 때, Anthropic API가 허용하지 않는 도구 내용을 제거하고 제거된 내용이 두 생각 블록 사이에 있던 위치에 이 줄을 남깁니다:

2421 2606 

2422```text theme={null}2607```text theme={null}

2423[Unsupported tool content removed]2608[Unsupported tool content removed]

2424```2609```

2425 2610 

2426이러한 내용은 일반적으로 [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)을 통해 설정된 타사 프록시가 다른 제공자의 도구 호출을 API 형식으로 변환할 때 API 형식으로 세션 파일에 도달합니다. Claude Code는 세션이 Anthropic API에 직접 연결될 때만 제거하고 세션이 프록시를 통해 또는 다른 제공자에서 실행될 때 저장된 기록을 있는 그대로 로드합니다. v2.1.246 이전에는 Claude Code가 도구 사용 및 그 결과를 API로 다시 보냈고 재개된 세션의 모든 턴이 `messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ...`와 같은 400 오류로 실패했습니다.2611이러한 내용은 일반적으로 다른 제공자의 도구 호출을 변환하는 [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)을 통해 설정된 타사 프록시인 API 형식으로 응답할 때 세션 파일에 도달합니다. Claude Code는 세션이 Anthropic API에 직접 연결될 때만 제거하고 세션이 프록시를 통해 또는 다른 제공자에서 실행될 때 저장된 기록을 그대로 로드합니다. v2.1.246 이전에는 Claude Code가 도구 사용 및 결과를 API로 다시 보냈고 재개된 세션의 모든 턴이 `messages.1.content.0.server_tool_use.name: Input should be 'web_search', 'web_fetch', ...`와 같은 400 오류로 실패했습니다.

2427 2612 

2428**할 일:**2613**할 일:**

2429 2614 


2431* 재개된 세션의 모든 턴이 대신 400 오류로 실패하면 `claude update`를 실행하고 세션을 다시 재개합니다. v2.1.246 이전 버전은 내용을 제거하지 않습니다.2616* 재개된 세션의 모든 턴이 대신 400 오류로 실패하면 `claude update`를 실행하고 세션을 다시 재개합니다. v2.1.246 이전 버전은 내용을 제거하지 않습니다.

2432 2617 

2433<h3 id="role-system-must-precede-an-assistant-message">2618<h3 id="role-system-must-precede-an-assistant-message">

2434 role 'system' must precede an 'assistant' message2619 역할 'system'은 'assistant' 메시지 앞에 와야 합니다

2435</h3>2620</h3>

2436 2621 

2437API가 대화에서 수락하지 않는 위치에 시스템 메시지가 있기 때문에 400으로 요청을 거부했습니다:2622API가 대화에서 허용하지 않는 위치에 시스템 메시지가 있기 때문에 400으로 요청을 거부했습니다:

2438 2623 

2439```text theme={null}2624```text theme={null}

2440API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...2625API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...

2441```2626```

2442 2627 

2443Claude Code는 일부 미리 알림 및 첨부 텍스트를 대화 내 시스템 메시지로 보냅니다. API가 하나의 위치를 거부하면 Claude Code는 요청을 한 번 다시 시도하고 해당 텍스트를 일반 사용자 메시지로 대신 보냅니다. `top-level 'system' parameter for the initial system prompt` 사용과 같은 API의 형제 배치 표현은 동일한 복구를 받습니다.2628Claude Code는 일부 미리 알림 및 첨부 텍스트를 대화 내 시스템 메시지로 보냅니다. API가 하나의 위치를 거부하면 Claude Code는 해당 텍스트를 대신 일반 사용자 메시지로 보내는 요청을 한 번 다시 시도합니다. API의 형제 배치 표현(예: `use the top-level 'system' parameter for the initial system prompt`)은 동일한 복구를 받습니다.

2444 2629 

2445오류가 나타나면 거부된 시스템 메시지는 Claude Code가 제거할 수 있는 것이 아닙니다. 이는 일반적으로 Claude Code와 API 사이의 프록시 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)가 시스템 메시지를 추가했거나 대화를 재정렬했음을 의미합니다.2630오류가 나타나면 거부된 시스템 메시지는 Claude Code가 제거할 수 있는 것이 아닙니다. 이는 일반적으로 Claude Code와 API 사이의 프록시 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)가 자체 시스템 메시지를 추가했거나 대화를 재정렬했음을 의미합니다.

2446 2631 

2447**할 일:**2632**할 일:**

2448 2633 

2449* `/clear`를 실행하여 새 대화를 시작합니다. 오류가 거기서도 돌아오면 원인은 저장된 대화가 아닌 요청 경로에 있습니다.2634* `/clear`를 실행하여 새 대화를 시작합니다. 오류가 거기서도 반환되면 원인은 저장된 대화가 아닌 요청 경로에 있습니다.

2450* [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)을 통해 구성된 프록시 또는 게이트웨이 뒤에서 오류가 모든 턴에서 반복되면 프록시 없이 연결하여 원인을 확인하고 오류를 운영하는 사람에게 보고합니다2635* [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)을 통해 구성된 프록시 또는 게이트웨이 뒤에서 오류가 모든 턴에서 반복되면 프록시 없이 연결하여 소스를 확인하고 오류를 운영하는 사람에게 보고합니다.

2451 2636 

2452v2.1.280 이전에는 Claude Code가 이 표현을 인식하지 못했으므로 거부된 시스템 메시지가 Claude Code 자체가 보낸 것일 때도 오류가 나타났고 대화의 모든 이후 턴이 동일한 방식으로 실패했습니다.2637v2.1.280 이전에는 Claude Code가 이 표현을 인식하지 못했으므로 거부된 시스템 메시지가 Claude Code 자체가 보낸 것일 때도 오류가 나타났고 대화의 모든 이후 턴이 동일한 방식으로 실패했습니다.

2453 2638 

2454<h3 id="invalid-encrypted-content-in-search-result-block">2639<h3 id="invalid-encrypted-content-in-search-result-block">

2455 Invalid encrypted\_content in search\_result block2640 search\_result 블록의 유효하지 않은 encrypted\_content

2456</h3>2641</h3>

2457 2642 

2458API가 대화 기록이 해독할 수 없는 호스팅된 웹 검색 내용을 보유하고 있기 때문에 400으로 요청을 거부했습니다. 표현은 읽을 수 없는 필드를 이름으로 지정합니다:2643API가 대화 기록이 보유한 호스팅된 웹 검색 내용을 해독할 수 없기 때문에 400으로 요청을 거부했습니다. 표현은 읽을 수 없는 필드를 표시합니다:

2459 2644 

2460```text theme={null}2645```text theme={null}

2461API Error: 400 messages.21.content.0: Invalid `encrypted_content` in `search_result` block2646API Error: 400 ... Invalid `encrypted_content` in `search_result` block

2462API Error: 400 messages.21.content.3.citations.0: Invalid `encrypted_index` in `text` block2647API Error: 400 ... Invalid `encrypted_index` in `text` block

2463API Error: 400 Failed to decrypt web search result content2648API Error: 400 ... Failed to decrypt web search result content

2649API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block

2464```2650```

2465 2651 

2466API의 호스팅된 [웹 검색 도구](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)의 결과는 API만 읽을 수 있는 암호화된 필드를 전달합니다. API는 다른 조직을 위해 생성된 내용과 같이 해독할 수 없는 내용을 재생하는 요청을 거부합니다.2652API의 호스팅된 [웹 검색 도구](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)의 결과는 API만 읽을 수 있는 암호화된 필드를 포함합니다. `encrypted_stdout` 표현은 이러한 결과를 읽은 호스팅된 코드 실행 프로그램의 출력을 표시하며, API는 이를 암호화합니다. API는 해독할 수 없는 내용(예: 다른 조직을 위해 생성된 내용)을 재생하는 요청을 거부합니다.

2467 2653 

2468Claude Code의 자체 [WebSearch 도구](/docs/ko/tools-reference#websearch-tool-behavior)는 검색 결과를 일반 텍스트로 기록하므로 이러한 블록은 일반적으로 호스팅된 웹 검색을 자체적으로 실행한 프록시 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 대화에 도달합니다.2654Claude Code의 자체 [WebSearch 도구](/docs/ko/tools-reference#websearch-tool-behavior)는 검색 결과를 일반 텍스트로 기록하므로 이러한 블록은 일반적으로 호스팅된 웹 검색을 자체적으로 실행한 프록시 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 대화에 도달합니다.

2469 2655 

2470거부된 블록은 대화 기록에 남아 있으므로 모든 이후 턴과 `/compact`는 동일한 방식으로 실패합니다.2656세 가지 웹 검색 표현의 경우 Claude Code는 검색 호출, 결과 및 인용을 보내는 것에서 제외하고 요청을 한 번 다시 시도하므로 세션은 오류를 표시하지 않고 계속됩니다. `encrypted_stdout` 표현에는 그러한 복구가 없으므로 해당 메시지는 여전히 도달합니다. v2.1.282 이전에는 Claude Code가 거부된 웹 검색 블록도 유지했고 모든 이후 턴 및 `/compact`가 동일한 방식으로 실패했습니다.

2471 2657 

2472**할 일:**2658**할 일:**

2473 2659 

2474* `/clear`를 실행하거나 새 세션을 시작합니다. 새 대화는 거부된 블록을 전달하지 않습니다2660* v2.1.281 이상에 있고 모든 턴이 웹 검색 표현 중 하나로 실패하면 `claude update`를 실행하고 세션을 재개합니다.

2475* Claude Code를 프록시 또는 게이트웨이 뒤에서 실행하면 오류를 운영하는 사람에게 보고합니다2661* 오류가 지속되거나 메시지가 `encrypted_stdout`을 표시하면 `/rewind`를 실행하여 내용을 추가한 턴 전의 체크포인트로 뒤로 이동하거나 `/clear`를 실행하여 이를 포함하지 않는 대화를 시작합니다.

2662* Claude Code를 프록시 또는 게이트웨이 뒤에서 실행하면 오류를 운영하는 사람에게 보고합니다.

2476 2663 

2477<h3 id="usage-policy-refusal">2664<h3 id="usage-policy-refusal">

2478 사용 정책 거부2665 사용 정책 거부

2479</h3>2666</h3>

2480 2667 

2481API가 대화의 내용이 [사용 정책](https://www.anthropic.com/legal/aup) 확인을 트리거했기 때문에 응답을 거부했습니다. 메시지에는 거부가 잘못되었다고 생각하면 지원팀에 인용할 수 있는 요청 ID가 포함됩니다.2668API가 [사용 정책](https://www.anthropic.com/legal/aup) 확인을 트리거한 대화의 내용 때문에 응답을 거부했습니다.

2669 

2670메시지에는 정책 거부가 잘못되었다고 생각하는 경우 지원팀에 인용할 수 있는 요청 ID 및 메시지 ID가 포함됩니다.

2482 2671 

2483```text theme={null}2672```text theme={null}

2484API Error: Opus 4.6 can't help with this. Start a new session to continue.2673API Error: Opus 4.6 can't help with this. Start a new session to continue.


2486Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup2675Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup

2487```2676```

2488 2677 

2489메시지는 거부한 모델을 이름으로 지정하거나 모델이 기록되지 않으면 `Claude`를 이름으로 지정합니다.2678메시지는 거부한 모델을 표시하거나 모델이 기록되지 않은 경우 `Claude`를 표시합니다.

2490 2679 

2491확인은 최신 프롬프트뿐만 아니라 전체 대화를 평가하므로 동일한 세션에서 새 메시지를 보내면 일반적으로 동일한 거부를 다시 트리거합니다. 동일한 내용이 디스크의 기록에 여전히 포함되어 있으므로 세션을 종료하고 `--continue` 또는 `--resume`으로 다시 열 때도 적용됩니다. [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 및 [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 이 메시지는 또한 모델의 안전 조치가 사이버 보안 주제로 플래그한 요청을 다룹니다. [안전 조치가 사이버 보안 주제를 플래그했습니다](#safety-measures-flagged-a-cybersecurity-topic)를 참조하십시오.2680확인은 전체 대화를 평가하므로 같은 세션에서 새 메시지를 보내면 일반적으로 동일한 거부를 다시 트리거합니다. 동일한 내용이 디스크의 기록에 여전히 포함되어 있으므로 `--continue` 또는 `--resume`으로 종료하고 세션을 다시 열 때도 마찬가지입니다. [Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 및 [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 이 메시지는 모델의 안전 조치가 사이버 보안 주제로 플래그한 요청도 다룹니다. [안전 조치가 사이버 보안 주제를 플래그했습니다](#safety-measures-flagged-a-cybersecurity-topic)를 참조하십시오.

2492 2681 

2493v2.1.219 이전에는 메시지가 `Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.`로 읽혔습니다.2682v2.1.219 이전에는 메시지가 `Claude Code is unable to respond to this request, which appears to violate our Usage Policy (https://www.anthropic.com/legal/aup). Please double press esc to edit your last message or start a new session for Claude Code to assist with a different task.`로 읽었습니다.

2494 2683 

2495**할 일:**2684**할 일:**

2496 2685 

2497* Esc를 두 번 누르거나 `/rewind`를 실행하여 거부를 트리거한 턴 전의 체크포인트로 뒤로 이동한 다음 다시 표현하거나 다른 접근 방식을 취합니다. [체크포인팅](/docs/ko/checkpointing)을 참조하십시오.2686* Esc를 두 번 누르거나 `/rewind`를 실행하여 거부를 트리거한 턴 전의 체크포인트로 뒤로 이동한 다음 다시 표현하거나 다른 접근 방식을 취합니다. [체크포인팅](/docs/ko/checkpointing)을 참조하십시오.

2498* 어느 턴이 원인인지 식별할 수 없으면 `/clear`를 실행하여 동일한 프로젝트에서 새 대화를 시작합니다. 이전 대화는 디스크에 보존되며 `/resume`에서 사용 가능합니다.2687* 어떤 턴이 원인인지 식별할 수 없으면 `/clear`를 실행하여 같은 프로젝트에서 새 대화를 시작합니다. 이전 대화는 디스크에 보존되며 `/resume`에서 사용 가능합니다.

2499* [비대화형 모드](/docs/ko/headless)(`-p`)에서 되감기를 사용할 수 없으므로 `--continue` 없이 새 세션에서 다시 표현된 프롬프트로 다시 시도합니다. 정책 확인은 모델에 따라 다르므로 `--model`로 다른 모델로 전환하면 일부 경우에 거부를 해결할 수도 있습니다.2688* [비대화형 모드](/docs/ko/headless)(`-p`)에서 되감기를 사용할 수 없으므로 새 세션에서 `--continue` 없이 다시 표현된 프롬프트로 다시 시도합니다. 정책 확인은 모델에 따라 다르므로 `/model`로 다른 모델로 전환하면 일부 경우에 거부를 해결할 수도 있습니다.

2500 2689 

2501<h3 id="safety-measures-flagged-a-cybersecurity-topic">2690<h3 id="safety-measures-flagged-a-cybersecurity-topic">

2502 안전 조치가 사이버 보안 주제를 플래그했습니다2691 안전 조치가 사이버 보안 주제를 플래그했습니다

2503</h3>2692</h3>

2504 2693 

2505모델의 안전 조치가 대화의 내용을 사이버 보안 주제로 플래그했습니다. 메시지는 요청을 플래그한 모델을 이름으로 지정합니다:2694모델의 안전 조치가 대화의 내용을 사이버 보안 주제로 플래그했습니다. 메시지는 요청을 플래그한 모델을 표시합니다:

2506 2695 

2507```text theme={null}2696```text theme={null}

2508API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude2697API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude

2509```2698```

2510 2699 

2511메시지는 [사이버 검증 프로그램](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)에 연결되며, 이는 합법적인 사이버 보안 작업에 대한 액세스를 부여합니다. Opus 5.5에서는 v2.1.280 이상이 필요하며, 메시지는 `Opus 5.5's safeguards flagged this session` 대신 시작됩니다. 플래그된 카테고리에 대체 모델을 사용할 수 있으면 Claude Code는 이 오류를 표시하는 대신 [모델을 전환](/docs/ko/model-config#automatic-model-fallback)합니다.2700메시지는 정당한 사이버 보안 작업에 대한 액세스를 부여하는 [사이버 검증 프로그램](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)에 연결됩니다. Opus 5.5 및 Sonnet 5.5에서 메시지는 `<model>'s safeguards flagged this session`으로 시작합니다. 플래그된 범주에 대체 모델을 사용할 수 있으면 Claude Code는 이 오류를 표시하는 대신 [모델을 전환합니다](/docs/ko/model-config#automatic-model-fallback).

2512 2701 

2513[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 및 [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 사이버 보안 플래그는 대신 [사용 정책 거부](#usage-policy-refusal) 메시지를 생성합니다.2702[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai) 및 [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 사이버 보안 플래그는 대신 [사용 정책 거부](#usage-policy-refusal) 메시지를 생성합니다.

2514 2703 

2515안전 조치 자체는 서버 측이며 v2.1.203보다 앞서 있습니다. 이후 클라이언트 릴리스는 메시지의 표현만 변경했습니다.2704안전 조치 자체는 서버 측이며 v2.1.203보다 앞서 있습니다. 그 이후의 클라이언트 릴리스는 메시지의 표현만 변경했습니다.

2516v2.1.203부터 v2.1.218까지 메시지는 `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:`로 읽혔고 동일한 도움말 센터 링크가 뒤따랐으며 대화형 세션은 `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`를 추가했습니다.2705v2.1.203부터 v2.1.218까지 메시지는 `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:`로 읽었고 동일한 도움말 센터 링크가 뒤따랐으며 대화형 세션은 `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`를 추가했습니다.

2517v2.1.203 이전에는 `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:`로 읽혔고 면제 양식 링크가 뒤따랐습니다.2706v2.1.203 이전에는 `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:`로 읽었고 면제 양식 링크가 뒤따랐습니다.

2518 2707 

2519**할 일:**2708**할 일:**

2520 2709 

2521* 작업에 이 내용이 필요하면 [사이버 검증 프로그램](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)을 통해 액세스를 신청합니다2710* 작업에 이 내용이 필요하면 [사이버 검증 프로그램](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)을 통해 액세스를 신청합니다.

2522* 요청이 사이버 보안 주제가 아닌 경우 `/feedback`을 실행하여 거짓 양성을 보고합니다2711* 요청이 사이버 보안 주제가 아니었으면 `/feedback`을 실행하여 거짓 양성을 보고합니다.

2523* 동일한 세션에서 계속 작업하려면 Esc를 두 번 누르거나 `/rewind`를 실행하여 플래그를 트리거한 턴 전의 체크포인트로 뒤로 이동한 다음 다른 접근 방식을 취합니다. [체크포인팅](/docs/ko/checkpointing)을 참조하십시오.2712* 같은 세션에서 계속 작업하려면 Esc를 두 번 누르거나 `/rewind`를 실행하여 플래그를 트리거한 턴 전의 체크포인트로 뒤로 이동한 다음 다른 접근 방식을 취합니다. [체크포인팅](/docs/ko/checkpointing)을 참조하십시오.

2524 2713 

2525<h2 id="installation-errors">2714<h2 id="installation-errors">

2526 설치 오류2715 설치 오류


2573 명령줄 오류2762 명령줄 오류

2574</h2>2763</h2>

2575 2764 

2576이러한 오류는 `claude` 명령줄과 그 하위 명령어에서 발생하며, 프롬프트에서 제출한 명령어 이름에서도 발생합니다. 또한 셸 명령어를 실행하여 컨텍스트를 수집한 후 프롬프트를 실행하는 `/security-review` 같은 명령어에서도 발생합니다. 이들은 CLI를 다시 시작하는 `/tui`에서도 발생합니다.2765이러한 오류는 `claude` 명령줄과 그 하위 명령어, 프롬프트에서 제출하는 명령어 이름, 그리고 셸 명령어를 실행하여 컨텍스트를 수집한 후 프롬프트를 실행하는 `/security-review` 같은 명령어에서 발생합니다. 또한 CLI를 다시 시작하는 `/tui`에서도 발생합니다.

2577 2766 

2578<h3 id="conflict-between-bg-and-print">2767<h3 id="conflict-between-bg-and-print">

2579 \--bg와 --print 간의 충돌2768 \--bg와 --print 간의 충돌

2580</h3>2769</h3>

2581 2770 

2582이 메시지는 Claude Code v2.1.198 이상이 필요합니다. 동일한 `claude` 호출에서 `--bg`를 `-p` 또는 `--print`와 결합했습니다. `--bg`는 나중에 `claude agents`로 연결할 수 있는 [백그라운드 세션](/docs/ko/agent-view#from-your-shell)을 시작하는 반면, `--print`는 [비대화형](/docs/ko/headless)으로 실행되며 `claude agents`가 연결할 수 있는 대화형 세션을 시작하지 않습니다. v2.1.198 이전에는 이 조합이 연결할 수 없는 백그라운드 작업을 조용히 생성했습니다.2771이 메시지는 Claude Code v2.1.198 이상이 필요합니다. 동일한 `claude` 호출에서 `--bg`를 `-p` 또는 `--print`와 결합했습니다. `--bg`는 나중에 `claude agents`로 연결할 수 있는 [백그라운드 세션](/docs/ko/agent-view#from-your-shell)을 시작하는 반면, `--print`는 [비대화형](/docs/ko/headless)으로 실행되며 `claude agents`가 연결할 수 있는 대화형 세션을 시작하지 않습니다. v2.1.198 이전에는 이 조합이 연결할 수 없는 백그라운드 작업을 자동으로 생성했습니다.

2583 2772 

2584```text theme={null}2773```text theme={null}

2585--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.2774--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.


2587 2776 

2588**해야 할 일:**2777**해야 할 일:**

2589 2778 

2590* `-p` 또는 `--print`를 제거하세요. `--bg`는 프롬프트를 위치 인수로 사용하므로 `claude --bg "<task>"`가 완전한 명령어입니다. [셸에서 새 에이전트 디스패치](/docs/ko/agent-view#from-your-shell)를 참조하세요.2779* `-p` 또는 `--print`를 제거합니다. `--bg`는 프롬프트를 위치 인수로 사용하므로 `claude --bg "<task>"`가 완전한 명령어입니다. [셸에서 새 에이전트 디스패치](/docs/ko/agent-view#from-your-shell)를 참조하세요.

2591* 프롬프트를 비대화형으로 실행하고 백그라운드 세션을 생성하는 대신 결과를 인쇄하려면 `--bg`를 제거하고 `claude -p "<task>"`를 실행하세요.2780* 프롬프트를 비대화형으로 실행하고 백그라운드 세션을 만드는 대신 결과를 출력하려면 `--bg`를 제거하고 `claude -p "<task>"`를 실행합니다.

2592 2781 

2593<h3 id="invalid-agents-configuration">2782<h3 id="invalid-agents-configuration">

2594 잘못된 --agents 구성2783 잘못된 --agents 구성

2595</h3>2784</h3>

2596 2785 

2597`--agents`에 전달한 값이 유효하지 않아서 `claude`가 세션을 시작하는 대신 코드 1로 종료됩니다. `--safe-mode`, `--resume`, 또는 `--continue`를 전달하거나 [`CLAUDE_CODE_SAFE_MODE`](/docs/ko/env-vars#variables)를 설정하면 Claude Code는 값을 확인하지 않고 세션을 시작합니다. v2.1.242 이전에는 Claude Code가 어쨌든 세션을 시작했고 로드할 수 없는 정의를 생략했습니다.2786`--agents`에 전달한 값이 유효하지 않아서 `claude`가 세션을 시작하는 대신 코드 1로 종료됩니다. `--safe-mode`를 전달하거나 [`CLAUDE_CODE_SAFE_MODE`](/docs/ko/env-vars#variables)를 설정하면 Claude Code는 `--agents`를 완전히 무시합니다. `--resume` 또는 `--continue`를 사용하면 인라인 JSON 값은 확인되지 않고 세션이 시작됩니다. 파일에서 읽은 값은 매번 시작할 때 확인됩니다. v2.1.242 이전에는 Claude Code가 어쨌든 세션을 시작했고 로드할 수 없는 정의를 생략했습니다.

2598 2787 

2599```text theme={null}2788```text theme={null}

2600Error: Invalid --agents configuration:2789Error: Invalid --agents configuration:

2601<what failed>2790<what failed>

2602```2791```

2603 2792 

2604첫 번째 줄 다음에 오는 내용은 값이 어떻게 실패했는지에 따라 다릅니다. Claude Code는 이러한 확인을 순서대로 실행하고 실패하는 첫 번째 확인에서 중지합니다. 값에 두 가지 문제가 있으면 첫 번째를 수정한 후에만 두 번째를 볼 수 있습니다:2793첫 번째 줄 다음에 오는 내용은 값이 어떻게 실패했는지에 따라 달라집니다. Claude Code는 이러한 확인을 순서대로 실행하고 실패하는 첫 번째 확인에서 중지합니다. 값에 두 가지 문제가 있으면 첫 번째를 수정한 후에만 두 번째를 볼 수 있습니다:

2605 2794 

26061. 값이 JSON으로 파싱되지 않으면 Claude Code는 JSON 파서의 메시지를 포함하는 `invalid JSON:` 줄 하나를 인쇄합니다.27951. 값이 `{`로 시작하지만 JSON으로 파싱되지 않거나 `--agents` 파일의 내용이 파싱되지 않으면 Claude Code는 JSON 파서의 메시지를 포함하는 `invalid JSON:` 줄 하나를 출력합니다.

26072. 파싱되지만 에이전트 정의가 [CLI 정의 하위 에이전트](/docs/ko/sub-agents#choose-the-subagent-scope)의 스키마와 일치하지 않으면 Claude Code는 문제당 한 줄을 인쇄합니다.27962. 파싱되지만 에이전트 정의가 [CLI 정의 하위 에이전트](/docs/ko/sub-agents#choose-the-subagent-scope)의 스키마와 일치하지 않으면 Claude Code는 문제당 한 줄을 출력합니다.

26083. 에이전트 이름이 `-`로 시작하면 Claude Code는 `<name>: agent names must not start with '-'`를 인쇄합니다.27973. 에이전트 이름이 `-`로 시작하면 Claude Code는 `<name>: agent names must not start with '-'`를 출력합니다.

2609 2798 

2610문제 줄이 20개를 초과하면 Claude Code는 처음 20개를 인쇄하고 나머지를 `…and N more`로 바꿉니다.2799문제 줄이 20개를 초과하면 Claude Code는 처음 20개를 출력하고 나머지를 `…and N more`로 바꿉니다.

2800 

2801`--print`를 사용하면 `--agents`는 인라인 객체 대신 [JSON 파일의 경로](/docs/ko/sub-agents#choose-the-subagent-scope)도 허용합니다. v2.1.281 이전에는 `--agents`가 인라인 JSON만 허용했고 파일 경로를 유효하지 않은 JSON으로 취급했습니다. 파일 형식에는 이 메시지 대신 출력되는 자체 거부가 있습니다:

2802 

2803* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code가 대화형 세션에서 값을 파일 경로로 읽었습니다. 정의를 인라인 JSON으로 전달하거나 `-p`를 추가하여 파일에서 읽습니다.

2804* **`Error: --agents file not found: <path>`**: 해당 경로에 파일이 없습니다. `{`로 시작하지 않고 유효한 JSON이 아닌 값은 경로로 읽혀지므로 셸이 손상시킨 인라인 JSON도 이런 식으로 실패할 수 있습니다. 경로 또는 인용을 확인하고 명령어를 다시 실행합니다.

2611 2805 

2612**해야 할 일:**2806**해야 할 일:**

2613 2807 

2614* 메시지가 나열한 각 문제를 수정한 후 명령어를 다시 실행하세요. [CLI 정의 하위 에이전트가 사용하는 필드](/docs/ko/sub-agents#choose-the-subagent-scope)를 참조하세요.2808* 메시지가 나열한 각 문제를 수정한 후 명령어를 다시 실행합니다. [CLI 정의 하위 에이전트가 사용하는 필드](/docs/ko/sub-agents#choose-the-subagent-scope)를 참조하세요.

2615 2809 

2616<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">2810<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">

2617 클라우드 세션을 --restricted 세션에서 생성할 수 없음2811 클라우드 세션을 --restricted 세션에서 만들 수 없음

2618</h3>2812</h3>

2619 2813 

2620[`--restricted`](/docs/ko/cli-reference#cli-flags)로 세션을 시작하면 Claude Code는 이 세션에서 [클라우드 세션](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud)을 생성하기를 거부합니다. 새 세션이 제한된 프로세스 외부에서 실행되고 제한된 모드를 적용하지 않기 때문입니다. Claude Code는 서버에 연결하기 전에 클라이언트에서 거부하므로 클라우드 세션이 생성되지 않습니다:2814[`--restricted`](/docs/ko/cli-reference#cli-flags)로 세션을 시작하면 Claude Code는 이 세션에서 [클라우드 세션](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud)을 만드는 것을 거부합니다. 새 세션이 제한된 프로세스 외부에서 실행되고 제한된 모드를 적용하지 않기 때문입니다. Claude Code는 서버에 연결하기 전에 클라이언트에서 거부하므로 클라우드 세션이 생성되지 않습니다:

2621 2815 

2622```text theme={null}2816```text theme={null}

2623Cloud sessions cannot be created from a --restricted session: they would not enforce it.2817Cloud sessions cannot be created from a --restricted session: they would not enforce it.


2625 2819 

2626**해야 할 일:**2820**해야 할 일:**

2627 2821 

2628* 제한된 세션에서 로컬로 작업을 실행하세요.2822* 제한된 세션에서 로컬로 작업을 실행합니다.

2629* 세션이 어떻게 시작되었는지 제어할 수 있으면 `--restricted` 없이 새 `claude` 세션을 시작하고 거기서 클라우드 세션을 생성하세요.2823* 세션이 어떻게 시작되었는지 제어할 수 있으면 `--restricted` 없이 새 `claude` 세션을 시작하고 거기서 클라우드 세션을 만듭니다.

2630 2824 

2631v2.1.248 이전에는 Claude Code에 `--restricted` 플래그가 없었으며, 이전 버전은 알 수 없는 옵션 오류로 플래그 자체를 거부합니다.2825v2.1.248 이전에는 Claude Code에 `--restricted` 플래그가 없었고 이전 버전은 알 수 없는 옵션 오류로 플래그 자체를 거부했습니다.

2632 2826 

2633<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">2827<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">

2634 조직의 정책에 의해 클라우드 세션이 비활성화됨2828 조직의 정책에 의해 클라우드 세션이 비활성화됨


2640Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.2834Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

2641```2835```

2642 2836 

2643이 메시지는 [터미널에서 클라우드 세션을 생성](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud)할 때 나타나며 `/teleport`, `/remote-env`, 또는 `/web-setup` 같은 클라우드 세션이 필요한 명령어를 제출할 때도 나타납니다. v2.1.268 이전에는 이러한 명령어 중 하나를 제출하면 대신 [`Unknown command`](#unknown-command)를 반환했습니다.2837메시지는 [터미널에서 클라우드 세션을 만들](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud) 때 나타나고 `/teleport`, `/remote-env`, 또는 `/web-setup` 같은 클라우드 세션이 필요한 명령어를 제출할 때 나타납니다. v2.1.268 이전에는 이러한 명령어 중 하나를 제출하면 대신 [`Unknown command`](#unknown-command)를 반환했습니다.

2644 2838 

2645이것은 서버 측 조직 정책이므로 로컬 설정, 환경 변수 또는 CLI 플래그에서 재정의할 수 없습니다.2839이것은 서버 측 조직 정책이므로 로컬 설정, 환경 변수 또는 CLI 플래그에서 재정의할 수 없습니다.

2646 2840 


2648 2842 

2649**해야 할 일:**2843**해야 할 일:**

2650 2844 

2651* 조직의 [Owner](/docs/ko/server-managed-settings#access-control)에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)의 Claude Code 관리자 설정에서 클라우드 세션을 활성화하도록 요청하세요.2845* 조직의 [Owner](/docs/ko/server-managed-settings#access-control)에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)의 Claude Code 관리자 설정에서 클라우드 세션을 활성화하도록 요청합니다.

2652* 메시지가 정책을 확인할 수 없다고 하면 네트워크 연결을 확인한 후 Claude Code를 다시 시작하고 다시 시도하세요.2846* 메시지에서 정책을 확인할 수 없다고 하면 네트워크 연결을 확인한 후 Claude Code를 다시 시작하고 다시 시도합니다.

2653 2847 

2654<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2848<h3 id="the-json-schema-value-is-not-a-valid-json-schema">

2655 \--json-schema 값이 유효한 JSON Schema가 아님2849 \--json-schema 값이 유효한 JSON Schema가 아님

2656</h3>2850</h3>

2657 2851 

2658[비대화형 모드](/docs/ko/headless#get-structured-output)에서 [`--json-schema`](/docs/ko/cli-reference#cli-flags)에 전달한 스키마가 JSON Schema 컴파일에 실패했으므로 `claude`가 프롬프트를 실행하는 대신 코드 1로 종료됩니다. v2.1.205 이전에는 유효하지 않은 스키마가 오류 없이 구조화되지 않은 출력을 생성했으며, `format` 키워드를 사용한 모든 스키마는 유효하지 않은 것으로 처리되었습니다.2852[비대화형 모드](/docs/ko/headless#get-structured-output)에서 [`--json-schema`](/docs/ko/cli-reference#cli-flags)에 전달한 스키마가 JSON Schema 컴파일에 실패했으므로 `claude`가 프롬프트를 실행하는 대신 코드 1로 종료됩니다. v2.1.205 이전에는 유효하지 않은 스키마가 오류 없이 구조화되지 않은 출력을 생성했고 `format` 키워드를 사용하는 모든 스키마는 유효하지 않은 것으로 처리되었습니다.

2659 2853 

2660```text theme={null}2854```text theme={null}

2661Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2855Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

2662```2856```

2663 2857 

2664두 번째 콜론 뒤의 텍스트는 검증자의 진단이며 실패한 키워드 또는 위치를 이름 지정합니다. `"format": "email"` 같은 `format` 키워드를 사용하는 스키마는 유효합니다: Claude Code는 `format`을 주석으로 수용하고 적용하지 않습니다.2858두 번째 콜론 뒤의 텍스트는 검증자의 진단이며 실패한 키워드 또는 위치를 이름 지정합니다. `"format": "email"` 같은 `format` 키워드를 사용하는 스키마는 유효합니다: Claude Code는 `format`을 주석으로 허용하고 적용하지 않습니다.

2665 2859 

2666Claude Code는 스키마 컴파일 전에 두 가지 확인을 실행합니다: 파싱 불가능한 JSON 값을 `Error: --json-schema is not valid JSON`으로 거부하고, 객체가 아닌 유효한 JSON을 `Error: --json-schema must be a JSON object`로 거부합니다.2860Claude Code는 스키마 컴파일 전에 두 가지 확인을 실행합니다: 파싱할 수 없는 JSON 값을 `Error: --json-schema is not valid JSON`으로 거부하고 유효한 JSON이지만 객체가 아닌 것을 `Error: --json-schema must be a JSON object`로 거부합니다.

2667 2861 

2668**해야 할 일:**2862**해야 할 일:**

2669 2863 

2670* 진단이 이름 지정한 스키마 부분을 수정한 후 명령어를 다시 실행하세요.2864* 진단이 이름 지정한 스키마 부분을 수정한 후 명령어를 다시 실행합니다.

2671* 진단이 `schema too large`이면 스키마의 중첩과 `$ref` 재사용을 줄이세요.2865* 진단이 `schema too large`이면 스키마의 중첩과 `$ref` 재사용을 줄입니다.

2672* [구조화된 출력 가져오기](/docs/ko/headless#get-structured-output)에서 작동하는 스키마와 명령어를 참조하세요.2866* [구조화된 출력 가져오기](/docs/ko/headless#get-structured-output)에서 작동하는 스키마와 명령어를 참조하세요.

2673 2867 

2674<h3 id="settings-file-exceeds-the-2mib-limit">2868<h3 id="settings-file-exceeds-the-2mib-limit">

2675 설정 파일이 2MiB 제한을 초과함2869 설정 파일이 2MiB 제한을 초과함

2676</h3>2870</h3>

2677 2871 

2678[`--settings`](/docs/ko/cli-reference#cli-flags)에 전달한 파일이 2MiB보다 크므로 `claude`가 로드하는 대신 시작 시 코드 1로 종료됩니다. 설정 파일은 작은 JSON 문서이므로 이 크기의 파일은 보통 경로가 잘못된 파일을 가리킵니다. v2.1.214 이전에는 Claude Code가 크기 확인 없이 파일을 읽었으며, 수 기가바이트 파일이나 `/dev/zero` 같은 장치 파일이 메모리를 무한정 증가시켰습니다.2872[`--settings`](/docs/ko/cli-reference#cli-flags)에 전달한 파일이 2MiB보다 크므로 `claude`가 시작 시 코드 1로 종료되고 로드하지 않습니다. 설정 파일은 작은 JSON 문서이므로 이 크기의 파일은 보통 경로가 잘못된 파일을 가리킵니다. v2.1.214 이전에는 Claude Code가 크기 확인 없이 파일을 읽었고 수 기가바이트 파일이나 `/dev/zero` 같은 장치 파일이 메모리를 무한정 증가시켰습니다.

2679 2873 

2680```text theme={null}2874```text theme={null}

2681Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2875Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

2682```2876```

2683 2877 

2684Claude Code는 일반 파일이 아닌 `--settings` 경로를 같은 방식으로 거부합니다: 장치, FIFO 또는 소켓은 `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))`을 보고하고 경로를 따르며, 디렉토리는 `EISDIR` 이유를 보고합니다.2878Claude Code는 일반 파일이 아닌 `--settings` 경로를 같은 방식으로 거부합니다: 장치, FIFO 또는 소켓은 `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))`을 보고하고 경로를 따르며 디렉토리는 `EISDIR` 이유를 보고합니다.

2685 2879 

2686**해야 할 일:**2880**해야 할 일:**

2687 2881 

2688* `--settings`를 2MiB 미만의 일반 JSON 설정 파일로 지정하세요. 형식은 [설정](/docs/ko/settings)을 참조하세요.2882* `--settings`를 2MiB 미만의 일반 JSON 설정 파일로 지정합니다. 형식은 [설정](/docs/ko/settings)을 참조하세요.

2689 2883 

2690<h3 id="the-current-directory-no-longer-exists">2884<h3 id="the-current-directory-no-longer-exists">

2691 현재 디렉토리가 더 이상 존재하지 않음2885 현재 디렉토리가 더 이상 존재하지 않음

2692</h3>2886</h3>

2693 2887 

2694셸이 디렉토리에 들어간 후 삭제되거나 이동된 디렉토리에서 `claude`를 시작했습니다. 예를 들어 worktree 또는 다른 셸이 제거한 임시 디렉토리입니다. Claude Code가 작업 디렉토리를 읽을 수 없어서 대화형 및 [비대화형](/docs/ko/headless) 모드 모두에서 세션을 시작하기 전에 코드 1로 종료됩니다. v2.1.239 이전에는 Claude Code가 축소된 번들 소스와 stderr의 원본 `ENOENT ... uv_cwd` 스택으로 충돌했습니다.2888셸이 디렉토리에 들어간 후 삭제되거나 이동된 디렉토리에서 `claude`를 시작했습니다. 예를 들어 다른 셸이 제거한 worktree 또는 임시 디렉토리입니다. Claude Code가 작업 디렉토리를 읽을 수 없으므로 대화형 및 [비대화형](/docs/ko/headless) 모드 모두에서 세션을 시작하기 전에 코드 1로 종료됩니다. v2.1.239 이전에는 Claude Code가 축소된 번들 소스와 stderr의 원시 `ENOENT ... uv_cwd` 스택으로 충돌했습니다.

2695 2889 

2696```text theme={null}2890```text theme={null}

2697The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.2891The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.


2700 2894 

2701원인과 해결책은 두 형식 모두 동일합니다.2895원인과 해결책은 두 형식 모두 동일합니다.

2702 2896 

2703Claude Code가 다른 이유(예: 권한 변경)로 작업 디렉토리를 읽을 수 없으면 메시지가 오류 코드를 이름 지정합니다: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`2897Claude Code가 권한 변경 같은 다른 이유로 작업 디렉토리를 읽을 수 없으면 메시지는 오류 코드를 이름 지정합니다: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`

2704 2898 

2705macOS에서 `~/Desktop`, `~/Documents`, `~/Downloads` 또는 iCloud Drive의 디렉토리에 대한 `EPERM`은 보통 macOS가 터미널 앱을 해당 폴더에서 차단하고 있다는 의미입니다. 해당 폴더를 읽는 다른 명령어도 같은 방식으로 실패합니다: `ls`는 `sudo`를 사용해도 `Operation not permitted`를 보고합니다.2899macOS에서 `~/Desktop`, `~/Documents`, `~/Downloads` 또는 iCloud Drive의 디렉토리에 대한 `EPERM`은 보통 macOS가 터미널 앱을 해당 폴더에서 차단하고 있다는 의미입니다. 해당 폴더를 읽는 다른 명령어도 같은 방식으로 실패합니다: `ls`는 `sudo`를 사용해도 `Operation not permitted`를 보고합니다.

2706 2900 

2707**해야 할 일:**2901**해야 할 일:**

2708 2902 

2709* 홈 또는 프로젝트 디렉토리 같은 존재하는 디렉토리로 변경한 후 `claude`를 다시 실행하세요.2903* 홈 또는 프로젝트 디렉토리 같은 존재하는 디렉토리로 변경한 후 `claude`를 다시 실행합니다.

2710* 디렉토리가 같은 경로에서 다시 생성되었으면 셸이 여전히 삭제된 디렉토리를 보유하고 있습니다. `cd "$PWD"`를 실행하거나 디렉토리를 나갔다가 다시 들어간 후 `claude`를 실행하세요.2904* 디렉토리가 같은 경로에서 다시 생성되었으면 셸이 여전히 삭제된 것을 보유합니다. `cd "$PWD"`를 실행하거나 디렉토리를 나갔다가 다시 들어간 후 `claude`를 다시 실행합니다.

2711* macOS에서 `EPERM`의 경우 Cmd+Q로 터미널 앱을 종료하고 다시 열어서 해당 폴더로 돌아가 `claude`를 실행하세요. 해당 폴더의 `ls`가 여전히 실패하면 **System Settings > Privacy & Security > Files and Folders**를 열고 터미널 앱에 대한 폴더를 켠 후 터미널을 다시 열어세요.2905* macOS의 `EPERM`의 경우 Cmd+Q로 터미널 앱을 종료하고 다시 열고 해당 폴더로 돌아가 `claude`를 실행합니다. 해당 폴더의 `ls`가 여전히 실패하면 **System Settings > Privacy & Security > Files and Folders**를 열고 터미널 앱에 대한 폴더를 켠 후 터미널을 다시 엽니다.

2712 2906 

2713<h3 id="temp-directory-refused-or-cannot-be-created">2907<h3 id="temp-directory-refused-or-cannot-be-created">

2714 임시 디렉토리가 거부되었거나 생성할 수 없음2908 임시 디렉토리가 거부되었거나 만들 수 없음

2715</h3>2909</h3>

2716 2910 

2717macOS 및 Linux에서 Claude Code는 시작 시 개인 임시 디렉토리를 생성합니다. 시스템 임시 디렉토리 또는 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars) 재정의 아래의 `claude-<uid>`입니다. 디렉토리를 생성할 수 없거나 해당 경로의 항목이 안전 확인에 실패하면 Claude Code는 실패를 stderr에 인쇄하고 세션을 시작하는 대신 코드 1로 종료됩니다:2911macOS 및 Linux에서 Claude Code는 시작 시 시스템 임시 디렉토리 또는 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars) 재정의 아래에 `claude-<uid>` 개인 임시 디렉토리를 만듭니다. 디렉토리를 만들 수 없거나 해당 경로의 항목이 안전 확인에 실패하면 Claude Code는 세션을 시작하는 대신 실패를 stderr에 출력하고 코드 1로 종료됩니다:

2718 2912 

2719```text wrap theme={null}2913```text wrap theme={null}

2720ENOSPC: no space left on device, mkdir '/tmp/claude-501'2914ENOSPC: no space left on device, mkdir '/tmp/claude-501'


2728 2922 

2729**해야 할 일:**2923**해야 할 일:**

2730 2924 

2731* `ENOSPC`의 경우 임시 디렉토리를 보유한 볼륨의 디스크 공간을 확보하세요.2925* `ENOSPC`의 경우 임시 디렉토리를 보유하는 볼륨의 디스크 공간을 확보합니다.

2732* `Refusing to use it` 형식의 경우 링크가 가리키는 것이 아닌 이름 지정된 항목 자체를 제거하고 Claude Code를 다시 시작하세요. `owned by uid` 형식의 경우 관리자 또는 해당 사용자만 제거할 수 있습니다.2926* `Refusing to use it` 형식의 경우 링크가 가리키는 것이 아니라 이름 지정된 항목 자체를 제거하고 Claude Code를 다시 시작합니다. `owned by uid` 형식의 경우 관리자 또는 해당 사용자만 제거할 수 있습니다.

2733* `is not readable`의 경우 이름 지정된 디렉토리에서 `chmod 0700`을 실행하거나 제거한 후 다시 시작하세요.2927* `is not readable`의 경우 이름 지정된 디렉토리에서 `chmod 0700`을 실행하거나 제거하고 다시 시작합니다.

2734* 이러한 경우 중 하나에서 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 제어하는 디렉토리로 설정하고 Claude Code를 시작하세요. 거부된 경로는 그대로 두세요.2928* 이러한 경우 중 하나에서 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 제어하는 디렉토리로 설정하고 Claude Code를 시작하여 거부된 경로를 그대로 둡니다.

2735 2929 

2736<h3 id="directory-couldnt-be-resolved-to-a-real-location">2930<h3 id="directory-couldnt-be-resolved-to-a-real-location">

2737 디렉토리를 실제 위치로 확인할 수 없음2931 디렉토리를 실제 위치로 확인할 수 없음

2738</h3>2932</h3>

2739 2933 

2740작업 디렉토리의 하위 디렉토리에 대해 `/add-dir`을 실행했는데 Claude Code가 디렉토리를 실제 위치로 확인할 수 없습니다.2934작업 디렉토리의 하위 디렉토리에 대해 `/add-dir`을 실행했고 Claude Code가 디렉토리를 실제 위치로 확인할 수 없습니다.

2741 2935 

2742작업 디렉토리의 하위 디렉토리에 대한 파일 액세스가 이미 있으므로 `/add-dir`은 해당 스킬, 명령어 및 에이전트만 로드합니다. 로드하기 전에 Claude Code는 심볼릭 링크가 확인된 디렉토리의 실제 위치가 작업 디렉토리 내부에 있는지 확인합니다. Claude Code가 해당 위치를 확인할 수 없으면 아무것도 로드하지 않고 이 메시지를 표시합니다:2936작업 디렉토리의 하위 디렉토리에 이미 파일 액세스 권한이 있으므로 `/add-dir`은 해당 스킬, 명령어 및 에이전트만 로드합니다. 로드하기 전에 Claude Code는 심볼릭 링크가 확인된 디렉토리의 실제 위치가 작업 디렉토리 내부에 있는지 확인합니다. Claude Code가 해당 위치를 확인할 수 없으면 아무것도 로드하지 않고 이 메시지를 표시합니다:

2743 2937 

2744```text theme={null}2938```text theme={null}

2745packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.2939packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.


2747 2941 

2748**해야 할 일:**2942**해야 할 일:**

2749 2943 

2750* 경로가 작업 디렉토리 내부의 실제 디렉토리를 이름 지정하는지 확인한 후 `/add-dir`을 다시 실행하세요.2944* 경로가 작업 디렉토리 내부의 실제 디렉토리를 이름 지정하는지 확인한 후 `/add-dir`을 다시 실행합니다.

2751* 메시지는 파일 액세스를 변경하지 않습니다. 디렉토리의 `.claude/` 콘텐츠가 로드되지 않았음을 보고할 뿐입니다.2945* 메시지는 파일 액세스를 변경하지 않습니다. 디렉토리의 `.claude/` 콘텐츠가 로드되지 않았음을 보고할 뿐입니다.

2752 2946 

2753v2.1.261 이전에는 작업 디렉토리가 `/net/<host>` 자동 마운트에 있을 때마다 이 메시지가 모든 `/add-dir <subdirectory>`에 대해 나타났습니다. Claude Code는 설계상 경로를 확인하기를 거부합니다. 디렉토리는 정상이었고 재시도할 수 없었습니다.2947v2.1.261 이전에는 작업 디렉토리가 `/net/<host>` 자동 마운트에 있을 때 모든 `/add-dir <subdirectory>`에 대해 이 메시지가 나타났습니다. Claude Code는 설계상 경로를 확인하기를 거부합니다. 디렉토리는 정상이었고 재시도할 수 없었습니다.

2754 2948 

2755<h3 id="workspace-not-trusted-when-starting-remote-control">2949<h3 id="workspace-not-trusted-when-starting-remote-control">

2756 Remote Control 시작 시 작업 공간을 신뢰하지 않음2950 Remote Control 시작 시 작업 영역을 신뢰하지 않음

2757</h3>2951</h3>

2758 2952 

2759신뢰하지 않은 디렉토리에서 `claude remote-control` 또는 그 `claude rc` 별칭으로 [Remote Control](/docs/ko/remote-control) 서버 모드를 시작했습니다. 명령어는 작업 공간 신뢰 대화를 표시하지 않으므로 코드 1로 종료되고 수정 사항을 이름 지정합니다:2953신뢰하지 않은 디렉토리에서 `claude remote-control` 또는 그 `claude rc` 별칭으로 [Remote Control](/docs/ko/remote-control) 서버 모드를 시작했습니다. 명령어의 표준 입력 또는 표준 출력이 터미널이 아닐 때 이 메시지가 나타납니다. 예를 들어 하나가 리디렉션되거나 파이프되었을 때입니다. 명령어는 코드 1로 종료됩니다:

2760 2954 

2761```text theme={null}2955```text theme={null}

2762Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.2956Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

2763```2957```

2764 2958 

2765홈 디렉토리에서 메시지가 다릅니다. 작업 공간 신뢰 대화가 홈 디렉토리에 대한 신뢰를 저장하지 않기 때문입니다. v2.1.214 이전에는 홈 디렉토리가 위의 메시지를 표시했으며, 그 조언은 거기서 성공할 수 없습니다.2959터미널에 나타나는 두 가지 변형도 신뢰 디렉토리를 켜는 것을 표시하기에 너무 작은 터미널이나 크기를 보고하지 않은 터미널에서 시작됩니다. 창을 확대하거나 일반 터미널 창으로 전환한 후 `claude rc`를 다시 실행합니다.

2960 

2961홈 디렉토리에서 메시지는 다릅니다. 작업 영역 신뢰 대화가 홈 디렉토리에 대한 신뢰를 저장하지 않기 때문입니다. v2.1.214 이전에는 홈 디렉토리가 위의 메시지를 표시했고 그 조언은 거기서 성공할 수 없었습니다.

2766 2962 

2767```text theme={null}2963```text theme={null}

2768Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).2964Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).

2769```2965```

2770 2966 

2967[`Trust <directory>?` 질문](/docs/ko/remote-control#requirements)에서 `n`을 답하거나 Enter를 누르면 명령어는 디렉토리를 이름 지정하는 `Remote Control did not start` 메시지를 출력하고 코드 1로 종료됩니다. `claude rc`를 다시 실행하여 `y`를 답합니다.

2968 

2771**해야 할 일:**2969**해야 할 일:**

2772 2970 

2773* 디렉토리에서 `claude`를 실행하고 [작업 공간 신뢰 대화](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 수락한 후 `claude remote-control`을 다시 실행하세요.2971* 먼저 터미널에서 디렉토리를 신뢰합니다: 거기서 `claude rc`를 실행하고 `y`를 답하거나 거기서 `claude`를 실행하고 [작업 영역 신뢰 대화](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 수락한 후 원래 명령어를 다시 실행합니다.

2774* 홈 디렉토리에서 프로젝트 디렉토리로 변경하고 거기서 Remote Control을 시작하세요.2972* 홈 디렉토리에서 프로젝트 디렉토리로 변경하고 거기서 Remote Control을 시작합니다.

2973 

2974v2.1.284 이전에는 명령어가 터미널에서도 묻지 않았습니다.

2775 2975 

2776<h3 id="not-carried-over-to-the-sessions-remote-control-starts">2976<h3 id="not-carried-over-to-the-sessions-remote-control-starts">

2777 Remote Control이 시작하는 세션으로 이월되지 않음2977 Remote Control이 시작하는 세션으로 이월되지 않음

2778</h3>2978</h3>

2779 2979 

2780`remote-control` 동사 앞에 전역 `claude` 플래그로 [Remote Control](/docs/ko/remote-control)을 시작했습니다. Remote Control이 시작하는 세션을 제한하거나 구성할 플래그입니다. 예를 들어 `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` 또는 `--mcp-config`입니다. 동사 앞에 배치된 플래그는 절대 이러한 세션에 도달하지 않습니다. Claude Code는 플래그를 이름 지정하는 대신 시작을 거부합니다:2980[Remote Control](/docs/ko/remote-control)을 `remote-control` 동사 앞의 전역 `claude` 플래그로 시작했습니다. Remote Control이 시작하는 세션을 제한하거나 구성하는 플래그입니다. 예를 들어 `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` 또는 `--mcp-config`입니다. 동사 앞에 배치된 플래그는 절대 이러한 세션에 도달하지 않습니다. Claude Code는 대신 시작을 거부하고 플래그를 이름 지정합니다:

2781 2981 

2782```text theme={null}2982```text theme={null}

2783Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).2983Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).

2784```2984```

2785 2985 

2786Claude Code는 `--verbose`, `--model` 또는 래퍼 주입 `--session-id` 또는 `--plugin-dir` 같은 드롭하기에 무해한 전역 플래그를 거부하지 않습니다: 이를 무시하고 Remote Control이 시작됩니다.2986Claude Code는 `--verbose`, `--model` 또는 래퍼 주입 `--session-id` 또는 `--plugin-dir` 같은 드롭하기에 무해한 전역 플래그를 거부하지 않습니다: 무시하고 Remote Control이 시작됩니다.

2787 2987 

2788Claude Code는 또한 아직 무해한 것으로 인식하지 못하는 전역 플래그를 거부하므로 최신 릴리스에 추가된 플래그는 이후 릴리스가 이를 무해한 것으로 표시할 때까지 이 메시지에 나타날 수 있습니다.2988Claude Code는 또한 아직 무해한 것으로 인식하지 못하는 전역 플래그를 거부하므로 최신 릴리스에 추가된 플래그는 나중 릴리스가 무해한 것으로 표시할 때까지 이 메시지에 나타날 수 있습니다.

2789 2989 

2790**해야 할 일:**2990**해야 할 일:**

2791 2991 

2792* 동사 앞에서 플래그를 제거하고 [Remote Control의 자체 옵션](/docs/ko/remote-control#start-a-remote-control-session)을 그 뒤에 전달하세요. `claude remote-control --help`가 이를 나열합니다.2992* 동사 앞에서 플래그를 제거하고 [Remote Control의 자체 옵션](/docs/ko/remote-control#start-a-remote-control-session)을 그 뒤에 전달합니다. `claude remote-control --help`가 이를 나열합니다.

2793* 거부된 플래그가 `--permission-mode`이면 `claude remote-control --permission-mode <mode>`를 실행하여 Remote Control이 시작하는 세션의 권한 모드를 설정하세요.2993* 거부된 플래그가 `--permission-mode`이면 `claude remote-control --permission-mode <mode>`를 실행하여 Remote Control이 시작하는 세션의 권한 모드를 설정합니다.

2794 2994 

2795v2.1.248 이전에는 `claude remote-control`이 전역 플래그가 먼저 올 때 자체 플래그를 수용하지 않았으며, 명령어가 알 수 없는 옵션 오류로 실패했습니다.2995v2.1.248 이전에는 `claude remote-control`이 전역 플래그가 먼저 올 때 자체 플래그를 허용하지 않았고 명령어가 알 수 없는 옵션 오류로 실패했습니다.

2796 2996 

2797<h3 id="claude-import-is-not-yet-available-in-this-build">2997<h3 id="claude-import-is-not-yet-available-in-this-build">

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

2799</h3>2999</h3>

2800 3000 

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

2802 3002 

2803```text theme={null}3003```text theme={null}

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

2805```3005```

2806 3006 

2807Claude Code는 Anthropic에서 가져오고 디스크에 캐시하는 기능 플래그를 통해 `claude import`를 켭니다. 이 메시지는 캐시된 값이 꺼져 있다는 의미입니다. 원인은 보통 다음 중 하나입니다:3007Claude Code는 Anthropic에서 가져온 기능 플래그를 통해 `claude import`를 켜고 디스크에 캐시합니다. 이 메시지는 캐시된 값이 꺼져 있다는 의미입니다. 원인은 보통 다음 중 하나입니다:

2808 3008 

2809* 설치 후 세션을 시작하지 않았으므로 Claude Code가 플래그를 아직 가져오지 않았습니다. 첫 번째 `claude import`는 기능을 사용할 수 있을 때도 이를 인쇄할 수 있습니다.3009* 설치 후 세션을 시작하지 않았으므로 Claude Code가 플래그를 아직 가져오지 않았습니다. 첫 번째 `claude import`는 기능을 사용할 수 있을 때도 이를 출력할 수 있습니다.

2810* Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, Claude Platform on AWS를 통해 Claude Code를 사용하거나 [Claude apps gateway](/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 사용합니다. Claude Code는 이러한 세션에서 기능 플래그를 가져오지 않으므로 `claude import`는 사용할 수 없습니다.3010* Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, Claude Platform on AWS를 통해 Claude Code를 사용하거나 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 사용합니다. Claude Code는 이러한 세션에서 기능 플래그를 가져오지 않으므로 `claude import`는 사용할 수 없습니다.

2811* `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` 또는 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)를 설정했으므로 기능 플래그 가져오기가 꺼져 있고 `claude import`는 사용할 수 없습니다.3011* `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` 또는 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)를 설정했습니다. 이는 기능 플래그 가져오기를 끕니다. 따라서 `claude import`는 사용할 수 없습니다.

2812 3012 

2813**해야 할 일:**3013**해야 할 일:**

2814 3014 

2815* 새로 설치한 경우 `claude`를 시작하고 세션이 로드될 때까지 기다린 후 종료하고 `claude import`를 다시 실행하세요.3015* 새로 설치한 경우 `claude`를 시작하고 세션이 로드될 때까지 기다린 후 종료하고 `claude import`를 다시 실행합니다.

2816* 기능 플래그 가져오기가 꺼진 경우 구성을 직접 설정하세요: [`claude mcp add`](/docs/ko/mcp#installing-mcp-servers)로 MCP 서버를 추가하고 [CLAUDE.md 파일](/docs/ko/memory#how-claude-md-files-load), [스킬 및 명령어](/docs/ko/skills#where-skills-live) 및 [하위 에이전트](/docs/ko/sub-agents#choose-the-subagent-scope)를 생성하세요. 메시지는 또한 `~/.claude/settings.json`을 이름 지정합니다. `claude import`가 이월하는 구성 중에서 해당 파일은 [권한 모드](/docs/ko/settings-reference#permission-settings)만 보유합니다. Claude Code는 이 파일에서 MCP 서버를 읽지 않습니다.3016* 기능 플래그 가져오기가 꺼진 경우 구성을 직접 설정합니다: [`claude mcp add`](/docs/ko/mcp#installing-mcp-servers)로 MCP 서버를 추가하고 [`CLAUDE.md` 파일](/docs/ko/memory#how-claude-md-files-load), [스킬 및 명령어](/docs/ko/skills#where-skills-live) 및 [하위 에이전트](/docs/ko/sub-agents#choose-the-subagent-scope)를 만듭니다. 메시지는 또한 `~/.claude/settings.json`을 이름 지정합니다. `claude import`가 이월하는 구성 중에서 해당 파일은 [권한 모드](/docs/ko/settings-reference#permission-settings)만 보유합니다. Claude Code는 이 파일에서 MCP 서버를 읽지 않습니다.

2817 3017 

2818<h3 id="could-not-read-claude-code-config">3018<h3 id="could-not-read-claude-code-config">

2819 Claude Code 구성을 읽을 수 없음3019 Claude Code 구성을 읽을 수 없음

2820</h3>3020</h3>

2821 3021 

2822Claude Code가 로그인 및 프로젝트별 상태를 저장하는 파일인 `~/.claude.json`을 파싱할 수 없는 동안 [`claude import`](/docs/ko/cli-reference#cli-commands)를 실행했습니다. 하위 명령어는 가용성을 확인하기 위해 해당 파일을 읽지만 대화형 세션이 표시하는 복구 대화를 표시하지 않으므로 코드 1로 종료됩니다. v2.1.222 이전에는 읽을 수 없는 구성 파일이 있는 `claude import`가 대화형 세션을 시작했으며, 복구 대화가 파일을 처리했습니다.3022로그인 및 프로젝트별 상태를 저장하는 파일인 `~/.claude.json`을 파싱할 수 없는 동안 [`claude import`](/docs/ko/cli-reference#cli-commands)를 실행했습니다. 하위 명령어는 가용성을 확인하기 위해 해당 파일을 읽지만 대화형 세션이 표시하는 복구 대화를 표시하지 않으므로 코드 1로 종료됩니다. v2.1.222 이전에는 읽을 수 없는 구성 파일이 있는 `claude import`가 대화형 세션을 시작했고 복구 대화가 파일을 처리했습니다.

2823 3023 

2824```text theme={null}3024```text theme={null}

2825Could not read Claude Code config — run `claude` with no arguments to recover it.3025Could not read Claude Code config — run `claude` with no arguments to recover it.


2827 3027 

2828**해야 할 일:**3028**해야 할 일:**

2829 3029 

2830* 인수 없이 `claude`를 실행하세요. Claude Code가 유효하지 않은 파일을 감지하고 재설정을 제안합니다. 그런 다음 `claude import`를 다시 실행하세요.3030* 인수 없이 `claude`를 실행합니다. Claude Code가 유효하지 않은 파일을 감지하고 재설정을 제안합니다. 그런 다음 `claude import`를 다시 실행합니다.

2831* 수동으로 편집한 내용을 유지하려면 편집기에서 `~/.claude.json`의 JSON 구문을 수정한 후 `claude import`를 다시 실행하세요.3031* 수동으로 편집한 내용을 유지하려면 편집기에서 `~/.claude.json`의 JSON 구문을 수정한 후 `claude import`를 다시 실행합니다.

2832 3032 

2833<h3 id="could-not-import-a-server-from-claude-desktop">3033<h3 id="could-not-import-a-server-from-claude-desktop">

2834 Claude Desktop에서 서버를 가져올 수 없음3034 Claude Desktop에서 서버를 가져올 수 없음

2835</h3>3035</h3>

2836 3036 

2837Claude Code가 `claude mcp add-from-claude-desktop`에서 선택한 서버 중 하나를 추가할 수 없습니다. 명령어는 여전히 다른 선택된 서버를 가져오고 추가할 수 없는 각 서버당 한 줄을 인쇄합니다. v2.1.205 이전에는 실패한 첫 번째 서버가 가져오기를 중지했고 선택된 서버 중 어느 것도 추가되지 않았습니다.3037Claude Code가 `claude mcp add-from-claude-desktop`에서 선택한 서버 중 하나를 추가할 수 없습니다. 명령어는 여전히 다른 선택된 서버를 가져오고 추가할 수 없는 각 서버당 한 줄을 출력합니다. v2.1.205 이전에는 실패한 첫 번째 서버가 가져오기를 중지했고 선택된 서버 중 어느 것도 추가되지 않았습니다.

2838 3038 

2839```text theme={null}3039```text theme={null}

2840Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3040Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

2841```3041```

2842 3042 

2843서버 이름 뒤의 텍스트가 이유입니다. 가장 일반적인 것은 이름 확인입니다: Claude Desktop은 서버 이름에 공백과 마침표 같은 문자를 허용하지만 `claude mcp`는 문자, 숫자, 하이픈 및 밑줄로 제한합니다. 다른 이유로는 검증에 실패한 서버 구성과 조직의 [MCP 정책](/docs/ko/managed-mcp)에 의해 차단된 서버가 있습니다.3043서버 이름 뒤의 텍스트는 이유입니다. 가장 일반적인 것은 이름 확인입니다: Claude Desktop은 서버 이름에 공백 및 마침표 같은 문자를 허용하지만 `claude mcp`는 문자, 숫자, 하이픈 및 밑줄로 제한합니다. 다른 이유로는 검증에 실패하는 서버 구성과 조직의 [MCP 정책](/docs/ko/managed-mcp)에 의해 차단된 서버가 있습니다.

2844 3044 

2845**해야 할 일:**3045**해야 할 일:**

2846 3046 

2847* `claude_desktop_config.json`에서 서버 이름을 문자, 숫자, 하이픈 및 밑줄만 사용하도록 변경한 후 `claude mcp add-from-claude-desktop`을 다시 실행하세요.3047* `claude_desktop_config.json`에서 서버 이름을 문자, 숫자, 하이픈 및 밑줄만 사용하도록 바꾼 후 `claude mcp add-from-claude-desktop`을 다시 실행합니다.

2848* 유효한 이름으로 `claude mcp add` 또는 `claude mcp add-json`을 사용하여 해당 서버를 직접 추가하세요. [Claude Desktop에서 MCP 서버 가져오기](/docs/ko/mcp#import-mcp-servers-from-claude-desktop)를 참조하세요.3048* 유효한 이름으로 `claude mcp add` 또는 `claude mcp add-json`을 사용하여 해당 서버를 직접 추가합니다. [Claude Desktop에서 MCP 서버 가져오기](/docs/ko/mcp#import-mcp-servers-from-claude-desktop)를 참조하세요.

2849 3049 

2850<h3 id="cannot-add-mcp-server-to-the-managed-scope">3050<h3 id="cannot-add-mcp-server-to-the-managed-scope">

2851 MCP 서버를 관리 범위에 추가할 수 없음3051 MCP 서버를 관리 범위에 추가할 수 없음

2852</h3>3052</h3>

2853 3053 

2854`--scope managed`로 `claude mcp add` 또는 `claude mcp add-json`을 실행했습니다. 해당 범위는 조직이 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) 관리 설정을 통해 제공하는 서버를 보유합니다. Claude Code는 관리 설정에서만 이를 읽으므로 명령어가 해당 범위에 서버를 쓸 수 없습니다.3054`--scope managed`로 `claude mcp add` 또는 `claude mcp add-json`을 실행했습니다. 해당 범위는 조직이 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) 관리 설정을 통해 제공하는 서버를 보유합니다. Claude Code는 관리 설정에서만 읽으므로 명령어가 해당 범위에 서버를 쓸 수 없습니다.

2855 3055 

2856```text theme={null}3056```text theme={null}

2857Cannot add MCP server to scope: managed3057Cannot add MCP server to scope: managed


2859 3059 

2860**해야 할 일:**3060**해야 할 일:**

2861 3061 

2862* 쓸 수 있는 범위에 서버를 추가하세요: `local`, `user` 또는 `project`. `--scope` 없이 명령어는 `local`을 사용합니다. [MCP 설치 범위](/docs/ko/mcp#mcp-installation-scopes)를 참조하세요.3062* 쓸 수 있는 범위에 서버를 추가합니다: `local`, `user` 또는 `project`. `--scope` 없이 명령어는 `local`을 사용합니다. [MCP 설치 범위](/docs/ko/mcp#mcp-installation-scopes)를 참조하세요.

2863* 조직의 모든 사용자에게 서버를 제공하려면 배포하는 관리 설정의 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)에 추가하세요.3063* 조직의 모든 사용자에게 서버를 제공하려면 배포하는 관리 설정의 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)에 추가합니다.

2864 3064 

2865<h3 id="cant-read-mcp-json">3065<h3 id="cant-read-mcp-json">

2866 .mcp.json을 읽을 수 없음3066 .mcp.json을 읽을 수 없음

2867</h3>3067</h3>

2868 3068 

2869프로젝트의 [`.mcp.json`](/docs/ko/mcp#project-scope)을 읽는 명령어(예: `--scope project`로 `claude mcp add` 또는 `claude mcp add-json`, 또는 `claude mcp remove`)가 현재 디렉토리의 파일이 일반 파일이 아니거나 2MiB보다 크다는 것을 발견했으므로 파일을 읽는 대신 이 오류로 종료됩니다.3069프로젝트의 [`.mcp.json`](/docs/ko/mcp#project-scope)을 읽는 명령어(예: `--scope project`로 `claude mcp add` 또는 `claude mcp add-json` 또는 `claude mcp remove`)가 현재 디렉토리의 파일이 일반 파일이 아니거나 2MiB보다 크다는 것을 발견했으므로 파일을 읽는 대신 이 오류로 종료됩니다.

2870 3070 

2871```text theme={null}3071```text theme={null}

2872Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.3072Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.

2873```3073```

2874 3074 

2875v2.1.257 이전에는 `.mcp.json`의 FIFO가 명령어를 출력 없이 영원히 기다리게 했으며, `/dev/zero` 같은 장치 파일로의 심볼릭 링크가 프로세스가 종료될 때까지 메모리를 증가시켰습니다.3075v2.1.257 이전에는 `.mcp.json`의 FIFO가 명령어를 출력 없이 영원히 기다리게 했고 `/dev/zero` 같은 장치 파일에 대한 심볼릭 링크가 프로세스가 종료될 때까지 메모리를 증가시켰습니다.

2876 3076 

2877**해야 할 일:**3077**해야 할 일:**

2878 3078 

2879* 현재 디렉토리의 `.mcp.json`에 무엇이 있는지 확인하세요. [프로젝트 범위 형식](/docs/ko/mcp#project-scope)의 일반 JSON 파일로 바꾸거나 삭제한 후 명령어를 다시 실행하세요.3079* 현재 디렉토리의 `.mcp.json`에 무엇이 있는지 확인합니다. [프로젝트 범위 형식](/docs/ko/mcp#project-scope)의 일반 JSON 파일로 바꾸거나 삭제한 후 명령어를 다시 실행합니다.

2880 3080 

2881<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3081<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">

2882 서버는 Anthropic 호스팅이며 로컬 OAuth를 지원하지 않음3082 서버는 Anthropic 호스팅이며 로컬 OAuth를 지원하지 않음


2888"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.3088"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.

2889```3089```

2890 3090 

2891Claude Code는 URL로 이러한 호스트를 일치시키므로 `claude mcp add` 또는 `.mcp.json`에 추가한 서버가 이 중 하나를 가리킬 때 메시지가 나타납니다.3091Claude Code는 URL로 이러한 호스트를 일치시키므로 `claude mcp add` 또는 `.mcp.json`으로 추가한 서버가 이 중 하나를 가리킬 때 메시지가 나타납니다.

2892 3092 

2893**해야 할 일:**3093**해야 할 일:**

2894 3094 

2895* `claude mcp remove <name>`으로 항목을 제거하여 같은 URL의 claude.ai 커넥터를 숨길 수 없도록 하세요.3095* `claude mcp remove <name>`으로 항목을 제거하여 같은 URL의 claude.ai 커넥터를 숨길 수 없습니다.

2896* 제거한 후 Claude Code에 로그인한 계정을 사용하는 동안 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 서비스를 연결하세요. 연결되면 활성 인증 방법이 claude.ai 구독 로그인이면 [커넥터가 Claude Code에 자동으로 나타납니다](/docs/ko/mcp#use-mcp-servers-from-claude-ai).3096* 제거한 후 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 서비스를 연결합니다. Claude Code에서 사용하는 계정에 로그인합니다. 연결되면 활성 인증 방법이 claude.ai 구독 로그인이면 [커넥터가 Claude Code에 자동으로 나타납니다](/docs/ko/mcp#use-mcp-servers-from-claude-ai).

2897 3097 

2898<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">3098<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">

2899 서버가 구성된 headersHelper에 의해 발행된 Authorization 헤더를 거부함3099 서버가 구성된 headersHelper에 의해 발행된 Authorization 헤더를 거부함

2900</h3>3100</h3>

2901 3101 

2902[`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)가 `Authorization` 헤더를 제공하는 MCP 서버가 HTTP 401 또는 403으로 연결에 응답했으므로 Claude Code는 연결을 실패로 보고합니다. 헬퍼가 `Authorization` 헤더를 제공하므로 Claude Code는 [OAuth로 폴백하지 않습니다](/docs/ko/mcp#authenticate-with-remote-mcp-servers):3102[`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)가 `Authorization` 헤더를 제공하는 MCP 서버가 HTTP 401 또는 403으로 연결에 응답했으므로 Claude Code는 연결을 실패로 보고합니다. 헬퍼가 `Authorization` 헤더를 제공하므로 Claude Code는 [서버에 대해 OAuth로 폴백하지 않습니다](/docs/ko/mcp#authenticate-with-remote-mcp-servers):

2903 3103 

2904```text theme={null}3104```text theme={null}

2905Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.3105Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.

2906```3106```

2907 3107 

2908Claude Code는 각 연결 시도에서 헬퍼를 다시 실행하므로 토큰 회전 경쟁 같은 일시적 거부 후 재시도가 새로운 자격 증명으로 성공할 수 있습니다.3108Claude Code는 각 연결 시도에서 헬퍼를 다시 실행하므로 토큰 회전 경쟁 같은 일시적 거부 후 재시도가 새 자격 증명으로 성공할 수 있습니다.

2909 3109 

2910**해야 할 일:**3110**해야 할 일:**

2911 3111 

2912* Claude Code가 실행하는 방식으로 `headersHelper` 명령어를 직접 실행하세요: [Claude Code가 실행하는 디렉토리](/docs/ko/mcp#where-the-helper-runs)에서, [Claude Code가 설정하는 환경 변수](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)를 사용하여, 프로젝트 `.mcp.json`, 플러그인 또는 프로젝트 에이전트 파일의 서버에 대해 [Claude Code가 제거하는 자격 증명 변수](/docs/ko/mcp#which-variables-a-helper-can-read) 없이. 서버의 엔드포인트가 수용하는 `Authorization` 값을 인쇄하는지 확인하세요.3112* Claude Code가 실행하는 방식으로 `headersHelper` 명령어를 직접 실행합니다: [Claude Code가 실행하는 디렉토리](/docs/ko/mcp#where-the-helper-runs)에서, [Claude Code가 설정하는 환경 변수](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)를 사용하고, [Claude Code가 프로젝트 `.mcp.json`, 플러그인 또는 프로젝트 에이전트 파일의 서버에 대해 제거하는 자격 증명 변수](/docs/ko/mcp#which-variables-a-helper-can-read) 없이. 서버의 엔드포인트가 허용하는 `Authorization` 값을 출력하는지 확인합니다.

2913* 헬퍼 또는 자격 증명 소스를 수정한 후 `/mcp`에서 서버를 선택하고 **Reconnect**를 선택하세요.3113* 헬퍼 또는 자격 증명 소스를 수정한 후 `/mcp`에서 서버를 선택하고 **Reconnect**를 선택합니다.

2914 3114 

2915v2.1.248 이전에는 Claude Code가 헬퍼가 `Authorization` 헤더를 제공하는 서버에 대해 OAuth 검색을 실행했습니다. 해당 검색이 거부된 자격 증명을 보고하는 대신 `Incompatible auth server: does not support dynamic client registration`으로 실패할 수 있습니다.3115v2.1.248 이전에는 Claude Code가 헬퍼가 `Authorization` 헤더를 제공하는 서버에 대해 OAuth 검색을 실행했습니다. 해당 검색은 거부된 자격 증명을 보고하는 대신 `Incompatible auth server: does not support dynamic client registration`으로 실패할 수 있습니다.

2916 3116 

2917<h3 id="mcp-permission-prompt-tool-not-found">3117<h3 id="mcp-permission-prompt-tool-not-found">

2918 MCP 권한 프롬프트 도구를 찾을 수 없음3118 MCP 권한 프롬프트 도구를 찾을 수 없음

2919</h3>3119</h3>

2920 3120 

2921[`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)에 전달한 도구가 실행이 처음 권한 결정이 필요할 때 연결된 MCP 도구 중에 없습니다. 서버가 연결되지 않았거나 연결된 서버가 해당 이름의 도구를 노출하지 않기 때문입니다. Claude Code는 여전히 프롬프트를 보냅니다: [비대화형](/docs/ko/headless) 실행이 승인이 필요한 첫 번째 도구 호출에서 이 오류로 종료되고 코드 1로 종료되므로 요청이 이루어졌음에도 불구하고 답변을 생성하지 않습니다. 첫 번째 프롬프트 전에 Claude Code는 [`MCP_TIMEOUT`](/docs/ko/env-vars)으로 설정된 서버당 연결 타임아웃 30초까지 해당 서버가 연결될 때까지 기다립니다. v2.1.206 이전에는 시작이 서버가 연결을 마칠 때까지 기다리지 않았으므로 느리게 시작하지만 정상인 서버가 이 오류를 생성했습니다.3121[`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)에 전달한 도구가 실행이 처음 권한 결정이 필요할 때 연결된 MCP 도구 중에 없습니다. 서버가 연결되지 않았거나 연결된 서버가 해당 이름의 도구를 노출하지 않기 때문입니다. Claude Code는 여전히 프롬프트를 보냅니다: [비대화형](/docs/ko/headless) 실행은 승인이 필요한 첫 번째 도구 호출에서 이 오류로 종료되고 코드 1로 종료되므로 요청이 이루어졌음에도 불구하고 답변을 생성하지 않습니다. 첫 번째 프롬프트 전에 Claude Code는 [`MCP_TIMEOUT`](/docs/ko/env-vars)으로 설정된 서버당 연결 타임아웃 30초까지 해당 서버가 연결될 때까지 기다립니다. v2.1.206 이전에는 시작이 서버가 연결을 완료할 때까지 기다리지 않았으므로 느리게 시작하지만 정상인 서버가 이 오류를 생성했습니다.

2922 3122 

2923```text theme={null}3123```text theme={null}

2924Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3124Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none


2928 3128 

2929**해야 할 일:**3129**해야 할 일:**

2930 3130 

2931* 서버가 시작되고 연결된 상태를 유지하는지 확인하세요: 같은 디렉토리에서 `claude mcp list`를 실행하고 서버가 연결됨으로 나열되는지 확인하세요.3131* 서버가 시작되고 연결된 상태로 유지되는지 확인합니다: 같은 디렉토리에서 `claude mcp list`를 실행하고 서버가 연결됨으로 나열되는지 확인합니다.

2932* 도구 이름이 서버가 노출하는 `mcp__<server>__<tool>` 이름과 일치하는지 확인하세요.3132* 도구 이름이 서버가 노출하는 `mcp__<server>__<tool>` 이름과 일치하는지 확인합니다.

2933* 서버가 시작하는 데 30초 이상 필요하면 [`MCP_TIMEOUT`](/docs/ko/env-vars)을 높이세요.3133* 서버가 시작하는 데 30초 이상 필요하면 [`MCP_TIMEOUT`](/docs/ko/env-vars)을 높입니다.

2934 3134 

2935<h3 id="oauth-callback-port-is-already-in-use">3135<h3 id="oauth-callback-port-is-already-in-use">

2936 OAuth 콜백 포트가 이미 사용 중3136 OAuth 콜백 포트가 이미 사용 중

2937</h3>3137</h3>

2938 3138 

2939OAuth를 사용하여 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 수신하기 위해 로컬 리스너를 시작합니다. 해당 리스너가 필요한 포트가 다른 프로세스에 의해 보유되면 로그인이 이 메시지로 실패합니다. 이는 주로 [`MCP_OAUTH_CALLBACK_PORT`](/docs/ko/env-vars) 변수 또는 `--callback-port`를 통해 설정된 [고정 콜백 포트](/docs/ko/mcp#use-a-fixed-oauth-callback-port)에서 발생합니다. 없으면 Claude Code가 사용 가능한 포트를 선택하기 때문입니다.3139OAuth를 사용하여 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 수신하기 위해 로컬 리스너를 시작합니다. 해당 리스너가 필요한 포트가 다른 프로세스에 의해 보유되면 로그인이 이 메시지로 실패합니다. 이는 주로 [`MCP_OAUTH_CALLBACK_PORT`](/docs/ko/env-vars) 변수 또는 `--callback-port`를 통해 설정된 [고정 콜백 포트](/docs/ko/mcp#use-a-fixed-oauth-callback-port)에서 발생합니다. 하나 없이 Claude Code는 사용 가능한 포트를 선택합니다.

2940 3140 

2941```text theme={null}3141```text theme={null}

2942OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3142OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.


2946 3146 

2947**해야 할 일:**3147**해야 할 일:**

2948 3148 

2949* 메시지의 명령어를 실행하여 포트를 보유한 프로세스를 찾고 중지하거나 완료될 때까지 기다리세요.3149* 메시지의 명령어를 실행하여 포트를 보유하는 프로세스를 찾고 중지하거나 완료될 때까지 기다립니다.

2950* 다른 프로그램이 해당 포트를 영구적으로 필요로 하면 서버에 다른 리디렉션 URI를 등록하고 `MCP_OAUTH_CALLBACK_PORT` 또는 `--callback-port`(사용하는 것)로 포트를 설정하세요.3150* 다른 프로그램이 해당 포트를 영구적으로 필요로 하면 서버에 다른 리디렉션 URI를 등록하고 `MCP_OAUTH_CALLBACK_PORT` 또는 `--callback-port`(사용하는 것)로 포트를 설정합니다.

2951* 그런 다음 로그인을 다시 시작하세요. 예를 들어 `/mcp`에서 서버를 선택하세요.3151* 그런 다음 로그인을 다시 시작합니다. 예를 들어 `/mcp`에서 서버를 선택합니다.

2952 3152 

2953<h3 id="no-available-ports-for-oauth-redirect">3153<h3 id="no-available-ports-for-oauth-redirect">

2954 OAuth 리디렉션에 사용 가능한 포트 없음3154 OAuth 리디렉션에 사용 가능한 포트 없음


2964 3164 

2965**해야 할 일:**3165**해야 할 일:**

2966 3166 

2967* 보안 소프트웨어 또는 샌드박스 정책이 프로세스가 `127.0.0.1`에서 수신 대기하는 것을 차단하는지 확인하고 Claude Code가 로컬 포트를 바인드하도록 허용하세요.3167* 보안 소프트웨어 또는 샌드박스 정책이 프로세스가 `127.0.0.1`에서 수신 대기하는 것을 차단하는지 확인하고 Claude Code가 로컬 포트를 바인드하도록 허용합니다.

2968* 그런 다음 로그인을 다시 시작하세요. 예를 들어 `/mcp`에서 서버를 선택하세요.3168* 그런 다음 로그인을 다시 시작합니다. 예를 들어 `/mcp`에서 서버를 선택합니다.

2969 3169 

2970<h3 id="security-review-fails-without-origin-head">3170<h3 id="security-review-fails-without-origin-head">

2971 /security-review가 origin/HEAD 없이 실패함3171 /security-review가 origin/HEAD 없이 실패함


2980'git <command> [<revision>...] -- [<file>...]'3180'git <command> [<revision>...] -- [<file>...]'

2981```3181```

2982 3182 

2983메시지는 `git log` 또는 다른 `git diff`를 인용할 수 있습니다. Git은 원격이 기본 분기를 광고하고 fetch refspec이 이를 포함할 때만 `origin/HEAD`를 생성합니다. 전체 `git clone`이 커밋이 있는 원격을 수행합니다. ref는 이러한 설정에서 누락됩니다:3183메시지는 대신 `git log` 또는 다른 `git diff`를 인용할 수 있습니다. Git은 원격이 기본 분기를 광고하고 fetch refspec이 이를 포함할 때만 `origin/HEAD`를 만듭니다. 전체 `git clone`이 커밋이 있는 원격을 수행합니다. ref는 이러한 설정에서 누락됩니다:

2984 3184 

2985* 단일 분기 또는 CI 체크아웃(너무 좁은 refspec을 가져옴)3185* 단일 분기 또는 CI 체크아웃(너무 좁은 refspec을 가져옴)

2986* 서버 측 HEAD가 아무도 푸시하지 않은 분기를 가리키는 원격3186* 서버 측 HEAD가 아무도 푸시하지 않은 분기를 가리키는 원격

2987* `origin` 원격이 없거나 절대 가져오지 않은 저장소3187* `origin` 원격이 없거나 가져온 적이 없는 저장소

2988 3188 

2989Claude Code는 [동적 컨텍스트를 주입](/docs/ko/skills#when-an-injected-command-fails)하는 모든 스킬에 대해 같은 오류를 표시하며, 실패한 주입 명령어는 해당 스킬의 호출을 중단합니다. 명령어가 실행되기 전에 두 개의 형제 문자열이 발생합니다:3189Claude Code는 [동적 컨텍스트를 주입](/docs/ko/skills#when-an-injected-command-fails)하는 모든 스킬에 대해 동일한 오류를 표시하고 실패한 주입 명령어는 해당 스킬의 호출을 중단합니다. 명령어가 실행되기 전에 두 개의 형제 문자열이 발생합니다:

2990 3190 

2991* `Shell command permission check failed for pattern "..."`: 명령어의 권한 확인이 이를 허용하지 않았습니다. [주입 명령어의 권한 확인](/docs/ko/skills#permission-checks-on-injected-commands)은 각 권한 모드에서 어떤 결과가 중단되는지 그리고 `allowed-tools`로 명령어를 사전 승인하는 방법을 다룹니다.3191* `Shell command permission check failed for pattern "..."`: 명령어의 권한 확인이 허용하지 않았습니다. [주입 명령어의 권한 확인](/docs/ko/skills#permission-checks-on-injected-commands)은 각 권한 모드에서 어떤 결과가 중단되는지 그리고 `allowed-tools`로 명령어를 사전 승인하는 방법을 다룹니다.

2992* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: 스킬의 frontmatter가 bash가 없는 머신에서 bash를 요구합니다. Git for Windows를 설치하거나 frontmatter를 `shell: powershell`로 변경하세요. [주입 명령어가 실행되는 방식](/docs/ko/skills#how-injected-commands-run)을 참조하세요.3192* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: 스킬의 frontmatter가 bash가 없는 머신에서 bash를 요구합니다. Git for Windows를 설치하거나 frontmatter를 `shell: powershell`로 변경합니다. [주입 명령어가 실행되는 방식](/docs/ko/skills#how-injected-commands-run)을 참조하세요.

2993 3193 

2994**해야 할 일:**3194**해야 할 일:**

2995 3195 

2996* 원격의 기본 분기를 이름 지정하여 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`를 다시 실행하세요.3196* 원격의 기본 분기를 이름 지정하여 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`를 다시 실행합니다.

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

2998* 저장소에 원격이 없으면 `git remote add origin <url>`로 추가하고 ref를 생성하기 전에 가져오세요. 원격이 비어 있으면 `git push -u origin HEAD`로 분기를 먼저 푸시하고 set-head 명령어에서 해당 분기를 이름 지정하세요. `origin/HEAD`는 방금 푸시한 분기를 가리키므로 `/security-review`는 분기가 이로부터 분기될 때까지 빈 diff를 봅니다.3198* 저장소에 원격이 없으면 `git remote add origin <url>`로 추가하고 ref를 만들기 전에 가져옵니다. 원격이 비어 있으면 `git push -u origin HEAD`로 분기를 먼저 푸시하고 set-head 명령어에서 해당 분기를 이름 지정합니다. `origin/HEAD`는 방금 푸시한 분기를 가리키므로 분기가 이와 달라질 때까지 `/security-review`는 빈 diff를 봅니다.

2999 3199 

3000<h3 id="input-must-be-provided-when-using-print">3200<h3 id="input-must-be-provided-when-using-print">

3001 \--print 사용 시 입력을 제공해야 함3201 \--print 사용 시 입력을 제공해야 함

3002</h3>3202</h3>

3003 3203 

3004베어 `claude`는 대화형 UI를 시작하기 위해 stdout이 터미널이어야 합니다. stdout이 리디렉션되거나 PowerShell ISE 및 일부 IDE 출력 창 같은 실제 터미널이 아닐 때 `claude`는 [비대화형](/docs/ko/headless) 모드로 실행됩니다. 이는 프롬프트가 필요한 `claude -p`와 같은 모드이므로 메시지는 플래그를 전달하지 않았을 때도 `--print`를 이름 지정합니다. 프롬프트 없이 `-p`/`--print`를 전달하고 stdin에 파이프된 것이 없으면 어디서나 같은 오류를 생성합니다.3204베어 `claude`는 대화형 UI를 시작하기 위해 stdout이 터미널이어야 합니다. stdout이 리디렉션되거나 PowerShell ISE 및 일부 IDE 출력 창 같은 실제 터미널이 아닐 때 `claude`는 대신 [비대화형](/docs/ko/headless)으로 실행됩니다. 이는 프롬프트가 필요한 `claude -p`와 동일한 모드이므로 메시지는 플래그를 전달하지 않았을 때도 `--print`를 이름 지정합니다. `-p`/`--print`를 프롬프트 없이 전달하고 stdin에 파이프된 것이 없으면 어디서나 동일한 오류를 생성합니다.

3005 3205 

3006```text theme={null}3206```text theme={null}

3007Error: Input must be provided either through stdin or as a prompt argument when using --print3207Error: Input must be provided either through stdin or as a prompt argument when using --print


3009 3209 

3010**해야 할 일:**3210**해야 할 일:**

3011 3211 

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

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

3014 3214 

3015<h3 id="input-contained-only-whitespace">3215<h3 id="input-contained-only-whitespace">

3016 입력에 공백만 포함됨3216 입력에 공백만 포함됨

3017</h3>3217</h3>

3018 3218 

3019[비대화형 모드](/docs/ko/headless)에서 Claude Code는 API가 보이는 텍스트가 없는 메시지를 거부하기 때문에 공백, 탭 또는 줄 바꿈으로만 구성된 프롬프트를 보내는 대신 거부합니다. 어떤 메시지를 보는지는 빈 프롬프트가 어디서 왔는지에 따라 다릅니다:3219[비대화형 모드](/docs/ko/headless)에서 Claude Code는 API가 보이는 텍스트가 없는 메시지를 거부하기 때문에 공백, 탭 또는 줄 바꿈으로만 구성된 프롬프트를 보내는 대신 거부합니다. 어떤 메시지를 보는지는 빈 프롬프트가 어디서 왔는지에 따라 달라집니다:

3020 3220 

3021* **`claude -p`의 프롬프트 인수 또는 파이프된 stdin**: `claude`가 `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`로 종료됩니다.3221* **`claude -p`의 프롬프트 인수 또는 파이프된 stdin**: `claude`는 `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`로 종료됩니다.

3022* **실행 중인 `--input-format stream-json` 또는 [Agent SDK](/docs/ko/agent-sdk/overview) 세션에 제출된 메시지**: Claude Code는 모델을 호출하지 않고 턴을 종료하며 세션은 사용 가능한 상태로 유지됩니다. 거부는 정보 메시지로 그리고 턴의 결과 텍스트로 도착합니다: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`3222* **실행 중인 `--input-format stream-json` 또는 [Agent SDK](/docs/ko/agent-sdk/overview) 세션에 제출된 메시지**: Claude Code는 모델을 호출하지 않고 턴을 종료하고 세션은 사용 가능한 상태로 유지됩니다. 거부는 정보 메시지로 그리고 턴의 결과 텍스트로 도착합니다: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`

3023 3223 

3024v2.1.229 이전에는 Claude Code가 공백 전용 메시지를 API로 보냈으며, API가 400 오류로 요청을 거부했습니다.3224v2.1.229 이전에는 Claude Code가 공백 전용 메시지를 API로 보냈고 API는 400 오류로 요청을 거부했습니다.

3025 3225 

3026**해야 할 일:**3226**해야 할 일:**

3027 3227 

3028* 프롬프트에 보이는 텍스트를 포함하세요. 스크립트가 변수 또는 파일에서 프롬프트를 구축하면 Claude Code를 호출하기 전에 소스가 비어 있지 않은지 확인하세요.3228* 프롬프트에 보이는 텍스트를 포함합니다. 스크립트가 변수 또는 파일에서 프롬프트를 구축하면 Claude Code를 호출하기 전에 소스가 비어 있지 않은지 확인합니다.

3029 3229 

3030<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3230<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">

3031 stream-json 입력이 줄 바꿈 없이 256M 문자를 초과함3231 stream-json 입력이 줄 바꿈 없이 256M 문자를 초과함

3032</h3>3232</h3>

3033 3233 

3034프로그램이 `claude -p --input-format stream-json` 실행에 stdin으로 줄 바꿈 없이 268,435,456자 이상을 보냈으므로 Claude Code는 이 오류를 stderr에 인쇄하고 더 많은 입력을 버퍼링하는 대신 코드 1로 종료됩니다. 메시지는 해당 예산을 `256M`으로 명시합니다. v2.1.257 이전에는 Claude Code가 이러한 입력을 제한 없이 버퍼링했으며, 프로세스가 충돌하거나 종료될 때까지 메모리를 증가시켰습니다.3234프로그램이 `claude -p --input-format stream-json` 실행에 stdin으로 줄 바꿈 없이 268,435,456자 이상을 보냈으므로 Claude Code는 이 오류를 stderr에 출력하고 더 많은 입력을 버퍼링하는 대신 코드 1로 종료됩니다. 메시지는 해당 예산을 `256M`으로 명시합니다. v2.1.257 이전에는 Claude Code가 이러한 입력을 제한 없이 버퍼링했고 프로세스가 충돌하거나 종료될 때까지 메모리를 증가시켰습니다.

3035 3235 

3036```text theme={null}3236```text theme={null}

3037Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.3237Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.

3038```3238```

3039 3239 

3040줄 바꿈 없이 이 정도로 긴 입력은 보통 생산자가 stream-json 생산자가 아니라는 의미입니다. 예를 들어 실수로 파이프된 바이너리 파일 또는 일반 로그 출력입니다. 예산을 초과하는 단일 메시지가 같은 확인에 실패합니다.3240줄 바꿈 없이 이 정도로 긴 입력은 보통 생산자가 stream-json 생산자가 아니라는 의미입니다. 예를 들어 실수로 파이프된 바이너리 파일 또는 일반 로그 출력입니다. 예산을 초과하는 단일 메시지는 동일한 확인에 실패합니다.

3041 3241 

3042**해야 할 일:**3242**해야 할 일:**

3043 3243 

3044* stdin으로 파이프되는 것을 확인하세요. [`--input-format stream-json`](/docs/ko/cli-reference#cli-flags)을 사용하면 모든 메시지는 하나의 줄 바꿈으로 끝나는 JSON 줄이어야 합니다.3244* stdin으로 파이프되는 것을 확인합니다. [`--input-format stream-json`](/docs/ko/cli-reference#cli-flags)을 사용하면 모든 메시지는 줄 바꿈으로 종료된 JSON 줄 하나여야 합니다.

3045* 일반 텍스트를 대신 보내려면 `--input-format stream-json`을 제거하세요. `claude -p`는 기본적으로 stdin에서 일반 텍스트 프롬프트를 읽습니다.3245* 일반 텍스트를 대신 보내려면 `--input-format stream-json`을 제거합니다. `claude -p`는 기본적으로 stdin에서 일반 텍스트 프롬프트를 읽습니다.

3046 3246 

3047<h3 id="unknown-command">3247<h3 id="unknown-command">

3048 알 수 없는 명령어3248 알 수 없는 명령어


3054Unknown command: /hepl. Did you mean /help?3254Unknown command: /hepl. Did you mean /help?

3055```3255```

3056 3256 

3057Claude Code는 이 세션의 메뉴가 나열하는 가장 가까운 명령어 이름 또는 별칭을 제안합니다. 가까운 것이 없으면 메시지가 이름 뒤에서 끝납니다. 원인은 보통 다음 중 하나입니다:3257Claude Code는 이 세션의 메뉴가 나열하는 가장 가까운 명령어 이름 또는 별칭을 제안합니다. 가까운 것이 없으면 메시지는 이름 뒤에 끝납니다. 원인은 보통 다음 중 하나입니다:

3058 3258 

3059* `/hepl`을 `/help`로 오타. [명령어 메뉴가 입력과 일치하는 방식](/docs/ko/commands#how-the-command-menu-matches-what-you-type)은 제출하기 전에 가까운 일치를 선택하는 것을 다룹니다.3259* `/hepl`을 `/help`로 하는 오타입니다. [명령어 메뉴가 입력과 일치하는 방식](/docs/ko/commands#how-the-command-menu-matches-what-you-type)은 제출하기 전에 가까운 일치를 선택하는 것을 다룹니다.

3060* 존재하지만 플랫폼, 계획 또는 인증 방법 같은 요구 사항이 충족되지 않아 이 세션에서 사용할 수 없는 명령어. [`/web-setup`](/docs/ko/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) 및 [`/schedule`](/docs/ko/routines#schedule-returns-unknown-command)의 문제 해결 항목이 두 가지 일반적인 경우를 안내합니다. 일부 명령어는 조직의 정책이 이를 비활성화할 때 [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy) 같은 자체 메시지로 응답합니다.3260* 플랫폼, 계획 또는 인증 방법 같은 요구 사항이 충족되지 않아 이 세션에서 사용할 수 없는 명령어입니다. [`/web-setup`](/docs/ko/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) 및 [`/schedule`](/docs/ko/routines#schedule-returns-unknown-command)의 문제 해결 항목은 두 가지 일반적인 경우를 안내합니다. 일부 명령어는 조직의 정책이 비활성화할 때 [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy) 같은 자체 메시지로 응답합니다.

3061* [플러그인](/docs/ko/plugins) 또는 [MCP 서버](/docs/ko/mcp#use-mcp-prompts-as-commands)의 명령어가 이 세션에 설치되거나 연결되지 않음.3261* [플러그인](/docs/ko/plugins/overview) 또는 [MCP 서버](/docs/ko/mcp#use-mcp-prompts-as-commands)의 명령어가 이 세션에 설치되거나 연결되지 않았습니다.

3062 3262 

3063Claude Code는 대화형 터미널 세션에서만 일치하지 않는 `/` 이름에 이 방식으로 응답합니다. 다른 모든 세션에서는 프롬프트를 Claude에 일반 메시지로 보냅니다. 명령어가 실행되지 않았고 Claude가 세션에서 실행할 수 있는 명령어 목록이 있다는 참고 사항이 포함됩니다. 이러한 세션에는 다음이 포함됩니다:3263Claude Code는 대화형 터미널 세션에서만 일치하지 않는 `/` 이름에 이 방식으로 응답합니다. 다른 모든 세션에서는 대신 프롬프트를 Claude에 일반 메시지로 보냅니다. 명령어가 실행되지 않았고 Claude가 세션에서 실행할 수 있는 명령어 목록이 있다는 메모가 포함됩니다. 이러한 세션에는 다음이 포함됩니다:

3064 3264 

3065* `-p` 실행3265* `-p` 실행

3066* [Agent SDK](/docs/ko/agent-sdk/overview) 애플리케이션3266* [Agent SDK](/docs/ko/agent-sdk/overview) 애플리케이션

3067* [Desktop app](/docs/ko/desktop)의 Code 탭3267* [Desktop 앱](/docs/ko/desktop)의 Code 탭

3068* [VS Code extension](/docs/ko/vs-code)의 채팅 패널3268* [VS Code 확장](/docs/ko/vs-code)의 채팅 패널

3069* [클라우드 세션](/docs/ko/claude-code-on-the-web) 및 [루틴](/docs/ko/routines)3269* [클라우드 세션](/docs/ko/claude-code-on-the-web) 및 [루틴](/docs/ko/routines)

3070 3270 

3071이러한 세션 중 하나에서 실행할 수 없는 기본 제공 명령어의 경우 Claude Code는 여전히 명령어를 Claude로 보내는 대신 사용할 수 없다고 응답합니다. v2.1.274 이전에는 클라우드 세션과 루틴만 일치하지 않는 이름을 Claude로 보냈습니다. v2.1.273 이전에는 `Unknown command`로도 응답했습니다.3271이러한 세션 중 하나에서 실행할 수 없는 기본 제공 명령어의 경우 Claude Code는 여전히 명령어를 Claude로 보내는 대신 사용할 수 없다고 응답합니다. v2.1.274 이전에는 클라우드 세션과 루틴만 일치하지 않는 이름을 Claude로 보냈습니다. v2.1.273 이전에는 `Unknown command`로도 응답했습니다.

3072 3272 

3073Claude Code는 `/`로 시작하는 모든 프롬프트를 명령어로 취급하지 않습니다. `/` 뒤의 첫 번째 단어가 Lean doc 주석을 여는 `/--` 같은 구두점으로 시작하거나 `/var/log/syslog` 같은 경로일 때 프롬프트를 Claude에 일반 메시지로 보냅니다.3273Claude Code는 `/`로 시작하는 모든 프롬프트를 명령어로 취급하지 않습니다. `/` 뒤의 첫 번째 단어가 Lean doc 주석을 여는 `/-` 같은 구두점으로 시작하거나 `/var/log/syslog` 같은 경로일 때 프롬프트를 Claude에 일반 메시지로 보냅니다.

3074 3274 

3075v2.1.236 이전에는 입력한 이름에 대해 명령어 메뉴가 가까운 일치를 나열하는 동안 Enter를 누르면 Claude Code가 해당 일치를 실행했으므로 `/hepl` 같은 오타가 이 메시지를 생성하는 대신 `/help`를 실행했습니다.3275v2.1.236 이전에는 명령어 메뉴가 입력한 이름에 대한 가까운 일치를 나열하는 동안 Enter를 누르면 Claude Code가 일치를 실행했으므로 `/hepl` 같은 오타가 이 메시지를 생성하는 대신 `/help`를 실행했습니다.

3076 3276 

3077**해야 할 일:**3277**해야 할 일:**

3078 3278 

3079* 제안된 이름을 실행하거나 `/`를 입력한 후 이름의 일부를 입력하여 이 세션에서 사용 가능한 것을 확인하세요.3279* 제안된 이름을 실행하거나 `/` 뒤에 이름의 일부를 입력하여 이 세션에서 사용 가능한 것을 확인합니다.

3080* Claude Code가 문서화된 명령어를 알 수 없는 것으로 보고하면 [명령어 참조](/docs/ko/commands)의 행에서 이름 지정하는 요구 사항을 확인하세요.3280* Claude Code가 문서화된 명령어를 알 수 없는 것으로 보고하면 [명령어 참조](/docs/ko/commands)의 행에서 이름 지정하는 요구 사항을 확인합니다.

3081 3281 

3082<h3 id="diff-is-too-large-for-ultrareview">3282<h3 id="diff-is-too-large-for-ultrareview">

3083 Diff가 ultrareview에 너무 큼3283 Diff가 ultrareview에 너무 큼

3084</h3>3284</h3>

3085 3285 

3086분기와 기본 분기 간의 diff(커밋되지 않은 변경 사항 및 스테이징된 변경 사항 포함)가 [ultrareview](/docs/ko/ultrareview)의 크기 제한을 초과하므로 `/code-review ultra` 및 `claude ultrareview` 하위 명령어가 클라우드 세션이 시작되기 전에 검토를 거부합니다. 거부된 검토는 무료 실행을 사용하지 않으며 사용 크레딧을 청구하지 않습니다. 메시지는 적용 중인 제한, diff의 크기 및 가장 많은 변경된 줄에 기여하는 파일을 이름 지정합니다. v2.1.216 이전에는 메시지가 원본 diff 통계만 표시했습니다.3286분기와 기본 분기 간의 diff(커밋되지 않은 변경 사항 및 스테이징된 변경 사항 포함)가 [ultrareview](/docs/ko/ultrareview)의 크기 제한을 초과하므로 `/code-review ultra` 및 `claude ultrareview` 하위 명령어는 클라우드 세션이 시작되기 전에 검토를 거부합니다. 거부된 검토는 무료 실행을 사용하지 않으며 사용 크레딧을 청구하지 않습니다. 메시지는 적용 중인 제한, diff의 크기 및 가장 많은 변경된 줄에 기여하는 파일을 이름 지정합니다. v2.1.216 이전에는 메시지가 원시 diff 통계만 표시했습니다.

3087 3287 

3088```text theme={null}3288```text theme={null}

3089Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.3289Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.

3090```3290```

3091 3291 

3092풀 요청을 검토하면 같은 제한이 적용됩니다. 해당 형식의 메시지는 `PR #<N> is too large for ultrareview`로 시작하고 PR의 파일 및 줄 수를 이름 지정합니다.3292풀 요청을 검토하면 동일한 제한이 적용됩니다. 해당 형식의 메시지는 `PR #<N> is too large for ultrareview`로 시작하고 PR의 파일 및 줄 수를 이름 지정합니다.

3093 3293 

3094**해야 할 일:**3294**해야 할 일:**

3095 3295 

3096* 기본 분기를 더 가깝게 전달하세요. 예를 들어 `/code-review ultra develop`이므로 검토가 해당 분기에 대한 diff만 포함합니다.3296* 기본 분기를 더 가깝게 전달합니다. 예를 들어 `/code-review ultra develop`이므로 검토는 해당 분기에 대한 diff만 포함합니다.

3097* 변경을 더 작은 분기로 분할하고 각각을 검토하세요. 메시지가 이름 지정한 파일이 가장 많은 변경된 줄에 기여하므로 이를 자체 분기로 이동하여 시작하세요.3297* 변경을 더 작은 분기로 분할하고 각각을 검토합니다. 메시지가 이름 지정하는 파일은 가장 많은 변경된 줄에 기여하므로 이들을 자신의 분기로 이동하여 시작합니다.

3098 3298 

3099<h3 id="could-not-find-merge-base-with-the-base-branch">3299<h3 id="could-not-find-merge-base-with-the-base-branch">

3100 기본 분기와의 병합 기반을 찾을 수 없음3300 기본 분기와의 병합 기반을 찾을 수 없음

3101</h3>3301</h3>

3102 3302 

3103`/code-review ultra` 및 `claude ultrareview` 하위 명령어는 분기와 기본 분기 간의 diff를 검토하며, 이는 두 분기가 공유하는 커밋이 필요합니다. `git merge-base`가 없음을 발견하면 Claude Code는 클라우드 세션이 시작되기 전에 검토를 거부합니다. Claude Code가 완전한 것으로 확인할 수 있는 클론에서 최소 하나의 분기가 있으면 대신 [모든 추적된 파일을 검토](/docs/ko/ultrareview#diff-limits-and-fallbacks)로 폴백합니다. 기본 분기를 전혀 찾을 수 없을 때, Claude Code가 클론이 완전한지 확인할 수 없을 때 또는 SHA-256 객체 형식 같은 드문 저장소에서 전체 트리 diff가 불가능할 때 이 거부를 봅니다.3303`/code-review ultra` 및 `claude ultrareview` 하위 명령어는 두 분기 간의 diff를 검토합니다. 이는 두 분기가 공유하는 커밋이 필요합니다. `git merge-base`가 없으면 Claude Code는 클라우드 세션이 시작되기 전에 검토를 거부합니다. Claude Code가 완전한 것으로 확인할 수 있는 클론에서 최소 하나의 분기가 있으면 대신 [모든 추적된 파일을 검토](/docs/ko/ultrareview#diff-limits-and-fallbacks)로 폴백합니다. 기본 분기를 전혀 찾을 수 없을 때, Claude Code가 클론이 완전한지 확인할 수 없을 때 또는 SHA-256 객체 형식 같은 전체 트리 diff가 불가능한 드문 저장소에서 이 거부를 봅니다.

3104 3304 

3105```text theme={null}3305```text theme={null}

3106Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.3306Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.

3107```3307```

3108 3308 

3109첫 번째 문장 뒤의 힌트는 Claude Code가 관찰한 것에 따라 다릅니다:3309첫 번째 문장 뒤의 힌트는 Claude Code가 관찰한 것에 따라 달라집니다:

3110 3310 

3111* **기본 분기를 전달하지 않음**: Claude Code가 저장소의 기본 분기와 비교했으며 위의 예처럼 기본을 명시적으로 전달하도록 제안합니다.3311* **기본 분기를 전달하지 않았습니다**: Claude Code는 저장소의 기본 분기와 비교했고 위의 예와 같이 기본을 명시적으로 전달하도록 제안합니다.

3112* **이미 클론에 있는 기본 분기를 전달함**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``를 읽습니다.3312* **클론에 이미 있는 기본 분기를 전달했습니다**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``를 읽습니다.

3113* **클론에 없는 기본 분기를 전달함**: Claude Code가 비교하기 전에 origin에서 가져왔습니다. 힌트는 ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``를 읽습니다. Claude Code가 클론이 얕은지 확인할 수 없을 때 대신 `git fetch --unshallow origin`을 제안합니다. v2.1.221 이전에는 모든 가져온 기본 분기에 대해 `git fetch --unshallow origin`을 제안했으며, 완전한 클론에서 해당 명령어는 `fatal: --unshallow on a complete repository does not make sense`로 실패합니다.3313* **클론에 없는 기본 분기를 전달했습니다**: Claude Code는 비교하기 전에 origin에서 가져왔습니다. 힌트는 ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``를 읽습니다. Claude Code가 클론이 얕은지 확인할 수 없을 때 대신 `git fetch --unshallow origin`을 제안합니다. v2.1.221 이전에는 모든 가져온 기본 분기에 대해 `git fetch --unshallow origin`을 제안했고 완전한 클론에서 해당 명령어는 `fatal: --unshallow on a complete repository does not make sense`로 실패합니다.

3114 3314 

3115**해야 할 일:**3315**해야 할 일:**

3116 3316 

3117* 다른 분기가 실제 기본이면 명시적으로 전달하세요: `/code-review ultra <branch>`3317* 다른 분기가 실제 기본이면 명시적으로 전달합니다: `/code-review ultra <branch>`

3118* 클론이 전체 기록을 갖지 않을 수 있으면 `git fetch --unshallow origin`을 실행하고 검토를 다시 실행하세요.3318* 클론이 전체 기록을 갖지 않을 수 있으면 `git fetch --unshallow origin`을 실행하고 검토를 다시 실행합니다.

3119 3319 

3120<h3 id="your-checkout-has-no-branches">3320<h3 id="your-checkout-has-no-branches">

3121 체크아웃에 분기가 없음3321 체크아웃에 분기가 없음

3122</h3>3322</h3>

3123 3323 

3124체크아웃은 커밋을 가질 수 있지만 분기는 없습니다: `git init` 다음 `git fetch <url>` 및 `git checkout FETCH_HEAD`를 실행하면 분기가 없는 분리된 HEAD를 얻습니다. Claude Code는 저장소를 git 번들로 패키징하여 [ultrareview](/docs/ko/ultrareview)를 위해 업로드하며, 분기나 다른 ref가 없는 저장소를 번들할 수 없으므로 `/code-review ultra` 및 `claude ultrareview` 하위 명령어가 클라우드 세션이 시작되기 전에 검토를 거부합니다.3324체크아웃은 커밋을 가질 수 있지만 분기는 없습니다: `git init` 뒤에 `git fetch <url>` 및 `git checkout FETCH_HEAD`를 실행하면 분기가 없는 분리된 HEAD를 얻습니다. Claude Code는 저장소를 git 번들로 패키징하여 [ultrareview](/docs/ko/ultrareview)를 위해 업로드하고 분기나 다른 ref가 없는 저장소를 번들할 수 없으므로 `/code-review ultra` 및 `claude ultrareview` 하위 명령어는 클라우드 세션이 시작되기 전에 검토를 거부합니다.

3125 3325 

3126```text theme={null}3326```text theme={null}

3127Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.3327Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.

3128```3328```

3129 3329 

3130v2.1.221 이전에는 Claude Code가 이 체크아웃에서 모든 추적된 파일을 검토하려고 시도했으며, 업로드가 실패했습니다.3330v2.1.221 이전에는 Claude Code가 이 체크아웃의 모든 추적된 파일을 검토하려고 시도했고 업로드가 실패했습니다.

3131 3331 

3132**해야 할 일:**3332**해야 할 일:**

3133 3333 

3134* 현재 커밋에서 `git checkout -b <name>`으로 분기를 생성한 후 검토를 다시 실행하세요.3334* 현재 커밋에서 `git checkout -b <name>`으로 분기를 만든 후 검토를 다시 실행합니다.

3135 3335 

3136<h3 id="no-github-account-is-connected-to-your-claude-account">3336<h3 id="no-github-account-is-connected-to-your-claude-account">

3137 Claude 계정에 연결된 GitHub 계정이 없음3337 GitHub 계정이 Claude 계정에 연결되지 않음

3138</h3>3338</h3>

3139 3339 

3140`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`을 실행했으며, 클라우드 세션을 생성하기 전에 Claude Code는 서버에 [Claude 계정에 연결된 GitHub 계정](/docs/ko/ultrareview#review-a-pull-request)이 PR의 저장소에 도달할 수 있는지 묻습니다. 계정이 연결되지 않았거나 연결이 만료되었으므로 클라우드 클론이 실패하고 Claude Code는 시작을 거부합니다. Claude Code는 거부된 시작에 대해 무료 실행을 사용하거나 사용 크레딧을 청구하지 않습니다.3340`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`을 실행했고 클라우드 세션을 만들기 전에 Claude Code는 서버에 [Claude 계정에 연결된 GitHub 계정](/docs/ko/ultrareview#review-a-pull-request)이 PR의 저장소에 도달할 수 있는지 묻습니다. 계정이 연결되지 않았거나 연결이 만료되었으므로 클라우드 클론이 실패하고 Claude Code는 시작을 거부합니다. Claude Code는 거부된 시작에 대해 무료 실행을 사용하거나 사용 크레딧을 청구하지 않습니다.

3141 3341 

3142```text theme={null}3342```text theme={null}

3143Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).3343Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).

3144```3344```

3145 3345 

3146[`/web-setup`](/docs/ko/web-quickstart#connect-from-your-terminal)을 세션에서 사용할 수 없으면 메시지는 claude.ai 링크만 이름 지정합니다.3346[`/web-setup`](/docs/ko/web-quickstart#connect-from-your-terminal)이 세션에서 사용할 수 없으면 메시지는 claude.ai 링크만 이름 지정합니다.

3147 3347 

3148**해야 할 일:**3348**해야 할 일:**

3149 3349 

3150* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나 [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결하세요.3350* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나 [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결합니다.

3151* 연결 1분 후 검토를 다시 실행하세요.3351* 연결 후 1분 후 검토를 다시 실행합니다.

3152 3352 

3153v2.1.248 이전에는 Claude Code가 시작 전에 이를 확인하지 않았습니다.3353v2.1.248 이전에는 Claude Code가 시작 전에 이를 확인하지 않았습니다.

3154 3354 


3156 연결된 GitHub 계정이 저장소를 볼 수 없음3356 연결된 GitHub 계정이 저장소를 볼 수 없음

3157</h3>3357</h3>

3158 3358 

3159`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`을 실행했으며, [Claude 계정에 연결된 GitHub 계정](/docs/ko/ultrareview#review-a-pull-request)이 PR의 저장소를 읽을 수 없으므로 클라우드 클론이 실패하고 Claude Code는 시작을 거부합니다. Claude Code는 거부된 시작에 대해 무료 실행을 사용하거나 사용 크레딧을 청구하지 않습니다.3359`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`을 실행했고 [Claude 계정에 연결된 GitHub 계정](/docs/ko/ultrareview#review-a-pull-request)이 PR의 저장소를 읽을 수 없으므로 클라우드 클론이 실패하고 Claude Code는 시작을 거부합니다. Claude Code는 거부된 시작에 대해 무료 실행을 사용하거나 사용 크레딧을 청구하지 않습니다.

3160 3360 

3161```text theme={null}3361```text theme={null}

3162Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.3362Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.

3163```3363```

3164 3364 

3165[`/web-setup`](/docs/ko/web-quickstart#connect-from-your-terminal)을 세션에서 사용할 수 없으면 메시지는 앱 설치만 이름 지정합니다.3365[`/web-setup`](/docs/ko/web-quickstart#connect-from-your-terminal)이 세션에서 사용할 수 없으면 메시지는 앱 설치만 이름 지정합니다.

3166 3366 

3167**해야 할 일:**3367**해야 할 일:**

3168 3368 

3169* 로컬 `gh` CLI가 저장소를 읽을 수 있으면 `/web-setup`을 실행하여 해당 로그인을 Claude 계정에 연결하세요.3369* 로컬 `gh` CLI가 저장소를 읽을 수 있으면 `/web-setup`을 실행하여 해당 로그인을 Claude 계정에 연결합니다.

3170* 변경 후 검토를 다시 실행하세요.3370* 변경 후 검토를 다시 실행합니다.

3171 3371 

3172v2.1.248 이전에는 Claude Code가 시작 전에 이를 확인하지 않았습니다.3372v2.1.248 이전에는 Claude Code가 시작 전에 이를 확인하지 않았습니다.

3173 3373 

3174<h3 id="the-github-app-preflight-failed-transiently">3374<h3 id="the-github-app-preflight-failed-transiently">

3175 GitHub App 사전 점검이 일시적으로 실패함3375 GitHub 앱 사전 점검이 일시적으로 실패함

3176</h3>3376</h3>

3177 3377 

3178로컬 저장소에서 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작했으며, 두 단계가 함께 실패했습니다. Claude Code가 저장소 번들을 구축하거나 업로드할 수 없습니다. 업로드 전에 클라우드 서비스가 GitHub에서 저장소를 클론할 수 있는지 확인했으며, 명확한 답변 대신 재시도가 지울 수 있는 오류로 끝났습니다. 예를 들어 네트워크 오류, 타임아웃 또는 임시 서버 오류입니다. 전체 메시지는 번들을 중지한 것으로 시작합니다. 예를 들어 `Could not upload repo bundle (<error>)`이고 사전 점검 문장으로 끝납니다:3378로컬 저장소에서 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작했고 두 단계가 함께 실패했습니다. Claude Code가 저장소 번들을 구축하거나 업로드할 수 없습니다. 업로드 전에 클라우드 서비스가 GitHub에서 저장소를 클론할 수 있는지 확인했고 명확한 답변 대신 재시도가 지울 수 있는 오류로 끝났습니다. 예를 들어 네트워크 오류, 타임아웃 또는 임시 서버 오류입니다. 전체 메시지는 번들을 중지한 것으로 시작합니다. 예를 들어 `Could not upload repo bundle (<error>)`이고 사전 점검 문장으로 끝납니다:

3179 3379 

3180```text theme={null}3380```text theme={null}

3181Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3381Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead


3183 3383 

3184**해야 할 일:**3384**해야 할 일:**

3185 3385 

3186* 잠시 후 명령어를 다시 실행하세요. GitHub 확인이 통과하면 Claude Code가 GitHub 클론에서 시작할 수 있으므로 실패한 업로드가 더 이상 시작을 차단하지 않습니다.3386* 잠시 후 명령어를 다시 실행합니다. GitHub 확인이 통과하면 Claude Code는 GitHub 클론에서 세션을 시작할 수 있으므로 실패한 업로드가 더 이상 시작을 차단하지 않습니다.

3187* 재시도가 계속 실패하면 메시지의 시작이 업로드를 중지한 것을 이름 지정합니다. 해당 원인이 수정할 수 있는 것이면 수정하여 세션이 로컬 저장소에서 시작할 수 있도록 하세요.3387* 재시도가 계속 실패하면 메시지의 시작이 업로드를 중지한 것을 이름 지정합니다. 수정할 수 있는 원인이 있으면 수정하여 세션이 대신 로컬 저장소에서 시작할 수 있습니다.

3188 3388 

3189v2.1.251 이전에는 Claude Code가 GitHub 확인이 일시적으로만 실패했을 때도 `Please set up GitHub on https://claude.ai/code`로 메시지를 끝냈으며, 설정 조언은 일시적 실패를 지울 수 없습니다.3389v2.1.251 이전에는 Claude Code가 GitHub 확인이 일시적으로만 실패했을 때도 `Please set up GitHub on https://claude.ai/code`로 메시지를 끝냈고 설정 조언은 일시적 실패를 지울 수 없습니다.

3190 3390 

3191<h3 id="github-isnt-connected-to-your-claude-account">3391<h3 id="github-isnt-connected-to-your-claude-account">

3192 GitHub가 Claude 계정에 연결되지 않음3392 GitHub가 Claude 계정에 연결되지 않음

3193</h3>3393</h3>

3194 3394 

3195로컬 저장소에서 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작했습니다. 예를 들어 `/autofix-pr`을 사용합니다. Claude 계정에 연결된 GitHub 계정이 없거나 연결이 만료되었으므로 Claude Code는 시작을 거부합니다:3395로컬 저장소에서 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작했습니다. 예를 들어 `/autofix-pr`을 사용합니다. GitHub 계정이 Claude 계정에 연결되지 않았거나 연결이 만료되었으므로 Claude Code는 시작을 거부합니다:

3196 3396 

3197```text theme={null}3397```text theme={null}

3198GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github3398GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github

3199```3399```

3200 3400 

3201[`/schedule`](/docs/ko/routines)로 루틴을 생성할 때 같은 메시지가 저장소를 이름 지정하는 설정 참고로 나타납니다. 참고는 루틴 생성을 차단하지 않습니다.3401[`/schedule`](/docs/ko/routines)로 루틴을 만들 때 동일한 메시지가 저장소를 이름 지정하는 설정 메모로 나타납니다. 메모는 루틴 만들기를 차단하지 않습니다.

3202 3402 

3203**해야 할 일:**3403**해야 할 일:**

3204 3404 

3205* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나 [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결하세요. [GitHub 인증 옵션](/docs/ko/claude-code-on-the-web#github-authentication-options)을 참조하여 두 가지가 어떻게 다른지 확인하세요.3405* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나 [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결합니다. [GitHub 인증 옵션](/docs/ko/claude-code-on-the-web#github-authentication-options)을 참조하여 두 가지가 어떻게 다른지 확인합니다.

3206* 연결 1분 후 명령어를 다시 실행하세요.3406* 연결 후 1분 후 명령어를 다시 실행합니다.

3207 3407 

3208v2.1.268 이전에는 Claude Code가 이를 Claude GitHub App 확인의 임시 실패로 보고했으며 재시도하거나 앱을 설치하도록 제안했습니다. 둘 다 GitHub 계정을 연결하지 않습니다.3408v2.1.268 이전에는 Claude Code가 이를 Claude GitHub 앱 확인의 임시 실패로 보고했고 재시도하거나 앱을 설치하도록 제안했습니다. 둘 다 GitHub 계정을 연결하지 않습니다.

3209 3409 

3210<h3 id="single-sign-on-authorization-needed">3410<h3 id="single-sign-on-authorization-needed">

3211 단일 로그인 인증 필요3411 싱글 사인온 인증 필요

3212</h3>3412</h3>

3213 3413 

3214[`/install-github-app`](/docs/ko/github-actions#quick-setup)을 실행했으며 SAML 단일 로그인을 적용하는 조직의 저장소를 선택했습니다. 설정 전에 Claude Code는 GitHub CLI로 저장소에 대한 액세스를 확인하며, GitHub는 `gh` 토큰이 아직 조직에 대해 인증되지 않았기 때문에 해당 확인을 거부했습니다. 마법사는 단계와 함께 경고를 표시합니다:3414[`/install-github-app`](/docs/ko/github-actions#quick-setup)을 실행했고 SAML 싱글 사인온을 적용하는 조직의 저장소를 선택했습니다. 설정 전에 Claude Code는 GitHub CLI로 저장소에 대한 액세스를 확인하고 GitHub는 `gh` 토큰이 아직 조직에 대해 인증되지 않았기 때문에 해당 확인을 거부했습니다. 마법사는 인증 단계와 함께 경고를 표시합니다:

3215 3415 

3216```text theme={null}3416```text theme={null}

3217Single sign-on authorization needed3417Single sign-on authorization needed


3220 3420 

3221**해야 할 일:**3421**해야 할 일:**

3222 3422 

3223* `repo` 및 `workflow` 범위로 GitHub CLI 로그인을 다시 인증하세요. `gh auth refresh -h github.com -s repo,workflow`를 실행하고 GitHub가 단일 로그인을 요청할 때 조직을 인증하세요.3423* `gh auth refresh -h github.com -s repo,workflow`를 실행하여 GitHub CLI 로그인을 `repo` 및 `workflow` 범위로 다시 인증하고 GitHub가 싱글 사인온을 요청할 때 조직을 인증합니다.

3224* `GH_TOKEN`에서 개인 액세스 토큰으로 인증하면 [github.com/settings/tokens](https://github.com/settings/tokens)를 열고 토큰에서 **Configure SSO**를 선택한 후 조직을 인증하세요.3424* `GH_TOKEN`에서 개인 액세스 토큰으로 인증하면 [github.com/settings/tokens](https://github.com/settings/tokens)를 열고 토큰에서 **Configure SSO**를 선택하고 조직을 인증합니다.

3225* `/install-github-app`을 다시 실행하세요.3425* `/install-github-app`을 다시 실행합니다.

3226 3426 

3227v2.1.273 이전에는 Claude Code가 이 조건에 대해 `Admin permissions required` 경고를 표시했습니다.3427v2.1.273 이전에는 Claude Code가 이 조건에 대해 `Admin permissions required` 경고를 표시했습니다.

3228 3428 

3229<h3 id="failed-to-resume-the-conversation">3429<h3 id="failed-to-resume-the-conversation">

3230 대화를 재개할 수 없음3430 대화를 재개하지 못함

3231</h3>3431</h3>

3232 3432 

3233Claude Code가 [`claude --resume` 선택기](/docs/ko/sessions#use-the-session-picker)에서 선택한 세션의 저장된 기록을 읽거나 처리할 수 없어서 부분적으로 로드된 상태에서 계속하는 대신 프로세스를 종료합니다. 메시지는 재시도 명령어를 포함합니다:3433Claude Code가 [`claude --resume` 선택기](/docs/ko/sessions#use-the-session-picker)에서 선택한 세션의 저장된 기록을 읽거나 처리할 수 없으므로 부분적으로 로드된 상태에서 계속하는 대신 프로세스를 종료합니다. 메시지는 재시도 명령어를 포함합니다:

3234 3434 

3235```text theme={null}3435```text theme={null}

3236Failed to resume the conversation.3436Failed to resume the conversation.

3237Run claude --resume <session-id> to retry, or claude to start a new session.3437Run claude --resume <session-id> to retry, or claude to start a new session.

3238```3438```

3239 3439 

3240Claude Code는 메시지를 표시한 후 코드 1로 종료됩니다. 실행 중인 세션 내의 `/resume` 선택기는 대화에서 `Failed to resume conversation`을 보고하며 현재 세션은 계속 실행됩니다. v2.1.216 이전에는 `claude --resume` 선택기에서 실패한 재개가 `Resuming conversation…` 스피너에 무한정 머물렀습니다.3440Claude Code는 메시지를 표시한 후 코드 1로 종료됩니다. 실행 중인 세션 내의 `/resume` 선택기는 대화에서 `Failed to resume conversation`을 보고하고 현재 세션은 계속 실행됩니다. v2.1.216 이전에는 `claude --resume` 선택기에서 실패한 재개가 `Resuming conversation…` 스피너에 무한정 머물렀습니다.

3241 3441 

3242**해야 할 일:**3442**해야 할 일:**

3243 3443 

3244* 메시지의 세션 ID로 `claude --resume <session-id>`를 실행하여 재시도하세요.3444* 메시지의 세션 ID로 `claude --resume <session-id>`를 실행하여 재시도합니다.

3245* 재시도가 다시 실패하면 `claude update`를 실행하고 다시 재개하세요. v2.1.275 이전 버전은 저장된 기록에 읽을 수 없는 항목이 포함되어 있으면 재개에 실패합니다.3445* 모든 재시도가 같은 방식으로 실패하면 `claude update`를 실행하고 다시 재개합니다. v2.1.275 이전의 버전은 저장된 기록에 읽을 수 없는 항목이 포함되어 있을 때 재개에 실패합니다.

3246* 재시도가 다시 실패하면 `claude`를 실행하여 새 세션을 시작하세요.3446* 재시도가 다시 실패하면 `claude`를 실행하여 새 세션을 시작합니다.

3247 3447 

3248<h3 id="no-conversation-found-with-the-session-id">3448<h3 id="no-conversation-found-with-the-session-id">

3249 세션 ID와 일치하는 대화를 찾을 수 없음3449 세션 ID와 일치하는 대화를 찾을 수 없음

3250</h3>3450</h3>

3251 3451 

3252세션 ID를 `claude --resume <session-id>`에 전달했는데 저장된 기록이 일치하지 않습니다:3452`claude --resume <session-id>`에 세션 ID를 전달했고 저장된 기록이 일치하지 않습니다:

3253 3453 

3254```text theme={null}3454```text theme={null}

3255No conversation found with session ID: <session-id>3455No conversation found with session ID: <session-id>

3256```3456```

3257 3457 

3258Claude Code는 메시지를 표시한 후 코드 1로 종료됩니다. Claude Code는 [현재 프로젝트를 먼저 검색한 후 이 머신의 다른 모든 프로젝트를 검색](/docs/ko/sessions#resume-a-session)합니다. v2.1.223 이전에는 조회가 현재 프로젝트 디렉토리와 git worktree에서 중지되었으므로 세션이 마지막으로 작동한 디렉토리에서 재개하세요.3458Claude Code는 메시지를 표시한 후 코드 1로 종료됩니다. Claude Code는 [현재 프로젝트를 먼저 검색한 후 이 머신의 다른 모든 프로젝트를 검색](/docs/ko/sessions#resume-a-session)합니다. v2.1.223 이전에는 조회가 현재 프로젝트 디렉토리와 git worktree에서 중지되었으므로 세션이 마지막으로 작동한 디렉토리에서 재개합니다.

3259 3459 

3260일반적인 원인:3460일반적인 원인:

3261 3461 

3262* **잘못된 ID**: 비대화형 실행의 경우 ID는 [`--output-format json` 출력](/docs/ko/headless#get-structured-output)의 `session_id` 필드입니다.3462* **잘못된 ID**: 비대화형 실행의 경우 ID는 [`--output-format json` 출력](/docs/ko/headless#get-structured-output)의 `session_id` 필드입니다.

3263* **삭제된 기록**: Claude Code는 [보존 기간](/docs/ko/sessions#where-transcripts-are-stored) 후 기록을 제거합니다. 기본값은 30일이며, [보존 스윕 규칙](/docs/ko/claude-directory#cleaned-up-automatically)을 따릅니다.3463* **삭제된 기록**: Claude Code는 [보존 기간](/docs/ko/sessions#where-transcripts-are-stored) 후 기록을 제거합니다. 기본값은 30일이며 [보존 스윕 규칙](/docs/ko/claude-directory#cleaned-up-automatically)을 따릅니다.

3264* **다른 머신**: Claude Code는 기록을 로컬로 저장하므로 세션이 실행된 머신에서 재개하세요.3464* **다른 머신**: Claude Code는 기록을 로컬로 저장하므로 세션이 실행된 머신에서 재개합니다.

3265* **중복 복사본**: 프로젝트 디렉토리를 `~/.claude/projects` 아래로 복사했으므로 두 기록이 같은 ID를 가지면 Claude Code는 이 메시지를 보고하는 대신 임의로 하나의 복사본을 재개합니다.3465* **중복 복사본**: `~/.claude/projects` 아래에 프로젝트 디렉토리를 복사했으므로 두 기록이 동일한 ID를 가지면 Claude Code는 이 메시지를 보고하고 임의로 하나의 복사본을 재개하지 않습니다.

3266 3466 

3267**해야 할 일:**3467**해야 할 일:**

3268 3468 

3269* 대화형 세션의 경우 [`claude --resume`](/docs/ko/sessions#use-the-session-picker)으로 [세션 선택기](/docs/ko/sessions#use-the-session-picker)를 열고 `Ctrl+A`를 눌러 이 머신의 모든 프로젝트로 확대한 후 세션을 선택하세요.3469* 대화형 세션의 경우 `claude --resume`으로 [세션 선택기](/docs/ko/sessions#use-the-session-picker)를 열고 `Ctrl+A`를 눌러 이 머신의 모든 프로젝트로 확장한 후 세션을 선택합니다.

3270* `claude -p` 또는 [Agent SDK](/docs/ko/agent-sdk/overview)로 생성된 세션은 선택기에 나타나지 않으므로 원본 실행이 인쇄한 `session_id`에 대해 ID를 다시 확인하세요.3470* `claude -p` 또는 [Agent SDK](/docs/ko/agent-sdk/overview)로 만든 세션은 선택기에 나타나지 않으므로 원래 실행이 출력한 `session_id`에 대해 ID를 다시 확인합니다.

3471 

3472<h3 id="windows-reported-an-error-ebadf">

3473 Windows가 이 세션의 기록 파일을 읽을 때 오류를 보고함 (EBADF)

3474</h3>

3475 

3476Windows에서 세션을 재개했고 저장된 [기록 파일](/docs/ko/sessions#where-transcripts-are-stored)이 정상적으로 열렸으며 읽기가 EBADF 시스템 오류로 실패했습니다. 시스템 오류는 읽기가 실패한 이유를 말하지 않으므로 메시지는 가능한 원인과 시도할 것을 제안합니다:

3477 

3478```text theme={null}

3479Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.

3480```

3481 

3482메시지는 명령어의 자체 실패 줄을 따릅니다. 예를 들어 `Failed to resume session <session-id>`. `claude --resume` 또는 [`claude -p`](/docs/ko/headless) 명령어는 메시지를 표시한 후 코드 1로 종료됩니다. `/resume` 후 실행 중인 세션 내에서 현재 세션은 계속 실행됩니다.

3483 

3484**해야 할 일:**

3485 

3486* 보안, 암호화 또는 엔드포인트 관리 도구 같은 파일 읽기를 스캔하거나 가로채는 소프트웨어에서 기록을 보유하는 폴더를 제외합니다. 기록은 기본적으로 `%USERPROFILE%\.claude\projects` 아래에 있거나 [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)이 이름 지정하는 디렉토리 아래에 있습니다.

3487* 제외를 추가할 수 없으면 대신 해당 소프트웨어의 허용된 애플리케이션에 Claude Code를 추가합니다.

3488* 세션을 다시 재개합니다.

3489 

3490v2.1.282 이전에는 실패가 설명 없이 나타났습니다: `claude --resume <session-id>`는 `Failed to resume session <session-id>`에서 끝났고 `-p` 실행은 `Failed to resume session: EBADF: bad file descriptor, read` 같은 시스템 오류 텍스트만 출력했습니다.

3271 3491 

3272<h3 id="cannot-switch-renderers-in-this-session">3492<h3 id="cannot-switch-renderers-in-this-session">

3273 이 세션에서 렌더러를 전환할 수 없음3493 이 세션에서 렌더러를 전환할 수 없음

3274</h3>3494</h3>

3275 3495 

3276렌더러를 전환하면 Claude Code가 프로세스를 다시 시작합니다. Claude Code가 다시 시작하기를 거부하는 세션에서 [`/tui`](/docs/ko/fullscreen#enable-fullscreen-rendering)를 실행했으므로 전환되지 않고 아무것도 저장되지 않습니다. 어떤 메시지를 보는지는 원인을 알려줍니다:3496렌더러를 전환하면 Claude Code가 프로세스를 다시 시작합니다. [`/tui`](/docs/ko/fullscreen#enable-fullscreen-rendering)를 Claude Code가 다시 시작하기를 거부하는 세션에서 실행했으므로 전환하지 않고 아무것도 저장하지 않습니다. 어떤 메시지를 보는지는 원인을 알려줍니다:

3497 

3498* `Cannot switch renderers while work is running in the background`: 백그라운드 셸 또는 하위 에이전트 같은 재시작이 중단할 백그라운드 작업이 실행 중입니다. [`/tasks`](/docs/ko/commands)로 작업이 완료될 때까지 기다리거나 중지한 후 `/tui fullscreen` 또는 `/tui default`를 다시 실행합니다.

3499*

3277 3500 

3278* `Cannot switch renderers while work is running in the background`: 백그라운드 셸이나 하위 에이전트 같은 백그라운드에서 실행 중인 작업이 있습니다. 재시작이 이를 중단할 것입니다. 작업이 완료될 때까지 기다리거나 [`/tasks`](/docs/ko/commands)로 중지한 후 `/tui fullscreen` 또는 `/tui default`를 다시 실행하세요.3501`Cannot switch renderers in this session`: 세션에 Claude Code가 다시 시작된 프로세스로 전달할 수 없는 제한이 있습니다. v2.1.234 이전에는 Claude Code가 어쨌든 다시 시작했고 다시 시작된 세션이 제한 없이 실행되었습니다.

3279* `Cannot switch renderers in this session`: 세션에 다시 시작된 프로세스로 전달할 수 없는 제한이 있습니다. v2.1.234 이전에는 Claude Code가 어쨌든 다시 시작했으며 다시 시작된 세션이 없이 실행되었습니다.

3280 3502 

3281제한 메시지에서 괄호 안의 부분이 Claude Code가 발견한 제한을 이름 지정합니다:3503제한 메시지에서 괄호 안의 부분은 Claude Code가 찾은 제한을 이름 지정합니다:

3282 3504 

3283```text theme={null}3505```text theme={null}

3284Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.3506Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.


3286 3508 

3287메시지가 괄호 안에 표시할 수 있는 각 이유:3509메시지가 괄호 안에 표시할 수 있는 각 이유:

3288 3510 

3289* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: 다시 시작된 프로세스로 전달하지 않는 플래그로 세션을 시작했습니다. 이러한 플래그에는 [`--system-prompt`](/docs/ko/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, [`--tools`](/docs/ko/cli-reference#cli-flags) 허용 목록, [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 및 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)이 포함됩니다.3511* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Claude Code가 다시 시작된 프로세스로 전달하지 않는 플래그로 세션을 시작했습니다. 이러한 플래그에는 [`--system-prompt`](/docs/ko/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, [`--tools`](/docs/ko/cli-reference#cli-flags) 허용 목록, [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 및 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)이 포함됩니다.

3290* `permission rules set for this session only`: 훅 또는 SDK 호출자의 [권한 업데이트](/docs/ko/hooks#permission-update-entries)가 `session` 대상으로 거부 또는 요청 규칙을 추가했습니다. 세션 범위 허용 규칙은 거부를 트리거하지 않습니다. 재시작이 이를 제거하고 Claude Code가 대신 다시 프롬프트합니다.3512* `permission rules set for this session only`: 훅 또는 SDK 호출자의 [권한 업데이트](/docs/ko/hooks#permission-update-entries)가 `session` 대상으로 거부 또는 요청 규칙을 추가했습니다. 세션 범위 허용 규칙은 거부를 트리거하지 않습니다. 재시작이 이를 제거하고 Claude Code가 대신 다시 프롬프트합니다.

3291* `ask-before-running rules with no command-line form`: 훅 또는 SDK 호출자의 권한 업데이트가 Claude Code가 `--allowed-tools` 및 `--disallowed-tools`로 전달하는 규칙과 함께 요청 규칙을 추가했습니다. 요청 규칙에 대한 플래그는 없습니다.3513* `ask-before-running rules with no command-line form`: 훅 또는 SDK 호출자의 권한 업데이트가 Claude Code가 `--allowed-tools` 및 `--disallowed-tools`로 전달하는 규칙과 함께 요청 규칙을 추가했습니다. 요청 규칙에 대한 플래그는 없습니다.

3292* `permission rules a command line cannot carry intact` 및 `added directories a command line cannot carry intact`: 권한 업데이트가 세션 중간에 규칙 또는 디렉토리 경로를 추가했습니다. 다시 시작된 프로세스의 명령줄이 같은 값으로 텍스트를 전달할 수 없습니다.3514* `permission rules a command line cannot carry intact` 및 `added directories a command line cannot carry intact`: 권한 업데이트가 세션 중간에 규칙 또는 디렉토리 경로를 추가했습니다. 다시 시작된 프로세스의 명령줄이 텍스트를 동일한 값으로 전달할 수 없습니다.

3293 3515 

3294**해야 할 일:**3516**해야 할 일:**

3295 3517 

3296* 이러한 제한 없이 시작된 세션에서 `/tui fullscreen`을 실행하거나 다시 전환하려면 `/tui default`를 실행하세요. Claude Code는 [`tui` 설정](/docs/ko/settings-reference#tui)을 거기에 저장합니다.3518* 이러한 제한 없이 시작된 세션에서 `/tui fullscreen` 또는 `/tui default`를 실행하여 다시 전환합니다. Claude Code는 [`tui` 설정](/docs/ko/settings-reference#tui)을 거기에 저장합니다.

3297 3519 

3298<h3 id="couldnt-open-claude-desktop">3520<h3 id="couldnt-open-claude-desktop">

3299 Claude Desktop을 열 수 없음3521 Claude Desktop을 열 수 없음

3300</h3>3522</h3>

3301 3523 

3302[`/desktop`](/docs/ko/desktop#coming-from-the-cli) 또는 그 별칭 `/app`을 실행했는데 Claude Desktop을 열기 위해 Claude Code가 사용하는 시스템 명령어가 실패했습니다. 세션은 터미널에 남아 있습니다.3524[`/desktop`](/docs/ko/desktop#coming-from-the-cli) 또는 그 별칭 `/app`을 실행했고 Claude Code가 Claude Desktop을 열기 위해 사용하는 시스템 명령어가 실패했습니다. 세션은 터미널에 남아 있습니다.

3303 3525 

3304```text theme={null}3526```text theme={null}

3305Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and run /desktop again.3527Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and run /desktop again.


3307 3529 

3308**해야 할 일:**3530**해야 할 일:**

3309 3531 

3310* Claude Desktop을 직접 열고 `/desktop`을 다시 실행하세요.3532* Claude Desktop을 직접 열고 `/desktop`을 다시 실행합니다.

3311* 해당 명령어의 전체 오류 출력을 읽으려면 `/debug`로 디버그 로깅을 켜고 `/desktop`을 다시 실행한 후 디버그 로그를 확인하세요.3533* 해당 명령어의 전체 오류 출력을 읽으려면 `/debug`로 디버그 로깅을 켜고 `/desktop`을 다시 실행한 후 디버그 로그를 확인합니다.

3312 3534 

3313v2.1.275 이전에는 메시지가 `Failed to open Claude Desktop. Please try opening it manually.`였으며 무엇이 실패했는지 말하지 않았습니다.3535v2.1.275 이전에는 메시지가 `Failed to open Claude Desktop. Please try opening it manually.`였고 무엇이 실패했는지 말하지 않았습니다.

3314 3536 

3315<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3537<h3 id="terminal-setup-left-your-zed-keymap-unchanged">

3316 /terminal-setup이 Zed 키맵을 변경하지 않음3538 /terminal-setup이 Zed 키맵을 변경하지 않음

3317</h3>3539</h3>

3318 3540 

3319Zed에서 [`/terminal-setup`](/docs/ko/terminal-config#enter-multiline-prompts)을 실행했는데 Claude Code가 Zed `keymap.json`에 대한 업데이트를 완료할 수 없어서 파일을 그대로 두었습니다.3541Zed에서 [`/terminal-setup`](/docs/ko/terminal-config#enter-multiline-prompts)을 실행했고 Claude Code가 Zed `keymap.json`에 대한 업데이트를 완료할 수 없어서 파일을 그대로 두었습니다.

3320 3542 

3321각 메시지는 키맵 경로를 이름 지정하고 직접 추가할 키바인딩 블록으로 끝납니다:3543각 메시지는 키맵 경로를 이름 지정하고 직접 추가할 키바인딩 블록으로 끝납니다:

3322 3544 


3326{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3548{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

3327```3549```

3328 3550 

3329메시지의 첫 줄이 원인을 이름 지정합니다:3551메시지의 첫 줄은 원인을 이름 지정합니다:

3330 3552 

3331* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code가 파일을 읽을 수 없습니다. 예를 들어 파일 권한 때문입니다.3553* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code가 파일을 읽을 수 없습니다. 예를 들어 파일 권한 때문입니다.

3332* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: 파일이 잘 읽혔지만 `//` 주석 및 후행 쉼표가 허용되어도 키바인딩 블록 배열로 파싱되지 않습니다.3554* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: 파일이 잘 읽혔지만 `//` 주석 및 후행 쉼표가 허용되어도 키바인딩 블록 배열로 파싱되지 않습니다.


3335 3557 

3336**해야 할 일:**3558**해야 할 일:**

3337 3559 

3338* 메시지의 블록을 메시지가 이름 지정한 경로의 `keymap.json`의 최상위 배열에 복사하세요.3560* 메시지의 블록을 메시지가 이름 지정하는 경로의 `keymap.json`의 최상위 배열에 복사합니다.

3339* `isn't a readable list of keybindings`의 경우 구문 오류를 수정하거나 파일의 최상위 값을 배열로 만든 후 `/terminal-setup`을 다시 실행하세요.3561* `isn't a readable list of keybindings`의 경우 구문 오류를 수정하거나 파일의 최상위 값을 배열로 만든 후 `/terminal-setup`을 다시 실행합니다.

3340 3562 

3341v2.1.247 이전에는 `/terminal-setup`이 `//` 주석 또는 후행 쉼표를 사용하는 Zed 키맵을 파싱할 수 없었으며, 설치된 것으로 보고하면서 자체 바인딩만으로 전체 파일을 바꿨습니다. 이전 버전이 바꾼 키맵을 복원하려면 [멀티라인 프롬프트 입력](/docs/ko/terminal-config#enter-multiline-prompts)에 설명된 `.bak` 백업 파일을 사용하세요.3563v2.1.247 이전에는 `/terminal-setup`이 `//` 주석 또는 후행 쉼표를 사용하는 Zed 키맵을 파싱할 수 없었고 전체 파일을 자신의 바인딩만으로 바꾸면서 바인딩이 설치되었다고 보고했습니다. 이전 버전이 바꾼 키맵을 복원하려면 [멀티라인 프롬프트 입력](/docs/ko/terminal-config#enter-multiline-prompts) 아래에 설명된 `.bak` 백업 파일을 사용합니다.

3342 3564 

3343<h3 id="skill-usage-reports-are-not-available-on-this-connection">3565<h3 id="skill-usage-reports-are-not-available-on-this-connection">

3344 이 연결에서 스킬 사용 보고서를 사용할 수 없음3566 스킬 사용 보고서는 이 연결에서 사용할 수 없음

3345</h3>3567</h3>

3346 3568 

3347[Remote Control](/docs/ko/remote-control)을 통해 [`/skill-doctor`](/docs/ko/skills#find-unused-skills)를 실행했습니다. 휴대폰 또는 브라우저에서 실행했습니다. Claude Code는 Remote Control을 통해 스킬 사용 보고서를 보내지 않으며 대신 이 메시지로 응답합니다:3569[Remote Control](/docs/ko/remote-control)을 통해, 휴대폰 또는 브라우저에서 [`/skill-doctor`](/docs/ko/skills#find-unused-skills)를 실행했습니다. Claude Code는 Remote Control을 통해 스킬 사용 보고서를 보내지 않고 대신 이 메시지로 응답합니다:

3348 3570 

3349```text theme={null}3571```text theme={null}

3350Skill usage reports are not available on this connection.3572Skill usage reports are not available on this connection.


3352 3574 

3353**해야 할 일:**3575**해야 할 일:**

3354 3576 

3355* 세션이 실행 중인 머신의 터미널에서 `/skill-doctor`를 실행하거나 거기서 `claude -p "/skill-doctor"`를 실행하세요.3577* 세션이 실행 중인 머신의 터미널에서 `/skill-doctor`를 실행하거나 거기서 `claude -p "/skill-doctor"`를 실행합니다.

3356 3578 

3357<h3 id="custom-output-styles-cant-be-selected-over-remote-control">3579<h3 id="custom-output-styles-cant-be-selected-over-remote-control">

3358 Remote Control 또는 릴레이된 메시지에서 사용자 정의 출력 스타일을 선택할 수 없음3580 사용자 정의 출력 스타일을 Remote Control을 통해 선택할 수 없음

3359</h3>3581</h3>

3360 3582 

3361모바일 앱 또는 웹을 통해 [Remote Control](/docs/ko/remote-control)에서 [`/output-style`](/docs/ko/output-styles#change-your-output-style)을 실행했거나, 명령어가 세션으로 릴레이된 메시지에 도착했습니다. 이러한 턴은 계정 소유자에게서 오지 않을 수 있으므로 Claude Code는 [기본 제공 스타일](/docs/ko/output-styles#built-in-output-styles)만 나열하고 선택합니다. [사용자 정의 스타일](/docs/ko/output-styles#create-a-custom-output-style) 이름은 존재하지 않는 이름과 같은 응답을 받습니다:3583[Remote Control](/docs/ko/remote-control)을 통해 모바일 앱 또는 웹에서 [`/output-style`](/docs/ko/output-styles#change-your-output-style)을 실행했거나 명령어가 세션으로 릴레이된 메시지에 도착했습니다. 이러한 턴이 계정 소유자에게서 오지 않을 수 있으므로 Claude Code는 [기본 제공 스타일](/docs/ko/output-styles#built-in-output-styles)만 나열하고 선택하며 명령어가 스타일을 나열하거나 제공한 이름을 인식하지 못할 때마다 이 공지를 추가합니다. [사용자 정의 스타일](/docs/ko/output-styles#create-a-custom-output-style) 이름은 존재하지 않는 이름과 동일한 응답을 받습니다:

3362 3584 

3363```text theme={null}3585```text theme={null}

3364Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.3586Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.


3366 3588 

3367**해야 할 일:**3589**해야 할 일:**

3368 3590 

3369* 기본 제공 스타일을 선택하세요. 예를 들어 `/output-style concise`3591* 기본 제공 스타일을 선택합니다. 예를 들어 `/output-style concise`.

3370* 사용자 정의 스타일을 사용하려면 프로젝트의 `.claude/settings.local.json`에서 [`outputStyle`](/docs/ko/settings-reference#outputstyle)을 설정하거나, 세션이 자체 터미널을 가지고 있으면 거기서 `/output-style <style>`을 실행하세요.3592* 사용자 정의 스타일을 사용하려면 프로젝트의 `.claude/settings.local.json`에서 [`outputStyle`](/docs/ko/settings-reference#outputstyle)을 설정하거나 세션 자체의 터미널에서 `/output-style <style>`을 실행합니다(있는 경우).

3371 3593 

3372<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">3594<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">

3373 출력 스타일이 이 세션이 로드하지 않는 로컬 설정에 저장됨3595 출력 스타일이 이 세션이 로드하지 않는 로컬 설정에 저장됨

3374</h3>3596</h3>

3375 3597 

3376`/output-style <style>` 또는 `/config outputStyle=<style>`으로 [출력 스타일](/docs/ko/output-styles)을 전환하려고 했습니다. 설정 소스가 `local`을 제외하는 세션에서 실행했습니다. 예를 들어 [`settingSources`](/docs/ko/agent-sdk/typescript#options)가 `"local"`을 생략하는 [Agent SDK](/docs/ko/agent-sdk/typescript) 세션과 [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 값이 `local`을 생략하는 CLI 세션입니다. 두 명령어 모두 스타일을 `.claude/settings.local.json`에 저장합니다. 이러한 세션은 절대 이 파일을 다시 읽지 않으므로 Claude Code는 효과가 없을 설정을 쓰는 대신 거부합니다:3598이 세션의 설정 소스가 `local`을 제외하는 세션에서 `/output-style <style>` 또는 `/config outputStyle=<style>`으로 [출력 스타일](/docs/ko/output-styles)을 전환하려고 했습니다. 예를 들어 [`settingSources`](/docs/ko/agent-sdk/typescript#options)가 `"local"`을 생략하는 [Agent SDK](/docs/ko/agent-sdk/typescript) 세션과 [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 값이 `local`을 생략하는 CLI 세션입니다. 두 명령어 모두 스타일을 `.claude/settings.local.json`에 저장합니다. 이러한 세션은 절대 다시 읽지 않으므로 Claude Code는 효과가 없을 설정을 쓰는 대신 거부합니다:

3377 3599 

3378```text theme={null}3600```text theme={null}

3379Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.3601Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.


3381 3603 

3382**해야 할 일:**3604**해야 할 일:**

3383 3605 

3384* 세션의 설정 소스에 `local`을 추가하고 다시 전환하세요.3606* 세션의 설정 소스에 `local`을 추가하고 다시 전환합니다.

3385* 세션이 로드하는 설정 파일(예: 프로젝트의 `.claude/settings.json` 또는 `~/.claude/settings.json`)에서 [`outputStyle`](/docs/ko/settings-reference#outputstyle) 키를 설정하세요. TypeScript SDK에서는 대신 인라인 `settings` 객체 내에 `outputStyle`을 설정하세요. [출력 스타일 활성화](/docs/ko/agent-sdk/modifying-system-prompts#activate-an-output-style)를 참조하세요.3607* 세션이 로드하는 설정 파일(예: 프로젝트의 `.claude/settings.json` 또는 `~/.claude/settings.json`)에서 [`outputStyle`](/docs/ko/settings-reference#outputstyle) 키를 설정합니다. TypeScript SDK에서 대신 인라인 `settings` 객체 내에서 `outputStyle`을 설정합니다. [출력 스타일 활성화](/docs/ko/agent-sdk/modifying-system-prompts#activate-an-output-style)를 참조하세요.

3386 3608 

3387<h2 id="plugin-errors">3609<h2 id="plugin-errors">

3388 플러그인 오류3610 플러그인 오류


3452* 마켓플레이스의 이름을 예약된 이름의 철자를 지정하지 않는 이름으로 바꾸고 다시 추가하십시오.3674* 마켓플레이스의 이름을 예약된 이름의 철자를 지정하지 않는 이름으로 바꾸고 다시 추가하십시오.

3453* 무시된 항목 경고의 경우 제공하는 `claude plugin marketplace remove` 명령을 실행하거나 `~/.claude/plugins/known_marketplaces.json`에서 항목을 제거하십시오.3675* 무시된 항목 경고의 경우 제공하는 `claude plugin marketplace remove` 명령을 실행하거나 `~/.claude/plugins/known_marketplaces.json`에서 항목을 제거하십시오.

3454 3676 

3677<h3 id="claude-code-refuses-the-marketplace-name">

3678 Claude Code refuses the marketplace name

3679</h3>

3680 

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

3682 

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

3684 

3685```text theme={null}

3686Claude Code refuses the marketplace name "anthropic-plugins-v2"

3687```

3688 

3689모방하는 이름의 경우 마켓플레이스 자체의 오류는 `Claude Code refuses this marketplace's name: it looks like one of Anthropic's own` 대신 읽습니다. `claude plugin marketplace add`는 모든 사칭 이름을 `Marketplace name impersonates an official Anthropic/Claude marketplace`로 거부합니다.

3690 

3691v2.1.282 이전에는 `claude plugin list` 및 `/plugin`이 모방하는 이름의 플러그인을 마켓플레이스의 이름을 원인으로 명명하지 않고 로드 실패로 보고했습니다.

3692 

3693**수행할 작업:**

3694 

3695* `claude plugin marketplace remove <name>`을 실행하십시오. 이는 또한 마켓플레이스에서 설치된 플러그인을 제거하고 저장된 데이터를 삭제합니다.

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

3697* 마켓플레이스를 게시하는 경우 `marketplace.json`에서 이름을 바꾸십시오. 사용자는 제거하는 대신 마켓플레이스를 업데이트합니다.

3698 

3455<h3 id="marketplace-is-already-added-from-a-different-source">3699<h3 id="marketplace-is-already-added-from-a-different-source">

3456 Marketplace is already added from a different source3700 Marketplace is already added from a different source

3457</h3>3701</h3>


3654 3898 

3655* claude.ai 조직의 관리자에게 claude.ai에서 플러그인의 필수 상태를 변경하도록 요청하십시오.3899* claude.ai 조직의 관리자에게 claude.ai에서 플러그인의 필수 상태를 변경하도록 요청하십시오.

3656 3900 

3901<h3 id="plugin-was-not-uninstalled">

3902 Plugin was not uninstalled

3903</h3>

3904 

3905[`claude plugin uninstall`](/docs/ko/plugins/cli-reference#plugin-uninstall)을 실행했거나 `/plugin` **설치됨** 탭에서 **제거**를 선택했으며 제거가 `"<plugin>" was not uninstalled:`로 시작하는 메시지와 함께 중지되었습니다.

3906 

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

3908 

3909```text theme={null}

3910✘ Failed to uninstall plugin "formatter": "formatter" was not uninstalled: it is still switched on in /home/user/project/.claude/settings.local.json, although the settings change reported no error. It is still installed. Take it out of "enabledPlugins" in that file yourself, then uninstall it again.

3911```

3912 

3913메시지의 중간 부분은 파일과 원인의 이름을 지정합니다:

3914 

3915* `it is still switched on in <file>, although the settings change reported no error`: 설정 쓰기가 성공를 보고했지만 파일을 읽을 때 항목이 여전히 있음

3916* `it is still switched on in <file>, and the settings change failed (<error>)`: 파일을 저장할 수 없음. 괄호 안의 이유

3917* `<file> is there and could not be read`: 파일이 존재하지만 설정으로 읽을 수 없음. 예를 들어 유효한 JSON이 아니므로 플러그인을 여전히 활성화할 수 있음

3918* `<file> (not read: it is on a network path or is a link to one, or could not be checked)`: Claude Code가 프로젝트 또는 로컬 설정 파일을 읽지 않았습니다. 파일 또는 이를 보유한 `.claude` 폴더가 네트워크 위치로 이어지는 링크이거나 해당 경로를 검사할 수 없기 때문입니다.

3919 

3920`claude plugin uninstall`은 종료 코드 1로 종료되며 `--json`을 사용하면 결과는 `failureCode: "settings_still_on"`을 전달합니다. `/plugin`은 동일한 메시지를 표시합니다.

3921 

3922**수행할 작업:**

3923 

3924* 메시지의 마지막 문장을 따르십시오: 이를 명명한 설정 파일을 복구하거나 바꾸거나 해당 파일의 `enabledPlugins`에서 플러그인의 항목을 직접 제거한 다음 제거를 다시 실행하십시오.

3925 

3657<h2 id="tool-errors">3926<h2 id="tool-errors">

3658 도구 오류3927 도구 오류

3659</h2>3928</h2>


3703* Claude가 파일을 변경할 수 있어야 하면 `/permissions`의 `Read` 거부 규칙을 제거하거나 좁힙니다. 또는 [설정](/docs/ko/settings-reference#permission-settings)에서 제거합니다.3972* Claude가 파일을 변경할 수 있어야 하면 `/permissions`의 `Read` 거부 규칙을 제거하거나 좁힙니다. 또는 [설정](/docs/ko/settings-reference#permission-settings)에서 제거합니다.

3704* 파일이 그대로 유지되어야 하면 규칙을 유지하고 NotebookEdit 도구도 차단하기 위해 동일한 경로에 `Edit` 거부 규칙을 추가합니다.3973* 파일이 그대로 유지되어야 하면 규칙을 유지하고 NotebookEdit 도구도 차단하기 위해 동일한 경로에 `Edit` 거부 규칙을 추가합니다.

3705 3974 

3975<h3 id="path-cannot-contain-null-bytes">

3976 경로에 null 바이트가 포함될 수 없음

3977</h3>

3978 

3979파일 도구 호출의 경로 또는 패턴 인수에 null 바이트가 포함되어 있으며, 파일 시스템과 검색 도구는 이를 수락할 수 없습니다. Read, Write, Edit, NotebookEdit, Glob 및 Grep은 이를 확인하고 메시지는 도구와 인수의 이름을 지정합니다:

3980 

3981```text theme={null}

3982Read file_path cannot contain null bytes (\0). Remove the null byte and try again.

3983```

3984 

3985도구 호출이 실패하고 Claude는 오류를 보며 턴이 계속됩니다.

3986 

3987**할 일:**

3988 

3989* 당신 쪽에서는 아무것도 할 필요가 없습니다: 오류는 도구의 결과로 Claude에 반환되며 메시지 자체가 Claude에 null 바이트를 제거하고 다시 시도하도록 지시합니다.

3990 

3991v2.1.281 이전에는 Read, Write, Edit 또는 NotebookEdit 경로의 null 바이트가 `Path contains null bytes`라는 이름의 오류로 전체 턴을 종료했으며 도구는 실행되지 않았습니다.

3992 

3706<h3 id="subagent-type-is-required">3993<h3 id="subagent-type-is-required">

3707 subagent\_type이 필수입니다3994 subagent\_type이 필수입니다

3708</h3>3995</h3>


3883 4170 

3884* `its symlink resolution changed after permission was checked`: 경로를 따라 또는 Grep 또는 Glob 검색 루트에서 기호 링크가 권한 확인과 작업 사이에 대체되었습니다. 읽기 거부에서 괄호 안의 구문은 어느 비교가 실패했는지 지정합니다.4171* `its symlink resolution changed after permission was checked`: 경로를 따라 또는 Grep 또는 Glob 검색 루트에서 기호 링크가 권한 확인과 작업 사이에 대체되었습니다. 읽기 거부에서 괄호 안의 구문은 어느 비교가 실패했는지 지정합니다.

3885* `its parent-directory symlink resolution changed after permission was checked`: 쓰기 경로가 통과하는 디렉토리가 더 이상 승인된 위치로 해석되지 않습니다.4172* `its parent-directory symlink resolution changed after permission was checked`: 쓰기 경로가 통과하는 디렉토리가 더 이상 승인된 위치로 해석되지 않습니다.

3886* `it is a symbolic link. Write to the link's target path instead`: 기호 링크가 승인된 쓰기 위치 자체에 있습니다. 예를 들어 `CLAUDE.md`가 `AGENTS.md`로의 기호 링크입니다. 메시지는 Claude를 링크의 대상으로 지시합니다.4173* `where it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve)`: Claude Code가 경로를 디스크의 최종 위치로 따를 수 없습니다. 예를 들어 경로의 기호 링크가 루프를 형성하거나 링크가 해석되지 않는 경우입니다.

4174* `it is a symbolic link. Write to the link's target path instead`: 기호 링크가 요청된 쓰기 위치 자체에 있습니다. 예를 들어 `CLAUDE.md`가 `AGENTS.md`로의 기호 링크입니다. 메시지는 Claude를 링크의 대상으로 지시합니다.

3887* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: 다른 작성자가 파일을 열 때 같은 조건이 포착됩니다. 예를 들어 기호 링크된 `.mcp.json`에 대한 쓰기입니다.4175* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: 다른 작성자가 파일을 열 때 같은 조건이 포착됩니다. 예를 들어 기호 링크된 `.mcp.json`에 대한 쓰기입니다.

3888* `Refusing to write into symlinked directory: <path>`: 파일을 보유한 디렉토리 자체가 기호 링크입니다. 예를 들어 프로젝트의 `.claude/` 디렉토리가 다른 위치로 연결되어 있습니다.4176* `Refusing to write into symlinked directory: <path>`: 파일을 보유한 디렉토리 자체가 기호 링크입니다. 예를 들어 프로젝트의 `.claude/` 디렉토리가 다른 위치로 연결되어 있습니다.

3889* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: `Read` 거부 규칙이 기호 링크를 통과하는 경로의 이름을 지정했고 Claude Code가 검색을 준비하는 동안 해당 링크가 변경되었습니다.4177* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: `Read` 거부 규칙이 기호 링크를 통과하는 경로의 이름을 지정했고 Claude Code가 검색을 준비하는 동안 해당 링크가 변경되었습니다.


3901 4189 

3902v2.1.251 이전에는 Claude Code가 파일 쓰기에 대해서만 경로의 해석을 다시 확인했으므로 권한 확인 후 대체된 링크가 메시지 없이 읽기 또는 검색을 다른 위치로 리디렉션할 수 있었습니다. 이러한 거부 중에서 부모 디렉토리, 기호 링크를 통한, 그리고 기호 링크된 디렉토리 쓰기 거부만 이전 버전에 나타납니다.4190v2.1.251 이전에는 Claude Code가 파일 쓰기에 대해서만 경로의 해석을 다시 확인했으므로 권한 확인 후 대체된 링크가 메시지 없이 읽기 또는 검색을 다른 위치로 리디렉션할 수 있었습니다. 이러한 거부 중에서 부모 디렉토리, 기호 링크를 통한, 그리고 기호 링크된 디렉토리 쓰기 거부만 이전 버전에 나타납니다.

3903 4191 

4192v2.1.280 이전에는 `where it leads on disk could not be determined` 거부가 나타나지 않았습니다.

4193 

3904<h3 id="task-output-swap-refused">4194<h3 id="task-output-swap-refused">

3905 작업 출력 스왑 거부4195 작업 출력 스왑 거부

3906</h3>4196</h3>


3926* 또는 Claude Code 임시 디렉토리 아래의 프로젝트 디렉토리를 확인합니다. 예제 메시지의 `/private/tmp/claude-501/-Users-you-my-project`입니다. 해당 경로가 기호 링크이거나 거기에 있으면 안 되는 디렉토리이면 링크의 대상이 아닌 링크 또는 디렉토리 자체를 제거하고 Claude Code를 다시 시작합니다.4216* 또는 Claude Code 임시 디렉토리 아래의 프로젝트 디렉토리를 확인합니다. 예제 메시지의 `/private/tmp/claude-501/-Users-you-my-project`입니다. 해당 경로가 기호 링크이거나 거기에 있으면 안 되는 디렉토리이면 링크의 대상이 아닌 링크 또는 디렉토리 자체를 제거하고 Claude Code를 다시 시작합니다.

3927* 거부가 반복되면 프로세스가 세션이 실행되는 동안 Claude Code의 임시 디렉토리 아래의 항목을 대체, 링크 또는 제거합니다. [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 다른 것이 관리하지 않는 디렉토리로 설정하고 다시 시작합니다.4217* 거부가 반복되면 프로세스가 세션이 실행되는 동안 Claude Code의 임시 디렉토리 아래의 항목을 대체, 링크 또는 제거합니다. [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 다른 것이 관리하지 않는 디렉토리로 설정하고 다시 시작합니다.

3928 4218 

4219<h3 id="disk-quota-or-temp-filesystem-is-full">

4220 디스크 할당량 또는 임시 파일 시스템이 가득 참

4221</h3>

4222 

4223Claude Code는 각 Bash 및 PowerShell 명령의 출력을 임시 디렉토리 아래의 파일에 저장합니다. 명령이 0이 아닌 코드로 종료되고 출력이 전혀 없으면 Claude Code는 해당 파일을 보유한 파일 시스템이 공간 또는 inode가 부족한지, 또는 디스크 할당량이 사용되었는지 확인합니다. 그렇다면 진단이 빈 출력 대신 명령의 결과에 나타납니다:

4224 

4225```text wrap theme={null}

4226Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.

4227```

4228 

4229메시지는 무엇이 부족한지 지정합니다:

4230 

4231* `Your disk quota is full ... (EDQUOT)`: 해당 파일 시스템에 대한 당신의 할당량이 사용되었습니다. 할당량은 파일 시스템이 여전히 여유 공간을 표시하는 동안 가득 찰 수 있습니다.

4232* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: 파일 시스템 또는 할당량에 공간이 남지 않았습니다.

4233* `Command output was lost: the temp filesystem at ... is full` 또는 `... is out of inodes`: 파일 시스템에 거의 여유 공간이 남지 않았거나 inode가 부족합니다.

4234 

4235**할 일:**

4236 

4237* Claude Code의 임시 디렉토리를 보유한 파일 시스템에서 더 이상 필요하지 않은 파일을 삭제합니다. `EDQUOT`의 경우 당신의 할당량에 포함되는 파일을 삭제합니다. `out of inodes`의 경우 각 파일이 크기에 관계없이 하나의 inode를 차지하므로 몇 개의 큰 파일이 아닌 많은 파일을 삭제합니다.

4238* 또는 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 여유 공간이 있는 파일 시스템의 디렉토리로 설정하여 Claude Code를 다시 시작합니다.

4239* 그런 다음 Claude에 명령을 다시 실행하도록 합니다. 인쇄한 출력은 손실되었으며 잘리지 않았습니다.

4240 

3929<h3 id="the-source-file-is-not-valid-utf-8-text">4241<h3 id="the-source-file-is-not-valid-utf-8-text">

3930 소스 파일이 유효한 UTF-8 텍스트가 아님4242 소스 파일이 유효한 UTF-8 텍스트가 아님

3931</h3>4243</h3>


4275 4587 

4276일부 계정에서 메시지는 `background service` 대신 `daemon`을 말합니다.4588일부 계정에서 메시지는 `background service` 대신 `daemon`을 말합니다.

4277 4589 

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

4279 4591 

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

4281 4593 


4341 백그라운드 세션을 시작할 때 작업 디렉토리가 더 이상 존재하지 않음4653 백그라운드 세션을 시작할 때 작업 디렉토리가 더 이상 존재하지 않음

4342</h3>4654</h3>

4343 4655 

4344더 이상 존재하지 않는 디렉토리에서 [백그라운드 세션](/docs/ko/agent-view)을 시작하려고 했습니다. 이는 에이전트 뷰에서 디스패치하거나 작업 중인 디렉토리가 삭제되거나 이동된 후 `/background`를 실행할 때 발생합니다. 또한 프로세스가 종료되고 디렉토리가 없는 세션에 연결하거나 다시 시작할 때 발생합니다. 새 프로세스가 같은 디렉토리에서 시작되기 때문입니다. Claude Code는 세션을 시작하지 않으며 메시지는 누락된 디렉토리를 명시합니다:4656더 이상 존재하지 않는 디렉토리에서 [백그라운드 세션](/docs/ko/agent-view)을 시작하려고 했습니다. Claude Code는 세션을 시작하지 않으며 메시지는 누락된 디렉토리를 명시합니다:

4345 4657 

4346```text theme={null}4658```text theme={null}

4347Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4659Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)


4353 4665 

4354* 메시지가 명시하는 디렉토리를 다시 만들거나 존재하는 디렉토리에서 디스패치한 다음 다시 시도합니다.4666* 메시지가 명시하는 디렉토리를 다시 만들거나 존재하는 디렉토리에서 디스패치한 다음 다시 시도합니다.

4355 4667 

4668<h3 id="workspace-not-trusted-when-dispatching-a-background-session">

4669 백그라운드 세션을 디스패치할 때 작업 공간을 신뢰하지 않음

4670</h3>

4671 

4672[신뢰하지 않은](/docs/ko/permissions#project-allow-rules-and-workspace-trust) 디렉토리에서 [백그라운드 세션](/docs/ko/agent-view)을 시작하거나 다시 시작했으며, 작업 공간 신뢰 대화가 나타날 수 없었습니다. Claude Code는 세션을 시작하지 않습니다:

4673 

4674```text theme={null}

4675Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.

4676```

4677 

4678세션의 자체 디렉토리의 터미널에서 같은 명령은 신뢰 대화를 대신 표시하고 수락하면 세션을 시작합니다. 이 메시지는 스크립트와 같이 대화가 나타날 수 없는 곳이나 다른 디렉토리에서 세션을 다시 시작할 때 나타납니다.

4679 

4680두 가지 변형은 다른 원인을 명시합니다:

4681 

4682* **`The home directory is trusted one session at a time`**: 세션의 디렉토리는 홈 디렉토리입니다. Claude Code는 홈 디렉토리에 대한 신뢰를 절대 저장하지 않으므로 이전 세션에서 대화를 수락해도 계산되지 않습니다.

4683* **`<path> could not be resolved on disk`**: Claude Code가 디스크에서 세션의 디렉토리를 찾을 수 없었습니다.

4684 

4685**할 일:**

4686 

4687* 메시지가 명시하는 디렉토리에서 `claude`를 실행하고 신뢰 대화를 수락한 다음 명령을 다시 실행합니다.

4688* 홈 디렉토리 메시지의 경우 홈 디렉토리의 터미널에서 명령을 실행하여 대화가 나타날 수 있도록 하거나 프로젝트 디렉토리에서 대신 세션을 시작합니다.

4689* `could not be resolved on disk` 메시지의 경우 디렉토리를 다시 만들거나 존재하는 디렉토리에서 새 세션을 시작합니다.

4690 

4356<h2 id="wrapper-and-ide-errors">4691<h2 id="wrapper-and-ide-errors">

4357 래퍼 및 IDE 오류4692 래퍼 및 IDE 오류

4358</h2>4693</h2>


4532 구성 경고4867 구성 경고

4533</h2>4868</h2>

4534 4869 

4535Claude Code는 이러한 메시지의 대부분을 stderr에 기록하며, 대부분을 시작 시에 기록합니다. 항목이 디버그 로그나 대화 보기의 시작 알림 같은 다른 곳에 나타나거나 [인식되지 않은 모델 진단 라인](#unrecognized-model-id-on-a-request)처럼 요청 시간에 나타나는 경우 그렇게 표시됩니다.4870Claude Code는 이러한 메시지 대부분을 대화가 아닌 stderr에 기록하며, 대부분 시작 시에 기록합니다. 항목이 디버그 로그나 대화 보기의 시작 알림 같은 다른 곳에 나타나거나 요청 시간의 [인식되지 않은 모델 진단 줄](#unrecognized-model-id-on-a-request) 같은 다른 시간에 나타나면 그렇게 표시됩니다.

4536 4871 

4537<h3 id="fullscreen-failed-start-notice">4872<h3 id="fullscreen-failed-start-notice">

4538 전체 화면 렌더러가 시작을 완료하지 못함4873 전체 화면 렌더러가 시작을 완료하지 못함


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

4542 4877 

4543```text theme={null}4878```text theme={null}

4544Claude Code의 전체 화면 렌더러가 지난번 이 머신에서 시작을 완료하지 못했으므로 이번 실행은 클래식 렌더러를 사용합니다. 다음 실행에서 전체 화면을 다시 시도할 것입니다. /tui default는 클래식 렌더러를 유지합니다.4879Claude Code의 전체 화면 렌더러가 이 머신에서 마지막으로 시작을 완료하지 못했으므로 이번 실행은 클래식 렌더러를 사용합니다. 다음 실행에서 전체 화면을 다시 시도할 것입니다. /tui default는 클래식 렌더러를 유지합니다.

4545 4880 

4546Claude Code의 전체 화면 렌더러가 이 머신에서 반복적으로 시작에 실패했으므로 여기서 비활성화되었습니다. /tui fullscreen을 실행하여 다시 시도하세요(이는 업데이트 후에도 재설정됩니다).4881Claude Code의 전체 화면 렌더러가 이 머신에서 반복적으로 시작에 실패했으므로 여기서 비활성화되었습니다. /tui fullscreen을 실행하여 다시 시도하세요(이는 업데이트 후에도 재설정됩니다).

4547```4882```


4549**할 일:**4884**할 일:**

4550 4885 

4551* [전체 화면 렌더링](/docs/ko/fullscreen#fullscreen-renderer-didnt-finish-starting)을 따르세요. 어떤 알림을 받는지, Claude Code가 이후 세션에서 무엇을 하는지, 그리고 전체 화면을 다시 시도하거나 클래식 렌더러를 유지하는 방법을 설명합니다.4886* [전체 화면 렌더링](/docs/ko/fullscreen#fullscreen-renderer-didnt-finish-starting)을 따르세요. 어떤 알림을 받는지, Claude Code가 이후 세션에서 무엇을 하는지, 그리고 전체 화면을 다시 시도하거나 클래식 렌더러를 유지하는 방법을 설명합니다.

4552* 종료된 세션이 종료 메시지를 출력했다면 [복구할 수 없는 인터페이스 오류 후 Claude Code 종료](#exited-after-an-unrecoverable-interface-error)를 참조하여 이름이 지정된 내용을 확인하세요.4887* 종료된 세션이 종료 메시지를 출력했다면 [Claude Code가 복구 불가능한 인터페이스 오류 후 종료됨](#exited-after-an-unrecoverable-interface-error)을 참조하여 이름이 지정된 내용을 확인하세요.

4553 4888 

4554v2.1.236 이전에는 Claude Code가 알림을 출력하지 않았고 실패한 시작 후에도 계속 전체 화면 렌더링에서 세션을 시작했습니다.4889v2.1.236 이전에는 Claude Code가 알림을 출력하지 않았고 실패한 시작 후에도 전체 화면 렌더링에서 세션을 계속 시작했습니다.

4555 4890 

4556<h3 id="exited-after-an-unrecoverable-interface-error">4891<h3 id="exited-after-an-unrecoverable-interface-error">

4557 복구할 수 없는 인터페이스 오류 후 Claude Code 종료4892 Claude Code가 복구 불가능한 인터페이스 오류 후 종료됨

4558</h3>4893</h3>

4559 4894 

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

4561 4896 

4562```text theme={null}4897```text theme={null}

4563Claude Code가 복구할 수 없는 인터페이스 오류(<error>)로 인해 종료되었습니다. 전체 화면 렌더러가 시작되는 동안 발생했으므로 다음 실행은 클래식 렌더러를 사용할 것입니다(CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1은 언제든지 이를 강제합니다).4898Claude Code가 복구 불가능한 인터페이스 오류(<error>)로 인해 종료되었습니다. 전체 화면 렌더러가 시작되는 동안 발생했으므로 다음 실행은 클래식 렌더러를 사용할 것입니다(CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1은 언제든지 이를 강제합니다).

4564```4899```

4565 4900 

4566**할 일:**4901**할 일:**


4574 에이전트 설명이 15.0k 토큰 제한을 초과함4909 에이전트 설명이 15.0k 토큰 제한을 초과함

4575</h3>4910</h3>

4576 4911 

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

4578 4913 

4579```text theme={null}4914```text theme={null}

4580에이전트 설명이 15.0k 토큰 제한을 초과함(~16.2k 토큰) · Claude에게 .claude/agents/의 에이전트 설명을 정리하도록 요청하세요4915에이전트 설명이 15.0k 토큰 제한을 초과함(~16.2k 토큰) · Claude에게 .claude/agents/의 에이전트 설명을 정리하도록 요청하세요


4585* 에이전트 파일의 `description` frontmatter를 단축하거나 Claude에게 정리하도록 요청하세요.4920* 에이전트 파일의 `description` frontmatter를 단축하거나 Claude에게 정리하도록 요청하세요.

4586* 더 이상 사용하지 않는 에이전트 파일을 제거하세요.4921* 더 이상 사용하지 않는 에이전트 파일을 제거하세요.

4587 4922 

4923<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">

4924 스킬, 명령 또는 워크플로우가 로드되지 않았습니다(이름이 예약됨)

4925</h3>

4926 

4927스킬 폴더, frontmatter `name`, `.claude/commands/`의 파일 또는 하위 폴더, 또는 [저장된 워크플로우](/docs/ko/workflows#save-the-workflow-for-reuse)가 `anthropic-skills` 이름을 사용하거나 `anthropic-skills:`로 시작하는 이름을 사용합니다. Claude Code는 [claude.ai에서 동기화된 스킬을 위해 해당 이름을 예약](/docs/ko/skills#names-reserved-for-synced-skills)하고 해당 항목을 로드하지 않습니다.

4928 

4929Claude Code는 stderr가 아닌 대화 보기의 시작 알림으로 이 경고를 표시합니다:

4930 

4931```text theme={null}

4932로드되지 않음: .claude/skills/anthropic-skills의 이름을 바꾸고 다시 시작하세요 — 해당 이름은 "anthropic-skills"를 사용하며, 이는 claude.ai 계정에서 동기화된 스킬을 위해 예약된 이름입니다

4933```

4934 

4935알림은 거부된 첫 번째 항목에 대해 변경할 내용을 이름으로 지정합니다: 이름을 바꿀 폴더 또는 파일, 편집할 `name:` 줄, 또는 이름을 바꿀 워크플로우. 둘 이상의 항목이 거부되면 알림은 `· 2 more` 같은 개수로 끝나고 [디버그 로그](/docs/ko/debug-your-config)가 각각을 이름으로 지정합니다.

4936 

4937**할 일:**

4938 

4939* 알림이 이름으로 지정한 항목의 이름을 바꾸거나 가리키는 `name:` 줄을 편집한 후 세션을 다시 시작하세요.

4940 

4941v2.1.282 이전에는 Claude Code가 이러한 이름의 스킬과 명령을 로드했습니다.

4942 

4588<h3 id="workspace-has-not-been-trusted">4943<h3 id="workspace-has-not-been-trusted">

4589 작업 공간이 신뢰되지 않음4944 작업 영역이 신뢰되지 않음

4590</h3>4945</h3>

4591 4946 

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

4593 4948 

4594```text theme={null}4949```text theme={null}

4595.claude/settings.local.json의 2개 permissions.allow 항목을 무시합니다: 이 작업 공간이 신뢰되지 않았습니다. 여기서 Claude Code를 대화형으로 한 번 실행하고 신뢰 대화를 수락하거나 /Users/you/.claude.json에서 projects["/Users/you/project"].hasTrustDialogAccepted: true를 설정하세요.4950.claude/settings.local.json의 2개 permissions.allow 항목을 무시합니다: 이 작업 영역이 신뢰되지 않았습니다. 여기서 Claude Code를 대화형으로 한 번 실행하고 신뢰 대화를 수락하거나, /Users/you/.claude.json에서 projects["/Users/you/project"].hasTrustDialogAccepted: true를 설정하세요.

4596```4951```

4597 4952 

4598**할 일:**4953**할 일:**

4599 4954 

4600* 디렉토리에서 `claude`를 실행하고 신뢰 대화를 수락하세요. [프로젝트 allow 규칙 및 작업 공간 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)에서 해당 수락이 어느 폴더를 포함하는지 설명합니다.4955* 디렉토리에서 `claude`를 실행하고 신뢰 대화를 수락하세요. [프로젝트 allow 규칙 및 작업 영역 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)는 해당 수락이 어느 폴더를 포함하는지 설명합니다.

4601* [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 대화가 표시되지 않습니다. 메시지가 출력하는 정확한 `projects` 키를 사용하여 `~/.claude.json`에서 `hasTrustDialogAccepted` 항목을 설정하세요.4956* [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 대화가 표시되지 않습니다. 메시지가 출력하는 정확한 `projects` 키를 사용하여 `~/.claude.json`에서 `hasTrustDialogAccepted` 항목을 설정하세요.

4602* 메시지가 `.claude/settings.local.json`을 언급하고 git 저장소 외부 또는 홈 디렉토리에서 Claude Code를 시작했다면 v2.1.200 이상으로 업데이트하세요. 버전 2.1.196부터 2.1.199까지는 해당 작업 공간에서 자신의 `.claude/settings.local.json`을 저장소 제공으로 취급했습니다. v2.1.207 이상에서는 git 저장소 외부에서 폴더를 신뢰하지 않은 경우 업데이트만으로는 충분하지 않습니다: 폴더가 저장소 내부에 있지 않은지 확인하면 git을 실행하고 Claude Code는 신뢰 대화를 수락한 후에만 해당 검사를 실행하므로 첫 번째 단계를 사용하세요. 홈 디렉토리 및 기타 [구성 홈](/docs/ko/permissions#project-allow-rules-and-workspace-trust)은 면제되며 대화를 기다리지 않습니다. [프로젝트 allow 규칙 및 작업 공간 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 참조하세요.4957* 메시지가 `.claude/settings.local.json`을 이름으로 지정하고 git 저장소 외부 또는 홈 디렉토리에서 Claude Code를 시작했다면 v2.1.200 이상으로 업데이트하세요. v2.1.196부터 v2.1.199까지의 버전은 이러한 작업 영역에서 자신의 `.claude/settings.local.json`을 저장소 제공으로 취급했습니다. v2.1.207 이상에서는 git 저장소 외부에서 업데이트하는 것만으로는 충분하지 않습니다(폴더를 신뢰하지 않은 경우): 폴더가 저장소 내부가 아님을 확인하면 git을 실행하고 Claude Code는 신뢰 대화를 수락한 후에만 해당 검사를 실행하므로 첫 번째 단계를 사용하세요. 홈 디렉토리 및 기타 [구성 홈](/docs/ko/permissions#project-allow-rules-and-workspace-trust)은 면제되며 대화를 기다리지 않습니다. [프로젝트 allow 규칙 및 작업 영역 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 참조하세요.

4603 4958 

4604<h3 id="working-directory-is-a-network-path">4959<h3 id="working-directory-is-a-network-path">

4605 작업 디렉토리가 네트워크 경로임4960 작업 디렉토리가 네트워크 경로임

4606</h3>4961</h3>

4607 4962 

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

4609 4964 

4610```text theme={null}4965```text theme={null}

4611\\server\share는 네트워크 경로이므로 작업 디렉토리로 추가할 수 없습니다. Windows에서는 공유를 드라이브 문자로 매핑하고 --add-dir로 실행 시 전달하세요(세션 중간에 추가된 드라이브 문자는 아직 원격 읽기 신뢰를 수행하지 않습니다).4966\\server\share는 네트워크 경로이므로 작업 디렉토리로 추가할 수 없습니다. Windows에서는 공유를 드라이브 문자로 매핑하고 --add-dir로 실행 시 전달하세요(세션 중간에 추가된 드라이브 문자는 아직 원격 읽기 신뢰를 수행하지 않습니다).


4621 4976 

4622**할 일:**4977**할 일:**

4623 4978 

4624* Windows에서는 공유를 드라이브 문자로 매핑하세요(예: `net use Z: \\server\share`). 그리고 `claude --add-dir Z:\`로 실행 시 드라이브를 전달하세요.4979* Windows에서는 `net use Z: \\server\share` 같은 명령으로 공유를 드라이브 문자로 매핑하고 `claude --add-dir Z:\`로 실행 시 드라이브를 전달하세요.

4625* macOS 또는 Linux에서는 공유를 로컬 경로에 마운트하고 해당 경로를 대신 추가하세요.4980* macOS 또는 Linux에서는 공유를 로컬 경로에 마운트하고 대신 해당 경로를 추가하세요.

4626* 경로가 `permissions.additionalDirectories`에 있으면 이를 나열하는 설정 파일에서 제거하세요.4981* 경로가 `permissions.additionalDirectories`에 있으면 이를 나열하는 설정 파일에서 제거하세요.

4627 4982 

4628v2.1.257 이전에는 Claude Code가 도달 가능한 네트워크 경로를 작업 디렉토리로 수락했습니다.4983v2.1.257 이전에는 Claude Code가 도달 가능한 네트워크 경로를 작업 디렉토리로 수락했습니다.


4631 원격 관리 설정을 로드하지 못함4986 원격 관리 설정을 로드하지 못함

4632</h3>4987</h3>

4633 4988 

4634세션이 [서버 관리 설정](/docs/ko/server-managed-settings)에 적합하지만 Claude Code가 이를 가져올 수 없어서 대화형 세션에 이 경고를 표시합니다. 괄호로 묶인 원인은 `network error`, `request timed out`, 또는 `authentication rejected (401)` 같은 실패한 내용을 명시하고, 줄의 나머지는 세션이 실행되는 정책을 나타냅니다:4989세션이 [서버 관리 설정](/docs/ko/server-managed-settings)에 적합하지만 Claude Code가 설정을 가져올 수 없거나 서버가 반환한 내용을 적용할 수 없어서 대화형 세션에서 이 경고를 표시합니다.

4990 

4991괄호로 묶인 원인은 `network error`, `request timed out`, 또는 `authentication rejected (401)` 같은 실패한 내용을 이름으로 지정합니다. `no setting in the server response could be applied as written` 원인은 서버가 응답했지만 반환된 설정 중 [검증](/docs/ko/server-managed-settings#invalid-entries-in-delivered-settings)을 통과한 것이 없음을 의미합니다. v2.1.282 이전에는 이 원인이 `server returned invalid settings`로 읽혔습니다.

4635 4992 

4636* **이전 성공적인 가져오기에서 캐시된 설정**: Claude Code는 [제외된 환경 변수](/docs/ko/server-managed-settings#fetch-and-caching-behavior)를 제외하고 캐시된 정책에서 세션을 실행하며, 줄은 `using cached policy`를 읽습니다.4993줄의 나머지 부분은 세션이 실행되는 정책을 나타냅니다:

4637* **캐시 없음**: Claude Code는 서버 관리 설정 없이 세션을 실행하며, 줄은 `no remote policy applied`를 읽습니다.4994 

4995* **이전 성공적인 가져오기에서 캐시된 설정**: Claude Code는 [보류된 환경 변수](/docs/ko/server-managed-settings#fetch-and-caching-behavior)를 제외한 해당 캐시된 정책에서 세션을 실행하며, 줄은 `using cached policy`로 읽습니다.

4996* **캐시 없음**: Claude Code는 서버 관리 설정 없이 세션을 실행하며, 줄은 `no remote policy applied`로 읽습니다.

4638 4997 

4639**할 일:**4998**할 일:**

4640 4999 

4641* 메시지가 명시하는 원인에 대해 조치하세요: 네트워크 원인의 경우 이 머신이 `api.anthropic.com`에 도달할 수 있는지 확인하세요. 인증 원인의 경우 `/status`로 로그인을 확인하세요.5000* 메시지가 이름으로 지정한 원인에 대해 조치하세요: 네트워크 원인의 경우 이 머신이 `api.anthropic.com`에 도달할 수 있는지 확인하세요. 인증 원인의 경우 `/status`로 로그인을 확인하세요.

5001* `no setting in the server response could be applied as written`의 경우 관리자에게 서버의 설정을 수정하도록 요청하세요.

4642* 전체 진단을 위해 `/status` 또는 `claude doctor`를 실행하세요.5002* 전체 진단을 위해 `/status` 또는 `claude doctor`를 실행하세요.

4643 5003 

4644v2.1.248 이전에는 Claude Code가 실패한 설정 가져오기를 디버그 로그에만 보고했습니다.5004v2.1.248 이전에는 Claude Code가 실패한 설정 가져오기를 디버그 로그에서만 보고했습니다.

4645 5005 

4646<h3 id="managed-settings-were-not-approved">5006<h3 id="managed-settings-were-not-approved">

4647 관리 설정이 승인되지 않음5007 관리 설정이 승인되지 않음

4648</h3>5008</h3>

4649 5009 

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

4651 5011 

4652```text theme={null}5012```text theme={null}

4653관리 설정이 승인되지 않았습니다. 이를 적용하지 않고 종료합니다.5013관리 설정이 승인되지 않았습니다. 이를 적용하지 않고 종료합니다.


4658* Claude Code를 다시 시작하고 대화를 승인하여 조직의 설정에서 계속하세요. 거부된 대화는 기억되지 않으므로 다음 시작 시 다시 나타납니다.5018* Claude Code를 다시 시작하고 대화를 승인하여 조직의 설정에서 계속하세요. 거부된 대화는 기억되지 않으므로 다음 시작 시 다시 나타납니다.

4659* 대화가 나열하는 설정에 대해 확실하지 않으면 승인하기 전에 조직의 관리 설정을 유지하는 사람에게 문의하세요.5019* 대화가 나열하는 설정에 대해 확실하지 않으면 승인하기 전에 조직의 관리 설정을 유지하는 사람에게 문의하세요.

4660 5020 

5021<h3 id="managed-settings-block-the-default-model">

5022 관리 설정이 기본 모델을 차단함

5023</h3>

5024 

5025조직의 [관리 설정](/docs/ko/managed-settings)이 기본 옵션이 해석되는 모델과 이를 단계적으로 낮출 수 있는 모든 모델을 차단합니다. 기본 옵션에서 시작할 세션은 차단된 모델을 실행하는 대신 시작 시 종료됩니다. 어떤 메시지를 보는지는 이를 차단하는 설정에 따라 다릅니다. [`deniedModels`](/docs/ko/model-config#block-specific-models-or-versions) 목록이 이를 차단하면 메시지는 다음과 같이 읽습니다:

5026 

5027```text theme={null}

5028Claude Code를 시작할 수 없습니다: 조직의 관리 설정이 "deniedModels"에서 기본 모델(claude-opus-5-5)을 차단하고 있으며, 허용하는 모델 중 기본값으로 사용할 수 있는 모델이 없습니다. 관리자에게 "deniedModels" 또는 "availableModels"을 업데이트하도록 요청하세요.

5029```

5030 

5031`availableModels` 목록이 [`availableModelsMatch`](/docs/ko/settings-reference#availablemodelsmatch)를 `"exact"`로 설정하여 이를 생략하면 메시지는 다음과 같이 읽습니다:

5032 

5033```text theme={null}

5034Claude Code를 시작할 수 없습니다: 조직이 "availableModels"에 나열된 모델만 허용하며, 기본 모델로 사용할 수 있는 모델이 없습니다(claude-opus-5-5가 나열되지 않음). 관리자에게 "availableModels"을 업데이트하도록 요청하세요.

5035```

5036 

5037**할 일:**

5038 

5039* 설정을 관리하는 경우 사용자가 실행할 수 있는 모델을 `availableModels`에 추가하거나 모든 폴백을 차단하는 `deniedModels` 항목을 좁히세요. [특정 모델 또는 버전 차단](/docs/ko/model-config#block-specific-models-or-versions)은 기본 옵션이 어떻게 단계적으로 낮춰지는지 설명합니다.

5040* 설정을 관리하지 않으면 메시지를 관리자에게 보내세요. 자신의 설정 파일은 관리 `availableModels` 또는 `deniedModels` 목록을 확대할 수 없습니다.

5041 

4661<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">5042<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">

4662 MCP 서버가 엔터프라이즈 관리 정책에 의해 차단됨5043 MCP 서버가 엔터프라이즈 관리 정책에 의해 차단됨

4663</h3>5044</h3>

4664 5045 

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

4666 5047 

4667```text theme={null}5048```text theme={null}

4668MCP 서버 <name>이(가) 엔터프라이즈 관리 정책에 의해 차단되었습니다5049MCP 서버 <name>이(가) 엔터프라이즈 관리 정책에 의해 차단되었습니다

4669```5050```

4670 5051 

4671다음 설정 중 하나가 메시지를 생성할 수 있습니다:5052이러한 설정 중 하나가 메시지를 생성할 수 있습니다:

4672 5053 

4673* 자신의 `~/.claude/settings.json` 또는 프로젝트의 `.claude/settings.json`에 있는 것을 포함하여 서버와 일치하는 [`deniedMcpServers`](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 항목5054* 자신의 `~/.claude/settings.json` 또는 프로젝트의 `.claude/settings.json`에 있는 것을 포함하여 서버와 일치하는 [`deniedMcpServers`](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 항목

4674* 서버가 일치하지 않는 [`allowedMcpServers`](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 목록5055* 서버가 일치하지 않는 [`allowedMcpServers`](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 목록

4675* `mcp` 잠금이 있는 [`strictPluginOnlyCustomization`](/docs/ko/settings-reference#strictpluginonlycustomization)으로, `~/.claude.json` 및 `.mcp.json`에서 구성된 서버를 차단합니다.5056* `mcp`가 잠긴 [`strictPluginOnlyCustomization`](/docs/ko/settings-reference#strictpluginonlycustomization)으로, `~/.claude.json` 및 `.mcp.json`에서 구성된 서버를 차단합니다.

4676* 서버가 claude.ai 커넥터일 때 [`disableClaudeAiConnectors`](/docs/ko/mcp#disable-claude-ai-connectors)5057* 서버가 claude.ai 커넥터일 때 [`disableClaudeAiConnectors`](/docs/ko/mcp#disable-claude-ai-connectors)

4677 5058 

4678**할 일:**5059**할 일:**


4680* 자신의 사용자 및 프로젝트 설정 파일에서 이러한 설정 중 하나를 확인하고 변경하거나 제거하세요.5061* 자신의 사용자 및 프로젝트 설정 파일에서 이러한 설정 중 하나를 확인하고 변경하거나 제거하세요.

4681* 자신의 설정이 차단을 설명하지 않으면 관리자에게 어떤 관리 설정이 서버를 차단하는지 문의하세요.5062* 자신의 설정이 차단을 설명하지 않으면 관리자에게 어떤 관리 설정이 서버를 차단하는지 문의하세요.

4682 5063 

4683v2.1.257 이전에는 `/mcp`의 **다시 연결** 및 다시 활성화가 중간 세션 정책 업데이트가 차단한 서버를 연결할 수 있었습니다.5064v2.1.257 이전에는 `/mcp`의 **다시 연결** 및 다시 활성화가 세션 중간 정책 업데이트가 차단한 서버를 연결할 수 있었습니다.

4684 5065 

4685<h3 id="managed-settings-document-could-not-be-parsed">5066<h3 id="managed-settings-document-could-not-be-parsed">

4686 관리 설정 문서를 구문 분석할 수 없음5067 관리 설정 문서를 구문 분석할 수 없음

4687</h3>5068</h3>

4688 5069 

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

4690 5071 

4691```text theme={null}5072```text theme={null}

4692/Library/Application Support/ClaudeCode/managed-settings.json: 관리 설정 문서를 JSON 객체로 구문 분석할 수 없습니다. 해당 설정이 적용되지 않습니다. 수정하거나 제거하세요.5073/Library/Application Support/ClaudeCode/managed-settings.json: 관리 설정 문서를 JSON 객체로 구문 분석할 수 없습니다. 해당 설정이 적용되지 않습니다. 수정하거나 제거하세요.


4698* macOS 관리 기본 설정 프로필, `per-user managed preferences` 또는 `device-level managed preferences`5079* macOS 관리 기본 설정 프로필, `per-user managed preferences` 또는 `device-level managed preferences`

4699* Windows 레지스트리 값, `Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings`5080* Windows 레지스트리 값, `Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings`

4700 5081 

4701[Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)에서 각 소스를 구문 분석할 수 없게 만드는 것을 나열합니다.5082[Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)는 각 소스를 구문 분석할 수 없게 만드는 것을 나열합니다.

4702 5083 

4703Claude Code는 다른 관리 소스가 유효한 정책을 제공하더라도 시작을 거부합니다. 대화형 세션, `claude -p`, Agent SDK 세션, [백그라운드 세션](/docs/ko/agent-view), 및 `claude doctor`를 포함한 대부분의 하위 명령에서 이 오류를 봅니다. 거부는 의도적으로 폐쇄됩니다: Claude Code가 구문 분석할 수 없는 문서의 설정은 적용될 수 없으며, 계속 진행하면 조직의 제어 없이 세션이 실행됩니다.5084Claude Code는 다른 관리 소스가 유효한 정책을 제공하더라도 시작을 거부합니다. 대화형 세션, `claude -p`, Agent SDK 세션, [백그라운드 세션](/docs/ko/agent-view), 및 대부분의 하위 명령(`claude doctor` 포함)에서 이 오류를 봅니다. 거부는 의도적으로 폐쇄됩니다: Claude Code가 구문 분석할 수 없는 문서의 설정은 적용될 수 없으며, 어쨌든 시작하면 조직의 제어 없이 세션이 실행됩니다.

4704 5085 

4705구문 분석 가능한 문서의 스키마 문제는 이 오류를 생성하지 않습니다. [Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)에서 Claude Code가 하나를 사용하는 것을 다룹니다.5086구문 분석 가능한 문서의 스키마 문제는 이 오류를 생성하지 않습니다. [Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)는 Claude Code가 하나를 사용하는 것을 다룹니다.

4706 5087 

4707`managed-settings.d/` 디렉토리가 있지만 나열할 수 없으면 Claude Code는 `Managed settings drop-in directory could not be read:` 다음에 기본 오류를 보고합니다. [Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)에서 읽기 실패가 시작 시 종료되는 경우를 다룹니다.5088`managed-settings.d/` 디렉토리가 있지만 나열할 수 없으면 Claude Code는 `Managed settings drop-in directory could not be read:` 다음에 기본 오류 대신 보고합니다. [Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)는 읽기 실패가 시작 시 종료되는 경우를 다룹니다.

4708 5089 

4709**할 일:**5090**할 일:**

4710 5091 

4711* 머신을 관리하면 명시된 문서를 JSON 객체로 구문 분석하도록 수정하거나 파일, 프로필 또는 레지스트리 값을 제거하세요. 빈 `managed-settings.json`은 `{}`로 계산되며 실행을 차단하지 않습니다.5092* 머신을 관리하면 명명된 문서가 JSON 객체로 구문 분석되도록 수정하거나 파일, 프로필 또는 레지스트리 값을 제거하세요. 빈 `managed-settings.json`은 `{}`로 계산되며 실행을 차단하지 않습니다.

4712* 그렇지 않으면 관리자에게 배포된 문서를 수정하도록 요청하세요. 자신의 설정 파일의 아무것도 이 오류를 야기하거나 지우지 않습니다.5093* 관리하지 않으면 관리자에게 배포된 문서를 수정하도록 요청하세요. 자신의 설정 파일의 아무것도 이 오류를 야기하거나 지우지 않습니다.

4713 5094 

4714<h3 id="otelheadershelper-failed">5095<h3 id="otelheadershelper-failed">

4715 otelHeadersHelper 실패5096 otelHeadersHelper 실패

4716</h3>5097</h3>

4717 5098 

4718Claude Code는 [`otelHeadersHelper`](/docs/ko/settings-reference#otelheadershelper) 스크립트가 실패하거나 [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 충족하지 않는 출력을 출력할 때 대화형 세션당 한 번 터미널 인터페이스에 알림으로 이 경고를 표시합니다.5099Claude Code는 [`otelHeadersHelper`](/docs/ko/settings-reference#otelheadershelper) 스크립트가 실패하거나 [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 충족하지 않는 출력을 출력할 때 대화형 세션당 한 번 터미널 인터페이스에서 알림으로 이 경고를 표시합니다.

4719 5100 

4720스크립트가 계속 실패하는 동안 내보내기가 실패하고 원격 분석 백엔드는 세션에서 아무것도 받지 못합니다.5101스크립트가 계속 실패하는 동안 내보내기가 실패하고 원격 분석 백엔드는 세션에서 아무것도 받지 않습니다.

4721 5102 

4722`See /status:` 뒤의 텍스트는 스크립트의 종료 코드 다음에 오류 출력 같은 실패한 내용을 명시합니다:5103`See /status:` 뒤의 텍스트는 스크립트의 종료 코드 다음에 오류 출력 같은 실패한 내용을 나타냅니다:

4723 5104 

4724```text theme={null}5105```text theme={null}

4725otelHeadersHelper 실패. 원격 분석이 내보내지지 않습니다. /status 참조: exited 1: token service unreachable5106otelHeadersHelper 실패. 원격 분석을 내보내지 않습니다. /status 참조: exited 1: token service unreachable

4726```5107```

4727 5108 

4728**할 일:**5109**할 일:**

4729 5110 

4730* `/status`를 실행하여 실패 세부 정보를 읽으세요.5111* `/status`를 실행하여 실패 세부 정보를 읽으세요.

4731* 스크립트를 수정하여 30초 이내에 종료 0으로 종료하고 stdout에 문자열 헤더 값의 JSON 객체를 출력하도록 하세요. [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 참조하세요.5112* 스크립트가 30초 이내에 0으로 종료되고 stdout에 문자열 헤더 값의 JSON 객체를 출력하도록 수정하세요. [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 참조하세요.

4732* 조직이 [관리 설정](/docs/ko/managed-settings)을 통해 스크립트를 배포하면 이를 유지하는 사람에게 수정하도록 요청하세요.5113* 조직이 [관리 설정](/docs/ko/managed-settings)을 통해 스크립트를 배포하면 이를 유지하는 사람에게 수정하도록 요청하세요.

4733 5114 

4734[비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 같은 실패가 stderr에 `otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>` 대신 나타납니다.5115[비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 동일한 실패가 stderr에 `otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>` 대신 나타납니다.

4735 5116 

4736<h3 id="headershelper-not-run">5117<h3 id="headershelper-not-run">

4737 headersHelper가 실행되지 않음5118 headersHelper 실행되지 않음

4738</h3>5119</h3>

4739 5120 

4740Claude Code는 정적 `headers`만으로 MCP 서버를 연결했고 서버의 [`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)를 건너뛰었습니다. 헬퍼는 셸 명령이고 폴더에 저장된 신뢰가 없기 때문입니다. 폴더는 `~/.claude.json`에서 항목을 손으로 설정하거나, 홈 디렉토리 외부에서 대화형 세션에서 신뢰 대화를 수락할 때 저장된 신뢰를 얻습니다. [headersHelper가 실행되기 전에 폴더 신뢰](/docs/ko/mcp#trust-a-folder-before-its-headershelper-runs)에서 이 검사가 적용되는 서버를 참조하세요.5121Claude Code는 MCP 서버를 정적 `headers`만으로 연결했으며 서버의 [`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)를 건너뛰었습니다. 헬퍼는 셸 명령이고 폴더에 저장된 신뢰가 없기 때문입니다. 폴더는 `~/.claude.json`에서 항목을 손으로 설정하거나 홈 디렉토리 외부에서 대화형 세션에서 신뢰 대화를 수락할 때 저장된 신뢰를 얻습니다. [headersHelper가 실행되기 전에 폴더 신뢰](/docs/ko/mcp#trust-a-folder-before-its-headershelper-runs)를 참조하여 이 검사가 어떤 서버에 적용되는지 확인하세요.

4741 5122 

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

4743 5124 

4744```text theme={null}5125```text theme={null}

4745MCP 서버 'internal-api': headersHelper가 실행되지 않음 — 이 작업 공간에 지속된 신뢰가 없습니다. 여기서 대화형으로 신뢰 대화를 한 번 수락하거나 /Users/you/.claude.json에서 projects["/Users/you/project"].hasTrustDialogAccepted를 설정하세요.5126MCP 서버 'internal-api': headersHelper 실행되지 않음 — 이 작업 영역에 저장된 신뢰가 없습니다. 여기서 한 번 대화형으로 신뢰 대화를 수락하거나 /Users/you/.claude.json에서 projects["/Users/you/project"].hasTrustDialogAccepted를 설정하세요.

4746```5127```

4747 5128 

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

4749 5130 

4750**할 일:**5131**할 일:**

4751 5132 

4752* 메시지가 명시하는 폴더에서 `claude`를 실행하고 신뢰 대화를 수락한 다음 `-p` 또는 SDK 명령을 다시 실행하세요.5133* 메시지가 이름으로 지정한 폴더에서 `claude`를 실행하고 신뢰 대화를 수락한 후 `-p` 또는 SDK 명령을 다시 실행하세요.

4753* 메시지가 출력하는 정확한 `projects` 키를 사용하여 `~/.claude.json`에서 `hasTrustDialogAccepted` 항목을 직접 설정하세요.5134* `~/.claude.json`에서 `hasTrustDialogAccepted` 항목을 직접 설정하고 메시지가 출력하는 정확한 `projects` 키를 사용하세요.

4754* 홈 디렉토리에서 세션을 시작했으면 신뢰한 프로젝트 디렉토리에서 작업하세요. 홈 디렉토리에서 신뢰 대화를 수락하면 Claude Code는 현재 세션에만 해당 신뢰를 유지합니다.5135* 홈 디렉토리에서 세션을 시작했으면 신뢰한 프로젝트 디렉토리에서 작업하세요. 홈 디렉토리에서 신뢰 대화를 수락하면 Claude Code는 현재 세션에만 해당 신뢰를 유지합니다.

4755 5136 

4756<h3 id="malformed-tool-content-rule">5137<h3 id="malformed-tool-content-rule">

4757 잘못된 Tool(content) 규칙5138 잘못된 형식의 Tool(content) 규칙

4758</h3>5139</h3>

4759 5140 

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

4761 5142 

4762```text theme={null}5143```text theme={null}

4763유효하지 않은 권한 규칙 "Bash(ls) x"가 건너뛰어졌습니다: 잘못된 Tool(content) 규칙. 규칙은 Tool 또는 Tool(content) 형태를 가지며 닫는 ")"에서 끝나야 합니다. 내용 내의 괄호는 리터럴입니다.5144유효하지 않은 권한 규칙 "Bash(ls) x"를 건너뛰었습니다: 잘못된 형식의 Tool(content) 규칙. 규칙은 Tool 또는 Tool(content) 형태이며 닫는 ")"에서 끝나야 합니다. 내용 내의 괄호는 리터럴입니다.

4764```5145```

4765 5146 

4766**할 일:**5147**할 일:**

4767 5148 

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

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

4770 5151 

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

4772 5153 


4774 파일 권한 검사와 일치하지 않음5155 파일 권한 검사와 일치하지 않음

4775</h3>5156</h3>

4776 5157 

4777Claude 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` 규칙에 대해서만 검사하므로 다른 파일 도구 중 하나를 명시하는 경로 규칙을 절대 참조하지 않습니다. 규칙을 유지하고 다른 것은 변경하지 않습니다. 경고는 규칙, 괄호의 소스, 그리고 작성할 대체를 명시합니다:5158Claude 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` 규칙에 대해서만 검사하므로 다른 파일 도구 중 하나를 이름으로 지정하는 경로 규칙을 절대 참조하지 않습니다. 규칙을 유지하고 다른 것은 변경하지 않습니다. 경고는 규칙, 괄호의 소스, 그리고 작성할 대체를 이름으로 지정합니다:

4778 5159 

4779```text theme={null}5160```text theme={null}

4780권한 deny 규칙(.claude/settings.json): Write(docs/**)는 파일 권한 검사와 일치하지 않습니다 — Edit(path) 규칙만 사용됩니다. 대신 Edit(docs/**)를 사용하세요(Edit 규칙은 모든 파일 편집 도구를 포함합니다).5161권한 deny 규칙(.claude/settings.json): Write(docs/**)는 파일 권한 검사와 일치하지 않습니다 — Edit(path) 규칙만 있습니다. 대신 Edit(docs/**)를 사용하세요(Edit 규칙은 모든 파일 편집 도구를 포함합니다).

4781```5162```

4782 5163 

4783**할 일:**5164**할 일:**

4784 5165 

4785* `Write(path)`, `NotebookEdit(path)`, 및 레거시 `MultiEdit(path)` 규칙을 `Edit(path)`로 바꾸세요. `Edit` 규칙은 모든 파일 편집 도구를 포함합니다.5166* `Write(path)`, `NotebookEdit(path)`, 및 레거시 `MultiEdit(path)` 규칙을 `Edit(path)`로 바꾸세요. `Edit` 규칙은 모든 파일 편집 도구를 포함합니다.

4786* `--allowedTools`를 제외하고, Claude Code가 경고 없이 `Glob` 규칙을 수락하며, `Glob(path)` 규칙을 `Read(path)`로 바꾸세요.5167* `--allowedTools`를 제외하고, Claude Code가 경고 없이 `Glob` 규칙을 수락하며, `Glob(path)` 규칙을 `Read(path)`로 바꾸세요.

4787* 경고가 괄호에 명시하는 소스에서 규칙을 수정하세요: 설정 파일 경로, 또는 `--allowed-tools` 및 `--disallowed-tools`의 플래그 자체. 디스크에 존재하지 않는 `claude-settings-<hash>.json` 경로는 인라인 `--settings` 값을 나타냅니다. 해당 플래그에 전달하는 JSON을 수정하세요.5168* 경고가 괄호에 이름으로 지정한 소스에서 규칙을 수정하세요: 설정 파일 경로 또는 `--allowed-tools` 및 `--disallowed-tools`의 플래그 자체. 디스크에 존재하지 않는 `claude-settings-<hash>.json` 경로는 인라인 `--settings` 값을 나타냅니다. 해당 플래그에 전달하는 JSON을 수정하세요.

4788* `Write` 또는 `Glob` 같은 베어 도구 이름 규칙은 그대로 두세요. Claude Code는 [도구 수준](/docs/ko/permissions#match-all-uses-of-a-tool)에서 일치시키고 이들에 대해 경고하지 않습니다.5169* `Write` 또는 `Glob` 같은 베어 도구 이름 규칙은 그대로 두세요. Claude Code는 [도구 수준](/docs/ko/permissions#match-all-uses-of-a-tool)에서 일치하며 이에 대해 경고하지 않습니다.

4789* 소스가 `managed policy settings`를 읽으면 경고를 관리 설정을 유지하는 사람에게 전달하세요. 자신이 직접 지울 수 없기 때문입니다.5170* 소스가 `managed policy settings`로 읽히면 경고를 관리 설정을 유지하는 사람에게 전달하세요. 자신이 직접 지울 수 없기 때문입니다.

4790 5171 

4791[백그라운드 세션](/docs/ko/agent-view) 또는 `--output-format json` 또는 `stream-json`에서 Claude Code는 경고를 stderr 대신 디버그 로그에 기록하므로 머신 읽기 출력이 깨끗합니다. `~/.claude/debug/<session-id>.txt`에서 캡처하려면 `--debug`로 실행하세요. v2.1.210 이전에는 Claude Code가 경고 없이 이러한 규칙을 수락했습니다.5172[백그라운드 세션](/docs/ko/agent-view) 또는 `--output-format json` 또는 `stream-json`에서 Claude Code는 경고를 디버그 로그에 stderr 대신 기록하므로 머신 읽기 출력이 깨끗합니다. `--debug`로 실행하여 `~/.claude/debug/<session-id>.txt`에서 캡처하세요. v2.1.210 이전에는 Claude Code가 경고 없이 이러한 규칙을 수락했습니다.

4792 5173 

4793<h3 id="has-a-wildcard-before-the-rest-of-the-command">5174<h3 id="has-a-wildcard-before-the-rest-of-the-command">

4794 명령의 나머지 부분 앞에 와일드카드가 있음5175 명령의 나머지 부분 앞에 와일드카드가 있음

4795</h3>5176</h3>

4796 5177 

4797Claude Code는 `Bash(git * main)` 또는 `Bash(git -C * status *)`처럼 `*`가 명령을 결정하는 나중 단어 앞에 오는 `Bash` allow 규칙을 찾았습니다. 이는 [설정 파일](/docs/ko/settings#where-settings-live), [관리 설정](/docs/ko/managed-settings), 또는 `--allowedTools` 또는 `--settings` 플래그 값에 있습니다. `*`는 해당 위치에 삽입된 옵션을 포함한 모든 텍스트와 일치합니다: `Bash(git * main)`은 또한 `-c`가 명령이 명시하는 프로그램을 실행하게 하는 `git -c core.fsmonitor=<script> diff main`을 승인합니다. [와일드카드 패턴](/docs/ko/permissions#wildcard-patterns)은 일치 규칙을 보여줍니다.5178Claude Code는 `Bash(git * main)` 또는 `Bash(git -C * status *)` 같이 `*`가 명령을 결정하는 나중의 단어 앞에 오는 `Bash` allow 규칙을 찾았습니다. [설정 파일](/docs/ko/settings#where-settings-live), [관리 설정](/docs/ko/managed-settings), 또는 `--allowedTools` 또는 `--settings` 플래그 값에서. `*`는 해당 위치에 삽입된 옵션을 포함한 모든 텍스트와 일치합니다: `Bash(git * main)`은 또한 `git -c core.fsmonitor=<script> diff main`을 승인합니다. 여기서 `-c`는 git이 명령이 이름을 지정하는 프로그램을 실행하게 합니다. [와일드카드 패턴](/docs/ko/permissions#wildcard-patterns)은 일치 규칙을 보여줍니다.

4798 5179 

4799경고는 의도한 것보다 와일드카드가 더 넓은 규칙을 좁힐 수 있도록 존재합니다. Claude Code는 규칙을 유지하고 일치 방식을 변경하지 않습니다. 경고는 규칙과 괄호의 소스를 명시합니다:5180경고는 의도한 것보다 와일드카드가 더 넓은 규칙을 좁힐 수 있도록 존재합니다. Claude Code는 규칙을 유지하고 일치 방식에 대해 아무것도 변경하지 않습니다. 경고는 규칙과 괄호의 소스를 이름으로 지정합니다:

4800 5181 

4801```text theme={null}5182```text theme={null}

4802권한 allow 규칙(.claude/settings.json): Bash(git -C * status *)는 명령의 나머지 부분 앞에 와일드카드가 있으므로 해당 위치에 삽입된 모든 옵션과도 일치하고 프롬프트 없이 승인합니다. git의 경우 -c 및 --exec-path 같은 옵션은 임의의 명령을 실행할 수 있습니다. 해당 *를 의도한 정확한 값으로 바꾸거나 *를 하위 명령 뒤에만 사용하세요(예: Bash(git status *)).5183권한 allow 규칙(.claude/settings.json): Bash(git -C * status *)는 명령의 나머지 부분 앞에 와일드카드가 있으므로 해당 위치에 삽입된 모든 옵션과도 일치하며 프롬프트 없이 이를 승인합니다. git의 경우 -c 및 --exec-path 같은 옵션은 임의의 명령을 실행할 수 있습니다. 해당 *를 의도한 정확한 값으로 바꾸거나 부분 명령 뒤에만 *를 사용하세요(예: Bash(git status *)).

4803```5184```

4804 5185 

4805**할 일:**5186**할 일:**

4806 5187 

4807* 하위 명령 앞의 `*`를 의도한 정확한 값으로 바꾸세요: `Bash(git * main)` 대신 `Bash(git checkout main)`.5188* 부분 명령 앞의 `*`를 의도한 정확한 값으로 바꾸세요: `Bash(git * main)` 대신 `Bash(git checkout main)`.

4808* 모든 `*`를 하위 명령 뒤로 이동하세요: `Bash(git -C * status *)` 대신 `Bash(git status *)`. 허용하려는 하위 명령당 하나의 규칙을 작성하세요.5189* 모든 `*`를 부분 명령 뒤로 이동하세요: `Bash(git -C * status *)` 대신 `Bash(git status *)`. 허용하려는 부분 명령당 하나의 규칙을 작성하세요.

4809* 경고가 괄호에 명시하는 소스에서 규칙을 수정하세요: 설정 파일 경로, 또는 `--allowed-tools` 플래그 자체. 디스크에 존재하지 않는 `claude-settings-<hash>.json` 경로는 인라인 `--settings` 값을 나타냅니다. 해당 플래그에 전달하는 JSON을 수정하세요.5190* 경고가 괄호에 이름으로 지정한 소스에서 규칙을 수정하세요: 설정 파일 경로 또는 `--allowed-tools` 플래그 자체. 디스크에 존재하지 않는 `claude-settings-<hash>.json` 경로는 인라인 `--settings` 값을 나타냅니다. 해당 플래그에 전달하는 JSON을 수정하세요.

4810* 소스가 `managed policy settings`를 읽으면 경고를 관리 설정을 유지하는 사람에게 전달하세요. 자신이 직접 지울 수 없기 때문입니다.5191* 소스가 `managed policy settings`로 읽히면 경고를 관리 설정을 유지하는 사람에게 전달하세요. 자신이 직접 지울 수 없기 때문입니다.

4811 5192 

4812Claude Code는 같은 형태의 deny 및 ask 규칙에 대해 경고하지 않습니다: 승인하는 대신 일치하는 추가 명령을 거부하거나 프롬프트합니다. 또한 `Bash(git commit *)`처럼 하위 명령이 첫 `*` 앞에 오는 규칙이나 `Bash(git *)`처럼 `*` 뒤에 옵션 이외의 단어가 없는 규칙, 또는 `Bash(git:*)`처럼 `:*` 접두사 규칙에 대해서도 경고하지 않습니다.5193Claude Code는 동일한 형태의 deny 및 ask 규칙에 대해 경고하지 않습니다: 이를 승인하는 대신 일치하는 추가 명령을 거부하거나 프롬프트합니다. 또한 부분 명령이 첫 번째 `*` 앞에 오는 규칙(예: `Bash(git commit *)`)이나 `*` 뒤에 옵션 이외의 단어가 없는 규칙(예: `Bash(git *)`)이나 `:*` 접두사 규칙(예: `Bash(git:*)`)에 대해서도 경고하지 않습니다.

4813 5194 

4814[백그라운드 세션](/docs/ko/agent-view) 또는 `--output-format json` 또는 `stream-json`에서 Claude Code는 경고를 stderr 대신 디버그 로그에 기록하므로 머신 읽기 출력이 깨끗합니다. `~/.claude/debug/<session-id>.txt`에서 캡처하려면 `--debug`로 실행하세요. v2.1.246 이전에는 Claude Code가 경고 없이 이러한 규칙을 수락했습니다.5195[백그라운드 세션](/docs/ko/agent-view) 또는 `--output-format json` 또는 `stream-json`에서 Claude Code는 경고를 디버그 로그에 stderr 대신 기록하므로 머신 읽기 출력이 깨끗합니다. `--debug`로 실행하여 `~/.claude/debug/<session-id>.txt`에서 캡처하세요. v2.1.246 이전에는 Claude Code가 경고 없이 이러한 규칙을 수락했습니다.

4815 5196 

4816<h3 id="crosssessioninbound-must-be-one-of-accept-hold-refuse">5197<h3 id="crosssessioninbound-must-be-one-of-accept-hold-refuse">

4817 crossSessionInbound는 accept, hold, refuse 중 하나여야 함5198 crossSessionInbound는 accept, hold, refuse 중 하나여야 함

4818</h3>5199</h3>

4819 5200 

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

4821 5202 

4822```text theme={null}5203```text theme={null}

4823"crossSessionInbound"는 "accept", "hold", "refuse" 중 하나여야 합니다. "reject"를 받았습니다. 이 값은 무시되었습니다. 존재하는 동안 교차 세션 메시지는 전달되는 대신 승인을 위해 보류됩니다. 위의 값 중 하나로 설정하세요.5204"crossSessionInbound"는 "accept", "hold", "refuse" 중 하나여야 합니다. "reject"를 받았습니다. 이 값은 무시되었습니다. 존재하는 동안 교차 세션 메시지는 전달되는 대신 승인을 위해 보류됩니다. 위의 값 중 하나로 설정하세요.

4824```5205```

4825 5206 

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

4827 5208 

4828**할 일:**5209**할 일:**

4829 5210 

4830* 키를 `"accept"`, `"hold"`, 또는 `"refuse"`로 설정하거나 제거하세요.5211* 키를 `"accept"`, `"hold"`, 또는 `"refuse"`로 설정하거나 제거하세요.

4831* 경고가 관리 설정을 명시하면 관리자에게 값을 수정하도록 요청하세요.5212* 경고가 관리 설정을 이름으로 지정하면 관리자에게 값을 수정하도록 요청하세요.

4832 5213 

4833v2.1.248 이전에는 Claude Code가 인식되지 않는 값을 경고 없이 무시했습니다.5214v2.1.248 이전에는 Claude Code가 인식되지 않는 값을 경고 없이 무시했습니다.

4834 5215 


4836 200K 제한이 적용되지 않음5217 200K 제한이 적용되지 않음

4837</h3>5218</h3>

4838 5219 

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

4840 5221 

4841```text theme={null}5222```text theme={null}

4842CLAUDE_CODE_DISABLE_1M_CONTEXT가 설정되었지만 <model>에 대해 200K 제한이 적용되지 않으므로 이 세션은 이를 초과할 수 있습니다. 이를 적용하려면 CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000(또는 autoCompactWindow 설정)을 설정하세요.5223CLAUDE_CODE_DISABLE_1M_CONTEXT가 설정되었지만 <model>에 대해 200K 제한이 적용되지 않으므로 이 세션은 이를 초과하여 증가할 수 있습니다. 이를 적용하려면 CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000(또는 autoCompactWindow 설정)을 설정하세요.

4843```5224```

4844 5225 

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

4846 5227 

4847* 모델 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 버전으로 업데이트`를 해결책으로 제공합니다.5228* 모델 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>`을 해결책으로 제공합니다.

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

4849 5230 

4850**할 일:**5231**할 일:**

4851 5232 

4852* [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/ko/env-vars)을 설정하거나 [`autoCompactWindow`](/docs/ko/settings-reference#autocompactwindow) 설정을 `200000`으로 설정하여 자동 압축이 200K 경계에서 압축하도록 하세요.5233* [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/ko/env-vars)을 설정하거나 [`autoCompactWindow`](/docs/ko/settings-reference#autocompactwindow) 설정을 `200000`으로 설정하여 자동 압축이 200K 경계에서 압축하도록 하세요.

4853* 메시지가 이 버전이 인식하지 못하는 모델 ID를 명시하면 `claude update`를 실행하세요. ID를 1M 컨텍스트 모델로 인식하는 버전은 추가 구성 없이 제한을 적용합니다.5234* 메시지가 이 버전이 인식하지 못하는 모델 ID를 이름으로 지정하면 `claude update`를 실행하세요. ID를 1M 컨텍스트 모델로 인식하는 버전은 추가 구성 없이 제한을 적용합니다.

4854* 세션이 모델의 전체 윈도우를 대신 사용하기를 원하면 `CLAUDE_CODE_DISABLE_1M_CONTEXT`를 설정 해제하세요. 경고는 200K 제한이 적용되지 않는다는 것만 보고합니다.5235* 세션이 모델의 전체 윈도우를 대신 사용하기를 원하면 `CLAUDE_CODE_DISABLE_1M_CONTEXT`를 설정 해제하세요. 경고는 200K 제한이 적용되지 않음을 보고합니다.

4855 5236 

4856[백그라운드 세션](/docs/ko/agent-view) 또는 `--output-format json` 또는 `stream-json`에서 Claude Code는 경고를 stderr 대신 디버그 로그에 기록합니다.5237[백그라운드 세션](/docs/ko/agent-view) 또는 `--output-format json` 또는 `stream-json`에서 Claude Code는 경고를 디버그 로그에 stderr 대신 기록합니다.

4857 5238 

4858<h3 id="unrecognized-model-id-on-a-request">5239<h3 id="unrecognized-model-id-on-a-request">

4859 요청에서 인식되지 않은 모델 ID5240 요청에서 인식되지 않은 모델 ID

4860</h3>5241</h3>

4861 5242 

4862Claude Code는 Claude Code 버전이 인식하지 못하는 모델 ID에 대한 요청을 보냈고, 해당 ID를 인식하는 모델로 매핑하는 [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 찾지 못했습니다. Claude Code는 여전히 구성한 대로 ID를 사용하여 요청을 보내며, 종료하거나 모델을 전환하지 않습니다.5243Claude Code는 Claude Code 버전이 인식하지 못하는 모델 ID에 대한 요청을 보냈으며, 해당 ID를 인식하는 모델에 매핑하는 [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 찾지 못했습니다. Claude Code는 여전히 구성한 대로 ID를 사용하여 요청을 보내며 종료하거나 모델을 전환하지 않습니다.

4863 5244 

4864```text theme={null}5245```text theme={null}

4865[claude-code:unrecognized_model] {"model":"my-proxy-model","query_source":"sdk"}5246[claude-code:unrecognized_model] {"model":"my-proxy-model","query_source":"sdk"}

4866```5247```

4867 5248 

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

4869 5250 

4870* `model`: 구성한 대로 모델 문자열5251* `model`: 구성한 대로 모델 문자열

4871* `query_source`: 모델을 사용한 요청 경로. Claude Code는 `-p` 실행에 대해 `sdk`를 보고하고 서브에이전트에 대해 `agent:`로 시작하는 값을 보고합니다.5252* `query_source`: 모델을 사용한 요청 경로. Claude Code는 `-p` 실행에 대해 `sdk`를 보고하고 `agent:`로 시작하는 값을 서브에이전트에 대해 보고합니다.

4872 5253 

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

4874 5255 

4875* [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 Claude Code는 모든 `--output-format` 아래 stderr에 기록하므로 줄을 필터링하지 않고 stdout을 구문 분석할 수 있습니다.5256* [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 Claude Code는 모든 `--output-format` 아래 stderr에 기록하므로 줄을 필터링하지 않고 stdout을 구문 분석할 수 있습니다.

4876* 대화형 세션 또는 [백그라운드 세션](/docs/ko/agent-view)에서 Claude Code는 디버그 로그에 기록합니다. `~/.claude/debug/<session-id>.txt`에서 캡처하려면 `--debug`로 실행하세요.5257* 대화형 세션 또는 [백그라운드 세션](/docs/ko/agent-view)에서 Claude Code는 디버그 로그에 기록합니다. `--debug`로 실행하여 `~/.claude/debug/<session-id>.txt`에서 캡처하세요.

4877 5258 

4878Claude Code는 프로세스당 모델 문자열당 한 번 줄을 기록합니다. [서브에이전트](/docs/ko/sub-agents#choose-a-model) 또는 [백그라운드 기능](/docs/ko/costs#background-token-usage)이 사용하는 것처럼 각 추가 인식되지 않은 ID에 대해 별도의 줄을 기록합니다.5259Claude Code는 프로세스당 모델 문자열당 한 번 줄을 기록합니다. [서브에이전트](/docs/ko/sub-agents#choose-a-model) 또는 [백그라운드 기능](/docs/ko/costs#background-token-usage)이 사용하는 것 같은 추가 인식되지 않은 ID에 대해 별도의 줄을 기록합니다.

4879 5260 

4880Claude Code는 인식하는 모델로 해석하는 공급자 ID에 대해 줄을 기록하지 않습니다. 예를 들어 Amazon Bedrock `us.anthropic.claude-...` ID, Google Cloud의 `@` 버전 접미사가 있는 Agent Platform ID, Claude 모델 ID를 포함하는 Microsoft Foundry 배포 이름입니다. Claude Code는 ARN 자체가 아닌 Amazon Bedrock [애플리케이션 추론 프로필 ARN](/docs/ko/amazon-bedrock#map-each-model-version-to-an-inference-profile) 뒤의 모델을 확인합니다. 잘못된 것처럼 해석할 수 없는 ARN에 대해 줄을 기록하지 않습니다.5261Claude Code는 인식하는 모델로 해석하는 공급자 ID에 대해 줄을 기록하지 않습니다. Amazon Bedrock `us.anthropic.claude-...` ID, Google Cloud의 `@` 버전 접미사가 있는 Agent Platform ID, Claude 모델 ID를 포함하는 Microsoft Foundry 배포 이름. Claude Code는 ARN 자체가 아닌 Amazon Bedrock [애플리케이션 추론 프로필 ARN](/docs/ko/amazon-bedrock#map-each-model-version-to-an-inference-profile) 뒤의 모델을 확인합니다. 잘못된 것 같은 해석할 수 없는 ARN에 대해 줄을 기록하지 않습니다.

4881 5262 

4882**할 일:**5263**할 일:**

4883 5264 

4884* 의도적으로 ID를 설정한 경우(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭), ID를 값으로 하는 [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 [설정 파일](/docs/ko/settings#where-settings-live)에 추가하세요. 키로 `opus` 같은 패밀리 별칭이 아닌 Anthropic 모델 ID를 사용하세요. 예제 줄의 `my-proxy-model`에 대해 이 항목을 추가하세요:5265* ID를 의도적으로 설정한 경우(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭) [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 [설정 파일](/docs/ko/settings#where-settings-live)에 추가하고 ID를 값으로 사용하세요. `opus` 같은 패밀리 별칭이 아닌 Anthropic 모델 ID를 키로 사용하세요. 예제 줄의 `my-proxy-model`에 대해 이 항목을 추가하세요:

4885 5266 

4886 ```json theme={null}5267 ```json theme={null}

4887 {5268 {


4893 5274 

4894 Claude Code는 `my-proxy-model`을 `claude-opus-4-6`으로 취급하고 줄 기록을 중지합니다.5275 Claude Code는 `my-proxy-model`을 `claude-opus-4-6`으로 취급하고 줄 기록을 중지합니다.

4895 5276 

4896* ID가 Claude Code 버전보다 새로운 모델을 명시하면 `claude update`를 실행하세요.5277* ID가 Claude Code 버전보다 최신 모델을 이름으로 지정하면 `claude update`를 실행하세요.

4897 5278 

4898* ID가 오타이면 [모델을 설정할 수 있는 위치](/docs/ko/model-config#setting-your-model) 또는 [별칭 변수](/docs/ko/model-config#environment-variables) 중 이를 보유하는 곳에서 수정하세요. `query_source`가 `agent:`로 시작하면 [서브에이전트의 모델](/docs/ko/sub-agents#choose-a-model)을 설정하는 곳에서 대신 수정하세요.5279* ID가 오타이면 [모델을 설정할 수 있는 위치](/docs/ko/model-config#setting-your-model) 또는 [별칭 변수](/docs/ko/model-config#environment-variables) 중 이를 보유한 곳에서 수정하세요. `query_source`가 `agent:`로 시작하면 [서브에이전트의 모델을 설정](/docs/ko/sub-agents#choose-a-model)한 곳에서 대신 수정하세요.

4899 5280 

4900v2.1.233 이전에는 Claude Code가 인식하지 못하는 모델 ID에 대한 요청을 보낼 때 줄을 기록하지 않았습니다.5281v2.1.233 이전에는 Claude Code가 인식하지 못하는 모델 ID에 대한 요청을 보낼 때 줄을 기록하지 않았습니다.

4901 5282 


4903 종료된 세션이 남긴 오래된 샌드박스 마스크 파일5284 종료된 세션이 남긴 오래된 샌드박스 마스크 파일

4904</h3>5285</h3>

4905 5286 

4906`claude doctor`는 진단에서 이 경고를 출력하고 `/status`는 같은 줄을 나열합니다. [샌드박싱](/docs/ko/sandboxing)이 파일 시스템 격리를 켜서 활성화되면 Linux 및 WSL2에 나타납니다.5287`claude doctor`는 진단에서 이 경고를 출력하며 `/status`는 동일한 줄을 나열합니다. [샌드박싱](/docs/ko/sandboxing)이 파일 시스템 격리를 켜서 활성화되면 Linux 및 WSL2에 나타납니다.

4907 5288 

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

4909 5290 

4910```text theme={null}5291```text theme={null}

4911- 종료된 세션이 남긴 오래된 샌드박스 마스크 파일: /home/you/project/.claude/settings.local.json5292- 종료된 세션이 남긴 오래된 샌드박스 마스크 파일: /home/you/project/.claude/settings.local.json

4912 수정: 해당 프로젝트에서 다른 Claude Code 세션이 실행되지 않는 동안 각각을 `rm <path>`로 제거하세요 — 설정 파일이 속한 곳의 0바이트 읽기 전용 파일은 "Yes, and don't ask again" 저장을 실패하게 하고 샌드박스는 모든 시작에서 읽기 전용으로 다시 바인드합니다.5293 수정: 다른 Claude Code 세션이 해당 프로젝트에서 실행되지 않는 동안 각각을 `rm <path>`로 제거하세요 — 설정 파일이 속한 곳의 0바이트 읽기 전용 파일은 "Yes, and don't ask again" 저장을 실패하게 하며 샌드박스는 모든 시작에서 읽기 전용으로 다시 바인드합니다.

4913```5294```

4914 5295 

4915**할 일:**5296**할 일:**

4916 5297 

4917* 해당 프로젝트에서 실행 중인 다른 Claude Code 세션을 종료한 다음 `rm`으로 각 나열된 파일을 삭제하세요. 경고는 최대 3개 파일을 명시하고 나머지를 계산하므로 경고가 더 이상 나타나지 않을 때까지 삭제 후 `claude doctor`를 다시 실행하세요. 다른 세션의 샌드박스가 여전히 사용 중인 자리 표시자는 해당 세션의 쓰기 보호의 라이브 부분입니다.5298* 해당 프로젝트에서 실행 중인 다른 Claude Code 세션을 종료한 후 `rm`으로 각 나열된 파일을 삭제하세요. 경고는 최대 3개 파일을 이름으로 지정하고 나머지를 계산하므로 경고가 더 이상 나타나지 않을 때까지 삭제 후 `claude doctor`를 다시 실행하세요. 다른 세션의 샌드박스가 여전히 사용 중인 자리 표시자는 해당 세션의 쓰기 보호의 라이브 부분입니다.

4918* "Yes, and don't ask again"으로 저장한 권한 선택이 고정되지 않았으면 자리 표시자를 삭제한 후 다시 저장하세요.5299* "Yes, and don't ask again"으로 저장한 권한 선택이 고착되지 않으면 자리 표시자를 삭제한 후 다시 저장하세요.

4919 5300 

4920v2.1.257 이전에는 `claude doctor`가 이러한 파일을 플래그하지 않았습니다. 이전 버전은 세션이 종료될 때 같은 자리 표시자를 남깁니다.5301v2.1.257 이전에는 `claude doctor`가 이러한 파일을 플래그하지 않았습니다. 이전 버전은 세션이 종료될 때 동일한 자리 표시자를 남깁니다.

4921 5302 

4922<h2 id="responses-seem-lower-quality-than-usual">5303<h2 id="responses-seem-lower-quality-than-usual">

4923 응답 품질이 평소보다 낮아 보입니다5304 응답 품질이 평소보다 낮아 보입니다


4927 5308 

4928* 구성된 [`--fallback-model`](/docs/ko/cli-reference#cli-flags)은 가용성 오류 후 해당 턴에만 제어를 인수받으며, 트랜스크립트에 공지가 표시됩니다5309* 구성된 [`--fallback-model`](/docs/ko/cli-reference#cli-flags)은 가용성 오류 후 해당 턴에만 제어를 인수받으며, 트랜스크립트에 공지가 표시됩니다

4929* Amazon Bedrock 또는 Google Cloud의 Agent Platform 시작 확인에서 기본 모델을 사용할 수 없음을 발견합니다5310* Amazon Bedrock 또는 Google Cloud의 Agent Platform 시작 확인에서 기본 모델을 사용할 수 없음을 발견합니다

4930* [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)은 Fable 5.1, Fable 5, Opus 5.5, Opus 5에서 세션을 플래그된 카테고리의 폴백 모델로 이동하며, 해당 카테고리에 폴백 모델이 있을 때 트랜스크립트에 공지를 표시합니다5311* [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)은 Fable 5.1, Fable 5, Opus 5.5, Sonnet 5.5, Opus 5에서 세션을 플래그된 카테고리의 폴백 모델로 이동하며, 해당 카테고리에 폴백 모델이 있을 때 트랜스크립트에 공지를 표시합니다

4931 5312 

4932아래의 모델 선택 확인은 두 번째와 세 번째 경우를 포착합니다. 첫 번째는 `/model` 변경이 아니라 트랜스크립트 공지로 나타납니다. [모델 구성](/docs/ko/model-config)에서 각 폴백이 적용되는 시기를 설명합니다.5313아래의 모델 선택 확인은 두 번째와 세 번째 경우를 포착합니다. 첫 번째는 `/model` 변경이 아니라 트랜스크립트 공지로 나타납니다. [모델 구성](/docs/ko/model-config)에서 각 폴백이 적용되는 시기를 설명합니다.

4933 5314 

Details

219</table>219</table>

220 220 

221<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Google Cloud의 Agent Platform에서는 Claude 4 모델 이상에서 웹 검색을 사용할 수 있습니다.<br />221<span id="fn1" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>1</sup> Google Cloud의 Agent Platform에서는 Claude 4 모델 이상에서 웹 검색을 사용할 수 있습니다.<br />

222<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> 이러한 제공자에서 자동 모드는 Claude Sonnet 5, Opus 4.7 이상, Fable 모델만 지원합니다. [자동 모드 구성](/docs/ko/auto-mode-config)을 참조하십시오. 이러한 제공자의 기본 시작 권한 모드는 Manual입니다. [세션이 시작되는 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)를 참조하십시오. v2.1.158부터 v2.1.206까지 이러한 제공자의 자동 모드는 `CLAUDE_CODE_ENABLE_AUTO_MODE=1` 설정도 필요했습니다. v2.1.207은 이 요구 사항을 제거했습니다.<br />222<span id="fn2" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>2</sup> 이러한 제공자에서 자동 모드는 Claude Sonnet 5 이상, Opus 4.7 이상, Fable 모델만 지원합니다. [자동 모드 구성](/docs/ko/auto-mode-config)을 참조하십시오. 이러한 제공자의 세션이 시작되는 권한 모드는 어떤 모드인지에 대해서는 [세션이 시작되는 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)를 참조하십시오. v2.1.158부터 v2.1.206까지 이러한 제공자의 자동 모드는 `CLAUDE_CODE_ENABLE_AUTO_MODE=1` 설정도 필요했습니다. v2.1.207은 이 요구 사항을 제거했습니다.<br />

223<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> 클라우드 제공자와의 계약에 따릅니다.<br />223<span id="fn3" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>3</sup> 클라우드 제공자와의 계약에 따릅니다.<br />

224<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> 대시보드 및 API만 해당합니다. [기여도 메트릭](/docs/ko/analytics#enable-contribution-metrics)은 claude.ai Team 또는 Enterprise 조직이 필요합니다.<br />224<span id="fn4" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>4</sup> 대시보드 및 API만 해당합니다. [기여도 메트릭](/docs/ko/analytics#enable-contribution-metrics)은 claude.ai Team 또는 Enterprise 조직이 필요합니다.<br />

225<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> macOS 및 Linux에서 Claude Code v2.1.224 이상 필요합니다. WSL 2 내부의 Linux 포함. 네이티브 Windows에서는 Claude Code v2.1.234 이상 필요합니다. API 키 인증을 사용하면 메시징은 같은 머신만 가능합니다. Amazon Bedrock, AWS의 Claude Platform, Google Cloud의 Agent Platform, Microsoft Foundry에서는 메시징이 같은 머신만 가능하며 Claude Code v2.1.248 이상 필요합니다. Claude는 [Remote Control](/docs/ko/remote-control)에 연결된 세션에서만 [웹의 Claude Code](/docs/ko/claude-code-on-the-web) 세션과 다른 머신의 세션을 찾을 수 있습니다. 연결하려면 claude.ai 로그인과 다른 [Remote Control 요구 사항](/docs/ko/remote-control#requirements)이 필요합니다. [다른 머신의 세션 메시징](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)을 참조하십시오.225<span id="fn5" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>5</sup> macOS 및 Linux에서 Claude Code v2.1.224 이상 필요합니다. WSL 2 내부의 Linux 포함. 네이티브 Windows에서는 Claude Code v2.1.234 이상 필요합니다. API 키 인증을 사용하면 메시징은 같은 머신만 가능합니다. Amazon Bedrock, AWS의 Claude Platform, Google Cloud의 Agent Platform, Microsoft Foundry에서는 메시징이 같은 머신만 가능하며 Claude Code v2.1.248 이상 필요합니다. Claude는 [Remote Control](/docs/ko/remote-control)에 연결된 세션에서만 [웹의 Claude Code](/docs/ko/claude-code-on-the-web) 세션과 다른 머신의 세션을 찾을 수 있습니다. 연결하려면 claude.ai 로그인과 다른 [Remote Control 요구 사항](/docs/ko/remote-control#requirements)이 필요합니다. [다른 머신의 세션 메시징](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)을 참조하십시오.


243 **부분 지원:**243 **부분 지원:**

244 244 

245 * [Desktop](/docs/ko/desktop): [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 통해서만245 * [Desktop](/docs/ko/desktop): [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 통해서만

246 * [자동 모드](/docs/ko/auto-mode-config): Sonnet 5, Opus 4.7 이상, Fable 모델만246 * [자동 모드](/docs/ko/auto-mode-config): Sonnet 5 이상, Opus 4.7 이상, Fable 모델만

247 * [교차 세션 메시징](/docs/ko/cross-session-messaging): 이 머신의 세션 간만 <sup><a href="#fn5">5</a></sup>247 * [교차 세션 메시징](/docs/ko/cross-session-messaging): 이 머신의 세션 간만 <sup><a href="#fn5">5</a></sup>

248 * [Zero Data Retention](/docs/ko/zero-data-retention): AWS 계약에 따름248 * [Zero Data Retention](/docs/ko/zero-data-retention): AWS 계약에 따름

249 249 


269 269 

270 * [Desktop](/docs/ko/desktop): [관리되는 설정](https://claude.com/docs/third-party/claude-desktop/configuration) 또는 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 통해270 * [Desktop](/docs/ko/desktop): [관리되는 설정](https://claude.com/docs/third-party/claude-desktop/configuration) 또는 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 통해

271 * [웹 검색](/docs/ko/tools-reference#websearch-tool-behavior): Claude 4 모델 이상271 * [웹 검색](/docs/ko/tools-reference#websearch-tool-behavior): Claude 4 모델 이상

272 * [자동 모드](/docs/ko/auto-mode-config): Sonnet 5, Opus 4.7 이상, Fable 모델만272 * [자동 모드](/docs/ko/auto-mode-config): Sonnet 5 이상, Opus 4.7 이상, Fable 모델만

273 * [교차 세션 메시징](/docs/ko/cross-session-messaging): 이 머신의 세션 간만 <sup><a href="#fn5">5</a></sup>273 * [교차 세션 메시징](/docs/ko/cross-session-messaging): 이 머신의 세션 간만 <sup><a href="#fn5">5</a></sup>

274 * [Zero Data Retention](/docs/ko/zero-data-retention): Google Cloud 계약에 따름274 * [Zero Data Retention](/docs/ko/zero-data-retention): Google Cloud 계약에 따름

275 275 


283 283 

284 * [Desktop](/docs/ko/desktop): [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 통해서만284 * [Desktop](/docs/ko/desktop): [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 통해서만

285 * [웹 검색](/docs/ko/tools-reference#websearch-tool-behavior): [Anthropic에서 호스팅되는 배포](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)만285 * [웹 검색](/docs/ko/tools-reference#websearch-tool-behavior): [Anthropic에서 호스팅되는 배포](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)만

286 * [자동 모드](/docs/ko/auto-mode-config): Sonnet 5, Opus 4.7 이상, Fable 모델만286 * [자동 모드](/docs/ko/auto-mode-config): Sonnet 5 이상, Opus 4.7 이상, Fable 모델만

287 * [교차 세션 메시징](/docs/ko/cross-session-messaging): 이 머신의 세션 간만 <sup><a href="#fn5">5</a></sup>287 * [교차 세션 메시징](/docs/ko/cross-session-messaging): 이 머신의 세션 간만 <sup><a href="#fn5">5</a></sup>

288 * [Zero Data Retention](/docs/ko/zero-data-retention): Azure 계약에 따름288 * [Zero Data Retention](/docs/ko/zero-data-retention): Azure 계약에 따름

289 289 

fullscreen.md +2 −0

Details

104* **다중 선택 메뉴의 옵션을 클릭**하여 토글하고, 제출 버튼을 클릭하여 선택 사항을 확인합니다. 다중 선택 질문의 `기타` 행과 같은 자유 텍스트 행을 클릭하면 입력 필드에 포커스가 이동하여 답변을 입력할 수 있습니다. Claude Code v2.1.208 이상이 필요합니다.104* **다중 선택 메뉴의 옵션을 클릭**하여 토글하고, 제출 버튼을 클릭하여 선택 사항을 확인합니다. 다중 선택 질문의 `기타` 행과 같은 자유 텍스트 행을 클릭하면 입력 필드에 포커스가 이동하여 답변을 입력할 수 있습니다. Claude Code v2.1.208 이상이 필요합니다.

105* **`/config` 패널에서 설정의 값을 클릭**하여 변경하고, 마우스 휠로 설정 목록을 스크롤합니다. Claude Code v2.1.271 이상이 필요합니다.105* **`/config` 패널에서 설정의 값을 클릭**하여 변경하고, 마우스 휠로 설정 목록을 스크롤합니다. Claude Code v2.1.271 이상이 필요합니다.

106* **선택 또는 다중 선택 메뉴를 마우스 휠로 스크롤**하여 한 번에 표시되는 것보다 더 많은 옵션이 있을 때(예: 짧은 터미널 창의 `/model` 목록), 휠이 포인터가 옵션 위에 있을 때 목록을 스크롤합니다. Claude Code v2.1.280 이상이 필요합니다.106* **선택 또는 다중 선택 메뉴를 마우스 휠로 스크롤**하여 한 번에 표시되는 것보다 더 많은 옵션이 있을 때(예: 짧은 터미널 창의 `/model` 목록), 휠이 포인터가 옵션 위에 있을 때 목록을 스크롤합니다. Claude Code v2.1.280 이상이 필요합니다.

107* **스크롤바가 있는 오버플로우 목록을 스크롤합니다.** `/skills`, `/mcp` 및 `/plugin`의 설치됨 목록과 같은 목록 패널에서, 포인터가 목록 위에 있을 때 더 많은 행이 맞지 않는 목록 옆에 스크롤바가 나타납니다. 트랙을 클릭하여 해당 지점으로 이동하거나 썸을 드래그합니다. Claude Code v2.1.281 이상이 필요합니다.

107* **축소된 도구 결과를 클릭**하여 확장하고 전체 출력을 봅니다. 다시 클릭하면 축소됩니다. 도구 호출과 그 결과가 함께 확장됩니다. 더 표시할 내용이 있는 메시지만 클릭 가능합니다.108* **축소된 도구 결과를 클릭**하여 확장하고 전체 출력을 봅니다. 다시 클릭하면 축소됩니다. 도구 호출과 그 결과가 함께 확장됩니다. 더 표시할 내용이 있는 메시지만 클릭 가능합니다.

108 * 클릭하면 `!` 셸 명령어의 출력도 확장되며, 이는 이전의 잘린 결과이거나 명령어 실행 중인 라이브 진행 행입니다. Claude Code v2.1.257 이상이 필요합니다.109 * 클릭하면 `!` 셸 명령어의 출력도 확장되며, 이는 이전의 잘린 결과이거나 명령어 실행 중인 라이브 진행 행입니다. Claude Code v2.1.257 이상이 필요합니다.

110 * 클릭하면 발신자가 [팀원](/docs/ko/agent-teams)이거나 세션에서 실행 중인 다른 에이전트일 때 흐릿한 `Message from @<sender>` 행도 확장됩니다. [다른 세션 중 하나](/docs/ko/cross-session-messaging#what-a-message-looks-like)의 메시지 행도 메시지의 첫 번째 행을 표시하며 클릭할 수 없으므로 `Ctrl+o`를 눌러 해당 메시지를 읽습니다.

109* **macOS에서 `Cmd`를 누르거나, Linux 및 Windows에서 `Ctrl`을 누르고 URL 또는 파일 경로를 클릭**하여 엽니다. 일반 `http://` 및 `https://` URL은 브라우저에서 열리고, Edit 또는 Write 후에 인쇄된 것과 같은 도구 출력의 파일 경로는 기본 애플리케이션에서 열립니다. 수정자 없이 일반 클릭하면 링크가 열리지 않으며, 이는 기본 터미널 동작과 일치합니다.111* **macOS에서 `Cmd`를 누르거나, Linux 및 Windows에서 `Ctrl`을 누르고 URL 또는 파일 경로를 클릭**하여 엽니다. 일반 `http://` 및 `https://` URL은 브라우저에서 열리고, Edit 또는 Write 후에 인쇄된 것과 같은 도구 출력의 파일 경로는 기본 애플리케이션에서 열립니다. 수정자 없이 일반 클릭하면 링크가 열리지 않으며, 이는 기본 터미널 동작과 일치합니다.

110 * Claude Code는 네트워크(UNC) 경로(예: `\\server\share\file.ts`)를 링크 없는 일반 텍스트로 렌더링합니다. 네트워크 경로를 열면 Windows 자격 증명이 해당 호스트로 전송될 수 있기 때문입니다.112 * Claude Code는 네트워크(UNC) 경로(예: `\\server\share\file.ts`)를 링크 없는 일반 텍스트로 렌더링합니다. 네트워크 경로를 열면 Windows 자격 증명이 해당 호스트로 전송될 수 있기 때문입니다.

111 * 일부 macOS 터미널은 `Cmd`+클릭을 실행 중인 앱으로 전달하며, 터미널 마우스 프로토콜에는 `Cmd` 키를 인코딩할 방법이 없으므로 Claude Code는 일반 클릭을 받습니다. Ghostty 및 macOS의 Warp에서 Claude Code는 이를 감지하고 링크에 대한 일반 클릭으로 열 수 있으며, `Cmd`를 누르고 있으면 여전히 작동합니다.113 * 일부 macOS 터미널은 `Cmd`+클릭을 실행 중인 앱으로 전달하며, 터미널 마우스 프로토콜에는 `Cmd` 키를 인코딩할 방법이 없으므로 Claude Code는 일반 클릭을 받습니다. Ghostty 및 macOS의 Warp에서 Claude Code는 이를 감지하고 링크에 대한 일반 클릭으로 열 수 있으며, `Cmd`를 누르고 있으면 여전히 작동합니다.

Details

252 세션 시작이 `Unable to get organization UUID`로 실패함252 세션 시작이 `Unable to get organization UUID`로 실패함

253</h3>253</h3>

254 254 

255클라우드 세션에는 Team 또는 Enterprise 조직이 필요합니다. `/login`을 사용하여 조직 계정으로 로그인합니다. API 키로 인증하면 클라우드 세션이 더 일찍 실패하고 `/login`을 실행하도록 요청하는 메시지가 표시됩니다.255`/login`을 사용하여 조직 계정으로 로그인합니다. API 키로 인증하면 클라우드 세션이 더 일찍 실패하고 `/login`을 실행하도록 요청하는 메시지가 표시됩니다.

256 256 

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

258 관련 리소스258 관련 리소스

glossary.md +28 −1

Details

72 Auto mode72 Auto mode

73</h3>73</h3>

74 74 

75백그라운드에서 별도의 분류기 모델이 각 작업을 검토하는 [권한 모드](#permission-mode)이므로, Claude Code는 대부분의 작업을 사용자에게 묻지 않고 실행합니다. Claude Code는 여전히 명시적 요청 규칙과 일치하는 작업 전에 사용자에게 묻습니다. Pro, Max 및 Team 플랜에서 auto mode는 대화형 터미널 및 VS Code 세션의 [기본 시작 권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)입니다. 분류기는 범위 확대, 신뢰할 수 없는 인프라 및 [프롬프트 주입](#prompt-injection)을 차단합니다. 도구 결과는 분류기가 보는 것에서 제거되므로, 파일이나 웹 페이지의 악의적인 콘텐츠가 직접 조작할 수 없습니다.75백그라운드에서 별도의 분류기 모델이 각 작업을 검토하는 [권한 모드](#permission-mode)이므로, Claude Code는 대부분의 작업을 사용자에게 묻지 않고 실행합니다. Claude Code는 여전히 명시적 요청 규칙과 일치하는 작업 전에 사용자에게 묻습니다. Claude Code v2.1.283 이상에서 auto mode는 대화형 터미널 및 VS Code 세션의 [기본 시작 권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)이며, 이전 버전에서는 Pro, Max 및 Team 플랜에서만 사용됩니다. 분류기는 범위 확대, 신뢰할 수 없는 인프라 및 [프롬프트 주입](#prompt-injection)을 차단합니다. 도구 결과는 분류기가 보는 것에서 제거되므로, 파일이나 웹 페이지의 악의적인 콘텐츠가 직접 조작할 수 없습니다.

76 76 

77자세히 알아보기: [Auto mode로 프롬프트 제거](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)77자세히 알아보기: [Auto mode로 프롬프트 제거](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)

78 78 


428 428 

429자세히 알아보기: [플랫폼 및 통합](/docs/ko/platforms)429자세히 알아보기: [플랫폼 및 통합](/docs/ko/platforms)

430 430 

431<h3 id="system-prompt">

432 System prompt

433</h3>

434 

435Claude Code가 모든 요청에서 대화 앞에 보내는 지침으로, Claude가 도구를 사용하는 방법, 안전하게 작동하는 방법 및 응답 형식을 지정합니다. `--append-system-prompt`로 시스템 프롬프트에 추가하거나 `--system-prompt`로 바꿀 수 있습니다. 시스템 프롬프트는 [프롬프트 캐시](/docs/ko/prompt-caching#how-the-cache-is-organized)의 첫 번째 계층입니다.

436 

437[CLAUDE.md](#claude-md) 파일과 [출력 스타일](#output-style)의 지침은 시스템 프롬프트의 일부가 아닙니다. Claude Code는 [시스템 알림](#system-reminder)으로 대화에 전달합니다.

438 

439자세히 알아보기: [시스템 프롬프트 플래그](/docs/ko/cli-reference#system-prompt-flags)

440 

441<h3 id="system-reminder">

442 System reminder

443</h3>

444 

445Claude Code가 [에이전트 하네스](#agentic-harness)로서 대화에 추가하여 Claude에 컨텍스트를 제공하는 메시지입니다. 시스템 알림을 직접 보내지 않습니다. Claude Code는 세션이 실행될 때 삽입합니다. 예를 들어 세션이 시작될 때, 훅이 텍스트를 반환할 때 또는 파일이 디스크에서 변경될 때입니다. Claude는 메시지와 함께 시스템 알림을 읽습니다. 다음 모두 Claude에 시스템 알림으로 도달합니다:

446 

447* [CLAUDE.md](#claude-md) 파일

448* [출력 스타일](#output-style)의 지침

449* [훅](#hook)이 `additionalContext`로 반환하는 텍스트

450* 사용 가능한 [스킬](#skill)의 목록

451* Claude가 이전에 읽은 파일이 디스크에서 변경되었다는 메모

452* 커밋 및 풀 요청 속성 라인

453 

454로깅된 API 요청에서 시스템 알림은 사용자 메시지 내의 `<system-reminder>` 태그로 래핑되거나 일부 모델에서는 `system` 역할을 가진 별도의 메시지로 나타납니다.

455 

456자세히 알아보기: [시스템 프롬프트 외부에서 Claude Code가 추가하는 컨텍스트](/docs/ko/agent-sdk/modifying-system-prompts#context-claude-code-adds-outside-the-system-prompt)

457 

431<h2 id="t">458<h2 id="t">

432 T459 T

433</h2>460</h2>

goal.md +1 −1

Details

155 155 

156턴이 수정할 때까지 지워지지 않는 오류로 실패하면 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)하십시오. 네 가지 종류의 실패가 목표를 지웁니다:

157 157 

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

159* 소진된 크레딧 잔액159* 소진된 크레딧 잔액

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

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

headless.md +10 −2

Details

89* **명령 실행 중**: Claude Code는 명령을 세션에서 종료된 것으로 기록합니다.89* **명령 실행 중**: Claude Code는 명령을 세션에서 종료된 것으로 기록합니다.

90* **권한 프롬프트에 대한 답변 대기 중**: 프로세스에 SIGTERM을 보내면 Claude Code는 프롬프트를 답변하지 않은 상태로 둡니다. 프로그램이 Agent SDK를 통해 세션을 닫으면 SDK는 신호를 보내기 전에 Claude Code의 입력을 종료하고 Claude Code는 입력이 종료되는 즉시 프롬프트를 취소합니다.90* **권한 프롬프트에 대한 답변 대기 중**: 프로세스에 SIGTERM을 보내면 Claude Code는 프롬프트를 답변하지 않은 상태로 둡니다. 프로그램이 Agent SDK를 통해 세션을 닫으면 SDK는 신호를 보내기 전에 Claude Code의 입력을 종료하고 Claude Code는 입력이 종료되는 즉시 프롬프트를 취소합니다.

91 91 

92[세션을 재개](#continue-conversations)할 때 Claude Code는 SIGTERM이 완료하지 않은 턴을 계속합니다.92[세션을 재개](#continue-conversations)할 때 Claude Code는 진행 중이던 턴을 그대로 두고 다음 프롬프트가 대화를 진행합니다. 재개 시 Claude Code가 진행 중이던 턴을 계속하도록 하려면 [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN=1`](/docs/ko/env-vars)을 설정합니다.

93 

94<h3 id="if-the-working-directory-is-deleted">

95 작업 디렉토리가 삭제된 경우

96</h3>

97 

98`claude -p` 또는 Agent SDK 세션의 작업 디렉토리가 세션 중간에 삭제되면 세션은 계속 실행됩니다. 디렉토리가 없는 상태에서 턴이 시작되면 Claude Code는 `stream-json` 출력에서 [경고 메시지](/docs/ko/agent-sdk/typescript#sdkinformationalmessage)를 내보내고, 디렉토리가 다시 존재할 때까지 셸 명령이 실패합니다.

93 99 

94<h2 id="examples">100<h2 id="examples">

95 예제101 예제


255| 필드 | 유형 | 설명 |261| 필드 | 유형 | 설명 |

256| - | - | - |262| - | - | - |

257| `plugins` | 배열 | 성공적으로 로드된 플러그인, 각각 `name` 및 `path` 포함 |263| `plugins` | 배열 | 성공적으로 로드된 플러그인, 각각 `name` 및 `path` 포함 |

258| `plugin_errors` | 배열 | 플러그인 로드 시간 오류, 각각 `plugin`, `type` 및 `message` 포함. 만족하지 않은 종속성 버전 및 누락된 경로 또는 유효하지 않은 아카이브와 같은 `--plugin-dir` 로드 실패를 포함합니다. 영향을 받은 플러그인은 강등되고 `plugins`에서 없습니다. 오류가 없으면 키가 생략됩니다 |264| `plugin_errors` | 배열 | 플러그인 로드 시간 오류, 각각 `plugin`, `type` 및 `message` 포함. 만족하지 않은 종속성 버전 및 누락된 경로 또는 유효하지 않은 아카이브와 같은 `--plugin-dir` 로드 실패를 포함합니다. 영향을 받은 플러그인은 `plugins`에서 없습니다. 오류가 없으면 키가 생략됩니다 |

265 

266`--plugin-dir` 디렉토리 또는 아카이브 자체가 로드되지 않으면 해당 `plugin_errors` 항목은 해결된 절대 경로를 `path`로 포함합니다. 여러 `--plugin-dir` 값 중 어느 것이 실패했는지 알려줍니다. `path` 필드는 Claude Code v2.1.283 이상이 필요합니다.

259 267 

260MCP 서버 필드도 동일한 방식으로 사용합니다.&#x20;268MCP 서버 필드도 동일한 방식으로 사용합니다.&#x20;

261`-p`와 함께 [`--mcp-config`](/docs/ko/cli-reference#cli-flags)를 전달하면 Claude Code는 첫 번째 턴을 실행하기 전에 여전히 대기 중인 서버를 기다리며, [`MCP_TIMEOUT`](/docs/ko/env-vars) 시작 시간 초과(기본값 30초)까지 기다립니다. [캐시된 도구 목록](/docs/ko/agent-sdk/mcp#connection-timing)이 있는 원격 서버는 대기를 건너뛰고 `system/init`에서 `pending`을 표시하며 첫 번째 도구 호출에서 연결합니다. 대기는 Claude Code v2.1.221 이상이 필요합니다.269`-p`와 함께 [`--mcp-config`](/docs/ko/cli-reference#cli-flags)를 전달하면 Claude Code는 첫 번째 턴을 실행하기 전에 여전히 대기 중인 서버를 기다리며, [`MCP_TIMEOUT`](/docs/ko/env-vars) 시작 시간 초과(기본값 30초)까지 기다립니다. [캐시된 도구 목록](/docs/ko/agent-sdk/mcp#connection-timing)이 있는 원격 서버는 대기를 건너뛰고 `system/init`에서 `pending`을 표시하며 첫 번째 도구 호출에서 연결합니다. 대기는 Claude Code v2.1.221 이상이 필요합니다.

hooks-guide.md +11 −11

Details

538각 hook에는 실행 방식을 결정하는 `type`이 있습니다. 대부분의 hooks는 `"type": "command"`를 사용하여 셸 명령을 실행합니다. 네 가지 다른 유형을 사용할 수 있습니다:538각 hook에는 실행 방식을 결정하는 `type`이 있습니다. 대부분의 hooks는 `"type": "command"`를 사용하여 셸 명령을 실행합니다. 네 가지 다른 유형을 사용할 수 있습니다:

539 539 

540* `"type": "http"`: 이벤트 데이터를 URL에 POST합니다. [HTTP hooks](#http-hooks)를 참조하세요.540* `"type": "http"`: 이벤트 데이터를 URL에 POST합니다. [HTTP hooks](#http-hooks)를 참조하세요.

541* `"type": "mcp_tool"`: 이미 연결된 MCP 서버에서 도구를 호출합니다. [MCP tool hooks](/docs/ko/hooks#mcp-tool-hook-fields)를 참조하세요.541* `"type": "mcp_tool"`: 구성된 MCP 서버에서 도구를 호출합니다. [MCP tool hooks](/docs/ko/hooks#mcp-tool-hook-fields)를 참조하세요.

542* `"type": "prompt"`: 단일 턴 LLM 평가입니다. [프롬프트 기반 hooks](#prompt-based-hooks)를 참조하세요.542* `"type": "prompt"`: 단일 턴 LLM 평가입니다. [프롬프트 기반 hooks](#prompt-based-hooks)를 참조하세요.

543* `"type": "agent"`: 도구 액세스를 통한 다중 턴 검증입니다. Agent hooks는 실험적이며 변경될 수 있습니다. [Agent 기반 hooks](#agent-based-hooks)를 참조하세요.543* `"type": "agent"`: 도구 액세스를 통한 다중 턴 검증입니다. Agent hooks는 실험적이며 변경될 수 있습니다. [Agent 기반 hooks](#agent-based-hooks)를 참조하세요.

544 544 


877Claude Code가 실행 중인 동안 설정 파일을 직접 편집하면 파일 감시자가 일반적으로 hook 변경을 자동으로 선택합니다.877Claude Code가 실행 중인 동안 설정 파일을 직접 편집하면 파일 감시자가 일반적으로 hook 변경을 자동으로 선택합니다.

878 878 

879<h2 id="prompt-based-hooks">879<h2 id="prompt-based-hooks">

880 프롬프트 기반 hooks880 프롬프트 기반 훅

881</h2>881</h2>

882 882 

883결정론적 규칙이 아닌 판단이 필요한 결정의 경우 `type: "prompt"` hooks를 사용합니다. 셸 명령을 실행하는 대신 Claude Code는 프롬프트와 hook의 입력 데이터를 Claude 모델(기본적으로 Haiku)에 전송하여 결정을 내립니다. 더 많은 기능이 필요한 경우 `model` 필드로 다른 모델을 지정할 수 있습니다.883결정론적 규칙이 아닌 판단이 필요한 경우, `type: "prompt"` 훅을 사용합니다. 셸 명령을 실행하는 대신, Claude Code는 프롬프트와 훅의 입력 데이터를 Claude 모델로 전송하여 결정을 내립니다. 더 많은 기능이 필요한 경우 `model` 필드로 다른 모델을 지정할 수 있습니다.

884 884 

885모델의 유일한 작업은 결정을 JSON으로 반환하는 것입니다:885모델의 유일한 역할은 결정을 JSON으로 반환하는 것입니다:

886 886 

887* `"ok": true`: 작업이 진행됩니다887* `"ok": true`: 작업이 진행됩니다

888* `"ok": false`: 작업이 차단됩니다. 이벤트에 따라 다음과 같이 작동합니다:888* `"ok": false`: 어떤 일이 발생하는지는 이벤트에 따라 다릅니다:

889 * `Stop` 및 `SubagentStop`: `reason`이 Claude에게 피드백으로 전달되어 계속 작업합니다. 응답이 `"impossible": true`를 설정하지 않는 한, 이는 조건을 만족할 수 없음을 표시하며, 이 경우 Claude Code는 중지를 허용하고 턴이 종료됩니다889 * `Stop` 및 `SubagentStop`: `reason`이 Claude로 피드백되어 계속 작업하도록 합니다. 단, 응답이 `"impossible": true`를 설정하여 조건을 절대 만족할 수 없는 것으로 표시하는 경우, Claude Code는 중지를 허용하고 턴이 종료됩니다

890 * `PreToolUse`: 도구 호출이 거부됩니다. 기본적으로 턴이 종료되고 거부 `reason`이 경고 줄로 채팅에 나타납니다. hook에서 `continueOnBlock: true`를 설정하여 대신 `reason`을 도구 오류로 Claude에게 반환하면 조정하고 계속할 수 있습니다. v2.1.210 이전에는 거부 `reason`이 도구 오류로 Claude에게 반환되었고 턴이 계속되었습니다890 * `PreToolUse`: 도구 호출이 거부됩니다. 기본적으로 턴이 종료되고 거부 `reason`이 경고 줄로 채팅에 나타납니다. 훅에서 `continueOnBlock: true`를 설정하여 대신 `reason`을 Claude에 도구 오류로 반환하면, Claude가 조정하고 계속할 수 있습니다. v2.1.210 이전에는 거부 `reason`이 Claude에 도구 오류로 반환되었고 턴이 계속되었습니다

891 * `PostToolUse`: 기본적으로 턴이 종료되고 `reason`이 경고 줄로 채팅에 나타납니다. `continueOnBlock: true`를 설정하여 `reason`을 Claude에게 피드백으로 전달하고 턴을 계속합니다891 * `PostToolUse`: 기본적으로 턴이 종료되고 `reason`이 경고 줄로 채팅에 나타납니다. `continueOnBlock: true`를 설정하여 `reason`을 Claude로 피드백하고 대신 턴을 계속합니다

892 * `PostToolBatch`, `UserPromptSubmit`, 및 `UserPromptExpansion`: 턴이 종료되고 `reason`이 경고 줄로 채팅에 나타납니다892 * `PostToolBatch`, `UserPromptSubmit`, 및 `UserPromptExpansion`: 턴이 종료되고 `reason`이 경고 줄로 채팅에 나타납니다

893 893 

894이 예제는 `Stop` hook을 사용하여 모든 요청된 작업이 완료되었는지 모델에 묻습니다. 모델이 조건이 아직 충족되지 않았기 때문에 `"ok": false`를 반환하면 Claude는 계속 작업하고 `reason`을 다음 지침으로 사용합니다:894이 예제는 `Stop` 훅을 사용하여 모델에 모든 요청된 작업이 완료되었는지 묻습니다. 모델이 조건이 아직 충족되지 않았기 때문에 `"ok": false`를 반환하면, Claude는 계속 작업하고 `reason`을 다음 지시로 사용합니다:

895 895 

896```json theme={null}896```json theme={null}

897{897{


910}910}

911```911```

912 912 

913전체 구성 옵션은 참조의 [프롬프트 기반 hooks](/docs/ko/hooks#prompt-based-hooks)를 참조하세요.913전체 구성 옵션은 참조에서 [프롬프트 기반 훅](/docs/ko/hooks#prompt-based-hooks)을 참조합니다.

914 914 

915<h2 id="agent-based-hooks">915<h2 id="agent-based-hooks">

916 에이전트 기반 hooks916 에이전트 기반 hooks


995 995 

996Hooks를 설계할 때 다음 제약 사항을 염두에 두십시오:996Hooks를 설계할 때 다음 제약 사항을 염두에 두십시오:

997 997 

998* 명령 hooks는 stdout, stderr 및 종료 코드를 통해서만 통신합니다. `/` 명령이나 도구 호출을 직접 트리거할 수 없습니다. `additionalContext`를 통해 반환된 텍스트는 Claude가 일반 텍스트로 읽는 시스템 알림으로 주입됩니다. HTTP hooks는 응답 본문을 통해 통신합니다.998* 명령 hooks는 stdout, stderr 및 종료 코드를 통해서만 통신합니다. `/` 명령이나 도구 호출을 직접 트리거할 수 없습니다. `additionalContext`를 통해 반환된 텍스트는 Claude가 일반 텍스트로 읽는 [시스템 알림](/docs/ko/glossary#system-reminder)으로 주입됩니다. HTTP hooks는 응답 본문을 통해 통신합니다.

999* Hook 타임아웃은 유형에 따라 다릅니다. `timeout` 필드(초 단위)로 hook당 재정의할 수 있습니다.999* Hook 타임아웃은 유형에 따라 다릅니다. `timeout` 필드(초 단위)로 hook당 재정의할 수 있습니다.

1000 * `command`, `http`, `mcp_tool`: 10분. Claude Code는 `UserPromptSubmit`, `PreModelSwitch` 및 `PostModelSwitch` hooks의 기본값을 30초로 낮추고, `MessageDisplay`의 경우 10초로 낮춥니다.1000 * `command`, `http`, `mcp_tool`: 10분. Claude Code는 `UserPromptSubmit`, `PreModelSwitch` 및 `PostModelSwitch` hooks의 기본값을 30초로 낮추고, `MessageDisplay`의 경우 10초로 낮춥니다.

1001 * `prompt`: 30초.1001 * `prompt`: 30초.

Details

144 144 

145컨텍스트 윈도우의 대화형 설명은 [컨텍스트 윈도우 탐색](/docs/ko/context-window)을 참조하세요.145컨텍스트 윈도우의 대화형 설명은 [컨텍스트 윈도우 탐색](/docs/ko/context-window)을 참조하세요.

146 146 

147<h4 id="context-claude-code-adds-on-its-own">

148 컨텍스트 Claude Code가 자체적으로 추가하는 것

149</h4>

150 

151Claude가 `Co-Authored-By` 트레일러를 커밋에 추가하는 것과 같이 작성하지 않은 규칙을 따르면 규칙은 [시스템 알림](/docs/ko/glossary#system-reminder)에서 나올 수 있습니다. 작업하면서 Claude Code는 메시지와 함께 대화에 자신의 컨텍스트를 추가합니다:

152 

153* CLAUDE.md 파일

154* [출력 스타일](/docs/ko/output-styles)의 지침

155* Claude가 이전에 읽은 파일이 디스크에서 변경될 때의 메모

156* 커밋 및 풀 요청 속성 라인

157 

158속성 라인을 변경하거나 제거하려면 [`attribution`](/docs/ko/settings-reference#attribution)을 설정하세요. Claude Code의 기본 제공 커밋 및 풀 요청 지침을 제거하려면 [`includeGitInstructions`](/docs/ko/settings-reference#includegitinstructions)를 `false`로 설정하세요. 다른 스위치는 [에이전트가 대체하는 컨텍스트 끄기](/docs/ko/agent-sdk/modifying-system-prompts#turn-off-the-context-your-agent-replaces)를 참조하세요.

159 

147<h4 id="when-context-fills-up">160<h4 id="when-context-fills-up">

148 컨텍스트가 채워질 때161 컨텍스트가 채워질 때

149</h4>162</h4>


188 201 

189`Shift+Tab`을 눌러 권한 모드를 순환하세요:202`Shift+Tab`을 눌러 권한 모드를 순환하세요:

190 203 

191* **Auto**: 분류기가 백그라운드에서 대부분의 작업을 검토하고 요청하는 대신 위험한 작업을 차단합니다. Pro, Max, Team 플랜에서는 대화형 터미널 및 VS Code 세션의 [기본 시작 권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)입니다204* **Auto**: 분류기가 백그라운드에서 대부분의 작업을 검토하고 요청하는 대신 위험한 작업을 차단합니다. Claude Code v2.1.283 이상에서는 대화형 터미널 및 VS Code 세션의 [기본 시작 권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)이며, 이전 버전에서는 Pro, Max, Team 플랜에서만 해당합니다

192* **Manual**: Claude가 파일 편집 및 셸 명령 전에 요청합니다205* **Manual**: Claude가 파일 편집 및 셸 명령 전에 요청합니다

193* **Accept edits**: Claude는 파일을 편집하고 `mkdir` 및 `mv`와 같은 일반적인 파일시스템 명령을 요청 없이 실행하지만 다른 명령은 여전히 요청합니다206* **Accept edits**: Claude는 파일을 편집하고 `mkdir` 및 `mv`와 같은 일반적인 파일시스템 명령을 요청 없이 실행하지만 다른 명령은 여전히 요청합니다

194* **Plan**: Claude는 소스 파일을 편집하지 않고 계획을 탐색하고 제안합니다207* **Plan**: Claude는 소스 파일을 편집하지 않고 계획을 탐색하고 제안합니다

Details

34| `Ctrl+T` | Claude의 작업 체크리스트 전환 | 상태 영역에서 [Claude의 할 일 체크리스트](#task-list)를 표시하거나 숨깁니다. 이것은 백그라운드 작업 보기가 아닙니다. 실행 중인 셸 및 서브에이전트를 보려면 [`/tasks`](/docs/ko/commands)를 사용하세요 |34| `Ctrl+T` | Claude의 작업 체크리스트 전환 | 상태 영역에서 [Claude의 할 일 체크리스트](#task-list)를 표시하거나 숨깁니다. 이것은 백그라운드 작업 보기가 아닙니다. 실행 중인 셸 및 서브에이전트를 보려면 [`/tasks`](/docs/ko/commands)를 사용하세요 |

35| `Ctrl+S` | 프롬프트 숨기기 또는 복원 | 입력에 텍스트가 있으면 숨기고 프롬프트를 지웁니다. 빈 프롬프트에서 다시 누르면 숨겨진 텍스트, 커서 위치, 붙여넣은 콘텐츠 및 입력 모드를 복원하므로 숨겨진 `!` [셸 명령](#shell-mode-with-prefix)은 셸 모드로 돌아옵니다 |35| `Ctrl+S` | 프롬프트 숨기기 또는 복원 | 입력에 텍스트가 있으면 숨기고 프롬프트를 지웁니다. 빈 프롬프트에서 다시 누르면 숨겨진 텍스트, 커서 위치, 붙여넣은 콘텐츠 및 입력 모드를 복원하므로 숨겨진 `!` [셸 명령](#shell-mode-with-prefix)은 셸 모드로 돌아옵니다 |

36| `Ctrl+Z` | Claude Code 일시 중단 | Unix만 해당. 프로세스를 셸로 일시 중단합니다. `fg`를 실행하여 재개합니다 |36| `Ctrl+Z` | Claude Code 일시 중단 | Unix만 해당. 프로세스를 셸로 일시 중단합니다. `fg`를 실행하여 재개합니다 |

37| `Left/Right arrows` | 대화 상자 탭 순환 | 권한 대화 상자 및 메뉴의 탭 사이를 탐색합니다 |37| `Left/Right arrows` | 대화 상자 탭 순환 | 권한 대화 상자 및 메뉴의 탭 사이를 탐색합니다. 탭 대화 상자에서 탭 행에 포커스가 있을 때 키가 탭을 전환합니다. [탭 작업](/docs/ko/keybindings#tabs-actions)에서 포커스가 어떻게 이동하는지 확인하세요 |

38| `Tab` | 자동 완성 제안 수락 또는 권한 답변에 주석 추가 | 자동 완성 제안이 프롬프트 입력에 표시되는 동안 선택된 제안을 수락합니다. 대부분의 권한 프롬프트에서 **Yes** 또는 **No**에 포커스가 있으면 해당 옵션에 주석 필드를 열고 다시 누르면 필드를 닫습니다. [권한 프롬프트에 답할 때 주석 추가](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)를 참조하세요 |38| `Tab` | 자동 완성 제안 수락 또는 권한 답변에 주석 추가 | 자동 완성 제안이 프롬프트 입력에 표시되는 동안 선택된 제안을 수락합니다. 대부분의 권한 프롬프트에서 **Yes** 또는 **No**에 포커스가 있으면 해당 옵션에 주석 필드를 열고 다시 누르면 필드를 닫습니다. [권한 프롬프트에 답할 때 주석 추가](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)를 참조하세요 |

39| `Up/Down arrows` 또는 `Ctrl+P`/`Ctrl+N` | 커서 이동 또는 명령 기록 탐색 | 입력이 래핑되거나 여러 줄인지 여부에 관계없이 한 줄 이상의 시각적 행에 걸쳐 있으면 먼저 프롬프트 내에서 커서를 이동합니다. 커서가 첫 번째 또는 마지막 시각적 행에 있으면 다시 누르면 명령 기록을 탐색합니다. 메시지가 대기 중이면 첫 번째 행에서 `Up`은 대신 [대기 중인 메시지를 되돌립니다](#take-back-what-you-queued) |39| `Up/Down arrows` 또는 `Ctrl+P`/`Ctrl+N` | 커서 이동 또는 명령 기록 탐색 | 입력이 래핑되거나 여러 줄인지 여부에 관계없이 한 줄 이상의 시각적 행에 걸쳐 있으면 먼저 프롬프트 내에서 커서를 이동합니다. 커서가 첫 번째 또는 마지막 시각적 행에 있으면 다시 누르면 명령 기록을 탐색합니다. 메시지가 대기 중이면 첫 번째 행에서 `Up`은 대신 [대기 중인 메시지를 되돌립니다](#take-back-what-you-queued) |

40| `Esc` | Claude 중단 또는 대화 상자 닫기 | 현재 응답 또는 도구 호출을 중간에 중지하여 리디렉션할 수 있습니다. Claude는 지금까지 수행한 작업을 유지합니다. [메시지가 대기 중](#queue-messages-while-claude-works)이면 Claude Code는 이어서 그 메시지를 보냅니다. 대화 상자가 열려 있으면 `Esc`는 대화 상자를 닫습니다. 권한 프롬프트에서 `Esc`는 [**No** 주석 없음](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)과 동일하게 작업을 거부합니다 |40| `Esc` | Claude 중단 또는 대화 상자 닫기 | 현재 응답 또는 도구 호출을 중간에 중지하여 리디렉션할 수 있습니다. Claude는 지금까지 수행한 작업을 유지합니다. [메시지가 대기 중](#queue-messages-while-claude-works)이면 Claude Code는 이어서 그 메시지를 보냅니다. 대화 상자가 열려 있으면 `Esc`는 대화 상자를 닫습니다. 푸터 항목(예: 프롬프트 아래의 [서브에이전트 패널](/docs/ko/sub-agents#run-subagents-in-foreground-or-background))이 선택되어 있으면 `Esc`는 중단하는 대신 [선택을 해제합니다](/docs/ko/keybindings#footer-actions). 권한 프롬프트에서 `Esc`는 [**No** 주석 없음](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)과 동일하게 작업을 거부합니다 |

41| `Esc` + `Esc` | 입력 초안 지우기 또는 되감기 | 프롬프트 입력에 텍스트가 있으면 이중 `Esc`는 이를 지우고 초안을 기록에 저장하여 `Up`이 이를 회상할 수 있습니다. 입력이 비어 있으면 이중 `Esc`는 [되감기 메뉴](/docs/ko/checkpointing)를 열어 이전 지점에서 코드 및 대화를 복원하거나 요약합니다 |41| `Esc` + `Esc` | 입력 초안 지우기 또는 되감기 | 프롬프트 입력에 텍스트가 있으면 이중 `Esc`는 이를 지우고 초안을 기록에 저장하여 `Up`이 이를 회상할 수 있습니다. 입력이 비어 있으면 이중 `Esc`는 [되감기 메뉴](/docs/ko/checkpointing)를 열어 이전 지점에서 코드 및 대화를 복원하거나 요약합니다 |

42| `Ctrl+Enter` 또는 `Ctrl+X Ctrl+S` | 대기 중인 메시지 지금 보내기 | [대기 중인 메시지](#queue-messages-while-claude-works)와 초안을 지금 바로 보냅니다. [Claude Code가 대기 중인 메시지를 보낼 때](#when-claude-code-sends-what-you-queued)는 Claude가 작업 중인 턴에 어떤 일이 발생하는지 설명합니다. [셸 모드](#shell-mode-with-prefix)에서 키는 명령만 대기열에 넣습니다. 확장 키를 보고하지 않는 터미널에서 `Ctrl+Enter`는 일반 `Enter`로 도착합니다. `Ctrl+X Ctrl+S`는 모든 터미널에서 작동합니다. Claude Code v2.1.275 이상 필요 |42| `Ctrl+Enter` 또는 `Ctrl+X Ctrl+S` | 대기 중인 메시지 지금 보내기 | [대기 중인 메시지](#queue-messages-while-claude-works)와 초안을 지금 바로 보냅니다. [Claude Code가 대기 중인 메시지를 보낼 때](#when-claude-code-sends-what-you-queued)는 Claude가 작업 중인 턴에 어떤 일이 발생하는지 설명합니다. [셸 모드](#shell-mode-with-prefix)에서 키는 명령만 대기열에 넣습니다. 확장 키를 보고하지 않는 터미널에서 `Ctrl+Enter`는 일반 `Enter`로 도착합니다. `Ctrl+X Ctrl+S`는 모든 터미널에서 작동합니다. Claude Code v2.1.275 이상 필요 |

43| `Shift+Tab` 또는 Node 또는 Bun 런타임이 VT 입력 모드를 활성화하지 않을 때 Windows의 `Alt+M` | 권한 모드 순환 | `default` (모드 표시기에서 Manual로 표시됨), `acceptEdits`, `plan` 및 사용 가능할 때 `bypassPermissions` 및 `auto`를 순환합니다. `auto`에서 첫 번째 누름은 `default`로 전환합니다. [권한 모드](/docs/ko/permission-modes)를 참조하세요. 파일 권한 프롬프트에서 동일한 키는 열린 [주석 필드](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)를 닫습니다. 필드가 열려 있지 않으면 프롬프트가 나머지 세션에 대해 작업을 허용하는 옵션을 선택합니다 |43| `Shift+Tab` 또는 Node 또는 Bun 런타임이 VT 입력 모드를 활성화하지 않을 때 Windows의 `Alt+M` | 권한 모드 순환 | `default` (모드 표시기에서 Manual로 표시됨), `acceptEdits`, `plan` 및 사용 가능할 때 `bypassPermissions` 및 `auto`를 순환합니다. `auto`에서 첫 번째 누름은 `default`로 전환합니다. [권한 모드](/docs/ko/permission-modes)를 참조하세요. 파일 권한 프롬프트에서 동일한 키는 열린 [주석 필드](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)를 닫습니다. 필드가 열려 있지 않으면 프롬프트가 나머지 세션에 대해 작업을 허용하는 옵션을 선택합니다 |

44| `Option+P` (macOS) 또는 `Alt+P` (Windows/Linux) | 모델 전환 | 프롬프트를 지우지 않고 모델을 전환합니다 |44| `Option+P` (macOS) 또는 `Alt+P` (Windows/Linux) | 모델 전환 | 프롬프트를 지우지 않고 모델을 전환합니다 |

45| `Option+T` (macOS) 또는 `Alt+T` (Windows/Linux) | 확장 사고 전환 | 확장 사고 모드를 활성화하거나 비활성화합니다. Opus 5.5 또는 Fable 모델에는 영향을 주지 않으며, 이들은 항상 확장 사고를 사용합니다. Option을 Meta로 구성하지 않고도 macOS에서 작동합니다 |45| `Option+T` (macOS) 또는 `Alt+T` (Windows/Linux) | 확장 사고 전환 | 확장 사고 모드를 활성화하거나 비활성화합니다. Opus 5.5, Sonnet 5.5 또는 Fable 모델에는 영향을 주지 않으며, 이들은 항상 확장 사고를 사용합니다. Option을 Meta로 구성하지 않고도 macOS에서 작동합니다 |

46| `Option+O` (macOS) 또는 `Alt+O` (Windows/Linux) | 빠른 모드 전환 | [빠른 모드](/docs/ko/fast-mode)를 활성화하거나 비활성화합니다 |46| `Option+O` (macOS) 또는 `Alt+O` (Windows/Linux) | 빠른 모드 전환 | [빠른 모드](/docs/ko/fast-mode)를 활성화하거나 비활성화합니다 |

47 47 

48<h3 id="text-editing">48<h3 id="text-editing">


235| 명령어 | 작업 |235| 명령어 | 작업 |

236| :- | :- |236| :- | :- |

237| `x` | 문자 삭제 |237| `x` | 문자 삭제 |

238| `r{char}` | 커서 아래의 문자를 `{char}`로 바꾸기 |

238| `dd` | 줄 삭제 |239| `dd` | 줄 삭제 |

239| `D` | 줄의 끝까지 삭제 |240| `D` | 줄의 끝까지 삭제 |

240| `dw`/`de`/`db` | 단어 삭제/끝까지/뒤로 |241| `dw`/`de`/`db` | 단어 삭제/끝까지/뒤로 |

241| `df{char}`/`dt{char}` | 다음 문자 발생까지 포함하여 또는 까지 삭제 |242| `df{char}`/`dt{char}` | 다음 문자 발생까지 포함하여 또는 까지 삭제 |

243| `dj`/`dk` | 현재 줄과 아래 또는 위의 줄 삭제 |

244| `dgg`/`dG` | 현재 줄에서 첫 번째 또는 마지막 줄까지 삭제 |

245| `d0`/`c0`/`y0` | 커서에서 줄의 시작까지 삭제, 변경 또는 야앙크합니다. Claude Code v2.1.281 이상이 필요합니다 |

242| `cc` | 줄 변경 |246| `cc` | 줄 변경 |

243| `C` | 줄의 끝까지 변경 |247| `C` | 줄의 끝까지 변경 |

244| `cw`/`ce`/`cb` | 단어 변경/끝까지/뒤로 |248| `cw`/`ce`/`cb` | 단어 변경/끝까지/뒤로 |


342* Claude Code에 명령어를 백그라운드에서 실행하도록 프롬프트합니다.346* Claude Code에 명령어를 백그라운드에서 실행하도록 프롬프트합니다.

343* `Ctrl+B`를 눌러 일반 Bash 도구 호출을 백그라운드로 이동합니다. Tmux 사용자는 tmux의 접두사 키 때문에 `Ctrl+B`를 두 번 눌러야 합니다.347* `Ctrl+B`를 눌러 일반 Bash 도구 호출을 백그라운드로 이동합니다. Tmux 사용자는 tmux의 접두사 키 때문에 `Ctrl+B`를 두 번 눌러야 합니다.

344 348 

349명령어가 완료되기 전에 시간 초과에 도달하면, Claude Code는 자동으로 [명령어를 백그라운드로 이동](/docs/ko/tools-reference#background-commands)합니다. 단, `sleep`으로 시작하는 명령어는 제외됩니다. 명령어가 실행되는 시간을 변경하려면 [Bash 시간 초과 환경 변수](/docs/ko/tools-reference#timeout-and-output-limits)를 설정합니다.

350 

345**주요 기능:**351**주요 기능:**

346 352 

347* 출력은 파일에 기록되며 Claude는 Read 도구를 사용하여 이를 검색할 수 있습니다.353* 출력은 파일에 기록되며 Claude는 Read 도구를 사용하여 이를 검색할 수 있습니다.


395 Claude가 작업 중일 때 메시지 큐에 추가401 Claude가 작업 중일 때 메시지 큐에 추가

396</h2>402</h2>

397 403 

398Claude가 작업 중인 동안 메시지를 입력하고 `Enter`를 누르면 Claude Code가 턴을 중단하지 않고 메시지를 큐에 추가합니다. 큐에 추가된 항목은 입력 상자 위에 나열되며 전송될 때까지 표시됩니다. `!` [셸 명령](#shell-mode-with-prefix)과 대부분의 [명령](/docs/ko/commands)을 같은 방식으로 큐에 추가할 수 있습니다. 단, `/status`와 같이 Claude Code가 전송 시 즉시 실행하는 명령은 제외됩니다.404Claude가 작업 중인 동안 메시지를 입력하고 `Enter`를 누르면 Claude Code가 턴을 중단하지 않고 메시지를 큐에 추가합니다. Claude Code는 큐에 추가된 항목을 대화에 나열하고 전송될 때까지 표시합니다. `!` [셸 명령](#shell-mode-with-prefix)과 대부분의 [명령](/docs/ko/commands)을 같은 방식으로 큐에 추가할 수 있습니다. 단, `/status`와 같이 Claude Code가 전송 시 즉시 실행하는 명령은 제외됩니다.

399 405 

400전송된 메시지와 큐에 추가된 메시지는 Claude가 응답하기 시작할 때까지 회색으로 표시되므로, Claude가 아직 처리하지 않은 메시지를 구분할 수 있습니다.406전송된 메시지와 큐에 추가된 메시지는 Claude가 응답하기 시작할 때까지 회색으로 표시되므로, Claude가 아직 처리하지 않은 메시지를 구분할 수 있습니다.

401 407 

408[연결된 IDE](/docs/ko/vs-code#the-built-in-ide-mcp-server) 또는 [diff 패널](#diff-panel)에서 선택 항목이 첨부된 메시지를 큐에 추가하면, `Enter`를 누를 때 있던 선택 항목이 유지되며, 그 이후에 선택하는 항목과 관계없이 유지됩니다.

409 

402<h3 id="when-claude-code-sends-what-you-queued">410<h3 id="when-claude-code-sends-what-you-queued">

403 Claude Code가 큐에 추가한 항목을 전송하는 시점411 Claude Code가 큐에 추가한 항목을 전송하는 시점

404</h3>412</h3>

jetbrains.md +5 −1

Details

249 249 

250서버의 이름은 `ide`이며 구성할 항목이 없으므로 `/mcp`에서 숨겨집니다. 그러나 조직에서 [`PreToolUse` 훅](/docs/ko/hooks#pretooluse)을 사용하여 MCP 도구를 허용 목록에 추가하는 경우 이 서버가 존재한다는 것을 알아야 합니다.250서버의 이름은 `ide`이며 구성할 항목이 없으므로 `/mcp`에서 숨겨집니다. 그러나 조직에서 [`PreToolUse` 훅](/docs/ko/hooks#pretooluse)을 사용하여 MCP 도구를 허용 목록에 추가하는 경우 이 서버가 존재한다는 것을 알아야 합니다.

251 251 

252**선택 항목 및 열린 파일 컨텍스트.** 연결되어 있는 동안 CLI는 보낸 각 프롬프트에 현재 편집기 선택 항목과 활성 파일의 경로를 컨텍스트로 포함합니다. 이 경우 기록에 `⧉ Selected N lines from <file>` 줄이 표시됩니다. `.env`와 같은 민감한 파일을 제외하려면 해당 경로에 대한 [`Read` 거부 규칙](/docs/ko/permissions#read-and-edit)을 추가합니다. 일치하는 거부 규칙은 선택된 텍스트와 해당 파일에 대한 열린 파일 공지가 Claude에 도달하는 것을 모두 방지합니다.252**선택 항목 및 열린 파일 컨텍스트.** 연결되어 있는 동안 CLI는 보낸 각 프롬프트에 현재 편집기 선택 항목과 활성 파일의 경로를 컨텍스트로 포함합니다. 이 경우 기록에 `⧉ Selected N lines from <file>` 줄이 표시됩니다.

253 

254[Claude가 작업하는 동안 메시지를 대기열에 추가](/docs/ko/interactive-mode#queue-messages-while-claude-works)하면 `Enter`를 누를 때 있던 선택 항목을 유지하며, 그 이후에 선택하는 항목은 무시됩니다.

255 

256`.env`와 같은 민감한 파일을 제외하려면 해당 경로에 대한 [`Read` 거부 규칙](/docs/ko/permissions#read-and-edit)을 추가합니다. 일치하는 거부 규칙은 선택된 텍스트와 해당 파일에 대한 열린 파일 공지가 Claude에 도달하는 것을 모두 방지합니다.

253 257 

254**전송 및 인증.** 서버는 OS에서 할당한 임시 포트에서 수신하며 포트는 구성할 수 없습니다. 전송은 암호화되지 않은 `ws://`입니다. 루프백에서 트래픽을 캡처할 수 있는 모든 프로세스는 잠금 파일에서 토큰을 읽을 수도 있으므로 TLS는 로컬 공격자에 대한 보호를 추가하지 않습니다. 각 IDE 시작은 새로운 임의의 인증 토큰을 생성하고 `~/.claude/ide/<port>.lock`의 잠금 파일에 기록하며, CLI는 이를 `X-Claude-Code-Ide-Authorization` 헤더로 제시하여 연결해야 합니다. `CLAUDE_CONFIG_DIR`이 설정된 경우 잠금 파일은 `$CLAUDE_CONFIG_DIR/ide/` 대신에 기록됩니다.258**전송 및 인증.** 서버는 OS에서 할당한 임시 포트에서 수신하며 포트는 구성할 수 없습니다. 전송은 암호화되지 않은 `ws://`입니다. 루프백에서 트래픽을 캡처할 수 있는 모든 프로세스는 잠금 파일에서 토큰을 읽을 수도 있으므로 TLS는 로컬 공격자에 대한 보호를 추가하지 않습니다. 각 IDE 시작은 새로운 임의의 인증 토큰을 생성하고 `~/.claude/ide/<port>.lock`의 잠금 파일에 기록하며, CLI는 이를 `X-Claude-Code-Ide-Authorization` 헤더로 제시하여 연결해야 합니다. `CLAUDE_CONFIG_DIR`이 설정된 경우 잠금 파일은 `$CLAUDE_CONFIG_DIR/ide/` 대신에 기록됩니다.

255 259 

keybindings.md +110 −89

Details

77 사용 가능한 작업77 사용 가능한 작업

78</h2>78</h2>

79 79 

80작업은 `namespace:action` 형식을 따릅니다. 예를 들어 `chat:submit`은 메시지를 보내고 `app:toggleTodos`는 작업 목록을 표시합니다. 각 컨텍스트에는 사용 가능한 특정 작업이 있습니다.80작업은 `namespace:action` 형식을 따르며, 예를 들어 메시지를 보내는 `chat:submit` 또는 작업 목록을 표시하는 `app:toggleTodos`와 같습니다. 각 컨텍스트에는 특정 작업이 사용 가능합니다.

81 81 

82<h3 id="app-actions">82<h3 id="app-actions">

83 앱 작업83 앱 작업


88| 작업 | 기본값 | 설명 |88| 작업 | 기본값 | 설명 |

89| :- | :- | :- |89| :- | :- | :- |

90| `app:interrupt` | Ctrl+C | 현재 작업 취소 |90| `app:interrupt` | Ctrl+C | 현재 작업 취소 |

91| `app:exit` | Ctrl+D | Claude Code 종료. 800ms 이내에 두 번 누르면 확인됨 |91| `app:exit` | Ctrl+D | Claude Code 종료. 800ms 내에 두 번 누르면 확인됨 |

92| `app:redraw` | (바인딩 해제됨) | 터미널 다시 그리기 강제 |92| `app:redraw` | (바인딩 안 됨) | 터미널 다시 그리기 강제 실행 |

93| `app:toggleTodos` | Ctrl+T | Claude의 할 일 체크리스트 표시 여부 전환. 이것은 [`/tasks`](/docs/ko/commands) 백그라운드 작업 보기가 아닙니다 |93| `app:toggleTodos` | Ctrl+T | Claude의 할 일 체크리스트 표시 여부 전환. 이는 [`/tasks`](/docs/ko/commands) 백그라운드 작업 보기가 아닙니다 |

94| `app:toggleTranscript` | Ctrl+O | 상세 트랜스크립트 전환 |94| `app:toggleTranscript` | Ctrl+O | 상세 기록 전환 |

95 95 

96<h3 id="history-actions">96<h3 id="history-actions">

97 기록 작업97 기록 작업


114| 작업 | 기본값 | 설명 |114| 작업 | 기본값 | 설명 |

115| :- | :- | :- |115| :- | :- | :- |

116| `chat:cancel` | Escape | 현재 입력 취소 |116| `chat:cancel` | Escape | 현재 입력 취소 |

117| `chat:clearInput` | Ctrl+L | 입력과 대화를 유지하면서 전체 화면을 다시 그리기 강제합니다 |117| `chat:clearInput` | Ctrl+L | 입력과 대화를 유지하면서 전체 화면 다시 그리기 강제 실행 |

118| `chat:clearScreen` | Cmd+K | `chat:clearInput`과 동일합니다. [대화 지우기](/docs/ko/fullscreen#clear-the-conversation)에서 Cmd+K가 iTerm2 및 Terminal.app에서 어떻게 작동하는지 확인하세요 |118| `chat:clearScreen` | Cmd+K | `chat:clearInput`과 동일. iTerm2 및 Terminal.app에서 Cmd+K의 동작 방식은 [대화 지우기](/docs/ko/fullscreen#clear-the-conversation)를 참조하세요 |

119| `chat:killAgents` | Ctrl+X Ctrl+K | 이 세션의 모든 실행 중인 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background) 종료 및 이 세션의 나머지 부분에 대해 [아티팩트 자동 회신](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own) 끄기 |119| `chat:killAgents` | Ctrl+X Ctrl+K | 이 세션의 모든 실행 중인 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)를 중지하고 나머지 세션에 대해 [아티팩트 자동 회신](/docs/ko/artifacts#let-claude-reply-to-comments-on-its-own)을 끕니다 |

120| `chat:cycleMode` | Shift+Tab\* | 권한 모드 순환 |120| `chat:cycleMode` | Shift+Tab\* | 권한 모드 순환 |

121| `chat:modelPicker` | Meta+P | 모델 선택기 열기 |121| `chat:modelPicker` | Meta+P | 모델 선택기 열기 |

122| `chat:fastMode` | Meta+O | 빠른 모드 전환 |122| `chat:fastMode` | Meta+O | 빠른 모드 전환 |

123| `chat:thinkingToggle` | Meta+T | 확장 사고 전환 |123| `chat:thinkingToggle` | Meta+T | 확장 사고 전환 |

124| `chat:submit` | Enter | 메시지 제출 |124| `chat:submit` | Enter | 메시지 제출 |

125| `chat:queueSubmit` | Ctrl+X Enter | 메시지를 제출하고 대기 표시: Claude가 작업 중일 때 Claude Code [이를 대기열에 넣고](/docs/ko/interactive-mode#queue-messages-while-claude-works) 턴을 중단하지 않습니다. `chat:submit`과 달리 자동 완성 제안이 열려 있어도 초안을 제출합니다. v2.1.247 이상 필요 |125| `chat:queueSubmit` | Ctrl+X Enter | 메시지를 제출하고 차례를 기다리도록 표시: Claude가 작업 중일 때 Claude Code는 [메시지를 큐에 넣고](/docs/ko/interactive-mode#queue-messages-while-claude-works) 턴을 중단하지 않습니다. `chat:submit`과 달리 자동 완성 제안이 강조 표시되어 있어도 초안을 제출합니다. v2.1.247 이상 필요 |

126| `chat:sendNow` | Ctrl+Enter, Ctrl+X Ctrl+S | [대기 중인 메시지](/docs/ko/interactive-mode#queue-messages-while-claude-works)와 초안을 즉시 보냅니다. [Claude Code가 대기 중인 메시지를 보낼 때](/docs/ko/interactive-mode#when-claude-code-sends-what-you-queued)에서 Claude가 작업 중인 턴에 어떤 일이 발생하는지 설명합니다. 실행 중인 것이 없으면 초안을 제출하고 [셸 모드](/docs/ko/interactive-mode#shell-mode-with-prefix)에서는 명령을 대기열에만 넣습니다. 확장 키를 보고하지 않는 터미널은 `Ctrl+Enter`를 일반 `Enter`로 전달하므로 `Ctrl+X Ctrl+S`는 모든 터미널에서 작동하는 바인딩입니다. v2.1.275 이상 필요 |126| `chat:sendNow` | Ctrl+Enter, Ctrl+X Ctrl+S | [큐에 넣은 메시지](/docs/ko/interactive-mode#queue-messages-while-claude-works)와 초안을 즉시 보냅니다. [Claude Code가 큐에 넣은 메시지를 보낼 때](/docs/ko/interactive-mode#when-claude-code-sends-what-you-queued)는 Claude가 작업 중인 턴에 어떤 일이 발생하는지 설명합니다. 실행 중인 것이 없으면 키가 초안을 제출하고 [셸 모드](/docs/ko/interactive-mode#shell-mode-with-prefix)에서는 명령만 큐에 넣습니다. 확장 키를 보고하지 않는 터미널은 `Ctrl+Enter`를 일반 `Enter`로 전달하므로 `Ctrl+X Ctrl+S`가 모든 터미널에서 작동하는 바인딩입니다. v2.1.275 이상 필요 |

127| `chat:newline` | Ctrl+J | 제출하지 않고 줄 바꿈 삽입 |127| `chat:newline` | Ctrl+J | 제출하지 않고 새 줄 삽입 |

128| `chat:undo` | Ctrl+\_, Ctrl+Shift+- | 마지막 작업 실행 취소 |128| `chat:undo` | Ctrl+\_, Ctrl+Shift+- | 마지막 작업 실행 취소 |

129| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | 외부 편집기에서 열기. [에이전트 보기 디스패치 입력](/docs/ko/agent-view#keyboard-shortcuts)도 이 작업의 단일 키 바인딩을 따릅니다 |129| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | 외부 편집기에서 열기. [에이전트 보기 디스패치 입력](/docs/ko/agent-view#keyboard-shortcuts)도 이 작업의 단일 키 바인딩을 따릅니다 |

130| `chat:stash` | Ctrl+S | 현재 프롬프트 숨기기 |130| `chat:stash` | Ctrl+S | 현재 프롬프트 숨기기 |

131| `chat:imagePaste` | Ctrl+V (Windows 및 WSL에서 Alt+V) | 클립보드에서 이미지 붙여넣기. WSL에서는 두 단축키 모두 기본적으로 바인딩됩니다 |131| `chat:imagePaste` | Ctrl+V (Windows 및 WSL에서 Alt+V) | 클립보드에서 이미지 붙여넣기. WSL에서는 두 바로 가기 모두 기본적으로 바인딩됩니다 |

132 132 

133\*VT 모드가 없는 Windows에서(Node \<24.2.0/\<22.17.0, Bun \<1.2.23), 기본값은 Meta+M입니다.133\*VT 모드가 없는 Windows에서(Node \<24.2.0/\<22.17.0, Bun \<1.2.23)는 기본값이 Meta+M입니다.

134 134 

135<h3 id="autocomplete-actions">135<h3 id="autocomplete-actions">

136 자동 완성 작업136 자동 완성 작업


158| `confirm:previous` | Up | 이전 옵션 |158| `confirm:previous` | Up | 이전 옵션 |

159| `confirm:next` | Down | 다음 옵션 |159| `confirm:next` | Down | 다음 옵션 |

160| `confirm:nextField` | Tab | 다음 필드 |160| `confirm:nextField` | Tab | 다음 필드 |

161| `confirm:previousField` | (바인딩 해제됨) | 이전 필드 |161| `confirm:previousField` | (바인딩 안 됨) | 이전 필드 |

162| `confirm:toggle` | Space | 선택 전환 |162| `confirm:toggle` | Space | 선택 전환 |

163| `confirm:cycleMode` | Shift+Tab\* | 권한 모드 순환. 파일 권한 프롬프트에서 열린 [댓글 필드](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)를 닫습니다. 열린 필드가 없으면 세션의 나머지 부분에 대해 작업을 허용하는 옵션을 선택합니다(프롬프트가 해당 옵션을 제공하는 경우) |163| `confirm:cycleMode` | Shift+Tab\* | 권한 모드 순환. 파일 권한 프롬프트에서 열린 [댓글 필드](/docs/ko/permissions#add-a-comment-when-you-answer-a-permission-prompt)를 닫습니다. 열린 필드가 없으면 프롬프트가 해당 옵션을 제공할 때 나머지 세션에 대해 작업을 허용하는 옵션을 선택합니다 |

164 164 

165\*VT 모드가 없는 Windows에서(Node \<24.2.0/\<22.17.0, Bun \<1.2.23), 기본값은 Meta+M입니다.165\*VT 모드가 없는 Windows에서(Node \<24.2.0/\<22.17.0, Bun \<1.2.23)는 기본값이 Meta+M입니다.

166 166 

167v2.1.257 이전에는 `confirm:toggleExplanation` 작업이 Ctrl+E에 바인딩되어 있었으며 Bash 및 PowerShell 권한 프롬프트에서 모델이 생성한 명령 설명을 표시했습니다.167v2.1.257 이전에는 `confirm:toggleExplanation` 작업이 기본적으로 `Ctrl+E`에 바인딩되어 Bash 및 PowerShell 권한 프롬프트에서 명령의 모델 생성 설명을 표시했습니다.

168 168 

169대화 상자는 예/아니오 질문을 하지 않을 때도 `confirm:yes` 및 `confirm:no`를 사용하여 수락하고 취소합니다. `y` 또는 `n`과 같은 단순 문자를 이 컨텍스트에 바인딩하면 해당 문자가 키로 표시되지 않는 대화 상자에도 작용합니다. `y` 및 `n`을 키로 표시하는 대화 상자는 해당 문자를 직접 읽고 바인딩이 필요하지 않습니다.169대화 상자는 예/아니오 질문을 하지 않을 때도 `confirm:yes` 및 `confirm:no`를 사용하여 수락하고 취소합니다. 이 컨텍스트에서 `y` 또는 `n`과 같은 단순 문자를 바인딩하면 해당 문자도 키로 표시하지 않는 대화 상자에 작용합니다. `y` 및 `n`을 키로 표시하는 대화 상자는 해당 문자를 직접 읽고 바인딩이 필요하지 않습니다.

170 

171대부분의 대화 상자에서 `Ctrl+C` 또는 `Ctrl+D`를 두 번 누르면 Claude Code를 종료하는 대신 대화 상자를 닫습니다. 첫 번째 누름 후의 힌트는 두 번째 누름이 대화 상자를 닫는지 아니면 종료하는지 나타냅니다. 두 키 모두 [예약됨](#reserved-shortcuts)이며 다시 바인딩할 수 없습니다.

170 172 

171이 예제는 `y`를 `confirm:yes`에, `n`을 `confirm:no`에 바인딩합니다:173이 예제는 `y`를 `confirm:yes`에, `n`을 `confirm:no`에 바인딩합니다:

172 174 


184}186}

185```187```

186 188 

187이러한 바인딩을 사용하면 [텍스트 필드](#text-fields)에 포커스가 있을 때 `y` 및 `n`은 여전히 문자로 입력됩니다.189이러한 바인딩을 사용하면 [텍스트 필드](#text-fields)에 포커스가 있을 때도 `y` 및 `n`이 문자로 입력됩니다.

188 190 

189v2.1.280 이전에는 `y`도 `confirm:yes`에, `n`도 `confirm:no`에 기본적으로 바인딩되었습니다. v2.1.280 이전에 `/keybindings`로 `keybindings.json`을 생성한 경우 파일에 두 바인딩이 모두 나열되며 해당 두 줄을 삭제할 때까지 유효합니다.191v2.1.280 이전에는 `y`도 기본적으로 `confirm:yes`에, `n`도 `confirm:no`에 바인딩되었습니다. v2.1.280 이전에 `/keybindings`로 `keybindings.json`을 생성한 경우 파일에 두 바인딩이 나열되고 해당 두 줄을 삭제할 때까지 유지됩니다.

190 192 

191<h3 id="permission-actions">193<h3 id="permission-actions">

192 권한 작업194 권한 작업

193</h3>195</h3>

194 196 

195권한 대화 상자의 `Confirmation` 컨텍스트에서 사용 가능한 작업:197권한 대화 상자에 대한 `Confirmation` 컨텍스트에서 사용 가능한 작업:

196 198 

197| 작업 | 기본값 | 설명 |199| 작업 | 기본값 | 설명 |

198| :- | :- | :- |200| :- | :- | :- |

199| `permission:toggleDebug` | (바인딩 해제됨) | 권한 디버그 정보 전환. v2.1.146에서 `app:exit`를 가렸기 때문에 이전 기본값인 Ctrl+D가 제거되었습니다 |201| `permission:toggleDebug` | (바인딩 안 됨) | 권한 디버그 정보 전환. `app:exit`를 가렸기 때문에 v2.1.146에서 Ctrl+D의 이전 기본값이 제거되었습니다 |

200 202 

201<h3 id="transcript-actions">203<h3 id="transcript-actions">

202 트랜스크립트 작업204 기록 작업

203</h3>205</h3>

204 206 

205`Transcript` 컨텍스트에서 사용 가능한 작업:207`Transcript` 컨텍스트에서 사용 가능한 작업:


207| 작업 | 기본값 | 설명 |209| 작업 | 기본값 | 설명 |

208| :- | :- | :- |210| :- | :- | :- |

209| `transcript:toggleShowAll` | Ctrl+E | 모든 콘텐츠 표시 전환 |211| `transcript:toggleShowAll` | Ctrl+E | 모든 콘텐츠 표시 전환 |

210| `transcript:exit` | q, Ctrl+C, Escape | 트랜스크립트 보기 종료 |212| `transcript:exit` | q, Ctrl+C, Escape | 기록 보기 종료 |

211 213 

212`transcript:toggleShowAll`은 클래식 렌더러에만 적용됩니다. [전체 화면 렌더링](/docs/ko/fullscreen)에서 트랜스크립트 뷰어는 모두 표시 전환을 제공하지 않습니다.214`transcript:toggleShowAll`은 클래식 렌더러에만 적용됩니다. [전체 화면 렌더링](/docs/ko/fullscreen)에서는 기록 뷰어가 모두 표시 전환을 제공하지 않습니다.

213 215 

214<h3 id="history-search-actions">216<h3 id="history-search-actions">

215 기록 검색 작업217 기록 검색 작업


225| `historySearch:execute` | Enter | 선택한 명령 실행 |227| `historySearch:execute` | Enter | 선택한 명령 실행 |

226| `historySearch:cycleScope` | Ctrl+S | 범위 순환: 세션, 프로젝트, 모든 곳 |228| `historySearch:cycleScope` | Ctrl+S | 범위 순환: 세션, 프로젝트, 모든 곳 |

227 229 

228`historySearch:next`, `historySearch:accept`, `historySearch:cancel` 및 `historySearch:execute` 기본값은 클래식 렌더러의 인라인 기록 검색에 적용되며, 이는 항상 모든 프로젝트의 프롬프트를 검색합니다. `historySearch:cycleScope`는 [전체 화면 렌더링](/docs/ko/fullscreen)에서만 적용되며, 여기서 Ctrl+R은 검색 대화 상자를 열고 Ctrl+S는 범위를 순환합니다. 대화 상자의 다른 키는 고정되어 있으며 다시 바인딩할 수 없습니다: Enter 또는 Tab은 강조 표시된 일치 항목을 프롬프트 입력에 배치하고 Esc는 취소합니다.230`historySearch:next`, `historySearch:accept`, `historySearch:cancel` 및 `historySearch:execute` 기본값은 클래식 렌더러의 인라인 기록 검색에 적용되며, 이는 항상 모든 프로젝트의 프롬프트를 검색합니다. `historySearch:cycleScope`는 [전체 화면 렌더링](/docs/ko/fullscreen)에서만 적용되며, 여기서 `Ctrl+R`은 검색 대화 상자를 열고 `Ctrl+S`는 범위를 순환합니다. 대화 상자의 다른 키는 고정되어 있으며 다시 바인딩할 수 없습니다: `Enter` 또는 `Tab`은 강조 표시된 일치 항목을 프롬프트 입력에 배치하고 `Esc`는 취소합니다.

229 231 

230<h3 id="task-actions">232<h3 id="task-actions">

231 작업 작업233 작업 작업


235 237 

236| 작업 | 기본값 | 설명 |238| 작업 | 기본값 | 설명 |

237| :- | :- | :- |239| :- | :- | :- |

238| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | 현재 작업을 백그라운드로 이동합니다. Ctrl+X Ctrl+B 조합은 tmux 접두사 충돌을 방지합니다 |240| `task:background` | Ctrl+B, Ctrl+X Ctrl+B | 현재 작업을 백그라운드로 이동. Ctrl+X Ctrl+B 코드는 tmux 접두사 충돌을 피합니다 |

239 241 

240<h3 id="theme-actions">242<h3 id="theme-actions">

241 테마 작업243 테마 작업


268| `tabs:next` | Tab, Right | 다음 탭 |270| `tabs:next` | Tab, Right | 다음 탭 |

269| `tabs:previous` | Shift+Tab, Left | 이전 탭 |271| `tabs:previous` | Shift+Tab, Left | 이전 탭 |

270 272 

273탭 대화 상자에서 `tabs:next` 및 `tabs:previous`는 탭 행에 포커스가 있을 때 탭을 전환합니다. `/help` 및 `/sandbox`와 같은 일부 대화 상자에서는 탭 전환 키가 탭의 콘텐츠 내부에서도 작동합니다.

274 

275`Up` 및 `Down`은 탭 행과 탭의 콘텐츠 사이의 포커스를 이동하고, 콘텐츠의 목록은 포커스가 있을 때만 키에 응답합니다.

276 

271<h3 id="attachments-actions">277<h3 id="attachments-actions">

272 첨부 파일 작업278 첨부 파일 작업

273</h3>279</h3>


279| `attachments:next` | Right | 다음 첨부 파일 |285| `attachments:next` | Right | 다음 첨부 파일 |

280| `attachments:previous` | Left | 이전 첨부 파일 |286| `attachments:previous` | Left | 이전 첨부 파일 |

281| `attachments:remove` | Backspace, Delete | 선택한 첨부 파일 제거 |287| `attachments:remove` | Backspace, Delete | 선택한 첨부 파일 제거 |

282| `attachments:exit` | Down, Escape | 첨부 파일 네비게이션 종료 |288| `attachments:exit` | Down, Escape | 첨부 파일 탐색 종료 |

283 289 

284<h3 id="footer-actions">290<h3 id="footer-actions">

285 바닥글 작업291 바닥글 작업


291| :- | :- | :- |297| :- | :- | :- |

292| `footer:next` | Right | 다음 바닥글 항목 |298| `footer:next` | Right | 다음 바닥글 항목 |

293| `footer:previous` | Left | 이전 바닥글 항목 |299| `footer:previous` | Left | 이전 바닥글 항목 |

294| `footer:up` | Up | 바닥글에서 위로 네비게이션(맨 위에서 선택 해제) |300| `footer:up` | Up | 바닥글에서 위로 탐색 (맨 위에서 선택 해제) |

295| `footer:down` | Down | 바닥글에서 아래로 네비게이션 |301| `footer:down` | Down | 바닥글에서 아래로 탐색 |

296| `footer:openSelected` | Enter | 선택한 바닥글 항목 열기 |302| `footer:openSelected` | Enter | 선택한 바닥글 항목 열기 |

297| `footer:clearSelection` | Escape | 바닥글 선택 지우기 |303| `footer:clearSelection` | Escape | 바닥글 선택 지우기 |

298| `footer:dismiss` | Backspace, Delete | 바닥글에서 선택한 [아티팩트](/docs/ko/artifacts) 링크를 제거합니다. 게시된 아티팩트 자체는 영향을 받지 않습니다. 다른 바닥글 행에서는 이 키가 효과가 없습니다. v2.1.217 이상 필요 |304| `footer:dismiss` | (바인딩 안 됨) | v2.1.281에서 제거됨. 작업의 이름을 계속 지정하는 `keybindings.json`은 유효하며 바인딩은 아무 작업도 하지 않습니다. v2.1.281 이전에는 Backspace 및 Delete가 바닥글에서 선택한 아티팩트 링크를 닫았습니다 |

299 305 

300바닥글 항목이 선택되어 있는 동안(예: 프롬프트 아래의 에이전트 패널의 행), `Enter`는 `Chat` 컨텍스트에서 `Enter`를 `chat:queueSubmit` 또는 `chat:newline`으로 다시 바인딩한 경우에도 이를 엽니다.306바닥글 항목이 선택되어 있을 때(예: 프롬프트 아래의 에이전트 패널의 행) `Enter`는 `Chat` 컨텍스트에서 `Enter`를 `chat:queueSubmit` 또는 `chat:newline`으로 다시 바인딩한 경우에도 열립니다.

301 307 

302`Chat` 바인딩은 `Footer` 컨텍스트가 바인딩하지 않는 키(예: `chat:cycleMode`의 Shift+Tab)에서 항목이 선택되어 있는 동안에도 계속 작동합니다.308`Chat` 바인딩은 `Footer` 컨텍스트가 바인딩하지 않는 키(예: `chat:cycleMode`의 `Shift+Tab`)에서 항목이 선택되어 있을 때도 작동합니다.

303 309 

304<h3 id="message-selector-actions">310<h3 id="message-selector-actions">

305 메시지 선택기 작업311 메시지 선택기 작업

306</h3>312</h3>

307 313 

308`MessageSelector` 컨텍스트에서 사용 가능한 작업:314[되감기 메뉴](/docs/ko/checkpointing)의 메시지 목록에서 [선택 작업](#select-actions)과 해당 기본 키를 사용하여 메시지를 이동하고 선택합니다. 해당 작업에 대한 `Select` 바인딩도 여기에 적용됩니다. `MessageSelector` 컨텍스트에는 자체 작업이나 기본 바인딩이 없습니다. 이 목록에만 키를 변경하려면 `MessageSelector` 블록에서 `select:accept`와 같은 선택 작업을 바인딩하세요.

309 315 

310| 작업 | 기본값 | 설명 |316이 예제는 다른 목록을 변경하지 않고 되감기 메뉴에서 강조 표시된 메시지를 선택하기 위해 `o`를 `select:accept`에 바인딩합니다:

311| :- | :- | :- |317 

312| `messageSelector:up` | Up, K, Ctrl+P | 목록에서 위로 이동 |318```json theme={null}

313| `messageSelector:down` | Down, J, Ctrl+N | 목록에서 아래로 이동 |319{

314| `messageSelector:top` | Ctrl+Up, Shift+Up, Meta+Up, Shift+K | 맨 위로 이동 |320 "bindings": [

315| `messageSelector:bottom` | Ctrl+Down, Shift+Down, Meta+Down, Shift+J | 맨 아래로 이동 |321 {

316| `messageSelector:select` | Enter | 메시지 선택 |322 "context": "MessageSelector",

323 "bindings": {

324 "o": "select:accept"

325 }

326 }

327 ]

328}

329```

330 

331v2.1.283 이전에는 이 목록이 `Select` 바인딩을 무시했으며 자체 작업이 있었습니다: `messageSelector:up`, `messageSelector:down`, `messageSelector:top`, `messageSelector:bottom` 및 `messageSelector:select`. `keybindings.json`이 해당 이름 중 하나를 바인딩하면 바인딩이 이 목록에서 동일한 작업을 수행하는 선택 작업으로 계속 작동합니다. `Home` 및 `End`는 목록의 양쪽 끝으로 이동합니다. v2.1.283 이전에는 `Shift+K` 및 `Shift+J`와 같은 키가 기본적으로 그렇게 했습니다.

317 332 

318<h3 id="diff-actions">333<h3 id="diff-actions">

319 Diff 작업334 차이 작업

320</h3>335</h3>

321 336 

322`DiffDialog` 컨텍스트에서 사용 가능한 작업:337`DiffDialog` 컨텍스트에서 사용 가능한 작업:

323 338 

324| 작업 | 기본값 | 설명 |339| 작업 | 기본값 | 설명 |

325| :- | :- | :- |340| :- | :- | :- |

326| `diff:dismiss` | Escape | Diff 뷰어 닫기; 세부 정보 보기에서는 파일 목록으로 돌아갑니다 |341| `diff:dismiss` | Escape | 차이 뷰어 닫기. 상세 보기에서는 파일 목록으로 돌아갑니다 |

327| `diff:previousSource` | Left | 이전 diff 소스 |342| `diff:previousSource` | Left | 이전 차이 소스 |

328| `diff:nextSource` | Right | 다음 diff 소스 |343| `diff:nextSource` | Right | 다음 차이 소스 |

329| `diff:previousFile` | Up, K | 파일 목록의 이전 파일; 세부 정보 보기에서 한 줄 위로 스크롤 |344| `diff:previousFile` | Up, K | 파일 목록의 이전 파일. 상세 보기에서 한 줄 위로 스크롤 |

330| `diff:nextFile` | Down, J | 파일 목록의 다음 파일; 세부 정보 보기에서 한 줄 아래로 스크롤 |345| `diff:nextFile` | Down, J | 파일 목록의 다음 파일. 상세 보기에서 한 줄 아래로 스크롤 |

331| `diff:viewDetails` | Enter | Diff 세부 정보 보기 |346| `diff:back` | (바인딩 안 됨) | 차이 뷰어에서 뒤로 이동. Escape는 `diff:dismiss`를 통해 뒤로 작업을 수행합니다. 상세 보기에서 Left의 이전 기본값은 v2.1.203에서 제거되었습니다 |

332| `diff:back` | (바인딩 해제됨) | Diff 뷰어에서 뒤로 이동. Escape는 `diff:dismiss`를 통해 뒤로 작업을 수행합니다. 세부 정보 보기에서 이전 기본값인 Left는 v2.1.203에서 제거되었습니다 |347 

348파일 목록은 또한 [선택 작업](#select-actions)에 응답하며, 해당 기본 키와 `Select` 바인딩을 통해 응답합니다. `select:previous` 및 `select:next`는 이전 및 다음 파일로 이동하고, `Enter`는 `select:accept`를 통해 선택한 파일의 차이를 엽니다. 파일 목록에만 해당 키 중 하나를 변경하려면 `DiffDialog` 블록에서 선택 작업을 바인딩하세요.

349 

350v2.1.283 이전에는 파일 목록이 `Select` 바인딩을 무시했으며, `Enter`는 별도의 `diff:viewDetails` 작업을 통해 선택한 파일의 차이를 열었습니다. `keybindings.json`이 `diff:viewDetails`를 바인딩하면 바인딩이 파일 목록에서 `select:accept`로 계속 작동합니다.

333 351 

334Diff 세부 정보 보기는 또한 페이저 스타일 키를 표준 [스크롤 작업](#scroll-actions)에 바인딩합니다. 이러한 바인딩은 `DiffDialog` 컨텍스트의 일부이며 세부 정보 보기에만 적용됩니다. [스크롤 작업](#scroll-actions) 아래에 나열된 `Scroll` 컨텍스트 기본값은 변경되지 않습니다.352차이 상세 보기는 또한 페이저 스타일 키를 표준 [스크롤 작업](#scroll-actions)에 바인딩합니다. 이러한 바인딩은 `DiffDialog` 컨텍스트의 일부이며 상세 보기에만 적용됩니다. [스크롤 작업](#scroll-actions) 아래에 나열된 `Scroll` 컨텍스트 기본값은 변경되지 않습니다.

335 353 

336| 작업 | 기본값 | 설명 |354| 작업 | 기본값 | 설명 |

337| :- | :- | :- |355| :- | :- | :- |

338| `scroll:pageUp` | PageUp | 뷰포트의 절반만큼 위로 스크롤 |356| `scroll:pageUp` | PageUp | 뷰포트의 절반 위로 스크롤 |

339| `scroll:pageDown` | PageDown | 뷰포트의 절반만큼 아래로 스크롤 |357| `scroll:pageDown` | PageDown | 뷰포트의 절반 아래로 스크롤 |

340| `scroll:fullPageUp` | Shift+Space, B | 전체 뷰포트만큼 위로 스크롤 |358| `scroll:fullPageUp` | Shift+Space, B | 전체 뷰포트 위로 스크롤 |

341| `scroll:fullPageDown` | Space | 전체 뷰포트만큼 아래로 스크롤 |359| `scroll:fullPageDown` | Space | 전체 뷰포트 아래로 스크롤 |

342| `scroll:top` | G, Home | 맨 위로 이동 |360| `scroll:top` | G, Home | 맨 위로 이동 |

343| `scroll:bottom` | Shift+G, End | 맨 아래로 이동 |361| `scroll:bottom` | Shift+G, End | 맨 아래로 이동 |

344 362 

345<h3 id="diff-panel-actions">363<h3 id="diff-panel-actions">

346 Diff 패널 작업364 차이 패널 작업

347</h3>365</h3>

348 366 

349`/diff`가 전체 화면 렌더링에서 열리는 [diff 패널](/docs/ko/interactive-mode#diff-panel)에 대한 작업입니다. `app:cycleDiffBase`는 패널이 열려 있는 동안 활성화되는 `DiffPanel` 컨텍스트에 있습니다. 나머지는 `Global`입니다. 패널에는 Claude Code v2.1.260 이상이 필요합니다.367`/diff`가 전체 화면 렌더링에서 열리는 [차이 패널](/docs/ko/interactive-mode#diff-panel)에 대한 작업. `app:cycleDiffBase`는 패널이 열려 있을 때 활성화되는 `DiffPanel` 컨텍스트에 있습니다. 다른 것들은 `Global`입니다. 패널에는 Claude Code v2.1.260 이상이 필요합니다.

350 368 

351| 작업 | 기본값 | 설명 |369| 작업 | 기본값 | 설명 |

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

353| `app:toggleReplTab` | (바인딩 해제됨) | Diff 패널을 열거나 닫습니다. `/diff` 실행과 동일합니다 |371| `app:toggleReplTab` | (바인딩 안 됨) | 차이 패널을 열거나 닫습니다. `/diff` 실행과 동일합니다 |

354| `app:cycleDiffBase` | Ctrl+X B | 패널의 비교 기준을 순환합니다: 이 세션, 커밋되지 않음, 그 다음 브랜치 |372| `app:cycleDiffBase` | Ctrl+X B | 패널의 비교 기준을 순환합니다: 이 세션, 커밋되지 않음, 그 다음 분기 |

355| `app:diffFileListUp` | Ctrl+Up, Meta+Up | 패널의 파일 목록이 오버플로우할 때 위로 스크롤 |373| `app:diffFileListUp` | Ctrl+Up, Meta+Up | 패널의 파일 목록이 오버플로우할 때 위로 스크롤 |

356| `app:diffFileListDown` | Ctrl+Down, Meta+Down | 패널의 파일 목록이 오버플로우할 때 아래로 스크롤 |374| `app:diffFileListDown` | Ctrl+Down, Meta+Down | 패널의 파일 목록이 오버플로우할 때 아래로 스크롤 |

357| `app:toggleDiffNoiseFilter` | (바인딩 해제됨) | 패널에서 테스트 및 생성된 파일 표시 또는 숨기기 |375| `app:toggleDiffNoiseFilter` | (바인딩 안 됨) | 패널에서 테스트 및 생성된 파일 표시 또는 숨기기 |

358| `app:toggleDiffPreSession` | (바인딩 해제됨) | 이 세션 이전의 변경 사항 확장 또는 축소 |376| `app:toggleDiffPreSession` | (바인딩 안 됨) | 이 세션 이전의 변경 사항 확장 또는 축소 |

359 377 

360<h3 id="model-picker-actions">378<h3 id="model-picker-actions">

361 모델 선택기 작업379 모델 선택기 작업


373 노력 슬라이더 작업391 노력 슬라이더 작업

374</h3>392</h3>

375 393 

376`EffortSlider` 컨텍스트에서 사용 가능한 작업입니다. 이는 인수 없이 `/effort`를 실행할 때 열리는 슬라이더입니다. 슬라이더의 Left, Right, Enter 및 Escape 키는 다시 바인딩할 수 없습니다.394`EffortSlider` 컨텍스트에서 사용 가능한 작업. 인수 없이 `/effort`를 실행할 때 열리는 슬라이더입니다. 슬라이더의 Enter 및 Escape 키는 다시 바인딩할 수 없습니다.

377 395 

378| 작업 | 기본값 | 설명 |396| 작업 | 기본값 | 설명 |

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

398| `effortSlider:decreaseEffort` | Left | 슬라이더를 다음 낮은 노력 수준으로 이동합니다. v2.1.284 이상 필요 |

399| `effortSlider:increaseEffort` | Right | 슬라이더를 다음 높은 노력 수준으로 이동합니다. v2.1.284 이상 필요 |

400| `effortSlider:toggleUltracode` | Tab | 이 세션에 대해 [ultracode](/docs/ko/workflows#let-claude-decide-with-ultracode)를 켜거나 끕니다. 슬라이더가 [제공할 때](/docs/ko/model-config#when-ultracode-is-available). v2.1.284 이상 필요 |

380| `effortSlider:thisSessionOnly` | s | 포커스된 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 이 세션에만 적용합니다. v2.1.257 이상 필요 |401| `effortSlider:thisSessionOnly` | s | 포커스된 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 이 세션에만 적용합니다. v2.1.257 이상 필요 |

381 402 

382<h3 id="select-actions">403<h3 id="select-actions">


396| `select:accept` | Enter | 선택 수락 |417| `select:accept` | Enter | 선택 수락 |

397| `select:cancel` | Escape | 선택 취소 |418| `select:cancel` | Escape | 선택 취소 |

398 419 

399Claude Code는 `/skills` 메뉴에서 `select:pageUp`, `select:pageDown`, `select:first` 및 `select:last` 바인딩을 적용합니다. `/model` 선택기와 같은 대부분의 다른 목록에서 Claude Code는 바인딩에 관계없이 PageUp 및 PageDown으로 페이징하고 Home 및 End를 무시합니다.420`/skills` 및 `/mcp`와 같은 목록 패널에서 Claude Code는 `select:pageUp`, `select:pageDown`, `select:first` 및 `select:last` 바인딩을 적용합니다. `/model` 선택기와 같은 대부분의 다른 목록에서는 `select:first` 및 `select:last` 바인딩이 적용됩니다. PageUp 및 PageDown은 바인딩에 관계없이 해당 목록의 옵션을 페이징합니다.

400 421 

401v2.1.280 이전에는 이러한 다른 목록들이 Home, End 및 `select:first`와 `select:last` 바인딩을 무시했습니다.422v2.1.280 이전에는 다른 목록들이 Home, End 및 `select:first`와 `select:last` 바인딩을 무시했습니다.

402 423 

403<h3 id="plugin-actions">424<h3 id="plugin-actions">

404 플러그인 작업425 플러그인 작업


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

411| `plugin:toggle` | Space | 플러그인 선택 전환 |432| `plugin:toggle` | Space | 플러그인 선택 전환 |

412| `plugin:install` | I | 선택한 플러그인 설치 |433| `plugin:install` | I | 선택한 플러그인 설치 |

413| `plugin:favorite` | F | 선택한 플러그인을 즐겨찾기로 설정하여 설치된 탭 상단 근처에 정렬되도록 함 |434| `plugin:favorite` | F | 선택한 플러그인을 즐겨찾기에 추가하여 설치된 탭 상단 근처에 정렬되도록 합니다 |

414 435 

415<h3 id="settings-actions">436<h3 id="settings-actions">

416 설정 작업437 설정 작업

417</h3>438</h3>

418 439 

419`Settings` 컨텍스트에서 사용 가능한 작업입니다. `select:accept` 및 `confirm:no` 작업은 [선택 작업](#select-actions) 및 [확인 작업](#confirmation-actions) 컨텍스트에서 재사용되며 설정별 동작을 가집니다: 변경 사항은 변경하는 즉시 각 설정에 적용되므로 Escape는 변경 사항을 거부하는 대신 변경 사항을 저장하고 패널을 닫습니다.440`Settings` 컨텍스트에서 사용 가능한 작업. `select:accept` 및 `confirm:no` 작업은 설정별 동작을 포함하여 [선택](#select-actions) 및 [확인](#confirmation-actions) 컨텍스트에서 재사용됩니다: 변경 사항은 변경하는 즉시 각 설정에 적용되므로 Escape는 변경 사항이 저장된 상태로 패널을 닫습니다.

420 441 

421| 작업 | 기본값 | 설명 |442| 작업 | 기본값 | 설명 |

422| :- | :- | :- |443| :- | :- | :- |

423| `settings:search` | / | 검색 모드 진입 |444| `settings:search` | / | 검색 모드 입력 |

424| `settings:retry` | R | 사용량 데이터 다시 로드(오류 시) |445| `settings:retry` | R | 오류 시 사용 데이터 로드 다시 시도 |

425| `select:accept` | Enter, Space | 선택한 설정을 변경하거나 해당 서브메뉴 열기 |446| `select:accept` | Enter, Space | 선택한 설정을 변경하거나 해당 하위 메뉴 열기 |

426| `confirm:no` | Escape | 패널 닫기. 변경 사항은 이미 저장됨 |447| `confirm:no` | Escape | 패널 닫기. 변경 사항이 이미 저장됨 |

427 448 

428<h3 id="agents-actions">449<h3 id="agents-actions">

429 에이전트 작업450 에이전트 작업

430</h3>451</h3>

431 452 

432`Agents` 컨텍스트에서 사용 가능한 작업입니다. 이는 `claude agents`로 열리는 [에이전트 보기](/docs/ko/agent-view)에 적용됩니다. v2.1.257 이상 필요합니다.453`Agents` 컨텍스트에서 사용 가능한 작업. `claude agents`로 열리는 [에이전트 보기](/docs/ko/agent-view)에 적용됩니다. v2.1.257 이상 필요합니다.

433 454 

434| 작업 | 기본값 | 설명 |455| 작업 | 기본값 | 설명 |

435| :- | :- | :- |456| :- | :- | :- |

436| `agents:switchView` | Ctrl+S | [세션 그룹화](/docs/ko/agent-view#organize-the-list)를 상태와 디렉토리 사이에서 전환 |457| `agents:switchView` | Ctrl+S | [세션 그룹화](/docs/ko/agent-view#organize-the-list)를 상태와 디렉토리 사이에서 전환합니다 |

437| `agents:togglePin` | Ctrl+T | 선택한 세션 [고정 또는 고정 해제](/docs/ko/agent-view#organize-the-list) |458| `agents:togglePin` | Ctrl+T | 선택한 세션을 [고정 또는 고정 해제](/docs/ko/agent-view#organize-the-list)합니다 |

438 459 

439에이전트 보기가 열려 있는 동안 Claude Code는 `Agents` 컨텍스트가 바인딩하는 모든 키에 대해 `Agents` 바인딩을 사용하고 동일한 키의 `Chat` 또는 `Global` 바인딩을 무시합니다. 예를 들어 에이전트 보기에서 Ctrl+S를 누르면 기본 `chat:stash` 대신 세션 그룹화를 전환합니다.460에이전트 보기가 열려 있을 때 Claude Code는 `Agents` 컨텍스트가 바인딩하는 모든 키에 대해 `Agents` 바인딩을 사용하고 동일한 키의 `Chat` 또는 `Global` 바인딩을 무시합니다. 예를 들어 에이전트 보기에서 Ctrl+S를 누르면 기본 `chat:stash`를 트리거하는 대신 세션 그룹화를 전환합니다.

440 461 

441디스패치 입력의 외부 편집기 단축키는 `Agents` 작업이 아닙니다. 에이전트 보기는 `Chat` 컨텍스트의 `chat:externalEditor` 바인딩(기본값 Ctrl+G)을 따릅니다.462디스패치 입력의 외부 편집기 바로 가기는 `Agents` 작업이 아닙니다. 에이전트 보기는 `Chat` 컨텍스트의 `chat:externalEditor` 바인딩(기본값 Ctrl+G)을 따릅니다.

442 463 

443바인딩은 에이전트 보기에서 단일 키 입력으로 실행되므로 `chat:externalEditor`에 바인딩된 Ctrl+X Ctrl+E 조합은 편집기를 열지 않습니다.464바인딩은 에이전트 보기에서 단일 키 입력에서 발생하므로 `chat:externalEditor`에 바인딩된 Ctrl+X Ctrl+E 코드는 편집기를 열지 않습니다.

444 465 

445<h3 id="voice-actions">466<h3 id="voice-actions">

446 음성 작업467 음성 작업

447</h3>468</h3>

448 469 

449[음성 받아쓰기](/docs/ko/voice-dictation)가 활성화되었을 때 `Chat` 컨텍스트에서 사용 가능한 작업:470[음성 받아쓰기](/docs/ko/voice-dictation)가 활성화되어 있을 때 `Chat` 컨텍스트에서 사용 가능한 작업:

450 471 

451| 작업 | 기본값 | 설명 |472| 작업 | 기본값 | 설명 |

452| :- | :- | :- |473| :- | :- | :- |

453| `voice:pushToTalk` | Space | 프롬프트를 받아쓰기. `/voice` 모드에 따라 누르거나 탭 |474| `voice:pushToTalk` | Space | 프롬프트를 받아쓰기. `/voice` 모드에 따라 누르거나 탭합니다 |

454 475 

455<h3 id="scroll-actions">476<h3 id="scroll-actions">

456 스크롤 작업477 스크롤 작업

457</h3>478</h3>

458 479 

459[전체 화면 렌더링](/docs/ko/fullscreen)이 활성화되었을 때 `Scroll` 컨텍스트에서 사용 가능한 작업:480[전체 화면 렌더링](/docs/ko/fullscreen)이 활성화되어 있을 때 `Scroll` 컨텍스트에서 사용 가능한 작업:

460 481 

461| 작업 | 기본값 | 설명 |482| 작업 | 기본값 | 설명 |

462| :- | :- | :- |483| :- | :- | :- |

463| `scroll:lineUp` | `wheelup` | 한 줄 위로 스크롤합니다. 마우스 휠 스크롤이 이 작업을 트리거합니다 |484| `scroll:lineUp` | `wheelup` | 한 줄 위로 스크롤. 마우스 휠 스크롤이 이 작업을 트리거합니다 |

464| `scroll:lineDown` | `wheeldown` | 한 줄 아래로 스크롤합니다. 마우스 휠 스크롤이 이 작업을 트리거합니다 |485| `scroll:lineDown` | `wheeldown` | 한 줄 아래로 스크롤. 마우스 휠 스크롤이 이 작업을 트리거합니다 |

465| `scroll:pageUp` | PageUp | 뷰포트 높이의 절반만큼 위로 스크롤 |486| `scroll:pageUp` | PageUp | 뷰포트 높이의 절반 위로 스크롤 |

466| `scroll:pageDown` | PageDown | 뷰포트 높이의 절반만큼 아래로 스크롤 |487| `scroll:pageDown` | PageDown | 뷰포트 높이의 절반 아래로 스크롤 |

467| `scroll:top` | Ctrl+Home | 대화의 시작으로 이동 |488| `scroll:top` | Ctrl+Home | 대화의 시작으로 이동 |

468| `scroll:bottom` | Ctrl+End | 최신 메시지로 이동하고 자동 팔로우 다시 활성화 |489| `scroll:bottom` | Ctrl+End | 최신 메시지로 이동하고 자동 팔로우 다시 활성화 |

469| `scroll:halfPageUp` | (바인딩 해제됨) | 뷰포트 높이의 절반만큼 위로 스크롤합니다. `scroll:pageUp`과 동일한 동작이며 vi 스타일 재바인딩을 위해 제공됨 |490| `scroll:halfPageUp` | (바인딩 안 됨) | 뷰포트 높이의 절반 위로 스크롤. `scroll:pageUp`과 동일한 동작이며 vi 스타일 재바인딩을 위해 제공됩니다 |

470| `scroll:halfPageDown` | (바인딩 해제됨) | 뷰포트 높이의 절반만큼 아래로 스크롤합니다. `scroll:pageDown`과 동일한 동작이며 vi 스타일 재바인딩을 위해 제공됨 |491| `scroll:halfPageDown` | (바인딩 안 됨) | 뷰포트 높이의 절반 아래로 스크롤. `scroll:pageDown`과 동일한 동작이며 vi 스타일 재바인딩을 위해 제공됩니다 |

471| `scroll:fullPageUp` | (바인딩 해제됨) | 전체 뷰포트 높이만큼 위로 스크롤 |492| `scroll:fullPageUp` | (바인딩 안 됨) | 전체 뷰포트 높이 위로 스크롤 |

472| `scroll:fullPageDown` | (바인딩 해제됨) | 전체 뷰포트 높이만큼 아래로 스크롤 |493| `scroll:fullPageDown` | (바인딩 안 됨) | 전체 뷰포트 높이 아래로 스크롤 |

473| `selection:copy` | Ctrl+Shift+C / Cmd+C | 선택한 텍스트를 클립보드에 복사 |494| `selection:copy` | Ctrl+Shift+C / Cmd+C | 선택한 텍스트를 클립보드에 복사 |

474| `selection:clear` | (바인딩 해제됨) | 활성 텍스트 선택 지우기. v2.1.234 이상 필요 |495| `selection:clear` | (바인딩 안 됨) | 활성 텍스트 선택 지우기. v2.1.234 이상 필요 |

475| `selection:extendLeft` | Shift+Left | 활성 선택을 한 열 왼쪽으로 확장 |496| `selection:extendLeft` | Shift+Left | 활성 선택을 한 열 왼쪽으로 확장 |

476| `selection:extendRight` | Shift+Right | 활성 선택을 한 열 오른쪽으로 확장 |497| `selection:extendRight` | Shift+Right | 활성 선택을 한 열 오른쪽으로 확장 |

477| `selection:extendUp` | Shift+Up | 활성 선택을 한 행 위로 확장합니다. 선택이 상단 가장자리에 도달하면 뷰포트를 스크롤합니다 |498| `selection:extendUp` | Shift+Up | 활성 선택을 한 행 위로 확장. 선택이 위쪽 가장자리에 도달하면 뷰포트를 스크롤합니다 |

478| `selection:extendDown` | Shift+Down | 활성 선택을 한 행 아래로 확장합니다. 선택이 하단 가장자리에 도달하면 뷰포트를 스크롤합니다 |499| `selection:extendDown` | Shift+Down | 활성 선택을 한 행 아래로 확장. 선택이 아래쪽 가장자리에 도달하면 뷰포트를 스크롤합니다 |

479| `selection:extendLineStart` | Shift+Home | 활성 선택을 줄의 시작으로 확장 |500| `selection:extendLineStart` | Shift+Home | 활성 선택을 줄의 시작으로 확장 |

480| `selection:extendLineEnd` | Shift+End | 활성 선택을 줄의 끝으로 확장 |501| `selection:extendLineEnd` | Shift+End | 활성 선택을 줄의 끝으로 확장 |

481 502 

llm-gateway.md +1 −1

Details

49 구독 및 gateway49 구독 및 gateway

50</h2>50</h2>

51 51 

52[gateway 자격 증명 변수](/docs/ko/llm-gateway-connect#set-the-credential-variable) 또는 `apiKeyHelper`가 활성화되어 있는 동안 개발자의 claude.ai 구독은 사용되지 않습니다: 자격 증명이 해당 세션에 대한 구독 로그인을 대체하고, 구독의 사용량 제한이 적용되지 않습니다. 해당 트래픽은 gateway가 전달하는 자격 증명의 소유자(예: 조직의 Anthropic Console 계정 또는 gateway가 그곳으로 라우팅할 때 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry 계정)에게 토큰당 청구됩니다.52[gateway 자격 증명 변수](/docs/ko/llm-gateway-connect#set-the-credential-variable) 또는 `apiKeyHelper`가 활성화되어 있는 동안 요청은 개발자의 claude.ai 구독 로그인 대신 해당 자격 증명을 전달하며, 구독의 사용량 제한이 적용되지 않습니다. Claude Code는 머신에 저장된 claude.ai 로그인을 유지하지만 해당 요청과 함께 전송하지 않습니다. 해당 트래픽은 gateway가 전달하는 자격 증명의 소유자(예: 조직의 Anthropic Console 계정 또는 gateway가 그곳으로 라우팅할 때 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry 계정)에게 토큰당 청구됩니다.

53 53 

54[`ANTHROPIC_BASE_URL`](/docs/ko/llm-gateway-connect#set-the-base-url-and-credential)은 Claude Code를 gateway로 가리키는 변수입니다. gateway 자격 증명 없이 해당 변수만 설정하면 구독을 대체하지 않습니다. 요청은 여전히 gateway를 통해 라우팅되지만 저장된 claude.ai 로그인이 활성 자격 증명으로 유지되므로 해당 사용량 제한 및 청구가 적용됩니다. 이 트래픽을 Anthropic에 전달하는 gateway는 `anthropic-beta`에서 OAuth 기능을 전달해야 합니다. [요청 헤더 참조](/docs/ko/llm-gateway-protocol#request-headers)를 참조하세요.54[`ANTHROPIC_BASE_URL`](/docs/ko/llm-gateway-connect#set-the-base-url-and-credential)은 Claude Code를 gateway로 가리키는 변수입니다. gateway 자격 증명 없이 해당 변수만 설정하면 구독을 대체하지 않습니다. 요청은 여전히 gateway를 통해 라우팅되지만 저장된 claude.ai 로그인이 활성 자격 증명으로 유지되므로 해당 사용량 제한 및 청구가 적용됩니다. 이 트래픽을 Anthropic에 전달하는 gateway는 `anthropic-beta`에서 OAuth 기능을 전달해야 합니다. [요청 헤더 참조](/docs/ko/llm-gateway-protocol#request-headers)를 참조하세요.

55 55 

Details

140<Tabs>140<Tabs>

141 <Tab title="Bash 또는 Zsh">141 <Tab title="Bash 또는 Zsh">

142 ```bash theme={null}142 ```bash theme={null}

143 curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \143 curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \

144 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \144 -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \

145 -H "anthropic-version: 2023-06-01" \145 -H "anthropic-version: 2023-06-01" \

146 -H "content-type: application/json" \146 -H "content-type: application/json" \


594| `/fast`가 `ANTHROPIC_AUTH_TOKEN`으로 인증된 세션에서 `Fast mode has been disabled by your organization`을 보고하며, 조직이 빠른 모드를 활성화했음에도 불구하고 | 가용성 확인에는 claude.ai 로그인 또는 Anthropic API 키가 필요합니다. 베어러 토큰만 있으면 Claude Code는 확인을 보내지 않고 빠른 모드를 비활성화된 것으로 취급합니다. | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`을 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요. |594| `/fast`가 `ANTHROPIC_AUTH_TOKEN`으로 인증된 세션에서 `Fast mode has been disabled by your organization`을 보고하며, 조직이 빠른 모드를 활성화했음에도 불구하고 | 가용성 확인에는 claude.ai 로그인 또는 Anthropic API 키가 필요합니다. 베어러 토큰만 있으면 Claude Code는 확인을 보내지 않고 빠른 모드를 비활성화된 것으로 취급합니다. | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`을 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](/docs/ko/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요. |

595| Claude Code가 [curl 테스트](#verify-the-connection)가 성공하더라도 로그인하도록 요청합니다. | CLI에는 자체 자격 증명이 없습니다. 도달 가능한 기본 URL은 하나가 아니며, 대화형 세션에서 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 `env` 블록은 첫 실행 마법사 및 [신뢰 프롬프트](/docs/ko/permissions#what-runs-before-you-trust-a-folder) 후에만 적용됩니다. | `ANTHROPIC_AUTH_TOKEN`을 Claude Code가 첫 실행 설정 전에 읽는 곳에 설정합니다: 셸 내보내기, `~/.claude/settings.json`의 `env` 블록 또는 관리되는 설정. |595| Claude Code가 [curl 테스트](#verify-the-connection)가 성공하더라도 로그인하도록 요청합니다. | CLI에는 자체 자격 증명이 없습니다. 도달 가능한 기본 URL은 하나가 아니며, 대화형 세션에서 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 `env` 블록은 첫 실행 마법사 및 [신뢰 프롬프트](/docs/ko/permissions#what-runs-before-you-trust-a-folder) 후에만 적용됩니다. | `ANTHROPIC_AUTH_TOKEN`을 Claude Code가 첫 실행 설정 전에 읽는 곳에 설정합니다: 셸 내보내기, `~/.claude/settings.json`의 `env` 블록 또는 관리되는 설정. |

596| `ANTHROPIC_API_KEY`가 설정되었지만 무시되고, 프롬프트가 없습니다. | 키는 대화형 세션에서 일회성 승인이 필요하고, 이전에 거부된 키는 다시 묻지 않고 무시됩니다. | `/config`에서 `Use custom API key` 옵션으로 활성화합니다. |596| `ANTHROPIC_API_KEY`가 설정되었지만 무시되고, 프롬프트가 없습니다. | 키는 대화형 세션에서 일회성 승인이 필요하고, 이전에 거부된 키는 다시 묻지 않고 무시됩니다. | `/config`에서 `Use custom API key` 옵션으로 활성화합니다. |

597| `This machine's managed settings require a first-party login` | 관리되는 설정에 `forceLoginMethod` 또는 `forceLoginOrgUUID`가 포함되어 있으며, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`와 공존할 수 없습니다. | 관리자는 게이트웨이 자격 증명을 사용하려면 관리되는 설정에서 `forceLoginMethod` 및 `forceLoginOrgUUID`를 제거하거나, 첫 번째 당사자 로그인을 사용하려면 게이트웨이 자격 증명을 제거해야 합니다. 둘을 결합할 수 없습니다. |597| `This machine's managed settings require a first-party login`, 또는 관리되는 설정이 `forceLoginMethod`를 `"gateway"`로 설정하거나 `forceLoginGatewayUrl`도 설정할 때 [`Administrator policy requires a Cloud gateway sign-in`](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in) | 관리되는 설정에 `forceLoginMethod` 또는 `forceLoginOrgUUID`가 포함되어 있으며, `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`와 공존할 수 없습니다. | 관리자는 게이트웨이 자격 증명을 사용하려면 관리되는 설정에서 `forceLoginMethod`, `forceLoginOrgUUID` 및 `forceLoginGatewayUrl`을 제거하거나, 게이트웨이 자격 증명을 제거하고 관리되는 설정이 요구하는 로그인을 사용해야 합니다. 둘을 결합할 수 없습니다. |

598| `403 Forbidden`과 같은 HTML 본문이 있는 `403`이며, 게이트웨이의 자체 로그에 수신된 요청이 없습니다. | 게이트웨이 앞의 웹 애플리케이션 방화벽 또는 역방향 프록시가 게이트웨이에 도달하기 전에 요청 본문을 차단했습니다. Claude Code 프롬프트에는 XML 스타일 태그와 교차 사이트 스크립팅 본문 규칙과 일치하는 소스 코드가 포함되어 있으므로, 짧은 curl 테스트는 통과하지만 실제 세션은 통과하지 않습니다. | 게이트웨이의 `/v1/messages` 경로를 요청 본문 검사에서 제외합니다. AWS WAF에서는 `CrossSiteScripting_Body` 관리 규칙입니다. nginx와 ModSecurity에서는 동등한 OWASP CRS 본문 규칙입니다. |598| `403 Forbidden`과 같은 HTML 본문이 있는 `403`이며, 게이트웨이의 자체 로그에 수신된 요청이 없습니다. | 게이트웨이 앞의 웹 애플리케이션 방화벽 또는 역방향 프록시가 게이트웨이에 도달하기 전에 요청 본문을 차단했습니다. Claude Code 프롬프트에는 XML 스타일 태그와 교차 사이트 스크립팅 본문 규칙과 일치하는 소스 코드가 포함되어 있으므로, 짧은 curl 테스트는 통과하지만 실제 세션은 통과하지 않습니다. | 게이트웨이의 `/v1/messages` 경로를 요청 본문 검사에서 제외합니다. AWS WAF에서는 `CrossSiteScripting_Body` 관리 규칙입니다. nginx와 ModSecurity에서는 동등한 OWASP CRS 본문 규칙입니다. |

599| `SSL certificate verification failed` 또는 `Self-signed certificate detected`와 같은 인증서 또는 TLS 오류이며, [curl 테스트](#verify-the-connection)는 성공합니다. | Claude Code의 런타임이 `curl`이 사용하는 것과 동일한 인증 기관을 신뢰하지 않습니다. 일반적으로 기업 TLS 검사 프록시 뒤에 있습니다. | `NODE_EXTRA_CA_CERTS`를 CA 번들 경로로 설정합니다. [CA 인증서 저장소](/docs/ko/network-config#ca-certificate-store)를 참조하세요. |599| `SSL certificate verification failed` 또는 `Self-signed certificate detected`와 같은 인증서 또는 TLS 오류이며, [curl 테스트](#verify-the-connection)는 성공합니다. | Claude Code의 런타임이 `curl`이 사용하는 것과 동일한 인증 기관을 신뢰하지 않습니다. 일반적으로 기업 TLS 검사 프록시 뒤에 있습니다. | `NODE_EXTRA_CA_CERTS`를 CA 번들 경로로 설정합니다. [CA 인증서 저장소](/docs/ko/network-config#ca-certificate-store)를 참조하세요. |

600 600 

Details

58 58 

59토큰 계산 엔드포인트는 유일한 선택사항입니다. 이들이 없을 때 Claude Code는 컨텍스트 사용량의 문자 기반 추정으로 폴백합니다.59토큰 계산 엔드포인트는 유일한 선택사항입니다. 이들이 없을 때 Claude Code는 컨텍스트 사용량의 문자 기반 추정으로 폴백합니다.

60 60 

61전체 URL이 아닌 경로로 일치시킵니다:61경로로 일치시킵니다. 전체 URL이 아닙니다:

62 62 

63* 추론 요청은 `/v1/messages?beta=true`로 게시됩니다63* 추론 요청은 `/v1/messages?beta=true`로 게시됩니다

64* Google Cloud의 Agent Platform 메서드 접미사는 게시자 모델 경로에 첨부됩니다(예: `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`).64* Google Cloud의 Agent Platform 메서드 접미사는 게시자 모델 경로에 첨부됩니다(예: `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`).


73 73 

74추론 응답을 스트리밍합니다. Claude Code는 도착하는 대로 스트림을 읽으므로, 게이트웨이가 완전한 응답을 버퍼링한 후 릴레이하면 Claude Code가 정지됩니다.74추론 응답을 스트리밍합니다. Claude Code는 도착하는 대로 스트림을 읽으므로, 게이트웨이가 완전한 응답을 버퍼링한 후 릴레이하면 Claude Code가 정지됩니다.

75 75 

76각 응답의 전체 이벤트 시퀀스를 이벤트를 드롭하거나 중복하거나 재정렬하지 않고 전달합니다. 이벤트가 `content_block_start`가 도착하지 않은 콘텐츠 블록을 참조하거나, `content_block_stop`이 이미 도착한 블록을 참조할 때, Claude Code는 이를 적용하는 대신 해당 이벤트에서 스트림 읽기를 중지하므로, 중복된 `content_block_stop`은 동일한 도구 호출을 두 번 실행할 수 없습니다. [위의 응답이 불완전할 수 있습니다](/docs/ko/errors#the-response-above-may-be-incomplete)는 사용자가 보는 것을 설명하며, `응답의 일부가 도착하지 않음` 및 `응답 스트림이 잘못되었습니다` 변형 아래에 있습니다.

77 

78각 응답을 최종 `message_delta` 및 `message_stop` 이벤트를 통해 본문을 끝내기 전에 릴레이합니다. `message_delta`를 전달하는 본문이 `stop_reason`을 가지고 있고, 열린 콘텐츠 블록이 없으며, 해당 프레임 이후에 콘텐츠 블록 이벤트가 없을 때, `message_stop`이 없어도 완전한 것으로 간주됩니다. 게이트웨이가 콘텐츠 블록이 시작된 후 더 일찍 깔끔하게 끝내는 본문은 끊어진 연결과 동일하게 처리됩니다: [자동 재시도](/docs/ko/errors#automatic-retries)는 Claude Code가 요청을 다시 발행할 때를 말하며, [위의 응답이 불완전할 수 있습니다](/docs/ko/errors#the-response-above-may-be-incomplete)는 보이는 콘텐츠가 도착한 후 유지하는 것을 다룹니다. Claude Code는 `message_delta`가 전달하는 `stop_reason`을 유지하므로, 나중의 사용량 전용 `message_delta`의 `delta`가 `stop_reason: null`을 가지거나 `stop_reason` 키가 없을 때 이를 지우지 않습니다.

79 

76클라이언트가 Amazon Bedrock 형식을 사용할 때, `InvokeModelWithResponseStream` 응답 본문과 `Content-Type: application/vnd.amazon.eventstream` 헤더를 수정하지 않고 릴레이하고, 스트림을 서버 전송 이벤트로 변환하지 마십시오. [게이트웨이 또는 프록시 뒤의 스트리밍 오류](/docs/ko/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)를 참조하십시오.80클라이언트가 Amazon Bedrock 형식을 사용할 때, `InvokeModelWithResponseStream` 응답 본문과 `Content-Type: application/vnd.amazon.eventstream` 헤더를 수정하지 않고 릴레이하고, 스트림을 서버 전송 이벤트로 변환하지 마십시오. [게이트웨이 또는 프록시 뒤의 스트리밍 오류](/docs/ko/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy)를 참조하십시오.

77 81 

78keep-alive 핑도 전달합니다. `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통한 연결에서 Claude Code는 게이트웨이가 릴레이하는 모든 바이트(SSE `ping` 이벤트 및 주석 줄 포함)를 계산하고, 기본적으로 300초 동안 침묵하는 스트림을 중단합니다. 업스트림의 핑은 긴 사고 일시 중지 중 유일한 트래픽이므로, 게이트웨이가 이를 제거하거나 버퍼링하면 Claude Code는 해당 일시 중지 중에 스트림을 중단합니다. [자동 재시도](/docs/ko/errors#automatic-retries)는 응답이 진행된 정도에 따라 중단된 스트림이 보고하는 내용을 다룹니다. Amazon Bedrock의 이진 이벤트 스트림과 같이 핑을 전혀 보내지 않는 업스트림은 해당 일시 중지를 전달할 것이 없습니다. 이러한 업스트림에서 변환할 때, 침묵한 간격 동안 자신의 `ping` 이벤트를 내보냅니다. `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` 또는 `ANTHROPIC_FOUNDRY_BASE_URL`을 통해 도달한 게이트웨이는 Anthropic Messages 형식을 릴레이할 때도 이 바이트 수준 감시견으로 래핑되지 않습니다. 거기서는 [5분 유휴 타임아웃](/docs/ko/env-vars)이 침묵한 스트림을 중단하고, `ANTHROPIC_BEDROCK_BASE_URL` 연결에서 [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/ko/env-vars)으로 바이트 감시견을 추가할 수 있습니다.82keep-alive 핑도 전달합니다. `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통한 연결에서 Claude Code는 게이트웨이가 릴레이하는 모든 바이트(SSE `ping` 이벤트 및 주석 줄 포함)를 계산하고, 기본적으로 300초 동안 침묵하는 스트림을 중단합니다. 업스트림의 핑은 긴 사고 일시 중지 중 유일한 트래픽이므로, 게이트웨이가 이를 제거하거나 버퍼링하면 Claude Code는 해당 일시 중지 중에 스트림을 중단합니다. [자동 재시도](/docs/ko/errors#automatic-retries)는 응답이 진행된 정도에 따라 중단된 스트림이 보고하는 내용을 다룹니다. Amazon Bedrock의 이진 이벤트 스트림과 같이 핑을 전혀 보내지 않는 업스트림은 해당 일시 중지를 전달할 것이 없습니다. 이러한 업스트림에서 변환할 때, 침묵한 간격 동안 자신의 `ping` 이벤트를 내보냅니다. `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` 또는 `ANTHROPIC_FOUNDRY_BASE_URL`을 통해 도달한 게이트웨이는 Anthropic Messages 형식을 릴레이할 때도 이 바이트 수준 감시견으로 래핑되지 않습니다. 거기서는 [5분 유휴 타임아웃](/docs/ko/env-vars)이 침묵한 스트림을 중단하고, `ANTHROPIC_BEDROCK_BASE_URL` 연결에서 [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/ko/env-vars)으로 바이트 감시견을 추가할 수 있습니다.


167| `x-claude-code-compaction` | [압축](/docs/ko/prompt-caching#compacting-the-conversation) 중에 대화를 요약하는 요청에 존재합니다. 값은 트리거된 것을 나타냅니다: 컨텍스트 윈도우가 용량에 접근할 때 `auto`, `/compact`에 대해 `manual`, API가 요청을 너무 길다고 거부했을 때 `reactive`. 다른 모든 요청에서는 없습니다. |171| `x-claude-code-compaction` | [압축](/docs/ko/prompt-caching#compacting-the-conversation) 중에 대화를 요약하는 요청에 존재합니다. 값은 트리거된 것을 나타냅니다: 컨텍스트 윈도우가 용량에 접근할 때 `auto`, `/compact`에 대해 `manual`, API가 요청을 너무 길다고 거부했을 때 `reactive`. 다른 모든 요청에서는 없습니다. |

168| `x-claude-code-context-compacted` | 압축 후 첫 번째 주 대화 요청에 한 번 존재하며, `x-claude-code-compaction`과 동일한 값을 가집니다. 이 요청 전의 대화 접두사는 더 이상 사용되지 않으므로, 이를 기반으로 키가 지정된 캐시를 삭제할 수 있습니다. |172| `x-claude-code-context-compacted` | 압축 후 첫 번째 주 대화 요청에 한 번 존재하며, `x-claude-code-compaction`과 동일한 값을 가집니다. 이 요청 전의 대화 접두사는 더 이상 사용되지 않으므로, 이를 기반으로 키가 지정된 캐시를 삭제할 수 있습니다. |

169| `x-claude-code-prev-tool-durations` | 이 요청이 전달하는 결과의 도구 호출의 측정된 실행 시간. `<name>=<ms>;<name>=<ms>` 형식입니다. 예를 들어 `Bash=742;Read=9`. 도구 호출 배치 후 동일한 대화의 다음 요청에서 전송됩니다. 주 세션 또는 서브에이전트에서 전송됩니다. |173| `x-claude-code-prev-tool-durations` | 이 요청이 전달하는 결과의 도구 호출의 측정된 실행 시간. `<name>=<ms>;<name>=<ms>` 형식입니다. 예를 들어 `Bash=742;Read=9`. 도구 호출 배치 후 동일한 대화의 다음 요청에서 전송됩니다. 주 세션 또는 서브에이전트에서 전송됩니다. |

174| `x-claude-code-prompt-id` | 요청이 제공하는 사용자 프롬프트를 식별하는 무작위 UUID입니다. 하나의 프롬프트를 제공하는 요청은 값을 공유하며, 프롬프트가 시작한 서브에이전트의 턴을 포함합니다. 프롬프트에 속하지 않은 요청은 이를 생략합니다. 이를 사용하여 세션의 요청을 프롬프트별로 그룹화합니다. Claude Code v2.1.283 이상이 필요합니다. |

170 175 

171`x-claude-code-prev-tool-durations`를 구문 분석하기 전에 Claude Code가 값을 구성하는 방법과 생략하는 것을 확인합니다.176`x-claude-code-prev-tool-durations`를 구문 분석하기 전에 Claude Code가 값을 구성하는 방법과 생략하는 것을 확인합니다.

172 177 


265 사전 릴리스 기능 비활성화270 사전 릴리스 기능 비활성화

266</h3>271</h3>

267 272 

268`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`은 Claude Code가 모든 제공자(컨텍스트 관리 및 베타 도구 필드 포함)에서 사전 릴리스 기능 및 해당 본문 필드를 전송하는 것을 중지합니다. 이 변수는 모델에 의해 선택되는 적응형 추론에는 영향을 주지 않으며, 구독 인증이 요구하는 OAuth 기능을 억제하지 않습니다.273`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`은 Claude Code가 사전 릴리스 기능 및 해당 본문 필드(컨텍스트 관리 및 베타 도구 필드 포함)를 전송하는 것을 중지합니다. 이 변수는 모델에 의해 선택되는 적응형 추론에는 영향을 주지 않으며, 구독 인증이 요구하는 OAuth 기능을 억제하지 않습니다.

274 

275Claude Code를 포함하는 호스트 플랫폼이 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ko/env-vars)를 설정할 때, `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`는 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, 또는 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)의 자동 모드 세션이 서버에 [분류기 검토](/docs/ko/permission-modes#server-side-classifier-review)를 요청하는 것을 중지하지 않습니다. 해당 검토는 `anthropic-beta` 값과 `safeguards` 요청 필드를 추가합니다. 거기서 이를 중지하려면 `CLAUDE_CODE_AUTO_MODE_SERVER=0`을 설정합니다.

269 276 

270Claude Code v2.1.227 이상에서 조직은 [관리 설정](/docs/ko/managed-settings)을 통해 이 변수 아래에서 [MCP 도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)을 유지할 수 있습니다. Claude Code가 해당 재정의를 적용하여 전송하는 것은 연결 방식에 따라 다릅니다:277Claude Code v2.1.227 이상에서 조직은 [관리 설정](/docs/ko/managed-settings)을 통해 이 변수 아래에서 [MCP 도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)을 유지할 수 있습니다. Claude Code가 해당 재정의를 적용하여 전송하는 것은 연결 방식에 따라 다릅니다:

271 278 


340검색된 ID는 선택기에 이미 있는 행과 일치할 때 자신의 행을 얻지 않습니다:347검색된 ID는 선택기에 이미 있는 행과 일치할 때 자신의 행을 얻지 않습니다:

341 348 

342* 같은 ID: 검색된 ID가 기존 행의 ID와 정확히 일치하거나, 두 ID가 같은 [Fable](/docs/ko/model-config#work-with-fable) 버전의 철자입니다.349* 같은 ID: 검색된 ID가 기존 행의 ID와 정확히 일치하거나, 두 ID가 같은 [Fable](/docs/ko/model-config#work-with-fable) 버전의 철자입니다.

343* 기본 제공 별칭과 같은 모델: 검색된 명시적 ID가 기본 제공 별칭이 현재 해결되는 모델의 이름을 지을 때, 선택기는 별칭 행만 표시합니다. 예를 들어, `sonnet`이 `claude-sonnet-5`로 해결되는 동안, 검색된 `claude-sonnet-5`는 `sonnet` 행으로 축소되고, 검색된 `claude-sonnet-4-6`은 여전히 자신의 행을 얻습니다. v2.1.197 이전에는 Claude Code가 이러한 ID를 기본 제공 행으로 접지 않았으므로 `claude-sonnet-5`도 자신의 "게이트웨이에서" 행을 얻었습니다.350* 기본 제공 별칭과 같은 모델: 검색된 명시적 ID가 기본 제공 별칭이 현재 해결되는 모델의 이름을 지을 때, 선택기는 별칭 행만 표시합니다. 예를 들어, `sonnet`이 `claude-sonnet-5-5`로 해결되는 동안, 검색된 `claude-sonnet-5-5`는 `sonnet` 행으로 축소되고, 검색된 `claude-sonnet-5`는 여전히 자신의 행을 얻습니다. v2.1.197 이전에는 Claude Code가 이러한 ID를 기본 제공 행으로 접지 않았으므로 ID가 별칭으로 해결되는 것도 자신의 "게이트웨이에서" 행을 얻었습니다.

344 351 

345결과는 `~/.claude/cache/gateway-models.json` 또는 Windows의 `%USERPROFILE%\.claude\cache\gateway-models.json`으로 캐시되고 각 시작 시 새로 고쳐집니다. [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정하면, 캐시는 대신 해당 디렉토리 아래에 있습니다. 요청이 실패하거나 게이트웨이가 `/v1/models`를 구현하지 않으면, 선택기는 이전 시작의 캐시된 목록 또는 기본 제공 모델 목록으로 돌아갑니다. 게이트웨이가 검색 필터와 일치하지 않는 별칭 아래에서 Claude 모델을 제공하면, 개발자는 [모델 구성](/docs/ko/model-config) 변수를 사용하여 해당 별칭을 수동으로 추가할 수 있습니다.352결과는 `~/.claude/cache/gateway-models.json` 또는 Windows의 `%USERPROFILE%\.claude\cache\gateway-models.json`으로 캐시되고 각 시작 시 새로 고쳐집니다. [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정하면, 캐시는 대신 해당 디렉토리 아래에 있습니다. 요청이 실패하거나 게이트웨이가 `/v1/models`를 구현하지 않으면, 선택기는 이전 시작의 캐시된 목록 또는 기본 제공 모델 목록으로 돌아갑니다. 게이트웨이가 검색 필터와 일치하지 않는 별칭 아래에서 Claude 모델을 제공하면, 개발자는 [모델 구성](/docs/ko/model-config) 변수를 사용하여 해당 별칭을 수동으로 추가할 수 있습니다.

346 353 

Details

208 208 

209표의 조건부 변수를 동일한 `env` 블록에 추가합니다. 관리되는 `ANTHROPIC_BASE_URL`은 적용되며 개발자의 셸 내보내기로 재정의할 수 없습니다. Claude Code는 프로세스 환경 및 낮은 우선순위 설정보다 이를 적용하기 때문입니다.209표의 조건부 변수를 동일한 `env` 블록에 추가합니다. 관리되는 `ANTHROPIC_BASE_URL`은 적용되며 개발자의 셸 내보내기로 재정의할 수 없습니다. Claude Code는 프로세스 환경 및 낮은 우선순위 설정보다 이를 적용하기 때문입니다.

210 210 

211관리되는 설정에서 게이트웨이 자격증명과 함께 `forceLoginMethod` 또는 `forceLoginOrgUUID`를 포함하지 마십시오. 두 키 중 하나는 시작 시 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 및 `apiKeyHelper`를 차단하므로 개발자는 `This machine's managed settings require a first-party login`을 보거나 [`Administrator policy requires a Cloud gateway sign-in`](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)을 `"gateway"` 값 아래에서 보고 진행할 수 없습니다.211관리되는 설정에서 게이트웨이 자격증명과 함께 `forceLoginMethod`, `forceLoginOrgUUID` 또는 `forceLoginGatewayUrl`을 포함하지 마십시오. `forceLoginMethod` 또는 `forceLoginOrgUUID`는 모든 값으로 시작 시 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 및 `apiKeyHelper`를 차단하므로 개발자는 진행할 수 없습니다. 파일이 `forceLoginMethod`를 `"gateway"`로 설정하거나 `forceLoginGatewayUrl`을 설정할 때 `This machine's managed settings require a first-party login` 또는 [`Administrator policy requires a Cloud gateway sign-in`](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)을 봅니다.

212 212 

213[서버 관리 설정](/docs/ko/server-managed-settings#platform-availability) 배포는 `api.anthropic.com`에 대한 직접 연결이 필요하므로 게이트웨이 라우팅 세션에 도달하지 않습니다. 게이트웨이 배포는 동일한 키를 적용하는 이 파일 기반 관리 설정 경로를 사용합니다.213[서버 관리 설정](/docs/ko/server-managed-settings#platform-availability) 배포는 `api.anthropic.com`에 대한 직접 연결이 필요하므로 게이트웨이 라우팅 세션에 도달하지 않습니다. 게이트웨이 배포는 동일한 키를 적용하는 이 파일 기반 관리 설정 경로를 사용합니다.

214 214 

managed-mcp.md +1 −1

Details

526 MCP 사용 모니터링526 MCP 사용 모니터링

527</h2>527</h2>

528 528 

529[OpenTelemetry 내보내기](/docs/ko/monitoring-usage)가 구성되면, Claude Code는 사용자가 호출하는 MCP 서버 및 도구를 기록할 수 있습니다. `OTEL_LOG_TOOL_DETAILS=1`을 설정하여 도구 이벤트에 MCP 서버 및 도구 이름을 포함한 다음, 수집기에서 집계하여 사용자가 실제로 연결하는 서버를 확인합니다. 내보내기를 설정하고 전체 이벤트 스키마는 [모니터링](/docs/ko/monitoring-usage)을 참조하십시오.529[OpenTelemetry 내보내기](/docs/ko/monitoring-usage)를 구성하면, Claude Code는 사용자가 호출하는 MCP 서버 및 도구를 기록할 수 있습니다. `OTEL_LOG_TOOL_DETAILS=1`을 설정하여 MCP 서버 및 도구 이름을 도구 이벤트 및 [비용 및 토큰 카운터](/docs/ko/monitoring-usage#cost-counter)에 포함한 다음, 수집기에서 집계하여 사용자가 실제로 연결하는 서버를 확인합니다. 내보내기를 설정하고 전체 이벤트 스키마는 [모니터링](/docs/ko/monitoring-usage)을 참조하십시오.

530 530 

531<h2 id="configuration-summary">531<h2 id="configuration-summary">

532 구성 요약532 구성 요약

managed-settings.md +117 −82

Details

57 전달 메커니즘 선택57 전달 메커니즘 선택

58</h2>58</h2>

59 59 

60위의 단계에서 작성한 파일은 관리되는 설정을 머신에 적용하는 네 가지 방법 중 하나입니다. 모든 메커니즘은 `settings.json` 파일과 동일한 정책 키를 포함하므로 [설정 참조](/docs/ko/settings-reference)가 모든 메커니즘에 적용됩니다. 일부 키는 특정 소스와 연결되어 있으며, 각 항목의 Scope 줄에 어느 것인지 표시됩니다:60위의 단계에서 설명한 파일은 관리되는 설정을 머신에 배포하는 네 가지 방법 중 하나입니다. 모든 메커니즘은 `settings.json` 파일과 동일한 정책 키를 포함하므로 [설정 참조](/docs/ko/settings-reference)가 모든 메커니즘에 적용됩니다. 일부 키는 특정 소스와 연결되어 있으며, 각 항목의 Scope 줄에 어느 것인지 표시됩니다:

61 61 

62* **전달 제어**: [`policyHelper`](/docs/ko/settings-reference#policyhelper), [`wslInheritsWindowsSettings`](/docs/ko/settings-reference#wslinheritswindowssettings), 및 [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior)62* **전달 제어**: [`policyHelper`](/docs/ko/settings-reference#policyhelper), [`wslInheritsWindowsSettings`](/docs/ko/settings-reference#wslinheritswindowssettings), 및 [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior)

63* **게이트웨이 로그인 키**: [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/ko/settings-reference#gatewayinternalnetworks), 및 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값63* **게이트웨이 로그인 키**: [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/ko/settings-reference#gatewayinternalnetworks), 및 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)의 `"gateway"` 값


72 72 

73| 메커니즘 | 전달 방식 | Claude Code가 읽는 시점 | 사용 시기 |73| 메커니즘 | 전달 방식 | Claude Code가 읽는 시점 | 사용 시기 |

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

75| [서버 관리 설정](/docs/ko/server-managed-settings) | claude.ai 관리 콘솔 또는 자체 호스팅 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)에서 | 시작 시 가져오고 매시간 폴링됨. [정책이 적용되는 위치 및 시기](#where-and-when-a-policy-applies) 참조 | 각 머신을 건드리지 않고 claude.ai 조직의 정책을 변경할 수 있는 한 곳을 원할 때 |75| [서버 관리 설정](/docs/ko/server-managed-settings) | claude.ai 관리 콘솔에서 또는 자체 호스팅 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)에서 | 시작 시 가져오고 매시간 폴링됨. [승인이 필요한 변경 사항](#where-and-when-a-policy-applies) 참조 | claude.ai 조직의 정책을 한 곳에서 변경하고 각 머신을 건드리지 않으려는 경우 |

76| MDM 또는 OS 수준 정책 | Jamf, Intune, Group Policy 또는 유사한 도구를 통해 macOS 구성 프로필 또는 Windows `HKLM` 레지스트리 값으로 제공됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 30분마다 변경 사항 확인 | 이미 MDM 또는 Group Policy로 디바이스를 관리할 때 |76| MDM 또는 OS 수준 정책 | macOS 구성 프로필 또는 Windows `HKLM` 레지스트리 값으로, Jamf, Intune, 그룹 정책 또는 유사한 도구를 통해 전달됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 30분마다 변경 사항 확인 | 이미 MDM 또는 그룹 정책으로 디바이스를 관리하는 경우 |

77| 파일 기반 | 각 머신의 시스템 디렉토리에 `managed-settings.json`으로 제공됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 파일이 변경될 때 다시 로드됨 | MDM이 없는 머신, Linux 호스트 또는 직접 빌드한 이미지 |77| 파일 기반 | 각 머신의 시스템 디렉토리에 `managed-settings.json`으로 전달됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 파일이 변경될 때 다시 로드됨 | MDM이 없는 머신, Linux 호스트 또는 직접 빌드한 이미지 |

78| HKCU 레지스트리, Windows 및 WSL | Windows `HKCU` 레지스트리 값으로 제공됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 30분마다 변경 사항 확인. Claude Code는 다른 관리되는 소스가 정책 키를 전달하지 않고 [호스트 제공 부모 설정](#let-an-embedding-host-add-policy)이 제한적인 키를 제공하지 않을 때만 사용 | 머신 수준 `HKLM` 키를 쓸 수 없을 때 |78| HKCU 레지스트리, Windows 및 WSL | Windows `HKCU` 레지스트리 값으로 전달됨. [각 메커니즘이 정책을 저장하는 위치](#where-each-mechanism-stores-the-policy) 참조 | 시작 시 읽고 30분마다 변경 사항 확인. Claude Code는 [위에 관리자 문서가 없을 때](#present-admin-documents)와 [호스트에서 제공한 부모 설정](#let-an-embedding-host-add-policy)이 제한적인 키를 제공하지 않을 때만 사용함 | 머신 수준의 `HKLM` 키를 쓸 수 없는 경우 |

79 79 

80Jamf, Iru, Intune 및 Group Policy용 시작 템플릿은 [MDM 예제 저장소](https://github.com/anthropics/claude-code/tree/main/examples/mdm)에 있습니다.80Jamf, Iru, Intune 및 그룹 정책용 시작 템플릿은 [MDM 예제 저장소](https://github.com/anthropics/claude-code/tree/main/examples/mdm)에 있습니다.

81 81 

82`managed-mcp.json`을 통해 이들 중 어느 것과 함께 배포하거나 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) 키를 통해 제공하는 관리되는 MCP 서버의 경우 [관리되는 MCP 구성](/docs/ko/managed-mcp)을 참조하세요.82`managed-mcp.json`을 통해 이들 중 어느 것과 함께 배포하거나 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) 키를 통해 제공하는 관리되는 MCP 서버의 경우 [관리되는 MCP 구성](/docs/ko/managed-mcp)을 참조하세요.

83 83 

84<h3 id="where-and-when-a-policy-applies">84<h3 id="where-and-when-a-policy-applies">

85 정책이 적용되는 위치 및 시기85 정책이 적용되는 위치 및 시점

86</h3>86</h3>

87 87 

88배포된 정책은 다음과 같이 개발자의 세션에 도달합니다:88배포된 정책은 다음과 같이 개발자의 세션에 도달합니다:

89 89 

90* **표면**: 개발자의 머신, 터미널, VS Code 및 JetBrains 확장, 데스크톱 앱의 Code 탭 및 [Agent SDK](/docs/ko/agent-sdk/typescript) 세션은 이 모든 소스를 읽습니다. Agent SDK 세션은 `settingSources`가 사용자, 프로젝트 및 로컬 파일을 제외할 때도 관리되는 설정을 로드합니다.90* **표면**: 개발자의 머신에서 터미널, VS Code 및 JetBrains 확장, 데스크톱 앱의 Code 탭, 및 [Agent SDK](/docs/ko/agent-sdk/typescript) 세션은 이 모든 소스를 읽습니다. Agent SDK 세션은 `settingSources`가 사용자, 프로젝트 및 로컬 파일을 제외할 때도 관리되는 설정을 로드합니다.

91* **클라우드 세션**: Anthropic 호스팅 환경의 세션은 디바이스의 MDM 프로필 또는 파일을 읽지 않으므로 정책은 서버 관리 설정에서 가져와야 합니다. [자체 호스팅 환경](/docs/ko/self-hosted-environments)의 세션도 기본적으로 서버 관리 설정이 정책 키를 전달하지 않을 때만 러너 이미지의 관리되는 설정 파일을 읽습니다. [모든 관리자 소스에서 Claude Code가 읽는 키](#keys-read-from-every-admin-source)는 제외됩니다. [Claude Code가 관리되는 소스를 결합하는 방법](#how-claude-code-combines-managed-sources)에서 두 가지 모두에 적용되는 옵트인을 다룹니다.91* **클라우드 세션**: Anthropic 호스팅 환경의 세션은 디바이스의 MDM 프로필이나 파일을 읽지 않으므로, 정책은 서버 관리 설정에서 와야 합니다. [자체 호스팅 환경](/docs/ko/self-hosted-environments)의 세션도 기본적으로 실행기 이미지의 관리되는 설정 파일을 읽으며, 서버 관리 설정이 정책 키를 전달하지 않을 때만 읽습니다. 단, [모든 관리자 소스에서 Claude Code가 읽는 키](#keys-read-from-every-admin-source)는 제외됩니다. [Claude Code가 관리되는 소스를 결합하는 방법](#how-claude-code-combines-managed-sources)에서 두 가지 모두에 적용되는 옵트인을 다룹니다.

92* **Cowork 세션**: Claude Desktop 앱의 [Cowork](https://claude.com/docs/cowork/overview)는 Claude Code에서 세션을 실행합니다. Cowork 세션에서 Claude Code는 사용자가 Team 또는 Enterprise 계정으로 로그인할 때도 claude.ai 관리 콘솔에서 서버 관리 설정을 가져오지 않으므로 적용되는 정책은 세션이 실행되는 위치에 따라 달라집니다:92* **Cowork 세션**: Claude Desktop 앱의 [Cowork](https://claude.com/docs/cowork/overview)는 Claude Code에서 세션을 실행합니다. Cowork 세션에서 Claude Code는 사용자가 Team 또는 Enterprise 계정으로 로그인할 때도 claude.ai 관리 콘솔에서 서버 관리 설정을 가져오지 않으므로, 어떤 정책이 적용되는지는 세션이 실행되는 위치에 따라 달라집니다:

93 93 

94 * **사용자의 머신에서**: 기본적으로 Cowork 세션의 Claude Code는 해당 디바이스의 MDM 또는 OS 수준 정책과 관리되는 설정 파일을 읽으므로 정책을 거기에 배포하세요.94 * **사용자의 머신에서**: 기본적으로 Cowork 세션의 Claude Code는 해당 디바이스의 MDM 또는 OS 수준 정책과 관리되는 설정 파일을 읽으므로 정책을 그곳에 배포하세요.

95 * **전체 VM 샌드박스에서**: Claude Desktop 관리 구성이 [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox)를 설정할 때, Claude Code는 디바이스의 MDM 정책과 관리되는 설정 파일이 없는 가상 머신 내에서 실행됩니다.95 * **전체 VM 샌드박스에서**: Claude Desktop 관리 구성이 [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox)를 설정할 때, Claude Code는 디바이스의 MDM 정책과 관리되는 설정 파일이 없는 가상 머신 내에서 실행됩니다.

96 * **원격 Cowork 세션**: 이들은 Anthropic 관리 VM에서 실행되며, Claude Code는 읽을 디바이스 정책이 없습니다.96 * **원격 Cowork 세션**: 이들은 Anthropic 관리 VM에서 실행되며, Claude Code는 읽을 디바이스 정책이 없습니다.

97 97 

98 세션이 실행되는 위치와 관계없이, claude.ai는 누군가 claude.ai에서 git 저장소의 마켓플레이스를 추가하거나 Cowork 탭의 **사용자 정의**에서 추가할 때 관리 콘솔의 [`strictKnownMarketplaces`](/docs/ko/settings-reference#strictknownmarketplaces) 및 [`blockedMarketplaces`](/docs/ko/settings-reference#blockedmarketplaces) 목록을 자체적으로 적용합니다. [제한이 작동하는 방식](/docs/ko/plugins/org#restrict-what-users-can-install)에서 해당 확인을 설명합니다. [표면 범위](/docs/ko/model-config#surface-coverage) 표는 Cowork를 다른 표면과 비교합니다.98 세션이 실행되는 위치와 관계없이, claude.ai는 누군가 claude.ai에서 git 저장소의 마켓플레이스를 추가하거나 Cowork 탭의 **사용자 정의**에서 추가할 때 관리 콘솔의 [`strictKnownMarketplaces`](/docs/ko/settings-reference#strictknownmarketplaces) 및 [`blockedMarketplaces`](/docs/ko/settings-reference#blockedmarketplaces) 목록을 직접 적용합니다. [제한 사항이 작동하는 방식](/docs/ko/plugins/org#restrict-what-users-can-install)에서 해당 확인을 설명합니다. [표면 범위](/docs/ko/model-config#surface-coverage) 표는 Cowork를 다른 표면과 비교합니다.

99* **실행 중인 세션**: 대부분의 변경 사항은 재시작 없이 [전달 메커니즘 표](#choose-a-delivery-mechanism)의 일정에 따라 실행 중인 세션에 도달합니다.99* **실행 중인 세션**: 대부분의 변경 사항은 [전달 메커니즘 표](#choose-a-delivery-mechanism)의 일정에 따라 재시작 없이 실행 중인 세션에 도달합니다.

100 * [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh), [`requiredMinimumVersion`](/docs/ko/settings-reference#requiredminimumversion) 및 [일부 사용자 편집 가능 키](/docs/ko/settings#when-edits-take-effect)에 대한 변경 사항은 다음 세션 시작 시 적용됩니다.100 * [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh), [`requiredMinimumVersion`](/docs/ko/settings-reference#requiredminimumversion), 및 [일부 사용자 편집 가능 키](/docs/ko/settings#when-edits-take-effect)의 변경 사항은 다음 세션 시작 시 적용됩니다.

101 * 새로운 또는 변경된 [`policyHelper`](/docs/ko/settings-reference#policyhelper) 항목은 다음 시작 시 적용됩니다. 서버 관리 설정이 해당 시작 시 도우미를 숨기면, 도우미는 가져오기가 해당 설정이 제거되었음을 보고하는 즉시 실행됩니다.101 * 새로운 또는 변경된 [`policyHelper`](/docs/ko/settings-reference#policyhelper) 항목은 다음 시작 시 적용됩니다. 서버 관리 설정이 해당 시작 시 도우미를 숨기면, 도우미는 가져오기가 해당 설정이 제거되었음을 보고하는 즉시 실행됩니다.

102* **승인이 필요한 변경 사항**: [다음 시작을 기다리는 업데이트](/docs/ko/server-managed-settings#fetch-and-caching-behavior)를 제외하고, 후크 또는 `env` 변수와 같이 [승인이 필요한](/docs/ko/server-managed-settings#security-approval-dialogs) 설정에 대한 서버 관리 변경 사항은 개발자가 대화형 세션에서 대화 상자를 수락할 때까지 기다리며, IDE 확장 또는 Agent SDK가 호스팅하는 세션의 현재 실행에 적용됩니다. 다른 서버 관리 변경 사항은 다음 폴링에 적용됩니다.102* **승인이 필요한 변경 사항**: [다음 시작을 기다리는 업데이트](/docs/ko/server-managed-settings#fetch-and-caching-behavior)를 제외하고, 후크 또는 `env` 변수와 같이 [승인이 필요한](/docs/ko/server-managed-settings#security-approval-dialogs) 설정에 대한 서버 관리 변경 사항은 개발자가 대화형 세션에서 대화 상자를 수락할 때까지 기다리며, IDE 확장 또는 Agent SDK가 호스팅하는 세션의 현재 실행에 적용됩니다. 다른 서버 관리 변경 사항은 다음 폴링에 적용됩니다.

103* **장기 실행 세션**: 몇 주 동안 열려 있는 세션도 여전히 롤아웃에 뒤질 수 있습니다. [`requiredMinimumVersion`](/docs/ko/settings-reference#requiredminimumversion)은 오래된 바이너리가 시작되는 것을 차단하며 이미 실행 중인 세션을 종료하지 않습니다.103* **장기 실행 세션**: 몇 주 동안 열려 있는 세션도 여전히 롤아웃에 뒤질 수 있습니다. [`requiredMinimumVersion`](/docs/ko/settings-reference#requiredminimumversion)은 오래된 바이너리가 시작되는 것을 차단하며 이미 실행 중인 세션을 종료하지 않습니다.


108 각 메커니즘이 정책을 저장하는 위치108 각 메커니즘이 정책을 저장하는 위치

109</h3>109</h3>

110 110 

111키는 모든 곳에서 동일하지만 각 메커니즘은 다른 위치와 형식으로 저장합니다:111키는 모든 곳에서 동일하지만, 각 메커니즘은 다른 위치와 형식으로 저장합니다:

112 112 

113* **서버 관리**: Anthropic의 서버 또는 게이트웨이가 정책을 보유합니다. Claude Code는 시작 시 적용하고 [각 성공적인 가져오기 시 교체](/docs/ko/server-managed-settings#security-considerations)하는 로컬 캐시를 유지합니다.113* **서버 관리**: Anthropic의 서버 또는 게이트웨이가 정책을 보유합니다. Claude Code는 시작 시 적용하고 [각 성공적인 가져오기 시 교체하는](/docs/ko/server-managed-settings#security-considerations) 로컬 캐시를 유지합니다.

114* **macOS 구성 프로필**: `com.anthropic.claudecode` 관리 기본 설정 도메인. `managed-settings.json`과 동일한 최상위 키를 사용하며, 중첩된 설정은 딕셔너리이고 목록은 plist 배열입니다.114* **macOS 구성 프로필**: `com.anthropic.claudecode` 관리 기본 설정 도메인. `managed-settings.json`과 동일한 최상위 키를 사용하며, 중첩된 설정은 딕셔너리이고 목록은 plist 배열입니다.

115* **Windows HKLM 레지스트리**: `HKLM\SOFTWARE\Policies\ClaudeCode` 아래 `Settings`라는 이름의 `REG_SZ` 또는 `REG_EXPAND_SZ` 값으로 JSON입니다.115* **Windows HKLM 레지스트리**: `HKLM\SOFTWARE\Policies\ClaudeCode` 아래 `Settings`라는 이름의 `REG_SZ` 또는 `REG_EXPAND_SZ` 값으로 JSON입니다.

116* **파일 기반**: `managed-settings.json`, 선택적 `managed-settings.d/` 디렉토리 및 `managed-mcp.json`은 시스템 디렉토리에 있습니다: macOS의 `/Library/Application Support/ClaudeCode/`, Linux 및 WSL의 `/etc/claude-code/`, Windows의 `C:\Program Files\ClaudeCode\`. Claude Code는 레거시 Windows 경로 `C:\ProgramData\ClaudeCode\managed-settings.json`을 읽지 않습니다.116* **파일 기반**: `managed-settings.json`, 선택적 `managed-settings.d/` 디렉토리, 및 `managed-mcp.json`은 시스템 디렉토리에 있습니다: macOS의 `/Library/Application Support/ClaudeCode/`, Linux 및 WSL의 `/etc/claude-code/`, Windows의 `C:\Program Files\ClaudeCode\`. Claude Code는 레거시 Windows 경로 `C:\ProgramData\ClaudeCode\managed-settings.json`을 읽지 않습니다.

117* **Windows HKCU 레지스트리**: `HKCU\SOFTWARE\Policies\ClaudeCode` 아래 동일한 `Settings` 값입니다.117* **Windows HKCU 레지스트리**: `HKCU\SOFTWARE\Policies\ClaudeCode` 아래 동일한 `Settings` 값입니다.

118 118 

119<h3 id="split-a-file-based-policy-across-teams">119<h3 id="split-a-file-based-policy-across-teams">


122 122 

123여러 팀이 하나의 정책의 일부를 소유하는 경우, 하나의 공유 파일을 편집하는 대신 각 부분을 `managed-settings.json`과 동일한 시스템 디렉토리의 `managed-settings.d/` 내 자체 파일에 넣으세요.123여러 팀이 하나의 정책의 일부를 소유하는 경우, 하나의 공유 파일을 편집하는 대신 각 부분을 `managed-settings.json`과 동일한 시스템 디렉토리의 `managed-settings.d/` 내 자체 파일에 넣으세요.

124 124 

125Claude Code는 `managed-settings.json`을 먼저 병합한 다음 디렉토리의 모든 `*.json` 파일을 알파벳 순서로 병합합니다. `10-telemetry.json` 및 `20-security.json`과 같은 숫자 접두사로 파일 이름을 지정하여 순서를 제어하세요. Claude Code는 숨겨진 파일과 `.json`으로 끝나지 않는 파일을 무시합니다.125Claude Code는 `managed-settings.json`을 먼저 병합한 다음, 디렉토리의 모든 `*.json` 파일을 알파벳 순서로 병합합니다. 순서를 제어하려면 `10-telemetry.json` 및 `20-security.json`과 같은 숫자 접두사로 파일 이름을 지정하세요. Claude Code는 숨겨진 파일과 `.json`으로 끝나지 않는 파일을 무시합니다.

126 126 

127두 파일이 동일한 키를 설정할 때, Claude Code는 다음 규칙에 따라 결합합니다:127두 파일이 동일한 키를 설정할 때, Claude Code는 다음 규칙에 따라 결합합니다:

128 128 

129* **단일 값**, 예: `"model": "opus"` 또는 `"cleanupPeriodDays": 7`: 나중 파일의 값이 이전 값을 대체합니다129* **단일 값**, 예: `"model": "opus"` 또는 `"cleanupPeriodDays": 7`: 나중 파일의 값이 이전 값을 대체합니다

130* **목록**, 예: `permissions.deny` 또는 `sandbox.network.allowedDomains`: 두 목록이 결합되며 중복이 제거됩니다130* **목록**, 예: `permissions.deny` 또는 `sandbox.network.allowedDomains`: 두 목록이 결합되며 중복이 제거됩니다

131* **중첩된 블록**, 예: `env` 또는 `sandbox`: 두 블록이 키별로 병합되며 내부의 각 키는 이 동일한 규칙을 따릅니다131* **중첩된 블록**, 예: `env` 또는 `sandbox`: 두 블록이 키별로 병합되며, 각 키 내부는 이 동일한 규칙을 따릅니다

132* **`fallbackModel`**: 나중 체인이 이전 체인을 전체적으로 대체합니다132* **`fallbackModel`**: 나중 체인이 이전 체인을 전체적으로 대체합니다

133* **[`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces) 및 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)**: 동일한 이름의 나중 항목이 이전 항목을 전체적으로 대체합니다133* **[`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces) 및 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)**: 동일한 이름의 나중 항목이 이전 항목을 전체적으로 대체합니다

134* **[`modelPicker`](/docs/ko/settings-reference#modelpicker)**: 나중 라인업이 이전 라인업을 전체적으로 대체합니다134* **[`modelPicker`](/docs/ko/settings-reference#modelpicker)**: 나중 라인업이 이전 라인업을 전체적으로 대체합니다


141 Claude Code가 관리되는 소스를 결합하는 방식141 Claude Code가 관리되는 소스를 결합하는 방식

142</h2>142</h2>

143 143 

144조직에서 동일한 머신에 관리되는 소스를 두 개 이상 제공할 때, [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior) 키가 Claude Code가 다른 소스로 수행할 작업을 결정합니다:144조직에서 동일한 머신에 관리되는 소스를 두 개 이상 제공할 때, [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior) 키는 Claude Code가 다른 소스로 무엇을 할지 결정합니다:

145 145 

146* **`"first-wins"`, 기본값**: Claude Code는 최소 하나의 정책 키를 제공하는 가장 높은 순위의 소스를 사용하고 [모든 관리 소스에서 읽은 키](#keys-read-from-every-admin-source)의 키를 제외하고 나머지는 무시합니다. Claude Code는 건너뛴 소스에 대해 경고를 표시하지 않습니다. `/status`는 [사용한 소스와 건너뛴 소스의 이름을 지정합니다](#read-the-source-in-/status).146* **`"first-wins"`, 기본값**: Claude Code는 최소 하나의 정책 키를 제공하는 가장 높은 순위의 소스를 사용하고 [모든 관리 소스에서 읽은 키](#keys-read-from-every-admin-source)의 키를 제외하고 나머지는 병합하지 않고 무시합니다. Claude Code는 건너뛴 소스에 대해 경고를 표시하지 않습니다. `/status`는 [사용한 소스와 건너뛴 소스의 이름을 표시합니다](#read-the-source-in-/status).

147* **`"merge"`**: Claude Code는 정책 키를 제공하는 모든 관리 소스를 적용하고 키의 종류별로 결합합니다: 대부분의 키에서는 더 높은 순위의 소스의 값이 적용되고, 목록은 합집합이며, 잠금은 가장 엄격한 값을 취합니다. [모든 관리되는 소스 구성](#compose-every-managed-source)에서 키를 설정할 위치와 각 종류의 키가 결합되는 방식을 설명합니다. Claude Code v2.1.242 이상이 필요합니다.147* **`"merge"`**: Claude Code는 정책 키를 제공하는 모든 관리 소스를 적용하고 키의 종류별로 결합합니다: 대부분의 키에서는 더 높은 순위의 소스의 값이 적용되고, 목록은 합집합이며, 잠금은 가장 엄격한 값을 취합니다. [모든 관리되는 소스 구성](#compose-every-managed-source)에서 키를 설정할 위치와 각 종류의 키가 결합되는 방식을 설명합니다. Claude Code v2.1.242 이상이 필요합니다.

148 148 

149두 설정 모두 동일한 방식으로 소스의 순위를 지정합니다. 이 섹션에서 반복되는 용어는 다음과 같습니다:149두 설정 모두 동일한 방식으로 소스의 순위를 지정합니다. 이 섹션에서 반복되는 용어는 다음과 같습니다:


151* **정책 키**: 두 개의 제어 키인 [`wslInheritsWindowsSettings`](/docs/ko/settings-reference#wslinheritswindowssettings)와 [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior)를 제외한 모든 설정 키입니다. 이 두 키만 포함하는 관리되는 설정 파일이나 MDM 정책은 계산되지 않으며, Claude Code는 다음 소스로 이동합니다.151* **정책 키**: 두 개의 제어 키인 [`wslInheritsWindowsSettings`](/docs/ko/settings-reference#wslinheritswindowssettings)와 [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior)를 제외한 모든 설정 키입니다. 이 두 키만 포함하는 관리되는 설정 파일이나 MDM 정책은 계산되지 않으며, Claude Code는 다음 소스로 이동합니다.

152* **관리 소스**: 아래의 처음 세 소스 중 하나입니다. HKCU 레지스트리는 사용자가 쓸 수 있으므로 관리 소스가 아닙니다.152* **관리 소스**: 아래의 처음 세 소스 중 하나입니다. HKCU 레지스트리는 사용자가 쓸 수 있으므로 관리 소스가 아닙니다.

153 153 

154Claude Code는 다음 순서대로 소스를 확인합니다(우선순위가 높은 순서):154Claude Code는 다음 순서대로 소스를 확인합니다(우선순위가 높은 순서대로):

155 155 

1561. 원격 설정, claude.ai에서 [서버 관리 설정](/docs/ko/server-managed-settings)으로 또는 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)로 제공됩니다. Claude Code는 세션이 [적격 로그인 또는 키](/docs/ko/server-managed-settings#platform-availability)를 사용하여 Anthropic의 API에 직접 인증하거나 `/login`으로 게이트웨이에 로그인할 때만 이 소스를 가져옵니다. 다른 공급자에서 또는 `ANTHROPIC_BASE_URL`이 Anthropic의 API 이외의 다른 곳을 가리킬 때는 다음 소스에서 시작합니다.1561. 원격 설정, claude.ai에서 [서버 관리 설정](/docs/ko/server-managed-settings)으로 또는 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)로 제공됩니다. Claude Code는 세션이 [적격 로그인 또는 키](/docs/ko/server-managed-settings#platform-availability)로 Anthropic의 API에 직접 인증하거나 `/login`으로 게이트웨이에 로그인할 때만 이 소스를 가져옵니다. 다른 공급자에서 또는 `ANTHROPIC_BASE_URL`이 Anthropic의 API 이외의 다른 곳을 가리킬 때는 다음 소스에서 시작합니다.

1572. MDM 또는 OS 수준 정책: macOS plist 또는 HKLM 레지스트리 키1572. MDM 또는 OS 수준 정책: macOS plist 또는 HKLM 레지스트리 키

1583. 관리되는 설정 파일, `managed-settings.d/*.json` 및 `managed-settings.json`이 함께 병합됨1583. 관리되는 설정 파일, `managed-settings.d/*.json` 및 `managed-settings.json`이 함께 병합됨

1594. Windows의 HKCU 레지스트리, 그리고 HKLM 레지스트리 또는 Windows 관리 설정 파일이 [`wslInheritsWindowsSettings`](/docs/ko/settings-reference#wslinheritswindowssettings)를 켜고 HKCU 값도 이를 설정할 때 WSL의 HKCU 레지스트리입니다. Claude Code는 위의 소스가 정책 키를 제공하지 않고 [호스트 제공 부모 설정](#let-an-embedding-host-add-policy)이 제한적인 키를 제공하지 않을 때만 읽습니다.1594. Windows의 HKCU 레지스트리, WSL에서는 HKLM 레지스트리 또는 Windows 관리 설정 파일이 [`wslInheritsWindowsSettings`](/docs/ko/settings-reference#wslinheritswindowssettings)를 켜고 HKCU 값도 이를 설정할 때. Claude Code는 위의 관리 문서가 없을 때와 [호스트 제공 부모 설정](#let-an-embedding-host-add-policy)이 제한적인 키를 제공하지 않을 때만 읽습니다.

160 

161<span id="present-admin-documents" />

162 

163Claude Code는 존재하는 관리 문서 아래의 사용자 쓰기 가능한 HKCU 레지스트리를 절대 적용하지 않습니다. 문서는 정책 키를 `null` 이외의 값으로 설정할 때 존재합니다(Claude Code가 읽을 수 없는 값이더라도). 읽을 수 없는 HKLM 값, 관리 설정 파일 또는 `managed-settings.d` 디렉토리도 존재합니다. WSL에서는 `/etc/claude-code`도 사용자가 쓸 수 있으며, [`wslInheritsWindowsSettings`](/docs/ko/settings-reference#wslinheritswindowssettings) 항목은 Windows 문서가 위에 있을 때를 나타냅니다.

160 164 

161이 다이어그램은 순위를 보여주며, Claude Code가 두 설정 중 하나에서 처음 세 소스에서 읽는 교차 소스 키의 예를 포함합니다:165이 다이어그램은 순위를 보여주며, Claude Code가 두 설정 중 하나에서 처음 세 소스에서 읽는 교차 소스 키의 예를 포함합니다:

162 166 

163<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="원격 설정에서 상단부터 MDM, 관리되는 설정 파일, 하단의 HKCU 레지스트리까지 순위가 지정된 네 개의 관리되는 설정 소스를 보여주는 다이어그램입니다. 기본적으로 정책 키를 가진 첫 번째 소스가 정책을 제공하고 나머지는 건너뜁니다. managedSourcesBehavior가 merge로 설정되면 정책 키를 가진 모든 관리 소스가 기여하며, 키의 종류별로 결합되고, HKCU 레지스트리는 제외됩니다. 측면 패널은 샌드박스 잠금, forceRemoteSettingsRefresh, 변수별 env 병합과 같은 교차 소스 키가 HKCU 레지스트리를 제외하는 모든 관리 소스에서 읽혀짐을 보여줍니다." width="680" height="330" data-path="images/managed-source-precedence.svg" />167<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=53f6be49f06eff48e01422c8ae1bc2e6" className="dark:hidden" alt="원격 설정에서 상단부터 MDM, 관리 설정 파일, HKCU 레지스트리까지 순위가 지정된 네 개의 관리 설정 소스를 보여주는 다이어그램입니다. 기본적으로 정책 키를 가진 첫 번째 소스가 정책을 제공하고 나머지는 건너뜁니다. managedSourcesBehavior가 merge로 설정되면 정책 키를 가진 모든 관리 소스가 기여하고 키의 종류별로 결합되며 HKCU 레지스트리는 제외됩니다. 측면 패널은 샌드박스 잠금, forceRemoteSettingsRefresh, 변수별 env 병합과 같은 교차 소스 키가 HKCU 레지스트리를 제외하는 모든 관리 소스에서 읽혀짐을 보여줍니다." width="680" height="330" data-path="images/managed-source-precedence.svg" />

164 168 

165<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="원격 설정에서 상단부터 MDM, 관리되는 설정 파일, 하단의 HKCU 레지스트리까지 순위가 지정된 네 개의 관리되는 설정 소스를 보여주는 다이어그램입니다. 기본적으로 정책 키를 가진 첫 번째 소스가 정책을 제공하고 나머지는 건너뜁니다. managedSourcesBehavior가 merge로 설정되면 정책 키를 가진 모든 관리 소스가 기여하며, 키의 종류별로 결합되고, HKCU 레지스트리는 제외됩니다. 측면 패널은 샌드박스 잠금, forceRemoteSettingsRefresh, 변수별 env 병합과 같은 교차 소스 키가 HKCU 레지스트리를 제외하는 모든 관리 소스에서 읽혀짐을 보여줍니다." width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />169<img src="https://mintcdn.com/claude-code/zuWID2B-Rxm8DEC8/images/managed-source-precedence-dark.svg?fit=max&auto=format&n=zuWID2B-Rxm8DEC8&q=85&s=ae407a9a08a3d680e80cf1a2af845d71" className="hidden dark:block" alt="원격 설정에서 상단부터 MDM, 관리 설정 파일, HKCU 레지스트리까지 순위가 지정된 네 개의 관리 설정 소스를 보여주는 다이어그램입니다. 기본적으로 정책 키를 가진 첫 번째 소스가 정책을 제공하고 나머지는 건너뜁니다. managedSourcesBehavior가 merge로 설정되면 정책 키를 가진 모든 관리 소스가 기여하고 키의 종류별로 결합되며 HKCU 레지스트리는 제외됩니다. 측면 패널은 샌드박스 잠금, forceRemoteSettingsRefresh, 변수별 env 병합과 같은 교차 소스 키가 HKCU 레지스트리를 제외하는 모든 관리 소스에서 읽혀짐을 보여줍니다." width="680" height="330" data-path="images/managed-source-precedence-dark.svg" />

166 170 

167<h3 id="keys-read-from-every-admin-source">171<h3 id="keys-read-from-every-admin-source">

168 모든 관리 소스에서 읽은 키172 모든 관리 소스에서 읽은 키


170 174 

171기본 `"first-wins"` 설정에서 Claude Code는 대부분의 키를 [선택한 소스](#how-claude-code-combines-managed-sources)에서만 읽고, 선택한 소스가 해당 키를 설정하지 않은 경우에도 더 낮은 순위의 소스의 값을 무시합니다.175기본 `"first-wins"` 설정에서 Claude Code는 대부분의 키를 [선택한 소스](#how-claude-code-combines-managed-sources)에서만 읽고, 선택한 소스가 해당 키를 설정하지 않은 경우에도 더 낮은 순위의 소스의 값을 무시합니다.

172 176 

173몇 가지 키는 다르게 작동합니다. Claude Code는 모든 관리 소스에서 이들을 읽으므로, 선택한 소스가 설정하지 않을 때 더 낮은 순위의 MDM 정책이나 관리되는 설정 파일이 여전히 이들을 설정할 수 있습니다. Claude Code는 사용자가 쓸 수 있는 HKCU 레지스트리를 해당 스캔에서 제외합니다. HKCU가 유일한 소스이고 호스트가 부모 설정을 제공하지 않을 때, HKCU는 선택된 소스처럼 적용됩니다.177몇 가지 키는 다르게 작동합니다. Claude Code는 모든 관리 소스에서 이들을 읽으므로, 선택한 소스가 설정하지 않을 때 더 낮은 순위의 MDM 정책이나 관리 설정 파일이 여전히 이들을 설정할 수 있습니다. Claude Code는 사용자 쓰기 가능한 HKCU 레지스트리를 해당 스캔에서 제외합니다. HKCU가 유일한 소스이고 호스트가 부모 설정을 제공하지 않을 때, HKCU는 선택된 소스처럼 적용됩니다.

174 178 

175교차 소스 키는 다음을 포함합니다:179교차 소스 키는 다음을 포함합니다:

176 180 

177* `sandbox.network.allowManagedDomainsOnly` 및 `sandbox.filesystem.allowManagedReadPathsOnly`: 모든 관리 소스의 `true`가 잠금을 켭니다. 잠금이 켜져 있는 동안 Claude Code는 모든 관리 소스에서 잠금하는 허용 목록인 `sandbox.network.allowedDomains`를 `WebFetch(domain:...)` 허용 규칙 또는 `sandbox.filesystem.allowRead`와 함께 합집합합니다. 잠금이 없으면 Claude Code는 허용 목록을 다른 키처럼 취급하므로, `"first-wins"` 아래에서 선택되지 않은 관리 소스의 허용 목록은 무시됩니다.181* `sandbox.network.allowManagedDomainsOnly` 및 `sandbox.filesystem.allowManagedReadPathsOnly`: 모든 관리 소스의 `true`가 잠금을 켭니다. 잠금이 켜져 있는 동안 Claude Code는 이를 잠그는 허용 목록인 `sandbox.network.allowedDomains`를 `WebFetch(domain:...)` 허용 규칙 또는 `sandbox.filesystem.allowRead`와 함께 모든 관리 소스에서 합집합합니다. 잠금이 없으면 Claude Code는 허용 목록을 다른 키처럼 취급하므로 `"first-wins"` 아래에서 선택되지 않은 관리 소스의 허용 목록은 무시됩니다.

178* `allowAllClaudeAiMcps`182* `allowAllClaudeAiMcps`

179* `allowManagedMcpServersOnly`: 모든 관리 소스의 `true`가 MCP 허용 목록 잠금을 켭니다. 잠금이 켜져 있는 동안 관리되는 `allowedMcpServers` 목록은 하나를 설정하는 가장 높은 순위의 관리 소스에서 옵니다. 서버 관리 목록은 더 낮은 소스의 목록과 결합하지 않고 대체합니다.183* `allowManagedMcpServersOnly`: 모든 관리 소스의 `true`가 MCP 허용 목록 잠금을 켭니다. 잠금이 켜져 있는 동안 관리되는 `allowedMcpServers` 목록은 하나를 설정하는 가장 높은 순위의 관리 소스에서 옵니다. 서버 관리 목록은 더 낮은 소스의 목록과 결합하지 않고 대체합니다.

180 184 

181 관리 소스가 목록을 설정하지 않으면, [부모 설정](#let-an-embedding-host-add-policy)이 목록을 제공하지 않는 한 거부 목록을 통과하는 모든 서버가 로드됩니다.185 관리 소스가 목록을 설정하지 않으면 [부모 설정](#let-an-embedding-host-add-policy)이 목록을 제공하지 않는 한 거부 목록을 통과하는 모든 서버가 로드됩니다.

182 186 

183 잠금이 없으면 Claude Code는 적용하는 관리되는 소스에서 `allowedMcpServers`를 읽으므로, `"first-wins"` 아래에서 선택되지 않은 관리 소스의 목록은 무시됩니다. Claude Code v2.1.273 이상이 필요합니다.187 잠금이 없으면 Claude Code는 적용하는 관리 소스에서 `allowedMcpServers`를 읽으므로 `"first-wins"` 아래에서 선택되지 않은 관리 소스의 목록은 무시됩니다. Claude Code v2.1.273 이상이 필요합니다.

184* `deniedMcpServers` 및 [`disableClaudeAiConnectors`](/docs/ko/settings-reference#disableclaudeaiconnectors): 모든 관리 소스의 항목이나 `true`가 적용됩니다. Claude Code v2.1.273 이상이 필요합니다.188* `deniedMcpServers` 및 [`disableClaudeAiConnectors`](/docs/ko/settings-reference#disableclaudeaiconnectors): 모든 관리 소스의 항목 또는 `true`가 적용됩니다. Claude Code v2.1.273 이상이 필요합니다.

185* 샌드박스 바이너리 경로 `sandbox.bwrapPath` 및 `sandbox.socatPath`189* 샌드박스 바이너리 경로 `sandbox.bwrapPath` 및 `sandbox.socatPath`

186* 샌드박스 `ripgrep` 바이너리, [`sandbox.ripgrep`](/docs/ko/settings-reference#sandbox-ripgrep)190* 샌드박스 `ripgrep` 바이너리, [`sandbox.ripgrep`](/docs/ko/settings-reference#sandbox-ripgrep)

187* `sandbox.filesystem.disabled` 및 `sandbox.network.strictAllowlist`191* `sandbox.filesystem.disabled` 및 `sandbox.network.strictAllowlist`

188* [`useAutoModeDuringPlan`](/docs/ko/settings-reference#useautomodeduringplan), [`syncClaudeAiSkills`](/docs/ko/settings-reference#syncclaudeaiskills), 및 [`syncClaudeAiPlugins`](/docs/ko/settings-reference#syncclaudeaiplugins), 여기서 모든 관리 소스의 `false`가 동작을 끕니다. 개발자의 사용자 또는 로컬 설정의 `false`도 이를 끕니다. 각 키는 거부만 할 수 있습니다.192* [`useAutoModeDuringPlan`](/docs/ko/settings-reference#useautomodeduringplan), [`syncClaudeAiSkills`](/docs/ko/settings-reference#syncclaudeaiskills), 및 [`syncClaudeAiPlugins`](/docs/ko/settings-reference#syncclaudeaiplugins), 여기서 모든 관리 소스의 `false`가 동작을 끕니다. 개발자의 사용자 또는 로컬 설정의 `false`도 이를 끕니다. 각 키는 거부만 할 수 있습니다.

189* [`enableArtifact`](/docs/ko/settings-reference#enableartifact), 여기서 모든 관리 소스의 `false`가 [Artifact 도구](/docs/ko/artifacts)를 끕니다. 개발자의 사용자, 프로젝트 또는 로컬 설정의 `false`도 이를 끕니다. 어떤 소스도 이를 다시 켤 수 없습니다. [어떤 하위 수준 값이 여전히 계산되는지](/docs/ko/settings#exceptions-to-managed-settings-precedence) 참조하세요. Claude Code v2.1.242 이상이 필요합니다.193* [`enableArtifact`](/docs/ko/settings-reference#enableartifact), 여기서 모든 관리 소스의 `false`가 [Artifact 도구](/docs/ko/artifacts)를 끕니다. 개발자의 사용자, 프로젝트 또는 로컬 설정의 `false`도 이를 끕니다. 어떤 소스도 이를 다시 켤 수 없습니다. [어떤 하위 수준 값이 여전히 계산되는지](/docs/ko/settings#exceptions-to-managed-settings-precedence) 참조하세요. Claude Code v2.1.242 이상이 필요합니다.

190* [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel), 여기서 모든 관리 소스의 가장 낮은 상한이 적용됩니다. 개발자가 자신의 설정이나 `--settings`에서 더 낮은 상한을 설정하면 Claude Code가 그것을 적용합니다. 어떤 소스도 상한을 올릴 수 없습니다. Claude Code v2.1.267 이상이 필요합니다.194* [`maxEffortLevel`](/docs/ko/settings-reference#maxeffortlevel), 여기서 모든 관리 소스의 가장 낮은 상한이 적용됩니다. 개발자가 자신의 설정이나 `--settings`에서 더 낮은 상한을 설정하면 Claude Code가 그것을 적용합니다. 어떤 소스도 상한을 올릴 수 없습니다. Claude Code v2.1.267 이상이 필요합니다.

191* 모든 계층의 `attribution`에서 또는 더 이상 사용되지 않는 `includeCoAuthoredBy`에서 커밋 트레일러 옵트아웃195* `attribution`의 커밋 트레일러 옵트아웃, 또는 더 이상 사용되지 않는 `includeCoAuthoredBy`의 옵트아웃(모든 계층에서)

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

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

194 198 

195[게이트웨이 로그인 키](#choose-a-delivery-mechanism)는 별도의 규칙을 따릅니다. Claude Code는 서버 관리 설정에서 이들을 읽지 않으므로, 서버 관리 설정이 선택된 소스인 동안 정책 키를 전달하는 머신의 가장 높은 순위의 관리 소스가 여전히 이들을 제공합니다. 그 아래에 순위가 지정된 관리 소스의 값이나 HKCU 레지스트리의 값은 무시됩니다.199[게이트웨이 로그인 키](#choose-a-delivery-mechanism)는 별도의 규칙을 따릅니다. Claude Code는 서버 관리 설정에서 이들을 절대 읽지 않으므로, 서버 관리 설정이 선택된 소스인 동안 정책 키를 가진 머신의 가장 높은 순위의 관리 소스가 여전히 이들을 제공합니다. 그 아래에 순위가 지정된 관리 소스의 값이나 HKCU 레지스트리의 값은 무시됩니다.

196 200 

197관리 소스가 `allowManagedMcpServersOnly`를 설정하거나 `allowedMcpServers` 목록을 설정하고 그 값이 적용 중인 값이 아닐 때, `/status` 및 `claude doctor`는 해당 소스와 키의 이름을 지정합니다.201관리 소스가 `allowManagedMcpServersOnly`를 설정하거나 `allowedMcpServers` 목록을 설정하고 그 값이 적용 중인 값이 아닐 때, `/status` 및 `claude doctor`가 해당 소스와 키의 이름을 지정합니다.

198 202 

199<h3 id="compose-every-managed-source">203<h3 id="compose-every-managed-source">

200 모든 관리되는 소스 구성204 모든 관리되는 소스 구성

201</h3>205</h3>

202 206 

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

204 208 

205`"merge"` 아래에서 Claude Code는 더 낮은 소스의 목록 항목(예: `permissions.allow` 규칙 및 hooks)을 정책에 추가하므로, 가장 높은 소스 아래에 순위가 지정된 모든 소스가 관리자의 제어 아래에 있을 때만 켭니다.209`"merge"` 아래에서 Claude Code는 더 낮은 소스의 목록 항목(예: `permissions.allow` 규칙 및 hooks)을 정책에 추가하므로, 가장 높은 순위 아래의 모든 소스가 관리자의 제어 아래에 있을 때만 켭니다.

206 210 

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

208 212 

209| 키의 종류 | Claude Code가 결합하는 방식 | 예 |213| 키의 종류 | Claude Code가 결합하는 방식 | 예 |

210| :- | :- | :- |214| :- | :- | :- |

211| 목록 | 모든 소스의 항목을 결합합니다 | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers` |215| 목록 | 모든 소스의 항목을 결합합니다 | `permissions.allow`, `hooks`, `sandbox.network.allowedDomains`, `deniedMcpServers`, `deniedModels` |

212| 잠금 | 모든 소스가 설정하는 가장 엄격한 값을 적용합니다. 더 느슨한 값은 가장 높은 순위의 소스에서만 적용됩니다 | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound` |216| 잠금 | 모든 소스가 설정하는 가장 엄격한 값을 적용합니다. 더 느슨한 값은 가장 높은 순위의 소스에서만 적용됩니다 | `allowManagedHooksOnly`, `permissions.disableBypassPermissionsMode`, `crossSessionInbound`, `availableModelsMatch` |

213| 제한 허용 목록 | 더 낮은 소스의 항목을 추가하지 않고 이를 설정하는 가장 높은 순위의 소스에서 전체 목록을 취합니다 | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, 및 `fallbackModel` 체인 |217| 제한 허용 목록 | 더 낮은 소스의 항목을 추가하지 않고 이를 설정하는 가장 높은 순위의 소스에서 전체 목록을 취합니다 | `availableModels`, `allowedMcpServers`, `strictKnownMarketplaces`, `allowedChannelPlugins`, 및 `fallbackModel` 체인 |

214| 전체로 취한 값 | 더 낮은 소스의 항목이나 필드를 결합하지 않고 이를 설정하는 가장 높은 순위의 소스에서 전체 값을 취합니다 | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |218| 전체로 취한 값 | 더 낮은 소스의 항목이나 필드를 결합하지 않고 이를 설정하는 가장 높은 순위의 소스에서 전체 값을 취합니다 | `sandbox.credentials.awsPairs`, `sandbox.ripgrep` |

215| 제공된 MCP 서버 | 모든 소스의 서버 이름을 결합합니다. 두 소스가 동일한 이름을 설정할 때 더 높은 순위의 소스의 전체 항목을 적용합니다 | `managedMcpServers` |219| 제공된 MCP 서버 | 모든 소스의 서버 이름을 결합합니다. 두 소스가 동일한 이름을 설정할 때 더 높은 순위의 소스의 전체 항목을 적용합니다 | `managedMcpServers` |

216| 가장 높은 순위의 소스에서만 읽은 키 | 가장 높은 순위의 소스가 이를 설정하지 않은 경우에도 모든 더 낮은 소스의 키를 무시합니다 | `apiKeyHelper`와 같은 자격 증명 도우미, `forceLoginOrgUUID`와 같은 로그인 핀, `modelPicker`, `permissions.defaultMode` |220| 가장 높은 순위의 소스에서만 읽은 키 | 가장 높은 순위의 소스가 이를 설정하지 않은 경우에도 모든 더 낮은 소스의 키를 무시합니다 | `apiKeyHelper`와 같은 자격 증명 도우미, `forceLoginOrgUUID`와 같은 로그인 핀, `modelPicker`, `permissions.defaultMode` |

217| `env` | 두 설정 모두에서 관리 소스 전체에서 변수별로 병합합니다. [모든 관리 소스에서 읽은 키](#keys-read-from-every-admin-source)에서 설명합니다 | |221| `env` | [모든 관리 소스에서 읽은 키](#keys-read-from-every-admin-source)에서 설명하는 대로 두 설정 아래에서 변수별로 병합합니다 | |

218| 다른 모든 키 | 이를 설정하는 가장 높은 순위의 소스에서 값을 취합니다 | `model`, `cleanupPeriodDays` |222| 다른 모든 키 | 이를 설정하는 가장 높은 순위의 소스에서 값을 취합니다 | `model`, `cleanupPeriodDays` |

219 223 

220머신에서 결합된 소스를 확인하려면 `/status`의 `Setting sources` 줄을 [읽으세요](#read-the-source-in-/status). 해당 섹션은 각 레이블의 의미를 설명합니다.224머신에서 어떤 소스가 결합되었는지 확인하려면 `/status`의 `Setting sources` 줄을 [읽으세요](#read-the-source-in-/status). 해당 섹션에서 각 레이블의 의미를 설명합니다.

221 225 

222<h3 id="compute-the-policy-with-a-helper-program">226<h3 id="compute-the-policy-with-a-helper-program">

223 도우미 프로그램으로 정책 계산227 도우미 프로그램으로 정책 계산

224</h3>228</h3>

225 229 

226[`policyHelper`](/docs/ko/settings-reference#policyhelper)는 MDM 정책이나 관리되는 설정 파일이 이름을 지정하는 실행 파일이며, Claude Code는 이를 실행하여 시작 시 관리되는 설정을 계산합니다. 선택된 소스가 하나를 구성하고 도우미가 `managedSettings` 객체를 내보낼 때, 해당 출력은 Claude Code가 읽는 것을 변경합니다:230[`policyHelper`](/docs/ko/settings-reference#policyhelper)는 MDM 정책이나 관리 설정 파일이 이름을 지정하는 실행 파일이며, Claude Code는 이를 실행하여 시작 시 관리 설정을 계산합니다. 선택한 소스가 하나를 구성하고 도우미가 `managedSettings` 객체를 내보낼 때, 해당 출력은 Claude Code가 읽는 것을 변경합니다:

227 231 

228* **내보낸 `managedSettings` 객체는 세션의 유일한 관리되는 설정입니다**, [그렇지 않으면 모든 관리 소스에서 읽은 키](#keys-read-from-every-admin-source)를 포함하여, [`forceRemoteSettingsRefresh` 제외, 자신의 시작 규칙이 있음](/docs/ko/settings-reference#forceremotesettingsrefresh)232* **내보낸 `managedSettings` 객체는 세션의 유일한 관리 설정입니다**, [그렇지 않으면 모든 관리 소스에서 읽은 키](#keys-read-from-every-admin-source)를 포함하여, [`forceRemoteSettingsRefresh` 제외(자신의 시작 규칙이 있음)](/docs/ko/settings-reference#forceremotesettingsrefresh)

229 233 

230도우미 실행이 실패하는 경우와 실패할 때 Claude Code가 수행하는 작업은 [도우미 실패](/docs/ko/settings-reference#helper-failures)를 참조하세요.234도우미 실행이 실패하는 경우와 실패할 때 Claude Code가 수행하는 작업은 [도우미 실패](/docs/ko/settings-reference#helper-failures)를 참조하세요.

231 235 


239 임베딩 호스트가 정책을 추가하도록 허용243 임베딩 호스트가 정책을 추가하도록 허용

240</h3>244</h3>

241 245 

242다른 애플리케이션이 Claude Code를 시작할 때(예: Claude Desktop, IDE 확장 또는 Agent SDK 앱), 해당 호스트는 SDK `managedSettings` 옵션을 통해 자신의 관리되는 설정을 전달할 수 있습니다. Claude Code는 이를 부모 설정이라고 부릅니다.246다른 애플리케이션(예: Claude Desktop, IDE 확장 또는 Agent SDK 앱)이 Claude Code를 시작할 때, 해당 호스트는 SDK `managedSettings` 옵션을 통해 자신의 관리 설정을 전달할 수 있습니다. Claude Code는 이를 부모 설정이라고 부릅니다.

243 247 

244기본적으로 Claude Code는 관리 소스가 있을 때마다 부모 설정을 무시합니다: 서버 관리 설정, MDM 또는 OS 수준 정책, 또는 관리되는 설정 파일입니다.248기본적으로 Claude Code는 관리 소스가 존재할 때마다 부모 설정을 무시합니다: 서버 관리 설정, MDM 또는 OS 수준 정책, 또는 관리 설정 파일.

245 249 

246부모 설정을 관리 소스와 함께 병합하도록 하려면, 가장 높은 우선순위의 관리 소스에서 [`parentSettingsBehavior`](/docs/ko/settings-reference#parentsettingsbehavior)를 `"merge"`로 설정합니다. Claude Code는 해당 소스에서만 키를 읽습니다.250부모 설정을 관리 소스와 함께 병합하도록 Claude Code를 하려면 가장 높은 우선순위의 관리 소스에서 [`parentSettingsBehavior`](/docs/ko/settings-reference#parentsettingsbehavior)를 `"merge"`로 설정합니다. Claude Code는 해당 소스에서만 키를 읽습니다.

247 251 

248Claude Code는 그 후 Claude가 수행할 수 있는 것을 제한하는 호스트의 값만 유지합니다. 알아야 할 한 가지 간격이 있습니다: `allowManaged*Only` 잠금도 설정하지 않으면 호스트의 권한 허용 규칙과 샌드박스 허용 목록이 여전히 적용됩니다. [부모 설정 제한](/docs/ko/claude-apps-gateway#restrict-parent-settings)에서 잠금을 참조하세요.252Claude Code는 그 후 Claude가 수행할 수 있는 것을 제한하는 호스트의 값만 유지합니다. 알아야 할 한 가지 간격이 있습니다: `allowManaged*Only` 잠금도 설정하지 않으면 호스트의 권한 허용 규칙과 샌드박스 허용 목록이 여전히 적용됩니다. [부모 설정 제한](/docs/ko/claude-apps-gateway#restrict-parent-settings)에서 잠금을 참조하세요.

249 253 

250[`policyHelper`](/docs/ko/settings-reference#policyhelper)는 이 키와 관계없이 부모 병합을 끌 수 있습니다. 해당 항목은 언제인지 설명합니다.254[`policyHelper`](/docs/ko/settings-reference#policyhelper)는 이 키와 관계없이 부모 병합을 끌 수 있습니다. 해당 항목은 언제인지 설명합니다.

251 255 

252Claude Code는 또한 부모 제공 값에 이러한 검사를 자체적으로 적용합니다:256Claude Code는 또한 부모 제공 값에 이러한 확인을 적용합니다:

253 257 

254* 모든 관리 소스가 `allowManagedPermissionRulesOnly`를 설정할 때, Claude Code는 더 높은 우선순위의 소스가 키를 설정하지 않은 경우에도 읽을 때 [부모 제공](/docs/ko/claude-apps-gateway#restrict-parent-settings) 권한 허용 규칙과 `additionalDirectories`를 삭제합니다. 키의 Claude Code가 적용하는 관리되는 설정에 대한 영향이나 병합하도록 선택한 부모 설정에서 옵니다.258* 모든 관리 소스가 `allowManagedPermissionRulesOnly`를 설정할 때, Claude Code는 더 높은 우선순위 소스가 키를 설정하지 않은 경우에도 읽을 때 [부모 제공](/docs/ko/claude-apps-gateway#restrict-parent-settings) 권한 허용 규칙과 `additionalDirectories`를 삭제합니다. 키의 효과는 Claude Code가 적용하는 관리 설정이나 병합하도록 선택한 부모 설정에서 나옵니다.

255* Claude Code는 적용하는 관리되는 설정에서 `forceLoginOrgUUID` 또는 `allowedMcpServers` 값을 적용하고 부모 제공 값을 차단합니다. MCP 허용 목록 잠금 외부에서 Claude Code가 적용하지 않는 더 낮은 관리 소스의 값은 부모의 값을 적용하거나 차단하지 않습니다.259* Claude Code는 적용하는 관리 설정의 `forceLoginOrgUUID` 또는 `allowedMcpServers` 값을 적용하고 부모 제공 값을 차단합니다. MCP 허용 목록 잠금 외부에서 Claude Code가 적용하지 않는 더 낮은 관리 소스의 값은 적용되지도 차단되지도 않습니다.

256 260 

257 Claude Code v2.1.273 이상에서 `allowManagedMcpServersOnly`가 켜져 있는 동안, 하나를 설정하는 가장 높은 순위의 관리 소스의 `allowedMcpServers` 목록이 적용되고 부모의 값을 차단합니다([교차 소스 키](#keys-read-from-every-admin-source)로). 부모의 목록은 관리 소스가 하나를 설정하지 않을 때만 적용됩니다. [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior) 항목은 `"merge"` 아래에서 각 키를 제공하는 소스를 설명합니다. v2.1.223 이전에는 모든 관리 소스의 값이 부모의 값을 차단했습니다.261 Claude Code v2.1.273 이상에서 `allowManagedMcpServersOnly`가 켜져 있는 동안 하나를 설정하는 가장 높은 순위의 관리 소스의 `allowedMcpServers` 목록이 적용되고 부모의 것을 차단합니다([교차 소스 키](#keys-read-from-every-admin-source)로). 부모의 목록은 관리 소스가 하나를 설정하지 않을 때만 적용됩니다. [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior) 항목은 `"merge"` 아래에서 어떤 소스가 각 키를 제공하는지 설명합니다. v2.1.223 이전에는 모든 관리 소스의 값이 부모의 것을 차단했습니다.

258* `availableModels`의 경우 Claude Code는 적용하는 관리되는 설정의 값을 적용하고 부모 제공 목록을 차단합니다.262* `availableModels`의 경우 Claude Code는 적용하는 관리 설정의 값을 적용하고 부모 제공 목록을 차단합니다.

259* `strictKnownMarketplaces`의 경우 Claude Code는 마찬가지로 적용하는 관리되는 설정의 목록을 적용하고 부모 제공 목록을 차단합니다. 부모의 목록은 적용된 관리 소스가 하나를 설정하지 않을 때만 적용됩니다. Claude Code v2.1.282 이상이 필요합니다.263* `strictKnownMarketplaces`의 경우 Claude Code는 마찬가지로 적용하는 관리 설정의 목록을 적용하고 부모 제공 목록을 차단합니다. 부모의 목록은 적용된 관리 소스가 하나를 설정하지 않을 때만 적용됩니다. Claude Code v2.1.282 이상이 필요합니다.

260* 부모 제공 `blockedMarketplaces`는 관리 소스가 설정하는 모든 거부 목록에 추가로 적용됩니다. Claude Code v2.1.282 이상이 필요합니다.264* 부모 제공 `blockedMarketplaces`는 관리 소스가 설정하는 모든 거부 목록에 추가로 적용됩니다. Claude Code v2.1.282 이상이 필요합니다.

261 265 

262<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">266<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">

263 관리되는 규칙만 적용될 때 Cowork 폴더 액세스 유지267 관리되는 규칙만 적용될 때 Cowork 폴더 액세스 유지

264</h4>268</h4>

265 269 

266Claude Desktop 앱의 [Cowork](https://claude.com/docs/cowork/overview)는 Claude Code에서 세션을 실행하고 각 세션에 사용자가 연결하는 폴더와 같은 작업 폴더에 대한 액세스를 부여합니다. 세션을 시작할 때 제공하는 허용 규칙을 통해 액세스합니다. 관리되는 정책이 [`allowManagedPermissionRulesOnly`](/docs/ko/settings-reference#allowmanagedpermissionrulesonly)를 설정할 때, Claude Code는 관리되는 정책의 허용 규칙만 유지합니다: 호스트가 부모 설정으로, `--allowedTools`로, 또는 설정 파일에서 제공하는 허용 규칙을 삭제하므로, 해당 폴더에 대한 쓰기는 사전 승인을 잃습니다. 편집 전에 묻는 Cowork 세션에서 Cowork는 프롬프트를 표시할 수 없으며, Claude는 경로가 보호된 위치 또는 연결된 폴더 외부의 경로로 확인되므로 각 쓰기를 차단된 것으로 보고합니다.270Claude Desktop 앱의 [Cowork](https://claude.com/docs/cowork/overview)는 Claude Code에서 세션을 실행하고 각 세션에 세션을 시작할 때 제공하는 허용 규칙을 통해 사용자가 연결하는 폴더와 같은 작업 폴더에 대한 액세스 권한을 부여합니다. 관리 정책이 [`allowManagedPermissionRulesOnly`](/docs/ko/settings-reference#allowmanagedpermissionrulesonly)를 설정할 때, Claude Code는 관리 정책의 허용 규칙만 유지합니다: 호스트가 부모 설정으로, `--allowedTools`로, 또는 설정 파일에서 제공하는 허용 규칙을 삭제하므로 해당 폴더에 대한 쓰기는 사전 승인을 잃습니다. 편집 전에 묻는 Cowork 세션에서 Cowork는 프롬프트를 표시할 수 없으며, Claude는 경로가 보호된 위치 또는 연결된 폴더 외부의 경로로 확인되기 때문에 각 쓰기를 차단된 것으로 보고합니다.

267 271 

268쓰기를 복원하려면, Claude Code가 해당 머신에서 [선택](#precedence-within-the-managed-tier)하는 관리되는 소스에 해당 폴더에 대한 허용 규칙을 추가합니다: MDM 관리 플릿에서 이는 별도의 관리되는 설정 파일이 아닌 MDM 정책입니다. 이 예는 파일 형식을 사용하며, MDM 정책은 동일한 키를 취합니다. `allowManagedPermissionRulesOnly`를 설정한 상태로 유지하고 각 사용자의 홈 디렉토리에서 `CoworkProjects` 폴더 아래의 편집을 허용합니다. 경로를 사용자가 연결하는 폴더로 바꾸세요:272쓰기를 복원하려면 Claude Code가 해당 머신에서 [선택](#precedence-within-the-managed-tier)하는 관리 소스에 해당 폴더에 대한 허용 규칙을 추가합니다: MDM 관리 플릿에서 이는 별도의 관리 설정 파일이 아닌 MDM 정책입니다. 이 예는 파일 형식을 사용하며 MDM 정책은 동일한 키를 취합니다. `allowManagedPermissionRulesOnly`를 설정한 상태로 유지하고 각 사용자의 홈 디렉토리에서 `CoworkProjects` 폴더 아래의 편집을 허용합니다. 사용자가 연결하는 폴더로 경로를 바꾸세요:

269 273 

270```json managed-settings.json theme={null}274```json managed-settings.json theme={null}

271{275{


284 개발자가 변경할 수 있는 것288 개발자가 변경할 수 있는 것

285</h3>289</h3>

286 290 

287개발자의 자신의 설정 파일, `--settings` 값, 및 프로젝트 파일은 관리되는 값을 재정의하지 않습니다. [예외](/docs/ko/settings#exceptions-to-managed-settings-precedence)는 더 엄격한 하위 수준 값만 계산하도록 합니다. 이 경우는 해당 규칙 외부에 있습니다:291개발자의 자신의 설정 파일, `--settings` 값, 프로젝트 파일은 관리 값을 절대 재정의하지 않습니다. [예외](/docs/ko/settings#exceptions-to-managed-settings-precedence)는 더 엄격한 하위 수준 값만 계산되도록 합니다. 이 경우는 해당 규칙 외부에 있습니다:

288 292 

289* **세션의 모델**: 관리되는 `model`은 잠금이 아닌 기본값입니다. `--model` 및 `ANTHROPIC_MODEL`은 여전히 해당 세션의 모델을 선택하므로, [`availableModels`](/docs/ko/settings-reference#availablemodels)를 배포하여 선택을 제한합니다.293* **세션의 모델**: 관리 `model`은 잠금이 아닌 기본값입니다. `--model` 및 `ANTHROPIC_MODEL`은 여전히 해당 세션의 모델을 선택하므로 [`availableModels`](/docs/ko/settings-reference#availablemodels)를 배포하여 선택을 제한합니다.

290* **로컬 관리자 권한**: 머신의 관리자인 개발자는 관리되는 소스 자체를 편집할 수 있으므로, MDM 도구는 프로필이나 파일을 일정에 따라 다시 배포할 수 있으며, HKLM 레지스트리와 macOS 관리되는 기본 설정 도메인이 존재합니다.294* **로컬 관리자 권한**: 머신의 관리자인 개발자는 관리 소스 자체를 편집할 수 있으므로 MDM 도구는 프로필이나 파일을 일정에 따라 다시 배포할 수 있으며 HKLM 레지스트리와 macOS 관리 기본 설정 도메인이 존재합니다.

291* **서버 관리 캐시**: 서버 관리 설정은 Anthropic의 서버에서 오며, 로컬 캐시에 대한 편집은 [다음 성공적인 가져오기까지만 지속됩니다](/docs/ko/server-managed-settings#security-considerations).295* **서버 관리 캐시**: 서버 관리 설정은 Anthropic의 서버에서 오며, 로컬 캐시에 대한 편집은 [다음 성공적인 가져오기까지만 지속됩니다](/docs/ko/server-managed-settings#security-considerations).

292* **다른 도구**: 관리되는 설정은 Claude Code만 바인딩합니다. 다른 도구에서 API를 호출하는 개발자는 이들 아래에 있지 않습니다.296* **다른 도구**: 관리 설정은 Claude Code만 바인딩합니다. 다른 도구에서 API를 호출하는 개발자는 이들 아래에 있지 않습니다.

293 297 

294<span id="verify-enforcement" />298<span id="verify-enforcement" />

295 299 


332 Claude Code가 삭제한 항목 찾기336 Claude Code가 삭제한 항목 찾기

333</h3>337</h3>

334 338 

335관리형 설정 파일, MDM 프로필, 레지스트리 값 또는 서버 관리 페이로드가 스키마 검증에 실패하면, Claude Code는 먼저 수정할 수 있는 개별 항목(예: 하나의 잘못된 권한 규칙)을 건너뛰고 각각에 대해 경고를 표시한 다음, 여전히 실패하는 최상위 키를 삭제하고 남은 모든 유효한 키를 계속 적용합니다.339관리형 설정 파일, MDM 프로필, 레지스트리 값 또는 서버 관리 페이로드가 스키마 검증에 실패하면, Claude Code는 먼저 수정할 수 있는 개별 항목(예: 하나의 잘못된 권한 규칙)을 건너뛰고 각각에 대해 경고를 표시합니다. Claude Code는 그 후 여전히 실패하는 모든 값을 삭제합니다. 단, 해당 값이 [폐쇄 상태로 실패하는](#keys-that-fail-closed) 키 중 하나에 속하는 경우는 예외입니다.

336 340 

337Claude Code는 [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 내보내는 `managedSettings`에 더 엄격합니다. 동일한 항목 수정을 수행하지만, 생존하는 스키마 위반은 전체 헬퍼 실행을 실패하게 하고, 시작 시 Claude Code는 시작을 거부하며, 이는 0이 아닌 값으로 종료되는 헬퍼와 동일합니다.341Claude Code는 [`policyHelper`](/docs/ko/settings-reference#policyhelper)가 내보내는 `managedSettings`에 더 엄격합니다. 동일한 항목 수정을 수행하지만, 생존하는 스키마 위반은 전체 헬퍼 실행을 실패하게 하고, 시작 시 Claude Code는 시작을 거부하며, 이는 0이 아닌 값으로 종료되는 헬퍼와 동일합니다.

338 342 


360 폐쇄 상태로 실패하는 키364 폐쇄 상태로 실패하는 키

361</h4>365</h4>

362 366 

363일부 적용 키는 유효하지 않을 때 삭제되지 않습니다. Claude Code는 값이 수정될 때까지 더 엄격한 폴백을 적용합니다. 표는 각 키에 대해 적용되는 내용을 보여줍니다:367관리형 소스가 단일 제한적 값을 가진 최상위 키(예: `allowManagedPermissionRulesOnly`, `disableAutoMode` 또는 `skipDangerousModePermissionPrompt`)를 Claude Code가 읽을 수 없는 것으로 설정하면, 키는 수정될 때까지 해당 값으로 읽힙니다. 보고서는 키가 `was present but invalid`라고 말하고 Claude Code가 이를 처리하는 값의 이름을 지정합니다. `sandbox` 내부의 키는 [Invalid values inside `sandbox`](#invalid-values-inside-sandbox)를 참조합니다.

368 

369이 경우들은 폐쇄 상태로 실패하지 않습니다:

370 

371* `null`은 키를 제거합니다.

372* 유효하지 않은 `disableAllHooks`는 따옴표로 묶인 부울이더라도 경고와 함께 삭제됩니다. `true`를 적용하면 자신의 관리형 설정이 배포하는 훅도 언로드되기 때문입니다.

373* 규칙이 적용되는 다른 모든 부울 키의 경우, 문자열 `"true"` 또는 `"false"`는 해당 부울로 읽히며, `/status`의 알림이 따옴표를 제거하도록 요청합니다.

374 

375Claude Code는 `permissions`, `autoMode`, `worktree` 및 `attribution` 블록을 전체적으로 삭제하지 않고 필드별로 수정합니다:

376 

377* `permissions.disableBypassPermissionsMode`와 같이 그 내부의 잠금은 제한적 값으로 읽힙니다.

378* 유효하지 않은 `permissions.defaultMode`는 `default`로 읽힙니다.

379* `permissions`의 `deny` 또는 `ask` 목록을 전혀 읽을 수 없는 동안, Claude Code는 `allow` 및 `additionalDirectories`를 보류하므로, 제한이 옆에 작성되지 않으면 부여가 적용되지 않습니다. 보고서는 각 보류된 부여와 읽을 수 없는 목록의 이름을 지정합니다.

380* `autoMode`에서, 읽을 수 없거나 유효하지 않은 항목을 잃은 `soft_deny` 또는 `hard_deny` 목록은 동일한 방식으로 `allow` 및 `environment`를 보류합니다.

381 

382단일 제한적 값을 가진 키에 대한 폐쇄 상태 규칙과 필드별 수정은 Claude Code v2.1.282 이상이 필요합니다.

383 

384이 키들은 자신의 폴백을 가집니다:

364 385 

365| 필드 | 존재하지만 유효하지 않을 때의 동작 |386| 필드 | 존재하지만 유효하지 않을 때의 동작 |

366| :- | :- |387| :- | :- |


369| `httpHookAllowedEnvVars` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#httphookallowedenvvars)을 적용하므로, 헤더 변수는 다른 설정 파일이 이름을 지정하는 경우에만 보간됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |390| `httpHookAllowedEnvVars` | Claude Code는 값을 수정할 때까지 빈 관리형 [허용 목록](/docs/ko/settings-reference#httphookallowedenvvars)을 적용하므로, 헤더 변수는 다른 설정 파일이 이름을 지정하는 경우에만 보간됩니다. 개별 항목만 유효하지 않으면, Claude Code는 해당 항목을 제거하고 나머지를 적용합니다. |

370| `allowedChannelPlugins` | 값을 수정할 때까지 빈 허용 목록을 적용하므로, `--channels`에 전달된 채널 플러그인은 허용되지 않습니다. 개별 항목만 유효하지 않으면, 해당 항목을 제거하고 나머지를 적용합니다. |391| `allowedChannelPlugins` | 값을 수정할 때까지 빈 허용 목록을 적용하므로, `--channels`에 전달된 채널 플러그인은 허용되지 않습니다. 개별 항목만 유효하지 않으면, 해당 항목을 제거하고 나머지를 적용합니다. |

371| `strictKnownMarketplaces` | 값이 수정될 때까지 빈 허용 목록으로 적용되므로, [마켓플레이스 소스](/docs/ko/plugins/org#restrict-what-users-can-install)는 허용되지 않습니다. 유효하지 않거나 적용할 수 없는 개별 항목(예: 컴파일되지 않는 `hostPattern` 정규식)은 제거되고 유효한 부분 집합이 적용됩니다. |392| `strictKnownMarketplaces` | 값이 수정될 때까지 빈 허용 목록으로 적용되므로, [마켓플레이스 소스](/docs/ko/plugins/org#restrict-what-users-can-install)는 허용되지 않습니다. 유효하지 않거나 적용할 수 없는 개별 항목(예: 컴파일되지 않는 `hostPattern` 정규식)은 제거되고 유효한 부분 집합이 적용됩니다. |

372| `allowManagedHooksOnly` | 수정될 때까지 `true`로 처리됩니다: [훅 제한](/docs/ko/settings-reference#allowmanagedhooksonly)이 적용되고, `disableCommandPluginSources`가 명시적으로 `false`가 아닌 한, 명령 소스 플러그인은 비활성화됩니다. |

373| `allowManagedMcpServersOnly` | `true`로 처리됩니다. |

374| `disableCommandPluginSources` | `true`로 처리되므로, 명령 소스 플러그인은 값이 수정될 때까지 비활성화된 상태로 유지됩니다. |

375| `disableSideloadFlags` | 값이 수정될 때까지 `true`로 처리되며, [`disableSideloadFlags`](/docs/ko/settings-reference#disablesideloadflags)에 나열된 효과가 있습니다. |

376| `availableModels` | 수정될 때까지 빈 허용 목록으로 적용되므로, 기본 모델만 사용 가능합니다. 문자열이 아닌 항목은 제거되고 유효한 부분 집합이 적용됩니다. |393| `availableModels` | 수정될 때까지 빈 허용 목록으로 적용되므로, 기본 모델만 사용 가능합니다. 문자열이 아닌 항목은 제거되고 유효한 부분 집합이 적용됩니다. |

377| `enforceAvailableModels` | `true`로 처리됩니다. |394| [`availableModelsMatch`](/docs/ko/settings-reference#availablemodelsmatch) | 값이 수정될 때까지 `exact`로 처리됩니다. |

378| `syncClaudeAiPlugins` | `false`로 처리되므로, [claude.ai 플러그인](/docs/ko/settings-reference#syncclaudeaiplugins)의 동기화는 값이 수정될 때까지 꺼져 있습니다. |

379| `forceLoginOrgUUID` | 값이 수정될 때까지 조직이 로그인하도록 허용되지 않습니다. |395| `forceLoginOrgUUID` | 값이 수정될 때까지 조직이 로그인하도록 허용되지 않습니다. |

380| `gatewayInternalNetworks` | 유효하지 않은 값이 머신의 최상위 관리형 소스에서 오는 경우, `/login`은 값이 수정될 때까지 해당 머신의 모든 새로운 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 로그인을 거부합니다. |396| `gatewayInternalNetworks` | 유효하지 않은 값이 머신의 최상위 관리형 소스에서 오는 경우, `/login`은 값이 수정될 때까지 해당 머신의 모든 새로운 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) 로그인을 거부합니다. |

381| `crossSessionInbound` | 가장 제한적인 값인 `refuse`로 처리되므로, 인바운드 [크로스 세션 메시지](/docs/ko/cross-session-messaging#control-inbound-messages)는 값이 수정될 때까지 거부됩니다. 개발자는 [경고](/docs/ko/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse)를 봅니다. |397| `crossSessionInbound` | 가장 제한적인 값인 `refuse`로 처리되므로, 인바운드 [크로스 세션 메시지](/docs/ko/cross-session-messaging#control-inbound-messages)는 값이 수정될 때까지 거부됩니다. 개발자는 [경고](/docs/ko/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse)를 봅니다. |

382| `deniedMcpServers` | 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. 완전히 유효하지 않은 값은 경고와 함께 삭제됩니다. 모든 서버를 거부하면 정책이 이름을 지정하지 않은 서버를 차단하기 때문입니다. |398| `deniedMcpServers` | 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. 완전히 유효하지 않은 값은 경고와 함께 삭제됩니다. 모든 서버를 거부하면 정책이 이름을 지정하지 않은 서버를 차단하기 때문입니다. |

399| [`deniedModels`](/docs/ko/settings-reference#deniedmodels) | 문자열이 아닌 항목은 제거되고 목록의 나머지는 적용됩니다. 완전히 유효하지 않은 값은 경고와 함께 삭제되고 값이 수정될 때까지 모델을 차단하지 않습니다. |

383| `blockedMarketplaces` | 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. 구문 분석되지만 절대 일치할 수 없는 항목(예: 컴파일되지 않는 `hostPattern` 정규식)은 경고와 함께 유지됩니다. 값이 수정될 때까지 아무것도 차단하지 않지만, [마켓플레이스 제한](/docs/ko/plugins/org#restrict-what-users-can-install)은 활성 상태로 유지됩니다. 완전히 유효하지 않은 값은 경고와 함께 삭제됩니다. 모든 마켓플레이스를 차단하면 정책이 이름을 지정하지 않은 소스를 차단하기 때문입니다. |400| `blockedMarketplaces` | 개별 유효하지 않은 항목은 제거되고 유효한 부분 집합이 적용됩니다. 구문 분석되지만 절대 일치할 수 없는 항목(예: 컴파일되지 않는 `hostPattern` 정규식)은 경고와 함께 유지됩니다. 값이 수정될 때까지 아무것도 차단하지 않지만, [마켓플레이스 제한](/docs/ko/plugins/org#restrict-what-users-can-install)은 활성 상태로 유지됩니다. 완전히 유효하지 않은 값은 경고와 함께 삭제됩니다. 모든 마켓플레이스를 차단하면 정책이 이름을 지정하지 않은 소스를 차단하기 때문입니다. |

401| `sandbox` | 블록 내의 한 값이 유효하지 않으면, Claude Code는 전체 블록을 삭제하지 않습니다. 각 종류의 유효하지 않은 필드에 대해 어떤 일이 발생하는지는 [`sandbox` 내의 유효하지 않은 값](#invalid-values-inside-sandbox)을 참조합니다. |

384| `sandbox.credentials` | 복구 가능한 유효하지 않은 항목은 경고와 함께 `mode: "deny"`로 저하되고, 복구 불가능한 항목은 제거되며, 유효한 항목은 계속 적용됩니다. [관리형 설정의 유효하지 않은 자격 증명 항목](/docs/ko/settings-reference#invalid-credential-entries-in-managed-settings) 참조 |402| `sandbox.credentials` | 복구 가능한 유효하지 않은 항목은 경고와 함께 `mode: "deny"`로 저하되고, 복구 불가능한 항목은 제거되며, 유효한 항목은 계속 적용됩니다. [관리형 설정의 유효하지 않은 자격 증명 항목](/docs/ko/settings-reference#invalid-credential-entries-in-managed-settings) 참조 |

403| `strictPluginOnlyCustomization` | 값이 부울도 배열도 아닐 때 `true`로 처리되어 네 가지 표면을 모두 잠급니다. 이 버전이 표면으로 인식하지 않는 배열 항목은 아무것도 잠그지 않습니다. 상태 알림은 이러한 항목을 계산하므로 오타를 확인할 수 있습니다. |

404| `enabledPlugins` | 유효하지 않은 항목은 경고와 함께 삭제되고 다른 항목은 계속 적용됩니다. 플러그인 ID의 맵이 아니거나 모든 항목이 유효하지 않은 값은 경고와 함께 전체적으로 삭제됩니다. |

385 405 

386`allowedHttpHookUrls` 및 `httpHookAllowedEnvVars`는 설정 파일 전체에서 병합되므로, 사용자, 프로젝트 또는 로컬 설정의 항목은 관리형 목록이 비어 있는 동안에도 계속 적용됩니다.406`allowedHttpHookUrls` 및 `httpHookAllowedEnvVars`는 설정 파일 전체에서 병합되므로, 사용자, 프로젝트 또는 로컬 설정의 항목은 관리형 목록이 비어 있는 동안에도 계속 적용됩니다.

387 407 

388이 두 키와 `allowedChannelPlugins`에 대한 폴백은 Claude Code v2.1.267 이상이 필요합니다. 이전 버전은 값이나 항목이 유효하지 않으면 전체 키를 삭제합니다. `strictKnownMarketplaces`, `blockedMarketplaces` 및 `disableSideloadFlags` 폴백은 Claude Code v2.1.277 이상이 필요합니다. 이전 버전은 값이나 항목이 유효하지 않으면 전체 키를 삭제합니다.408이 두 키와 `allowedChannelPlugins`에 대한 폴백은 Claude Code v2.1.267 이상이 필요합니다. 이전 버전은 값이나 항목이 유효하지 않으면 전체 키를 삭제합니다. `strictKnownMarketplaces` 및 `blockedMarketplaces` 폴백은 Claude Code v2.1.277 이상이 필요합니다. 이전 버전은 값이나 항목이 유효하지 않으면 전체 키를 삭제합니다. `strictPluginOnlyCustomization` 및 `enabledPlugins` 폴백은 Claude Code v2.1.282 이상이 필요합니다.

389 409 

390`requiredMinimumVersion` 및 `requiredMaximumVersion`은 설계상 개방적으로 실패합니다. 유효하지 않은 값은 적용되지 않고 삭제됩니다.410`requiredMinimumVersion` 및 `requiredMaximumVersion`은 설계상 개방적으로 실패합니다. 유효하지 않은 값은 적용되지 않고 삭제됩니다.

391 411 

392이 허용은 관리형 설정에만 적용됩니다. 사용자, 프로젝트 및 로컬 설정 파일은 엄격합니다. JSON이나 최상위 수준 형태가 검증에 실패하는 파일은 전체적으로 거부되고 보고되며, 손상된 권한 규칙과 같이 실패하는 개별 항목은 경고와 함께 건너뛰어지고 파일의 나머지는 적용됩니다.412이 허용은 관리형 설정에만 적용됩니다. 사용자, 프로젝트 및 로컬 설정 파일은 엄격합니다. JSON이나 최상위 수준 형태가 검증에 실패하는 파일은 전체적으로 거부되고 보고되며, 손상된 권한 규칙과 같이 실패하는 개별 항목은 경고와 함께 건너뛰어지고 파일의 나머지는 적용됩니다.

393 413 

414<h4 id="invalid-values-inside-sandbox">

415 `sandbox` 내의 유효하지 않은 값

416</h4>

417 

418관리형 `sandbox` 블록의 한 값이 유효하지 않으면, Claude Code는 각 필드를 자체적으로 검증하기 때문에 전체 블록을 삭제하지 않습니다. 이 필드별 처리는 Claude Code v2.1.283 이상이 필요합니다. v2.1.283 이전 버전에서는 `credentials` 외부의 값이 유효하지 않으면 Claude Code가 [`credentials`](/docs/ko/settings-reference#invalid-credential-entries-in-managed-settings)를 제외한 모든 `sandbox` 필드를 삭제합니다.

419 

420유효하지 않은 필드에 대해 받는 경고는 필드의 이름을 지정하고 그 필드에 어떤 일이 발생하는지 알려줍니다. 어떤 일이 발생하는지는 필드가 제어하는 것에 따라 달라집니다:

421 

422* 부울 키를 따옴표로 묶인 `"true"` 또는 `"false"`로 설정하면, 값은 해당 부울로 계산됩니다. 경고 대신 `/status`는 따옴표를 제거하도록 요청하는 알림을 표시합니다.

423* `failIfUnavailable`이 유효하지 않으면, Claude Code는 값을 `true`로 처리하지 않고 삭제하므로, 읽을 수 없는 값은 전체 시스템에서 세션 시작을 중단하지 않습니다.

424* Claude Code는 다른 모든 유효하지 않은 부울을 값이 수정될 때까지 샌드박스를 가장 엄격하게 유지하는 값으로 처리합니다. `enabled` 또는 `network.allowManagedDomainsOnly`와 같이 샌드박스 또는 그 제한 중 하나를 켜는 키는 `true`로 계산됩니다. `allowUnsandboxedCommands`와 같이 이를 완화하는 키는 `false`로 계산됩니다.

425* `credentials` 외부의 목록(예: `excludedCommands` 또는 `network.allowedDomains`)에서, Claude Code는 유효하지 않은 항목을 삭제하고 목록의 나머지를 유지합니다. 배열이 아니거나 유효한 항목이 없는 목록은 전혀 적용되지 않습니다.

426* `network.deniedDomains` 또는 그 항목 중 하나가 유효하지 않은 동안, Claude Code는 또한 `network.allowedDomains`를 보류하므로, 관리형 허용 목록은 거부 목록을 수정할 때까지 아무것도 부여하지 않습니다.

427* `filesystem.denyRead`, `filesystem.denyWrite` 또는 둘 중 하나의 항목이 유효하지 않은 동안, Claude Code는 또한 거부 목록을 수정할 때까지 `filesystem.allowRead` 및 `filesystem.allowWrite` 모두를 보류합니다.

428 

394<span id="managed-only-settings" />429<span id="managed-only-settings" />

395 430 

396<h2 id="keys-only-a-managed-source-can-set">431<h2 id="keys-only-a-managed-source-can-set">

397 관리형 소스만 설정할 수 있는 키432 관리형 소스만 설정할 수 있는 키

398</h2>433</h2>

399 434 

400Claude Code는 다음 키들을 관리형 소스에서만 읽습니다. 사용자 또는 프로젝트 설정 파일에 이들을 배치하면 효과가 없습니다.435Claude Code는 다음 키들을 관리형 소스에서만 읽습니다. 사용자 또는 프로젝트 설정 파일에 배치하면 효과가 없습니다.

401 436 

402대부분은 잠금입니다. 잠금이 관리하는 값(예: 권한 규칙 또는 `sandbox.network.allowedDomains`)은 모든 수준에서 설정할 수 있는 일반 키이며, 잠금은 Claude Code에 관리형 값만 준수하도록 지시합니다.437대부분은 잠금입니다. 잠금이 관리하는 값(예: 권한 규칙 또는 `sandbox.network.allowedDomains`)은 모든 수준에서 설정할 수 있는 일반 키이며, 잠금은 Claude Code에 관리형 값만 준수하도록 지시합니다.

403 438 

404이 표는 권한, 플러그인 및 전달 제어를 다룹니다. 여기에 나열되지 않은 키의 경우, [설정 참조](/docs/ko/settings-reference#all-settings) 인덱스의 범위 열에 관리형 전용 여부가 표시됩니다. 그곳의 나머지 관리형 전용 키에는 게이트웨이 로그인 URL, 버전, 브라우저, 모바일 시뮬레이터, SSH 호스트, Desktop 로컬 세션, 샌드박스 바이너리 경로, 모델 가격 책정 및 CLAUDE.md 제어가 포함됩니다.439이 표는 권한, 플러그인 및 전달 제어를 다룹니다. 여기에 나열되지 않은 키의 경우, [설정 참조](/docs/ko/settings-reference#all-settings) 인덱스의 범위 열에 관리형 전용 여부가 표시됩니다. 그곳의 나머지 관리형 전용 키에는 게이트웨이 로그인 URL, 버전, 브라우저, 모바일 시뮬레이터, SSH 호스트, Desktop 로컬 세션, 샌드박스 바이너리 경로, 모델 가격 책정, 모델 제한 및 CLAUDE.md 제어가 포함됩니다.

405 440 

406| 설정 | 설명 |441| 설정 | 설명 |

407| :- | :- |442| :- | :- |

408| [`allowAllClaudeAiMcps`](/docs/ko/settings-reference#allowallclaudeaimcps) | Claude Code가 자체적으로 가져오는 claude.ai 커넥터를 배포된 `managed-mcp.json`과 함께 로드합니다. 이는 커넥터를 억제하는 대신 추가로 로드합니다 |443| [`allowAllClaudeAiMcps`](/docs/ko/settings-reference#allowallclaudeaimcps) | 배포된 `managed-mcp.json`과 함께 Claude Code가 자체적으로 가져오는 claude.ai 커넥터를 로드합니다. 그렇지 않으면 이들을 억제합니다 |

409| [`allowedChannelPlugins`](/docs/ko/settings-reference#allowedchannelplugins) | 메시지를 푸시할 수 있는 채널 플러그인의 허용 목록입니다. 설정되면 기본 Anthropic 허용 목록을 대체합니다. `channelsEnabled: true`가 필요합니다. [실행할 수 있는 채널 플러그인 제한](/docs/ko/channels#restrict-which-channel-plugins-can-run)을 참조하세요 |444| [`allowedChannelPlugins`](/docs/ko/settings-reference#allowedchannelplugins) | 메시지를 푸시할 수 있는 채널 플러그인의 허용 목록입니다. 설정되면 기본 Anthropic 허용 목록을 대체합니다. `channelsEnabled: true`가 필요합니다. [실행할 수 있는 채널 플러그인 제한](/docs/ko/channels#restrict-which-channel-plugins-can-run)을 참조하세요 |

410| [`allowManagedHooksOnly`](/docs/ko/settings-reference#allowmanagedhooksonly) | `true`일 때 실행되는 훅을 제한합니다. [allowManagedHooksOnly에서 실행되는 항목](/docs/ko/settings-reference#what-runs-under-allowmanagedhooksonly)에서 전체 효과 목록을 참조하세요 |445| [`allowManagedHooksOnly`](/docs/ko/settings-reference#allowmanagedhooksonly) | `true`일 때 실행되는 훅을 제한합니다. 전체 효과 목록은 [`allowManagedHooksOnly` 아래에서 실행되는 것](/docs/ko/settings-reference#what-runs-under-allowmanagedhooksonly)을 참조하세요 |

411| [`allowManagedMcpServersOnly`](/docs/ko/settings-reference#allowmanagedmcpserversonly) | `true`일 때 관리형 설정의 `allowedMcpServers`만 적용됩니다. `deniedMcpServers`는 여전히 모든 소스에서 병합됩니다. 이를 설정할 수 있는 관리형 소스는 [모든 관리자 소스에서 읽는 키](#keys-read-from-every-admin-source)를 참조하고, [관리형 MCP 구성](/docs/ko/managed-mcp)을 참조하세요 |446| [`allowManagedMcpServersOnly`](/docs/ko/settings-reference#allowmanagedmcpserversonly) | `true`일 때 관리형 설정의 `allowedMcpServers`만 존중됩니다. `deniedMcpServers`는 여전히 모든 소스에서 병합됩니다. 이를 설정할 수 있는 관리형 소스는 [모든 관리자 소스에서 읽은 키](#keys-read-from-every-admin-source)를 참조하고, [관리형 MCP 구성](/docs/ko/managed-mcp)을 참조하세요 |

412| [`allowManagedPermissionRulesOnly`](/docs/ko/settings-reference#allowmanagedpermissionrulesonly) | 관리형 설정을 권한 규칙의 유일한 설정 소스로 만듭니다. 항목은 무시하는 모든 소스를 나열합니다 |447| [`allowManagedPermissionRulesOnly`](/docs/ko/settings-reference#allowmanagedpermissionrulesonly) | 관리형 설정을 권한 규칙의 유일한 설정 소스로 만듭니다. 항목은 무시하는 모든 소스를 나열합니다 |

413| [`blockedMarketplaces`](/docs/ko/settings-reference#blockedmarketplaces) | 마켓플레이스 소스의 차단 목록입니다. 차단된 소스는 다운로드 전에 확인되므로 파일 시스템에 절대 닿지 않습니다. [관리형 마켓플레이스 제한](/docs/ko/plugins/org#restrict-what-users-can-install)을 참조하세요 |448| [`blockedMarketplaces`](/docs/ko/settings-reference#blockedmarketplaces) | 마켓플레이스 소스의 차단 목록입니다. 차단된 소스는 다운로드 전에 확인되므로 파일 시스템에 절대 닿지 않습니다. [관리형 마켓플레이스 제한](/docs/ko/plugins/org#restrict-what-users-can-install)을 참조하세요 |

414| [`channelsEnabled`](/docs/ko/settings-reference#channelsenabled) | 조직에 대해 [채널](/docs/ko/channels)을 허용합니다. 각 플랜의 기본값은 [엔터프라이즈 제어](/docs/ko/channels#enterprise-controls)를 참조하세요 |449| [`channelsEnabled`](/docs/ko/settings-reference#channelsenabled) | 조직에 대해 [채널](/docs/ko/channels)을 허용합니다. 각 플랜의 기본값은 [엔터프라이즈 제어](/docs/ko/channels#enterprise-controls)를 참조하세요 |

415| [`disableCommandPluginSources`](/docs/ko/settings-reference#disablecommandpluginsources) | `true`일 때 [`command` 플러그인 소스](/docs/ko/plugins/marketplace-reference#command-plugin-source)를 완전히 차단하므로 마켓플레이스에서 선언한 명령이 실행되지 않습니다. 또한 마켓플레이스 [`headersHelper` 명령](/docs/ko/plugins/host-marketplace#authenticate-archive-downloads)을 차단합니다. 단, 관리형 설정 자체에서 선언한 마켓플레이스는 제외됩니다. 설정되지 않으면 `allowManagedHooksOnly`를 따릅니다. Claude Code v2.1.229 이상이 필요하며, `headersHelper` 차단은 v2.1.238 이상이 필요합니다 |450| [`disableCommandPluginSources`](/docs/ko/settings-reference#disablecommandpluginsources) | `true`일 때 [`command` 플러그인 소스](/docs/ko/plugins/marketplace-reference#command-plugin-source)를 완전히 차단하므로 마켓플레이스에서 선언한 명령이 실행되지 않습니다. 또한 마켓플레이스 [`headersHelper` 명령](/docs/ko/plugins/host-marketplace#authenticate-archive-downloads)을 차단합니다. 단, 관리형 설정 자체가 선언한 마켓플레이스는 제외합니다. 설정되지 않으면 `allowManagedHooksOnly`를 따릅니다. Claude Code v2.1.229 이상이 필요하며, `headersHelper` 차단은 v2.1.238 이상이 필요합니다 |

416| [`disableSideloadFlags`](/docs/ko/settings-reference#disablesideloadflags) | 시작 시 `--plugin-dir`, `--plugin-url`, `--agents` 및 `--mcp-config` 플래그를 거부합니다. 클라우드 세션에서 Claude Code는 `--mcp-config`를 통해 서버가 전달한 MCP 서버를 삭제합니다. 단, 인프로세스 `type: "sdk"` 항목은 제외하고 세션을 시작합니다. Claude Code v2.1.193 이상이 필요합니다 |451| [`disableSideloadFlags`](/docs/ko/settings-reference#disablesideloadflags) | 시작 시 `--plugin-dir`, `--plugin-url`, `--agents` 및 `--mcp-config` 플래그를 거부합니다. 클라우드 세션에서 Claude Code는 `--mcp-config`를 통해 서버가 전달한 MCP 서버를 삭제합니다. 단, 인프로세스 `type: "sdk"` 항목은 제외하고 세션을 시작합니다. Claude Code v2.1.193 이상이 필요합니다 |

417| [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh) | `true`일 때 원격 관리형 설정이 새로 가져올 때까지 CLI 시작을 차단하고 가져오기가 실패하면 종료합니다. [실패 폐쇄 적용](/docs/ko/server-managed-settings#enforce-fail-closed-startup)을 참조하세요 |452| [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh) | `true`일 때 원격 관리형 설정이 새로 가져올 때까지 CLI 시작을 차단하고 가져오기가 실패하면 종료합니다. [실패 폐쇄 적용](/docs/ko/server-managed-settings#enforce-fail-closed-startup)을 참조하세요 |

418| [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) | 모든 사용자에게 자신의 서버와 함께 제공되는 원격 MCP 서버입니다. 이는 서버를 제공하며 아무것도 잠금하지 않습니다. [관리형 설정을 통해 서버 제공](/docs/ko/managed-mcp#provide-servers-through-managed-settings)을 참조하세요. Claude Code v2.1.259 이상이 필요합니다 |453| [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) | 모든 사용자에게 자신의 것과 함께 제공되는 원격 MCP 서버입니다. 이는 서버를 제공하며 아무것도 잠그지 않습니다. [관리형 설정을 통해 서버 제공](/docs/ko/managed-mcp#provide-servers-through-managed-settings)을 참조하세요. Claude Code v2.1.259 이상이 필요합니다 |

419| [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior) | Claude Code가 최우선 관리형 소스만 적용하는지 또는 [모든 관리형 소스를 구성](#compose-every-managed-source)하는지 여부입니다 |454| [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior) | Claude Code가 최고 우선순위 관리형 소스만 적용하는지 또는 [모든 소스를 구성](#compose-every-managed-source)하는지 여부입니다 |

420| [`parentSettingsBehavior`](/docs/ko/settings-reference#parentsettingsbehavior) | 호스트에서 제공한 부모 설정이 관리형 정책 아래에 병합되는지 여부입니다 |455| [`parentSettingsBehavior`](/docs/ko/settings-reference#parentsettingsbehavior) | 호스트 제공 부모 설정이 관리형 정책 아래에 병합되는지 여부입니다 |

421| [`pluginSuggestionMarketplaces`](/docs/ko/settings-reference#pluginsuggestionmarketplaces) | Claude Code가 사용자에게 제안할 수 있는 플러그인의 마켓플레이스입니다 |456| [`pluginSuggestionMarketplaces`](/docs/ko/settings-reference#pluginsuggestionmarketplaces) | Claude Code가 사용자에게 제안할 수 있는 플러그인의 마켓플레이스입니다 |

422| [`pluginTrustMessage`](/docs/ko/settings-reference#plugintrustmessage) | 설치 전에 표시되는 플러그인 신뢰 경고에 추가되는 사용자 정의 메시지입니다 |457| [`pluginTrustMessage`](/docs/ko/settings-reference#plugintrustmessage) | 설치 전에 표시되는 플러그인 신뢰 경고에 추가되는 사용자 정의 메시지입니다 |

423| [`policyHelper`](/docs/ko/settings-reference#policyhelper) | 시작 시 관리형 설정을 계산하는 실행 파일입니다. [정책 도우미로 관리형 설정 계산](/docs/ko/settings-reference#policyhelper)을 참조하세요 |458| [`policyHelper`](/docs/ko/settings-reference#policyhelper) | 시작 시 관리형 설정을 계산하는 실행 파일입니다. [정책 도우미로 관리형 설정 계산](/docs/ko/settings-reference#policyhelper)을 참조하세요 |

424| [`sandbox.filesystem.allowManagedReadPathsOnly`](/docs/ko/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | `true`일 때 관리형 설정의 `filesystem.allowRead` 경로만 적용됩니다. `denyRead`는 여전히 모든 소스에서 병합됩니다 |459| [`sandbox.filesystem.allowManagedReadPathsOnly`](/docs/ko/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | `true`일 때 관리형 설정의 `filesystem.allowRead` 경로만 존중됩니다. `denyRead`는 여전히 모든 소스에서 병합됩니다 |

425| [`sandbox.network.allowManagedDomainsOnly`](/docs/ko/settings-reference#sandbox-network-allowmanageddomainsonly) | 관리형 `allowedDomains` 및 `WebFetch(domain:...)` 허용 규칙만 준수합니다. 다른 도메인을 프롬프트 없이 차단합니다 |460| [`sandbox.network.allowManagedDomainsOnly`](/docs/ko/settings-reference#sandbox-network-allowmanageddomainsonly) | 관리형 `allowedDomains` 및 `WebFetch(domain:...)` 허용 규칙만 준수합니다. 다른 도메인을 프롬프트 없이 차단합니다 |

426| [`strictKnownMarketplaces`](/docs/ko/settings-reference#strictknownmarketplaces) | 사용자가 추가하고 플러그인을 설치할 수 있는 플러그인 마켓플레이스 소스를 제어합니다. [관리형 마켓플레이스 제한](/docs/ko/plugins/org#restrict-what-users-can-install)을 참조하세요 |461| [`strictKnownMarketplaces`](/docs/ko/settings-reference#strictknownmarketplaces) | 사용자가 추가하고 플러그인을 설치할 수 있는 플러그인 마켓플레이스 소스를 제어합니다. [관리형 마켓플레이스 제한](/docs/ko/plugins/org#restrict-what-users-can-install)을 참조하세요 |

427| [`strictPluginOnlyCustomization`](/docs/ko/settings-reference#strictpluginonlycustomization) | 사용자 및 프로젝트 소스의 스킬, 에이전트, 훅 및 MCP 서버를 차단합니다. `true`는 네 가지 모두를 잠금하고, 배열은 어느 것을 잠금할지 지정합니다 |462| [`strictPluginOnlyCustomization`](/docs/ko/settings-reference#strictpluginonlycustomization) | 사용자 및 프로젝트 소스의 스킬, 에이전트, 훅 및 MCP 서버를 차단합니다. `true`는 네 가지 모두를 잠그고, 배열은 어느 것을 잠글지 지정합니다 |

428| [`wslInheritsWindowsSettings`](/docs/ko/settings-reference#wslinheritswindowssettings) | HKLM 레지스트리 또는 `C:\Program Files\ClaudeCode` 아래의 파일에 설정되면 WSL이 Windows 정책 체인을 읽고, 해당 디렉터리 아래의 관리형 설정 파일 또는 드롭인이 [정책 키](#how-claude-code-combines-managed-sources)를 전달하지 않을 때만 `/etc/claude-code`를 읽습니다. 항목은 순서를 제공합니다 |463| [`wslInheritsWindowsSettings`](/docs/ko/settings-reference#wslinheritswindowssettings) | HKLM 레지스트리 또는 `C:\Program Files\ClaudeCode` 아래의 파일에 설정되면 WSL이 Windows 정책 체인을 읽고, [Windows 관리자 문서가 없을 때](#present-admin-documents)만 `/etc/claude-code`를 읽습니다. 항목은 순서를 제공합니다 |

429 464 

430<Note>465<Note>

431 Team 및 Enterprise 플랜에서 소유자는 [Claude Code 관리자 설정](https://claude.ai/admin-settings/claude-code)에서 조직 전체에 대해 [원격 제어](/docs/ko/remote-control) 및 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 활성화하거나 비활성화합니다. 원격 제어는 [`disableRemoteControl`](/docs/ko/settings-reference#disableremotecontrol) 설정으로 장치별로 추가로 비활성화할 수 있습니다. 클라우드 세션에는 장치별 관리형 설정 키가 없습니다.466 Team 및 Enterprise 플랜에서 소유자는 [Claude Code 관리자 설정](https://claude.ai/admin-settings/claude-code)에서 조직 전체에 대해 [원격 제어](/docs/ko/remote-control) 및 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 활성화하거나 비활성화합니다. 원격 제어는 [`disableRemoteControl`](/docs/ko/settings-reference#disableremotecontrol) 설정으로 장치별로 추가로 비활성화할 수 있습니다. 클라우드 세션에는 장치별 관리형 설정 키가 없습니다.

432 467 

433 이러한 조직 설정이 특정 머신에 도달했는지 확인하려면 해당 머신에서 `claude doctor`를 실행하고 `Organization policy` 줄을 읽으세요. 이 줄은 Claude Code가 정책을 로드한 위치 또는 로드하지 못한 이유를 표시합니다. Claude Code v2.1.261 이상이 필요합니다. 실행 중인 세션에서 정책이 로드되지 않으면 `/status`가 동일한 줄을 표시합니다.468 이러한 조직 설정이 특정 머신에 도달했는지 확인하려면 거기서 `claude doctor`를 실행하고 `Organization policy` 줄을 읽으세요. 이 줄은 Claude Code가 정책을 로드한 위치 또는 로드하지 못한 이유를 표시합니다. Claude Code v2.1.261 이상이 필요합니다. 실행 중인 세션에서 정책이 로드되지 않으면 `/status`가 동일한 줄을 표시합니다.

434</Note>469</Note>

435 470 

436<h2 id="turn-telemetry-off-for-your-organization">471<h2 id="turn-telemetry-off-for-your-organization">


449 484 

450Claude Code는 `1` 값을 [승인 대화 상자](/docs/ko/server-managed-settings#environment-variables-and-the-approval-dialog)를 표시하지 않고 적용합니다.485Claude Code는 `1` 값을 [승인 대화 상자](/docs/ko/server-managed-settings#environment-variables-and-the-approval-dialog)를 표시하지 않고 적용합니다.

451 486 

452원격 분석을 끄면, Claude Code는 정책이 도달하는 개발자에 대해 조직의 [분석 대시보드](/docs/ko/analytics)를 공급하는 사용 데이터 전송을 중단합니다. 변수는 또한 기능 플래그 가져오기를 끕니다. 이는 원격 제어, 기본 자동 모드, 및 [기능 플래그 가져오기가 필요한 다른 기능](/docs/ko/env-vars#features-that-need-feature-flag-fetching)을 해당 개발자에게 사용할 수 없게 만듭니다.487원격 분석을 끄면, Claude Code는 정책이 도달하는 개발자에 대해 조직의 [분석 대시보드](/docs/ko/analytics)를 공급하는 사용 데이터 전송을 중단합니다. 변수는 또한 해당 개발자에 대해 [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)를 끕니다. Remote Control의 경우, [Remote Control 요구 사항](/docs/ko/remote-control#requirements)을 참조하세요.

453 488 

454[정책이 적용되는 위치 및 시기](#where-and-when-a-policy-applies)에서 각 전달 메커니즘이 어떤 표면에 도달하는지 설명하고, [플랫폼 가용성](/docs/ko/server-managed-settings#platform-availability)에서 어떤 세션이 서버 관리형 설정 가져오기를 건너뛰는지 설명합니다.489[정책이 적용되는 위치 및 시기](#where-and-when-a-policy-applies)에서 각 전달 메커니즘이 어떤 표면에 도달하는지 설명하고, [플랫폼 가용성](/docs/ko/server-managed-settings#platform-availability)에서 어떤 세션이 서버 관리형 설정 가져오기를 건너뛰는지 설명합니다.

455 490 

mcp.md +108 −91

Details

92 92 

93`url`은 있지만 `type`이 없는 JSON 항목은 구성 오류입니다. Claude Code는 `type`이 없는 항목을 stdio 서버로 읽기 때문입니다. Claude Code는 해당 서버를 건너뛰고 `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`를 보고합니다. v2.1.202 이전에는 Claude Code가 이 잘못된 구성을 `command: expected string, received undefined`로 보고했습니다.93`url`은 있지만 `type`이 없는 JSON 항목은 구성 오류입니다. Claude Code는 `type`이 없는 항목을 stdio 서버로 읽기 때문입니다. Claude Code는 해당 서버를 건너뛰고 `MCP server "<name>" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry`를 보고합니다. v2.1.202 이전에는 Claude Code가 이 잘못된 구성을 `command: expected string, received undefined`로 보고했습니다.

94 94 

95SDK 호스트 애플리케이션 (예: [Agent SDK](/docs/ko/agent-sdk/mcp) 애플리케이션 또는 [데스크톱 앱](/docs/ko/desktop))만 인프로세스 `"type": "sdk"` 서버를 등록할 수 있습니다. Claude Code는 `.mcp.json`, `~/.claude.json` 또는 설정의 `"type": "sdk"` 항목을 건너뛰고 `Skipped — MCP server "<name>" declares type "sdk", which only an SDK host application can register`를 보고합니다.

96 

95`--output-format stream-json` 실행에서 Claude Code는 또한 `system/init` 이벤트의 [`mcp_server_errors` 필드](/docs/ko/headless#stream-responses)에서 건너뛴 `--mcp-config` 항목을 보고하므로 스크립트가 서버가 로드되지 않았음을 감지할 수 있습니다. 이는 Claude Code v2.1.219 이상이 필요합니다.97`--output-format stream-json` 실행에서 Claude Code는 또한 `system/init` 이벤트의 [`mcp_server_errors` 필드](/docs/ko/headless#stream-responses)에서 건너뛴 `--mcp-config` 항목을 보고하므로 스크립트가 서버가 로드되지 않았음을 감지할 수 있습니다. 이는 Claude Code v2.1.219 이상이 필요합니다.

96 98 

97<h3 id="option-2-add-a-remote-sse-server">99<h3 id="option-2-add-a-remote-sse-server">


128 130 

129`CLAUDE_PROJECT_DIR`은 안정적인 프로젝트 루트이며 세션 중에 작업 디렉터리를 추가하거나 제거할 때 변경되지 않습니다. 자신의 파일 시스템 액세스를 허용된 디렉터리 집합으로 제한하는 서버는 대신 MCP `roots/list` 요청을 구현해야 합니다. Claude Code는 `roots/list`에 세션의 시작 디렉터리와 `--add-dir`, `/add-dir` 또는 `additionalDirectories` 설정으로 부여한 모든 [추가 작업 디렉터리](/docs/ko/permissions#working-directories)로 응답합니다. Claude Code는 해당 집합이 변경될 때 `notifications/roots/list_changed`를 보냅니다. v2.1.203 이전에는 `roots/list`가 시작 디렉터리만 반환했고 Claude Code는 `notifications/roots/list_changed`를 보내지 않았습니다.131`CLAUDE_PROJECT_DIR`은 안정적인 프로젝트 루트이며 세션 중에 작업 디렉터리를 추가하거나 제거할 때 변경되지 않습니다. 자신의 파일 시스템 액세스를 허용된 디렉터리 집합으로 제한하는 서버는 대신 MCP `roots/list` 요청을 구현해야 합니다. Claude Code는 `roots/list`에 세션의 시작 디렉터리와 `--add-dir`, `/add-dir` 또는 `additionalDirectories` 설정으로 부여한 모든 [추가 작업 디렉터리](/docs/ko/permissions#working-directories)로 응답합니다. Claude Code는 해당 집합이 변경될 때 `notifications/roots/list_changed`를 보냅니다. v2.1.203 이전에는 `roots/list`가 시작 디렉터리만 반환했고 Claude Code는 `notifications/roots/list_changed`를 보내지 않았습니다.

130 132 

131이 변수는 Claude Code 자체의 환경이 아닌 서버의 환경에 설정되므로 프로젝트 범위 또는 사용자 범위의 `.mcp.json` 항목 또는 로컬 범위 서버 항목의 `command` 또는 `args`에서 `${VAR}` 확장을 통해 참조하려면 `${CLAUDE_PROJECT_DIR:-.}`와 같은 기본값이 필요합니다. 플러그인 제공 MCP 구성은 `${CLAUDE_PROJECT_DIR}`을 직접 대체하며 기본값이 필요하지 않습니다.133이 변수는 Claude Code 자체의 환경이 아닌 서버의 환경에 설정되므로 프로젝트 범위 `.mcp.json` 항목 또는 로컬 범위 또는 사용자 범위 서버 항목의 `command` 또는 `args`에서 `${VAR}` 확장을 통해 참조하려면 `${CLAUDE_PROJECT_DIR:-.}`와 같은 기본값이 필요합니다. 플러그인 제공 MCP 구성은 `${CLAUDE_PROJECT_DIR}`을 직접 대체하며 기본값이 필요하지 않습니다.

132 134 

133```bash theme={null}135```bash theme={null}

134# 기본 구문136# 기본 구문


151 153 

152 `--`가 없으면 Claude Code는 위의 `--port`와 같은 서버의 플래그를 자신의 옵션으로 구문 분석하려고 시도합니다.154 `--`가 없으면 Claude Code는 위의 `--port`와 같은 서버의 플래그를 자신의 옵션으로 구문 분석하려고 시도합니다.

153 155 

154 `--env`는 여러 `KEY=value` 쌍을 허용합니다. 서버 이름이 `--env` 직후에 오면 CLI는 이름을 다른 쌍으로 읽고 거부하므로 위의 예와 같이 `--env`와 서버 이름 사이에 최소한 하나의 다른 옵션을 배치하세요.156 `--env`는 여러 `KEY=value` 쌍을 허용합니다. 서버 이름이 `--env` 직후에 오면 CLI는 이름을 다른 쌍으로 읽고 거부하므로 `--env`와 서버 이름 사이에 최소한 하나의 다른 옵션(예: `--transport stdio`)을 배치하세요.

155</Note>157</Note>

156 158 

157<h3 id="option-4-add-a-remote-websocket-server">159<h3 id="option-4-add-a-remote-websocket-server">


297 299 

298검색 캐시는 기본적으로 꺼져 있으며, 점진적 롤아웃이 계정에 대해 활성화하지 않는 한 꺼져 있습니다. [`MCP_DISCOVERY_CACHE=1`](/docs/ko/env-vars)을 설정하여 켜거나, 롤아웃이 활성화했을 때도 꺼진 상태로 유지하려면 `0`으로 설정하세요. v2.1.238 이전에는 캐시가 기본적으로 켜져 있었습니다.300검색 캐시는 기본적으로 꺼져 있으며, 점진적 롤아웃이 계정에 대해 활성화하지 않는 한 꺼져 있습니다. [`MCP_DISCOVERY_CACHE=1`](/docs/ko/env-vars)을 설정하여 켜거나, 롤아웃이 활성화했을 때도 꺼진 상태로 유지하려면 `0`으로 설정하세요. v2.1.238 이전에는 캐시가 기본적으로 켜져 있었습니다.

299 301 

300`/mcp`의 서버 메뉴의 두 가지 작업도 해당 서버의 캐시 항목에 영향을 미칩니다:302`/mcp`의 서버 메뉴에서 **Disable** 또는 **Clear authentication**을 선택하면 Claude Code는 해당 서버의 캐시 항목도 삭제합니다. **Reconnect**는 연결되거나 실패한 서버에서도 삭제합니다. `cached` 서버에서 **Reconnect**는 지금 서버에 연결하고 항목을 유지합니다. 항목을 삭제한 후 Claude Code가 서버에 다시 연결할 때, 캐시 대신 서버에서 서버의 도구 목록을 가져옵니다.

301 

302* **Reconnect**: `cached` 서버에서 Claude Code는 첫 번째 도구 호출이 아닌 지금 연결하고 항목을 유지합니다. 연결되거나 실패한 서버에서 Claude Code는 재연결하고 항목도 삭제합니다.

303* **Clear authentication**: Claude Code는 서버의 인증을 취소하고 항목도 삭제합니다.

304 

305항목을 삭제한 후 Claude Code는 캐시 대신 서버에서 서버의 도구 목록을 가져옵니다.

306 303 

307서버의 상태가 `✘ Failed to connect`일 때, `claude mcp list`는 해당 상태 줄에 실패 세부 정보를 추가하고, `claude mcp get <name>`은 `Issue:` 줄에 표시합니다: HTTP 상태 또는 오류 코드, 그리고 서버가 반환한 오류 텍스트입니다. `/mcp`의 서버 세부 정보 보기는 `Issue:` 행에 동일한 서버 보고 텍스트를 포함합니다. Claude Code는 이 세부 정보에서 자격 증명 같은 텍스트를 수정하고 확장된 서버 URL을 포함하지 않습니다. 이는 비밀을 전달할 수 있습니다. Claude Code는 `✘ Connection error` 상태에 세부 정보를 추가하지 않습니다. 인쇄할 예외 텍스트가 해당 URL을 포함할 수 있기 때문입니다. v2.1.219 이전에는 두 명령 모두 상태 코드 또는 서버의 오류 텍스트 없이 기본 실패 상태만 표시했습니다.304서버의 상태가 `✘ Failed to connect`일 때, `claude mcp list`는 해당 상태 줄에 실패 세부 정보를 추가하고, `claude mcp get <name>`은 `Issue:` 줄에 표시합니다: HTTP 상태 또는 오류 코드, 그리고 서버가 반환한 오류 텍스트입니다. `/mcp`의 서버 세부 정보 보기는 `Issue:` 행에 동일한 서버 보고 텍스트를 포함합니다. Claude Code는 이 세부 정보에서 자격 증명 같은 텍스트를 수정하고 확장된 서버 URL을 포함하지 않습니다. 이는 비밀을 전달할 수 있습니다. Claude Code는 `✘ Connection error` 상태에 세부 정보를 추가하지 않습니다. 인쇄할 예외 텍스트가 해당 URL을 포함할 수 있기 때문입니다. v2.1.219 이전에는 두 명령 모두 상태 코드 또는 서버의 오류 텍스트 없이 기본 실패 상태만 표시했습니다.

308 305 

309`/mcp`에서 인증을 완료하고 연결이 여전히 HTTP 상태 또는 전송 오류 코드로 실패하면 Claude Code는 시도한 URL의 코드와 원점을 메시지에 추가합니다. 원점은 체계 및 호스트, 그리고 URL이 이름을 지정할 때 포트입니다. 예: `https://mcp.example.com`.306`/mcp`에서 인증을 완료하고 연결이 여전히 HTTP 상태 또는 전송 오류 코드로 실패하면 Claude Code는 시도한 후 메시지에 코드와 서버 URL의 원점을 추가합니다. 원점은 체계 및 호스트, 그리고 URL이 이름을 지정할 때 포트입니다. 예: `https://mcp.example.com`.

310 307 

311* 경로 및 쿼리는 해당 메시지에 나타나지 않습니다.308* 경로 및 쿼리는 해당 메시지에 나타나지 않습니다.

312* 로컬, 프로젝트, 사용자 [범위](#mcp-installation-scopes) 또는 관리되는 MCP 구성의 서버의 경우, 원점은 해당 구성에 작성된 호스트를 표시하므로 호스트의 `${VAR}` 참조는 메시지에서 확장되지 않습니다.309* 로컬, 프로젝트, 사용자 [범위](#mcp-installation-scopes) 또는 관리되는 MCP 구성의 서버의 경우, 원점은 해당 구성에 작성된 호스트를 표시하므로 호스트의 `${VAR}` 참조는 메시지에서 확장되지 않습니다.


410 407 

411Claude Code는 지수 백오프를 사용하여 연결이 끊어진 원격 서버를 다시 연결합니다: 최대 5번의 시도, 1초 지연으로 시작하여 매번 두 배씩 증가합니다. 보이는 것은 Claude Code를 실행하는 방식에 따라 다릅니다:408Claude Code는 지수 백오프를 사용하여 연결이 끊어진 원격 서버를 다시 연결합니다: 최대 5번의 시도, 1초 지연으로 시작하여 매번 두 배씩 증가합니다. 보이는 것은 Claude Code를 실행하는 방식에 따라 다릅니다:

412 409 

413* **대화형 세션**: `/mcp`는 Claude Code가 재연결하는 동안 서버를 보류 중으로 표시합니다. 5번의 실패 시도 후 Claude Code는 서버를 실패로 표시하거나 서버가 다시 인증이 필요할 때 인증 필요로 표시합니다. `/mcp`에서 수동으로 재시도할 수 있습니다.410* **대화형 세션**: `/mcp`는 Claude Code가 재연결하는 동안 서버를 보류 중으로 표시합니다. 5번의 실패 시도 후 Claude Code는 서버를 실패로 표시하거나 서버가 다시 인증이 필요할 때 인증 필요로 표시합니다. 실패로 표시할 때 `MCP server "<name>" disconnected · open /mcp to reconnect` 알림이 표시됩니다. `/mcp`에서 수동으로 재시도할 수 있습니다.

414* **[`claude -p`](/docs/ko/headless) 실행 및 [Agent SDK](/docs/ko/agent-sdk/overview) 세션**: Claude Code는 동일한 일정으로 재연결하지만, 시도를 표시할 `/mcp` 패널은 없습니다.411* **[`claude -p`](/docs/ko/headless) 실행 및 [Agent SDK](/docs/ko/agent-sdk/overview) 세션**: Claude Code는 동일한 일정으로 재연결하지만, 시도를 표시할 `/mcp` 패널은 없습니다.

415 412 

416<h4 id="failed-first-connections">413<h4 id="failed-first-connections">


671 668 

672세 범위는 이름으로 중복을 일치시킵니다. 플러그인과 커넥터는 엔드포인트로 일치하므로 위의 서버와 동일한 URL 또는 명령을 가리키는 것은 중복으로 처리됩니다.669세 범위는 이름으로 중복을 일치시킵니다. 플러그인과 커넥터는 엔드포인트로 일치하므로 위의 서버와 동일한 URL 또는 명령을 가리키는 것은 중복으로 처리됩니다.

673 670 

671두 URL 표기법은 스킴 또는 호스트의 문자 대소문자, 스킴의 기본 포트(예: `https`의 `:443`) 또는 후행 슬래시에서만 다를 때 동일한 엔드포인트로 간주됩니다. 다른 경로, 쿼리 문자열, userinfo 또는 기본이 아닌 포트는 두 서버를 구분합니다.

672 

674조직이 [`managedMcpServers`](/docs/ko/managed-mcp#provide-servers-through-managed-settings) 관리형 설정을 통해 제공하는 서버는 이 모든 것 위에 순위가 매겨지므로 이 중 하나가 중복되면 Claude Code는 조직의 정의를 연결합니다. Claude Code v2.1.259 이상이 필요합니다.673조직이 [`managedMcpServers`](/docs/ko/managed-mcp#provide-servers-through-managed-settings) 관리형 설정을 통해 제공하는 서버는 이 모든 것 위에 순위가 매겨지므로 이 중 하나가 중복되면 Claude Code는 조직의 정의를 연결합니다. Claude Code v2.1.259 이상이 필요합니다.

675 674 

676[Desktop 앱의 Code 탭](/docs/ko/desktop#mcp-servers-from-the-claude-desktop-chat-app)에서 로컬 세션을 열 때 `~/.claude.json` (사용자 범위)의 최상위 수준과 `.mcp.json`에 동일한 stdio 서버 이름이 있으면 Code 탭은 `~/.claude.json` 정의를 사용합니다.675[Desktop 앱의 Code 탭](/docs/ko/desktop#mcp-servers-from-the-claude-desktop-chat-app)에서 로컬 세션을 열 때 `~/.claude.json` (사용자 범위)의 최상위 수준과 `.mcp.json`에 동일한 stdio 서버 이름이 있으면 Code 탭은 `~/.claude.json` 정의를 사용합니다.


821 820 

822많은 클라우드 기반 MCP 서버는 인증이 필요합니다. Claude Code는 보안 연결을 위해 OAuth 2.0을 지원합니다.821많은 클라우드 기반 MCP 서버는 인증이 필요합니다. Claude Code는 보안 연결을 위해 OAuth 2.0을 지원합니다.

823 822 

824Claude Code는 서버가 `401 Unauthorized` 또는 `403 Forbidden`으로 응답할 때 원격 서버를 인증이 필요한 것으로 표시합니다. Claude Code가 표시하는 내용은 서버에 따라 다릅니다:823Claude Code는 서버가 `401 Unauthorized` 또는 `403 Forbidden`으로 응답할 때 원격 서버가 인증이 필요한 것으로 표시합니다. Claude Code가 표시하는 내용은 서버에 따라 다릅니다.

825 824 

826* 로그인하지 않은 서버의 경우 두 상태 코드 모두 `/mcp`에서 서버를 플래그하여 OAuth 흐름을 완료할 수 있습니다.825* 아직 로그인하지 않은 서버의 경우, 두 상태 코드 중 하나가 `/mcp`에서 플래그되어 OAuth 흐름을 완료할 수 있습니다.

827* [claude.ai 커넥터](#use-mcp-servers-from-claude-ai)의 경우 claude.ai가 세션 토큰을 거부하여 발생한 `401`은 커넥터를 플래그하지 않습니다. 커넥터를 다시 인증해도 로그인을 수정할 수 없기 때문입니다. Claude Code는 대신 [세션 토큰 거부 상태](/docs/ko/errors#claude-ai-rejected-the-session-token)를 표시합니다.826* [claude.ai 커넥터](#use-mcp-servers-from-claude-ai)의 경우, claude.ai가 세션 토큰을 거부하여 발생한 `401`은 커넥터를 플래그하지 않습니다. 커넥터를 다시 인증해도 로그인을 수정할 수 없기 때문입니다. Claude Code는 대신 [세션 토큰 거부 상태](/docs/ko/errors#claude-ai-rejected-the-session-token)를 표시합니다.

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

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

830 829 

831이미 로그인한 OAuth 서버에 대한 요청이 `401 Unauthorized`를 반환하면 Claude Code는 저장된 토큰을 새로 고치고 재연결한 후 요청을 한 번 재시도합니다. 해당 재시도도 실패한 경우에만 `/mcp`에서 서버를 플래그합니다. v2.1.206 이전에는 네트워크 오류와 같은 일시적인 이유로 토큰 새로 고침이 실패하면 새로 고침 토큰이 여전히 유효했음에도 불구하고 OAuth 서버를 세션의 나머지 기간 동안 인증이 필요한 것으로 플래그했습니다.830이미 로그인한 OAuth 서버에 대한 요청이 `401 Unauthorized`를 반환할 때, Claude Code는 저장된 토큰을 새로 고치고, 다시 연결하고, 요청을 한 번 재시도합니다. 해당 재시도도 실패한 경우에만 `/mcp`에서 서버를 플래그합니다. v2.1.206 이전에는 네트워크 오류와 같은 일시적 이유로 토큰 새로 고침이 실패하면 새로 고침 토큰이 여전히 유효했음에도 불구하고 OAuth 서버가 세션의 나머지 기간 동안 인증이 필요한 것으로 플래그되었습니다.

832 831 

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

834 833 

835인증 서버를 가리키는 `WWW-Authenticate` 헤더를 반환하는 사용자 정의 서버는 다른 원격 서버와 동일한 자동 검색을 받습니다.834`WWW-Authenticate` 헤더를 반환하는 사용자 정의 서버는 다른 원격 서버와 동일한 자동 검색을 받습니다.

836 835 

837Claude Code는 또한 하나 이상의 구성된 서버가 인증이 필요할 때 시작 알림을 표시하므로 어떤 서버가 로그인이 필요한지 알아내기 위해 `/mcp`를 열 필요가 없습니다. 알림에는 Claude Code v2.1.193 이상이 필요합니다. Claude Code에서 로그인할 수 있는 서버만 계산합니다. v2.1.218 이전에는 claude.ai에서 연결되지 않은 [claude.ai 커넥터](#use-mcp-servers-from-claude-ai)도 계산했으며, 이는 claude.ai 설정에서만 연결할 수 있습니다.836Claude Code는 또한 하나 이상의 구성된 서버가 인증이 필요할 때 시작 알림을 표시하므로 `/mcp`를 열어서 어떤 서버가 로그인이 필요한지 확인할 필요가 없습니다. 이 알림은 Claude Code v2.1.193 이상이 필요합니다. Claude Code에서 로그인할 수 있는 서버만 계산합니다. v2.1.218 이전에는 claude.ai에서 연결되지 않은 [claude.ai 커넥터](#use-mcp-servers-from-claude-ai)도 계산했으며, 이는 claude.ai 설정에서만 연결할 수 있습니다.

838 837 

839알림은 각 서버를 한 번 공지하고 해당 서버가 연결되어 다시 로그인이 필요할 때까지 이후 시작 시 계산에서 제외합니다. `/mcp`는 여전히 로그인이 필요한 모든 서버를 나열합니다.838알림은 각 서버를 한 번 발표하고 해당 서버가 연결되어 다시 로그인이 필요할 때까지 이후 시작 시 계산에서 제외합니다. `/mcp`는 여전히 로그인이 필요한 모든 서버를 나열합니다.

840 839 

841비대화형 모드에는 `/mcp` 패널이 없으므로 Claude Code는 OAuth 흐름을 실행할 수 없습니다. v2.1.196부터 구성된 서버가 [도구 검색](#scale-with-mcp-tool-search)이 활성화된 `claude -p` 또는 Agent SDK 실행 중에 인증이 필요할 때 (기본값), Claude Code는 Claude에게 서버의 도구가 인증할 때까지 사용할 수 없음을 알립니다. Claude는 서버가 구성되지 않은 것처럼 응답하는 대신 로그인이 필요한 서버의 이름을 지정할 수 있습니다. `/mcp`를 사용하는 대화형 세션에서 또는 `claude mcp login <name>`으로 로그인을 완료합니다.840비대화형 모드에는 `/mcp` 패널이 없으므로 Claude Code는 OAuth 흐름을 실행할 수 없습니다. v2.1.196부터, 구성된 서버가 [도구 검색](#scale-with-mcp-tool-search)이 활성화된 `claude -p` 또는 Agent SDK 실행 중에 인증이 필요할 때(기본값), Claude Code는 Claude에 서버의 도구가 인증될 때까지 사용 불가능함을 알립니다. Claude는 서버가 구성되지 않은 것처럼 응답하는 대신 로그인이 필요한 서버의 이름을 지정할 수 있습니다. `/mcp` 또는 `claude mcp login <name>`을 사용하여 대화형 세션에서 로그인을 완료하세요.

842 841 

843서버에 대해 `headers.Authorization`을 구성했는데 서버가 해당 헤더를 거부하면 Claude Code는 OAuth로 폴백하지 않고 연결이 실패한 것으로 보고합니다. MCP 엔드포인트에 대해 토큰이 유효한지 확인하거나 OAuth 흐름을 사용하려면 헤더를 제거합니다.842서버에 대해 `headers.Authorization`을 구성했고 서버가 해당 헤더를 거부하면, Claude Code는 OAuth로 폴백하는 대신 연결이 실패했다고 보고합니다. 토큰이 MCP 엔드포인트에 유효한지 확인하거나 헤더를 제거하여 OAuth 흐름을 사용하세요.

844 843 

845<Steps>844<Steps>

846 <Step title="인증이 필요한 서버 추가">845 <Step title="인증이 필요한 서버 추가">

847 [MCP 빠른 시작](/docs/ko/mcp-quickstart#connect-a-server-that-requires-sign-in)에서 이미 `sentry` 서버를 추가했다면 이 단계를 건너뜁니다. 동일한 서버 이름으로 동일한 범위에서 `claude mcp add`를 다시 실행하면 `MCP server sentry already exists in local config`로 실패합니다. 그렇지 않으면 다음을 실행합니다:846 [MCP 빠른 시작](/docs/ko/mcp-quickstart#connect-a-server-that-requires-sign-in)에서 이미 `sentry` 서버를 추가한 경우 이 단계를 건너뛰세요. 같은 서버 이름으로 같은 범위에서 `claude mcp add`를 다시 실행하면 `MCP server sentry already exists in local config`로 실패합니다. 그렇지 않으면 다음을 실행하세요.

848 847 

849 ```bash theme={null}848 ```bash theme={null}

850 claude mcp add --transport http sentry https://mcp.sentry.dev/mcp849 claude mcp add --transport http sentry https://mcp.sentry.dev/mcp


852 </Step>851 </Step>

853 852 

854 <Step title="Claude Code 내에서 /mcp 명령 사용">853 <Step title="Claude Code 내에서 /mcp 명령 사용">

855 Claude Code에서 다음 명령을 사용합니다:854 Claude Code에서 다음 명령을 사용하세요.

856 855 

857 ```text wrap theme={null}856 ```text wrap theme={null}

858 /mcp857 /mcp

859 ```858 ```

860 859 

861 그런 다음 브라우저에서 로그인 단계를 따릅니다.860 그런 다음 브라우저의 단계를 따라 로그인하세요.

862 </Step>861 </Step>

863</Steps>862</Steps>

864 863 

865<Tip>864<Tip>

866 팁:865 팁:

867 866 

868 * 인증 토큰은 안전하게 저장되고 자동으로 새로 고쳐집니다867 * 인증 토큰은 안전하게 저장되고 자동으로 새로 고쳐집니다.

869 * `/mcp` 메뉴에서 "Clear authentication"을 사용하여 액세스를 취소합니다868 * `/mcp` 메뉴에서 "Clear authentication"을 사용하여 액세스를 취소합니다.

870 * 브라우저가 자동으로 열리지 않으면 제공된 URL을 복사하여 수동으로 엽니다869 * 브라우저가 자동으로 열리지 않으면 제공된 URL을 복사하여 수동으로 엽니다.

871 * 인증 후 브라우저 리디렉션이 연결 오류로 실패하면 브라우저의 주소 표시줄에서 전체 콜백 URL을 복사하여 Claude Code에 나타나는 URL 프롬프트에 붙여넣습니다870 * 인증 후 브라우저 리디렉션이 연결 오류로 실패하면 브라우저의 주소 표시줄에서 전체 콜백 URL을 복사하여 Claude Code에 나타나는 URL 프롬프트에 붙여넣으세요.

872 * OAuth 인증은 HTTP 서버에서 작동합니다871 * OAuth 인증은 HTTP 서버에서 작동합니다.

873</Tip>872</Tip>

874 873 

875<h3 id="authenticate-from-the-command-line">874<h3 id="authenticate-from-the-command-line">


882claude mcp login sentry881claude mcp login sentry

883```882```

884 883 

885나중에 저장된 자격 증명을 지우려면 `claude mcp logout <name>`을 실행합니다.884나중에 저장된 자격 증명을 지우려면 `claude mcp logout <name>`을 실행하세요.

886 885 

887`claude mcp login`은 SSH 세션 중이거나 디스플레이 서버가 없는 Linux와 같이 로컬 브라우저를 사용할 수 없는 경우를 감지하고 브라우저를 열려고 시도하는 대신 인증 URL을 출력합니다. 로컬 머신에서 URL을 열고 브라우저의 주소 표시줄에서 전체 리디렉션 URL을 프롬프트에 다시 붙여넣습니다. 명령은 붙여넣기 단계를 위해 대화형 터미널이 필요하므로 `ssh -t`로 연결합니다. 로컬 브라우저가 감지되었을 때도 URL 프롬프트를 강제하려면 `--no-browser`를 전달합니다.886`claude mcp login`은 SSH 세션 중이거나 디스플레이 서버가 없는 Linux에서와 같이 로컬 브라우저를 사용할 수 없을 때를 감지하고 브라우저를 열려고 시도하는 대신 인증 URL을 인쇄합니다. 로컬 머신에서 URL을 열고 브라우저의 주소 표시줄에서 전체 리디렉션 URL을 프롬프트에 다시 붙여넣으세요. 이 명령은 붙여넣기 단계를 위해 대화형 터미널이 필요하므로 `ssh -t`로 연결하세요. 로컬 브라우저가 감지되었을 때도 URL 프롬프트를 강제하려면 `--no-browser`를 전달하세요.

888 887 

889```bash theme={null}888```bash theme={null}

890claude mcp login sentry --no-browser889claude mcp login sentry --no-browser


894 고정 OAuth 콜백 포트 사용893 고정 OAuth 콜백 포트 사용

895</h3>894</h3>

896 895 

897일부 MCP 서버는 미리 등록된 특정 리디렉션 URI가 필요합니다. 기본적으로 Claude Code는 OAuth 콜백을 위해 무작위로 사용 가능한 포트를 선택합니다. `--callback-port`를 사용하여 포트를 고정하여 `http://localhost:PORT/callback` 형식의 사전 등록된 리디렉션 URI와 일치하도록 합니다. Claude Code v2.1.229에서 리디렉션 URI 불일치로 로그인이 실패하면 [사전 구성된 OAuth 자격 증명 사용](#use-pre-configured-oauth-credentials)의 버전 참고를 참조합니다.896일부 MCP 서버는 미리 등록된 특정 리디렉션 URI가 필요합니다. 기본적으로 Claude Code는 OAuth 콜백을 위해 임의의 사용 가능한 포트를 선택합니다. `--callback-port`를 사용하여 포트를 고정하여 `http://localhost:PORT/callback` 형식의 사전 등록된 리디렉션 URI와 일치하도록 합니다. Claude Code v2.1.229에서 로그인이 리디렉션 URI 불일치로 실패하면 [사전 구성된 OAuth 자격 증명 사용](#use-pre-configured-oauth-credentials)의 버전 참고를 참조하세요.

898 897 

899`--callback-port`를 단독으로 사용할 수 있습니다 (동적 클라이언트 등록 포함) 또는 `--client-id`와 함께 사용할 수 있습니다 (사전 구성된 자격 증명 포함).898`--callback-port`를 단독으로(동적 클라이언트 등록 사용) 또는 `--client-id`와 함께(사전 구성된 자격 증명 사용) 사용할 수 있습니다.

900 899 

901```bash theme={null}900```bash theme={null}

902# 동적 클라이언트 등록을 사용한 고정 콜백 포트901# 동적 클라이언트 등록을 사용한 고정 콜백 포트


909 사전 구성된 OAuth 자격 증명 사용908 사전 구성된 OAuth 자격 증명 사용

910</h3>909</h3>

911 910 

912일부 MCP 서버는 동적 클라이언트 등록을 통한 자동 OAuth 설정을 지원하지 않습니다. "Incompatible auth server: does not support dynamic client registration"과 같은 오류가 표시되면 서버에 사전 구성된 자격 증명이 필요합니다. Claude Code는 또한 동적 클라이언트 등록 대신 클라이언트 ID 메타데이터 문서 (CIMD)를 사용하는 서버를 지원하며 자동으로 검색합니다. 자동 검색이 실패하면 먼저 서버의 개발자 포털을 통해 OAuth 앱을 등록한 다음 서버를 추가할 때 자격 증명을 제공합니다.911일부 MCP 서버는 동적 클라이언트 등록을 통한 자동 OAuth 설정을 지원하지 않습니다. "Incompatible auth server: does not support dynamic client registration"과 같은 오류가 표시되면 서버에 사전 구성된 자격 증명이 필요합니다. Claude Code는 또한 동적 클라이언트 등록 대신 클라이언트 ID 메타데이터 문서(CIMD)를 사용하는 서버를 지원하며 이를 자동으로 검색합니다. 자동 검색이 실패하면 먼저 서버의 개발자 포털을 통해 OAuth 앱을 등록한 다음 서버를 추가할 때 자격 증명을 제공하세요.

913 912 

914<Steps>913<Steps>

915 <Step title="서버로 OAuth 앱 등록">914 <Step title="서버로 OAuth 앱 등록">

916 서버의 개발자 포털을 통해 앱을 생성하고 클라이언트 ID와 클라이언트 시크릿을 기록합니다.915 서버의 개발자 포털을 통해 앱을 만들고 클라이언트 ID와 클라이언트 시크릿을 기록하세요.

917 916 

918 많은 서버는 리디렉션 URI도 필요합니다. 그렇다면 포트를 선택하고 `http://localhost:PORT/callback` 형식으로 리디렉션 URI를 등록합니다. 다음 단계에서 `--callback-port`와 함께 동일한 포트를 사용합니다.917 등록 양식에서 리디렉션 URI를 요청하면 사용 가능한 포트를 선택하고 해당 포트로 `http://localhost:PORT/callback`을 입력하세요. 다음 단계에서 같은 포트를 사용합니다.

919 918 

920 v2.1.229에서 Claude Code는 `http://127.0.0.1:PORT/callback`을 대신 보냈으며, 등록된 리디렉션 URI와 정확히 일치하는 서버는 리디렉션 URI 불일치로 로그인을 거부했습니다. Claude Code v2.1.231은 `localhost` 형식을 복원했습니다. v2.1.229에서 복구하려면 Claude Code를 업그레이드하거나 임시로 `http://127.0.0.1:PORT/callback` 형식을 서버의 등록된 리디렉션 URI에 추가합니다.919 v2.1.229에서 Claude Code는 `http://127.0.0.1:PORT/callback`을 대신 보냈으며, 등록된 리디렉션 URI와 정확히 일치하는 서버는 리디렉션 URI 불일치로 로그인을 거부했습니다. Claude Code v2.1.231은 `localhost` 형식을 복원했습니다. v2.1.229에서 복구하려면 Claude Code를 업그레이드하거나 임시로 `http://127.0.0.1:PORT/callback` 형식을 서버의 등록된 리디렉션 URI에 추가하세요.

921 </Step>920 </Step>

922 921 

923 <Step title="자격 증명으로 서버 추가">922 <Step title="자격 증명으로 서버 추가">

924 다음 방법 중 하나를 선택합니다. `--callback-port`에 사용되는 포트는 사용 가능한 모든 포트일 수 있습니다. 이전 단계에서 등록한 리디렉션 URI와 일치하기만 하면 됩니다.923 탭은 두 명령을 모두 다룹니다. `claude mcp add`는 클라이언트 ID와 콜백 포트를 플래그로 사용하고, `claude mcp add-json`은 `oauth` 객체에서 사용합니다. 리디렉션 URI를 등록한 경우 콜백 포트를 해당 URI의 포트로 설정하세요.

925 924 

926 <Tabs>925 <Tabs>

927 <Tab title="claude mcp add">926 <Tab title="claude mcp add">

928 `--client-id`를 사용하여 앱의 클라이언트 ID를 전달합니다. `--client-secret` 플래그는 마스킹된 입력으로 시크릿을 요청합니다:927 `--client-id`를 사용하여 앱의 클라이언트 ID를 전달하세요. `--client-secret` 플래그는 마스킹된 입력으로 시크릿을 프롬프트합니다.

929 928 

930 ```bash theme={null}929 ```bash theme={null}

931 claude mcp add --transport http \930 claude mcp add --transport http \


935 </Tab>934 </Tab>

936 935 

937 <Tab title="claude mcp add-json">936 <Tab title="claude mcp add-json">

938 JSON 구성에 `oauth` 객체를 포함하고 `--client-secret`을 별도의 플래그로 전달합니다:937 JSON 구성에 `oauth` 객체를 포함하고 `--client-secret`을 별도 플래그로 전달하세요.

939 938 

940 ```bash theme={null}939 ```bash theme={null}

941 claude mcp add-json my-server \940 claude mcp add-json my-server \


945 </Tab>944 </Tab>

946 945 

947 <Tab title="claude mcp add-json (콜백 포트만)">946 <Tab title="claude mcp add-json (콜백 포트만)">

948 동적 클라이언트 등록을 사용하면서 포트를 고정하려면 클라이언트 ID 없이 `--callback-port`를 사용합니다:947 콜백 포트만 고정하고 Claude Code가 클라이언트를 자동으로 등록하도록 하려면 `callbackPort`를 단독으로 설정하세요.

949 948 

950 ```bash theme={null}949 ```bash theme={null}

951 claude mcp add-json my-server \950 claude mcp add-json my-server \


953 ```952 ```

954 </Tab>953 </Tab>

955 954 

956 <Tab title="CI / 환경 변수">955 <Tab title="CI / env var">

957 환경 변수를 통해 시크릿을 설정하여 대화형 프롬프트를 건너뜁니다:956 환경 변수를 통해 시크릿을 설정하여 대화형 프롬프트를 건너뛰세요.

958 957 

959 ```bash theme={null}958 ```bash theme={null}

960 MCP_CLIENT_SECRET=your-secret claude mcp add --transport http \959 MCP_CLIENT_SECRET=your-secret claude mcp add --transport http \


966 </Step>965 </Step>

967 966 

968 <Step title="Claude Code에서 인증">967 <Step title="Claude Code에서 인증">

969 Claude Code에서 `/mcp`를 실행하고 브라우저 로그인 흐름을 따릅니다.968 Claude Code에서 `/mcp`를 실행하고 브라우저 로그인 흐름을 따르세요.

970 </Step>969 </Step>

971</Steps>970</Steps>

972 971 

973<Tip>972<Tip>

974 팁:973 팁:

975 974 

976 * 클라이언트 시크릿은 구성에 저장되지 않고 시스템 키체인 (macOS) 또는 자격 증명 파일에 안전하게 저장됩니다975 * 클라이언트 시크릿은 구성에 저장되지 않고 시스템 키체인(macOS) 또는 자격 증명 파일에 안전하게 저장됩니다.

977 * 서버를 추가할 때만 클라이언트 시크릿을 설정할 수 있습니다. `claude mcp login` 또는 `/mcp`에서 인증할 때 Claude Code는 저장된 시크릿을 사용하며 시크릿을 요청하거나 `MCP_CLIENT_SECRET`을 읽지 않습니다976 * 서버를 추가할 때만 클라이언트 시크릿을 설정할 수 있습니다. `claude mcp login` 또는 `/mcp`에서 인증할 때 Claude Code는 저장된 시크릿을 사용하며 하나를 프롬프트하거나 `MCP_CLIENT_SECRET`을 읽지 않습니다.

978 * 나중에 시크릿을 추가하거나 변경하려면 `claude mcp remove <name>`으로 서버를 제거한 다음 `--client-secret`과 동일한 `--scope`로 다시 추가합니다977 * 나중에 시크릿을 추가하거나 변경하려면 `claude mcp remove <name>`으로 서버를 제거한 다음 `--client-secret`과 같은 `--scope`로 다시 추가하세요.

979 * 서버가 시크릿이 없는 공개 OAuth 클라이언트를 사용하는 경우 `--client-secret` 없이 `--client-id`만 사용합니다978 * 서버가 시크릿이 없는 공개 OAuth 클라이언트를 사용하면 `--client-secret` 없이 `--client-id`만 사용하세요.

980 * 이러한 플래그는 HTTP 및 SSE 전송에만 적용됩니다. stdio 서버에는 영향을 주지 않습니다979 * 이 플래그는 HTTP 및 SSE 전송에만 적용됩니다. stdio 서버에는 영향을 주지 않습니다.

981 * `claude mcp get <name>`을 사용하여 OAuth 자격 증명이 서버에 대해 구성되었는지 확인합니다980 * `claude mcp get <name>`을 사용하여 OAuth 자격 증명이 서버에 대해 구성되었는지 확인하세요.

982</Tip>981</Tip>

983 982 

984<h3 id="override-oauth-metadata-discovery">983<h3 id="override-oauth-metadata-discovery">

985 OAuth 메타데이터 검색 재정의984 OAuth 메타데이터 검색 재정의

986</h3>985</h3>

987 986 

988특정 OAuth 인증 서버 메타데이터 URL을 가리켜 기본 검색 체인을 우회하도록 Claude Code를 설정합니다. MCP 서버의 표준 엔드포인트가 오류를 반환하거나 내부 프록시를 통해 검색을 라우팅하려는 경우에 `authServerMetadataUrl`을 설정합니다. 기본적으로 Claude Code는 먼저 `/.well-known/oauth-protected-resource`에서 RFC 9728 보호된 리소스 메타데이터를 확인한 다음 `/.well-known/oauth-authorization-server`에서 RFC 8414 인증 서버 메타데이터로 돌아갑니다.987기본 검색 체인을 우회하기 위해 Claude Code를 특정 OAuth 인증 서버 메타데이터 URL로 지정하세요. MCP 서버의 표준 엔드포인트가 오류를 발생시키거나 검색을 내부 프록시를 통해 라우팅하려는 경우 `authServerMetadataUrl`을 설정하세요. 기본적으로 Claude Code는 먼저 `/.well-known/oauth-protected-resource`에서 RFC 9728 보호된 리소스 메타데이터를 확인한 다음 `/.well-known/oauth-authorization-server`에서 RFC 8414 인증 서버 메타데이터로 폴백합니다.

989 988 

990`.mcp.json`의 서버 구성의 `oauth` 객체에 `authServerMetadataUrl`을 설정합니다:989`.mcp.json`의 서버 구성의 `oauth` 객체에 `authServerMetadataUrl`을 설정하세요.

991 990 

992```json theme={null}991```json theme={null}

993{992{


1009 OAuth 범위 제한1008 OAuth 범위 제한

1010</h3>1009</h3>

1011 1010 

1012`oauth.scopes`를 설정하여 인증 흐름 중에 Claude Code가 요청하는 범위를 고정합니다. 이는 업스트림 인증 서버가 광고하는 것보다 더 많은 범위를 부여하고 싶지 않을 때 MCP 서버를 보안 팀이 승인한 부분 집합으로 제한하는 지원되는 방법입니다. 값은 RFC 6749 §3.3의 `scope` 매개변수 형식과 일치하는 단일 공백으로 구분된 문자열입니다.1011`oauth.scopes`를 설정하여 인증 흐름 중에 Claude Code가 요청하는 범위를 고정하세요. 이는 업스트림 인증 서버가 부여하려는 것보다 더 많은 범위를 광고할 때 MCP 서버를 보안 팀이 승인한 부분 집합으로 제한하는 지원되는 방법입니다. 값은 RFC 6749 §3.3의 `scope` 매개변수 형식과 일치하는 단일 공백으로 구분된 문자열입니다.

1013 1012 

1014```json theme={null}1013```json theme={null}

1015{1014{


1025}1024}

1026```1025```

1027 1026 

1028`oauth.scopes`는 `authServerMetadataUrl`과 서버가 `/.well-known`에서 검색하는 범위 모두보다 우선합니다. 설정하지 않으면 MCP 서버가 요청된 범위 집합을 결정합니다.1027`oauth.scopes`는 `authServerMetadataUrl`과 서버가 `/.well-known`에서 검색하는 범위 모두보다 우선합니다. MCP 서버가 요청된 범위 집합을 결정하도록 하려면 설정하지 않은 상태로 두세요.

1029 1028 

1030v2.1.196부터 `oauth.scopes`가 설정되지 않으면 Claude Code는 서버의 `WWW-Authenticate` 헤더 또는 보호된 리소스 메타데이터에서 제공하는 범위를 요청하고 둘 다 제공하지 않을 때 `scope` 매개변수를 보내지 않습니다. 더 이상 자동으로 검색된 인증 서버 메타데이터에서 전체 `scopes_supported` 카탈로그를 요청하지 않습니다. 해당 카탈로그를 요청하면 관리자 전용 또는 템플릿 범위를 광고하는 ID 공급자가 `invalid_scope` 오류로 인증 요청을 거부하게 했습니다. 구성된 `authServerMetadataUrl`에서 가져온 메타데이터는 여전히 `scopes_supported`를 요청된 범위로 제공합니다.1029v2.1.196부터, `oauth.scopes`가 설정되지 않으면 Claude Code는 서버의 `WWW-Authenticate` 헤더 또는 보호된 리소스 메타데이터에서 제공하는 범위를 요청하고, 둘 다 제공하지 않을 때 `scope` 매개변수를 보내지 않습니다. 더 이상 자동으로 검색된 인증 서버 메타데이터에서 전체 `scopes_supported` 카탈로그를 요청하지 않습니다. 해당 카탈로그를 요청하면 관리자 전용 또는 템플릿 범위를 광고하는 ID 공급자가 `invalid_scope` 오류로 인증 요청을 거부했습니다. 구성된 `authServerMetadataUrl`에서 가져온 메타데이터는 여전히 `scopes_supported`를 요청된 범위로 제공합니다.

1031 1030 

1032인증 서버가 `scopes_supported`에서 `offline_access`를 광고하면 Claude Code는 액세스 토큰을 새로운 브라우저 로그인 없이 새로 고칠 수 있도록 고정된 범위에 추가합니다.1031인증 서버가 `scopes_supported`에서 `offline_access`를 광고하면, Claude Code는 새로운 브라우저 로그인 없이 액세스 토큰을 새로 고칠 수 있도록 고정된 범위에 추가합니다.

1033 1032 

1034서버가 나중에 도구 호출에 대해 403 `insufficient_scope`을 반환하면 호출이 [`추가 권한 필요`](/docs/ko/errors#mcp-server-needs-you-to-sign-in-again) 메시지로 실패하며 서버가 요청하는 범위의 이름을 지정합니다. 서버는 `/mcp`에서 인증이 필요한 것으로 표시됩니다.1033서버가 나중에 도구 호출에 대해 403 `insufficient_scope`을 반환하면, 호출은 서버가 요청하는 범위의 이름을 지정하는 [`needs additional permissions`](/docs/ko/errors#mcp-server-needs-you-to-sign-in-again) 메시지로 실패합니다. 서버는 `/mcp`에서 인증이 필요한 것으로 표시됩니다.

1035 1034 

1036해당 범위가 고정된 `oauth.scopes`에 없으면 범위를 추가한 다음 `/mcp`를 실행하고 서버를 다시 인증합니다. Claude Code는 서버가 명명한 범위가 아니라 고정된 범위를 요청하므로 추가하지 않고 다시 인증하면 받는 토큰에 여전히 범위가 없습니다.1035해당 범위가 고정된 `oauth.scopes`에 없으면 추가한 다음 `/mcp`를 실행하고 서버를 다시 인증하세요. Claude Code는 서버가 명명한 범위가 아닌 고정된 범위를 요청하므로, 추가하지 않고 다시 인증하면 얻은 토큰에 여전히 없습니다.

1037 1036 

1038<h3 id="use-dynamic-headers-for-custom-authentication">1037<h3 id="use-dynamic-headers-for-custom-authentication">

1039 사용자 정의 인증을 위한 동적 헤더 사용1038 사용자 정의 인증을 위해 동적 헤더 사용

1040</h3>1039</h3>

1041 1040 

1042MCP 서버가 OAuth (예: Kerberos, 단기 토큰 또는 내부 SSO)가 아닌 다른 인증 체계를 사용하는 경우 `headersHelper`를 사용하여 연결 시간에 요청 헤더를 생성합니다. Claude Code는 명령을 실행하고 출력을 연결 헤더에 병합합니다.1041MCP 서버가 Kerberos, 단기 토큰 또는 내부 SSO와 같은 OAuth 이외의 인증 체계를 사용하면, `headersHelper`를 사용하여 연결 시간에 요청 헤더를 생성하세요. Claude Code는 명령을 실행하고 출력을 연결 헤더에 병합합니다.

1043 1042 

1044```json theme={null}1043```json theme={null}

1045{1044{


1053}1052}

1054```1053```

1055 1054 

1056명령은 인라인일 수도 있습니다:1055명령은 인라인일 수도 있습니다.

1057 1056 

1058```json theme={null}1057```json theme={null}

1059{1058{


1069 1068 

1070**요구 사항:**1069**요구 사항:**

1071 1070 

1072* 명령은 JSON 객체의 문자열 키-값 쌍을 stdout에 작성해야 합니다1071* 명령은 JSON 객체의 문자열 키-값 쌍을 stdout에 작성해야 합니다.

1073* Claude Code는 명령을 셸에서 실행하고 10초 후에 포기합니다1072* Claude Code는 명령을 셸에서 실행하고 10초 후 포기합니다.

1074* Claude Code는 [서버를 구성한 위치](#where-the-helper-runs)에 따라 명령의 작업 디렉토리를 선택하므로 스크립트에 절대 경로를 사용하거나 `PATH`에 넣습니다1073* Claude Code는 [서버를 구성한 위치](#where-the-helper-runs)에 따라 명령의 작업 디렉토리를 선택하므로 스크립트를 절대 경로로 제공하거나 `PATH`에 넣으세요.

1075* 동적 헤더는 동일한 이름의 정적 `headers`를 재정의합니다1074* 동적 헤더는 같은 이름의 정적 `headers`를 재정의합니다.

1076 1075 

1077Claude Code는 [프로젝트 및 로컬 범위 서버에 대한 신뢰 규칙](#trust-a-folder-before-its-headershelper-runs)이 실행을 허용한 후 각 연결 (세션 시작 및 재연결 시)에서 헬퍼를 새로 실행합니다. 결과를 캐싱하지 않으므로 스크립트는 토큰 재사용을 담당합니다.1076Claude Code는 [프로젝트 및 로컬 범위 서버에 대한 신뢰 규칙](#trust-a-folder-before-its-headershelper-runs)이 실행을 허용한 후 세션 시작 및 재연결 시 각 연결에서 헬퍼를 새로 실행합니다. 결과를 캐시하지 않으므로 스크립트는 토큰 재사용을 담당합니다.

1078 1077 

1079도구 호출이 `401 Unauthorized` 또는 `403 Forbidden`을 반환하면 Claude Code는 자동으로 동일한 규칙에 따라 헬퍼를 다시 실행하고 새로운 헤더로 재연결한 다음 호출을 한 번 재시도합니다. Claude Code는 해당 재시도도 실패한 경우에만 서버를 `/mcp`에서 인증이 필요한 것으로 표시합니다.1078도구 호출이 `401 Unauthorized` 또는 `403 Forbidden`을 반환하면, Claude Code는 같은 규칙 아래에서 헬퍼를 자동으로 다시 실행하고, 새로운 헤더로 다시 연결하고, 호출을 한 번 재시도합니다. Claude Code는 해당 재시도도 실패한 경우에만 `/mcp`에서 서버를 인증이 필요한 것으로 표시합니다.

1080 1079 

1081헬퍼의 출력에 `Authorization` 헤더가 포함되면 Claude Code는 해당 자격 증명을 서버의 인증으로 사용하고 서버에 대해 OAuth로 폴백하지 않습니다.1080헬퍼의 출력에 `Authorization` 헤더가 포함되면, Claude Code는 해당 자격 증명을 서버의 인증으로 사용하며 서버에 대해 OAuth로 폴백하지 않습니다.

1082 1081 

1083서버가 연결 중에 헬퍼의 자격 증명을 거부하면 Claude Code는 서버를 인증이 필요한 것으로 표시하지 않고 연결이 실패한 것으로 보고합니다. 헬퍼가 반환하는 자격 증명을 수정한 다음 `/mcp`에서 재연결하여 헬퍼를 다시 실행합니다.1082헬퍼의 자격 증명이 연결 중에 서버에 의해 거부되면, Claude Code는 서버를 인증이 필요한 것으로 표시하는 대신 연결이 실패했다고 보고합니다. 헬퍼가 반환하는 자격 증명을 수정한 다음 `/mcp`에서 다시 연결하여 헬퍼를 다시 실행하세요.

1084 1083 

1085Claude Code는 헬퍼를 실행할 때 다음 환경 변수를 설정합니다:1084Claude Code는 헬퍼를 실행할 때 다음 환경 변수를 설정합니다.

1086 1085 

1087| 변수 | 값 |1086| 변수 | 값 |

1088| :- | :- |1087| :- | :- |

1089| `CLAUDE_CODE_MCP_SERVER_NAME` | MCP 서버의 이름 |1088| `CLAUDE_CODE_MCP_SERVER_NAME` | MCP 서버의 이름 |

1090| `CLAUDE_CODE_MCP_SERVER_URL` | MCP 서버의 URL |1089| `CLAUDE_CODE_MCP_SERVER_URL` | MCP 서버의 URL |

1091| `CLAUDE_PLUGIN_ROOT` | 플러그인의 루트 디렉토리. [플러그인](/docs/ko/plugins/components#mcp-servers)이 서버를 제공할 때만 설정됩니다 |1090| `CLAUDE_PLUGIN_ROOT` | 플러그인의 루트 디렉토리. [플러그인](/docs/ko/plugins/components#mcp-servers)이 서버를 제공할 때만 설정됨 |

1092 1091 

1093이를 사용하여 여러 MCP 서버를 제공하는 단일 헬퍼 스크립트를 작성합니다.1092이를 사용하여 여러 MCP 서버를 제공하는 단일 헬퍼 스크립트를 작성하세요.

1094 1093 

1095플러그인 제공 `headersHelper`는 명령이 셸을 통해 실행되기 때문에 플러그인의 [`${user_config.*}`](/docs/ko/plugins/manifest-reference#user-configuration) 값을 참조할 수 없습니다. Claude Code는 서버를 [오류](/docs/ko/errors#plugin-command-references-user-config)와 함께 잘못 구성된 것으로 보고하고 값을 대체하지 않습니다. `${user_config.KEY}`를 셸 구문 분석되지 않는 서버의 `headers` 필드에 넣거나 헬퍼 스크립트가 구성 파일에서 값을 읽도록 합니다. v2.1.207 이전에는 `headersHelper`가 `${user_config.*}` 값을 대체했습니다.1094플러그인 제공 `headersHelper`는 명령이 셸을 통해 실행되기 때문에 플러그인의 [`${user_config.*}`](/docs/ko/plugins/manifest-reference#user-configuration) 값을 참조할 수 없습니다. Claude Code는 서버를 [오류](/docs/ko/errors#plugin-command-references-user-config)로 잘못 구성된 것으로 보고하며 값을 대체하지 않습니다. 대신 `${user_config.KEY}`를 셸 파싱되지 않는 서버의 `headers` 필드에 넣거나 헬퍼 스크립트가 구성 파일에서 값을 읽도록 하세요. v2.1.207 이전에는 `headersHelper`가 `${user_config.*}` 값을 대체했습니다.

1096 1095 

1097<h4 id="where-the-helper-runs">1096<h4 id="where-the-helper-runs">

1098 헬퍼가 실행되는 위치1097 헬퍼가 실행되는 위치

1099</h4>1098</h4>

1100 1099 

1101Claude Code는 서버를 선언한 구성에서 `headersHelper` 명령의 작업 디렉토리를 선택합니다. Claude Code에서 실행하는 `cd`는 이를 이동하지 않으며, [`/cd`](/docs/ko/permissions#move-the-session-to-another-directory)는 세션의 기본 작업 디렉토리에서 실행되는 서버에 대해서만 이를 이동합니다. 아래의 각 행은 `headersHelper` 명령의 상대 경로가 확인되는 디렉토리를 제공합니다.1100Claude Code는 서버를 선언하는 구성에서 `headersHelper` 명령의 작업 디렉토리를 선택합니다. Claude Code가 Bash에서 실행하는 `cd`는 이를 이동하지 않으며, [`/cd`](/docs/ko/permissions#move-the-session-to-another-directory)는 세션의 기본 작업 디렉토리에서 실행되는 서버에 대해서만 이를 이동합니다. 아래의 각 행은 `headersHelper` 명령의 상대 경로가 해석되는 디렉토리를 제공합니다.

1102 1101 

1103| 서버를 구성한 위치 | 작업 디렉토리 |1102| 서버를 구성한 위치 | 작업 디렉토리 |

1104| :- | :- |1103| :- | :- |

1105| [플러그인](/docs/ko/plugins/components#mcp-servers) | 플러그인의 루트 디렉토리. Claude Code v2.1.195 이상이 필요합니다 |1104| [플러그인](/docs/ko/plugins/components#mcp-servers) | 플러그인의 루트 디렉토리. Claude Code v2.1.195 이상 필요 |

1106| 프로젝트 `.mcp.json` 또는 [로컬 범위](#local-scope) 서버 | 서버가 선언된 프로젝트 디렉토리 |1105| 프로젝트 `.mcp.json` 또는 [로컬 범위](#local-scope) 서버 | 서버가 선언된 프로젝트 디렉토리 |

1107| 프로젝트의 에이전트 파일, SDK의 `mcpServers` 옵션 또는 `setMcpServers()` 메서드의 서버, 또는 [`--mcp-config`](/docs/ko/cli-reference) | 세션의 [기본 작업 디렉토리](/docs/ko/permissions#working-directories) |1106| 프로젝트의 에이전트 파일, SDK의 `mcpServers` 옵션 또는 `setMcpServers()` 메서드의 서버, 또는 [`--mcp-config`](/docs/ko/cli-reference) | 세션의 [기본 작업 디렉토리](/docs/ko/permissions#working-directories) |

1108| [사용자 범위](#user-scope), [관리형 MCP](/docs/ko/managed-mcp), [claude.ai 커넥터](#use-mcp-servers-from-claude-ai), 또는 프로젝트 외부의 에이전트 파일 (`--add-dir` 디렉토리 포함) | 구성 디렉토리 `~/.claude` (또는 [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정한 경우) |1107| [사용자 범위](#user-scope), [관리형 MCP](/docs/ko/managed-mcp), [claude.ai 커넥터](#use-mcp-servers-from-claude-ai), 또는 프로젝트 외부의 에이전트 파일(예: `--add-dir` 디렉토리의 파일 포함) | 구성 디렉토리, `~/.claude`(또는 [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)을 설정한 경우) |

1109 1108 

1110v2.1.238 이전에는 Claude Code는 또한 사용자 범위, 관리형, claude.ai 커넥터 서버의 헬퍼와 프로젝트 외부의 에이전트 파일을 시작한 디렉토리에서 실행했습니다.1109v2.1.238 이전에는 Claude Code도 사용자 범위, 관리형 및 claude.ai 커넥터 서버의 헬퍼와 프로젝트 외부의 에이전트 파일을 시작한 디렉토리에서 실행했습니다.

1111 1110 

1112<h4 id="which-variables-a-helper-can-read">1111<h4 id="which-variables-a-helper-can-read">

1113 헬퍼가 읽을 수 있는 변수1112 헬퍼가 읽을 수 있는 변수

1114</h4>1113</h4>

1115 1114 

1116저장소 또는 플러그인이 제공하는 `headersHelper`는 작성하지 않은 명령이므로 Claude Code는 `ANTHROPIC_API_KEY`와 같은 환경의 자격 증명 변수 없이 실행합니다. 서버를 구성한 위치에 따라 이것이 적용되는지 결정됩니다:1115저장소 또는 플러그인이 제공하는 `headersHelper`는 작성하지 않은 명령이므로 Claude Code는 `ANTHROPIC_API_KEY`와 같은 환경의 자격 증명 변수 없이 실행합니다. 서버를 구성한 위치에 따라 이것이 적용되는지 결정됩니다.

1117 1116 

1118* **제거됨**: 프로젝트 `.mcp.json` 또는 플러그인의 서버, 프로젝트 또는 `--add-dir` 디렉토리의 에이전트 파일의 인라인 서버1117* **제거됨**: 프로젝트 `.mcp.json` 또는 플러그인의 서버, 그리고 프로젝트 또는 `--add-dir` 디렉토리의 에이전트 파일의 인라인 서버

1119* **제거되지 않음**: [사용자](#user-scope) 또는 [로컬 범위](#local-scope)의 서버, [관리형 MCP](/docs/ko/managed-mcp), [claude.ai 커넥터](#use-mcp-servers-from-claude-ai), SDK 또는 [`--mcp-config`](/docs/ko/cli-reference)에서 제공되는 서버, `~/.claude/agents/`, 관리형 설정 또는 `--agents`로 전달되는 에이전트 파일의 인라인 서버1118* **제거되지 않음**: [사용자](#user-scope) 또는 [로컬 범위](#local-scope)의 서버, [관리형 MCP](/docs/ko/managed-mcp), [claude.ai 커넥터](#use-mcp-servers-from-claude-ai), SDK 또는 [`--mcp-config`](/docs/ko/cli-reference)에서 제공되는 서버, 그리고 `~/.claude/agents/`, 관리형 설정 또는 `--agents`로 전달된 에이전트 파일의 인라인 서버

1120 1119 

1121Git의 `GIT_CONFIG_KEY_<n>` 변수를 제외하고 Claude Code는 `TOKEN`, `SECRET`, `PASSWORD`, `KEY` 또는 `AUTH`가 포함된 이름과 같이 자격 증명처럼 보이는 이름을 가진 환경의 모든 변수를 제거합니다 (대소문자 모두). `ANTHROPIC_API_KEY`와 `MY_REGISTRY_TOKEN` 모두 제거됩니다. Claude Code는 또한 `ANTHROPIC_CUSTOM_HEADERS`와 같이 해당 패턴을 따르지 않는 이름의 고정 자격 증명 변수 목록을 제거합니다.1120Git의 `GIT_CONFIG_KEY_<n>` 변수를 제외하고, Claude Code는 `TOKEN`, `SECRET`, `PASSWORD`, `KEY` 또는 `AUTH`가 포함된 이름(대소문자 상관없음)과 같이 자격 증명처럼 보이는 이름의 모든 변수를 환경에서 제거합니다. 따라서 `ANTHROPIC_API_KEY`와 `MY_REGISTRY_TOKEN` 모두 제거됩니다. Claude Code는 또한 `ANTHROPIC_CUSTOM_HEADERS`와 같이 해당 패턴을 따르지 않는 자격 증명 변수의 고정 목록을 제거합니다.

1122 1121 

1123이것이 헬퍼에 적용되면 스크립트가 파일 또는 자격 증명 저장소에서 자격 증명을 읽도록 합니다. 서버의 `url`이 [이러한 변수 중 하나를 확장](#environment-variable-expansion-in-mcp-json)하면 헬퍼가 받는 `CLAUDE_CODE_MCP_SERVER_URL` 값도 해당 부분이 `REDACTED`로 대체됩니다.1122이것이 헬퍼에 적용되면, 스크립트가 파일 또는 자격 증명 저장소에서 자격 증명을 읽도록 하세요. 서버의 `url`이 [이러한 변수 중 하나의 라이브 값을 전달](#environment-variable-expansion-in-mcp-json)하면(예: `MY_REGISTRY_TOKEN`), 헬퍼가 받는 `CLAUDE_CODE_MCP_SERVER_URL` 값도 해당 부분이 `REDACTED`로 대체됩니다.

1124 1123 

1125<h4 id="trust-a-folder-before-its-headershelper-runs">1124<h4 id="trust-a-folder-before-its-headershelper-runs">

1126 headersHelper가 실행되기 전에 폴더를 신뢰합니다1125 headersHelper가 실행되기 전에 폴더 신뢰

1127</h4>1126</h4>

1128 1127 

1129Claude Code는 `headersHelper`를 임의의 셸 명령으로 실행합니다. 프로젝트 `.mcp.json` 또는 [로컬 범위](#local-scope)의 서버의 경우 서버가 선언된 프로젝트 디렉토리에 대한 [신뢰 대화 상자](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 수락한 후에만 헬퍼를 실행합니다. v2.1.238 이전에는 `claude -p` 또는 SDK 세션이 신뢰를 확인하지 않고 이러한 헬퍼를 실행했으며, 대화형 세션은 부모 폴더를 신뢰한 후 한 번 실행했습니다.1128Claude Code는 `headersHelper`를 임의의 셸 명령으로 실행합니다. 프로젝트 `.mcp.json` 또는 [로컬 범위](#local-scope)의 서버의 경우, 서버가 선언된 프로젝트 디렉토리에 대한 [신뢰 대화](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 수락한 후에만 헬퍼를 실행합니다. v2.1.238 이전에는 `claude -p` 또는 SDK 세션이 신뢰를 확인하지 않고 이러한 헬퍼를 실행했으며, 대화형 세션은 부모 폴더를 신뢰한 후 한 번 실행했습니다.

1130 1129 

1131* **신뢰하지 않는 것**: 부모 폴더의 신뢰, 그리고 [설정 파일의 hooks](/docs/ko/permissions#what-runs-before-you-trust-a-folder)에 대해 `claude -p` 또는 SDK 세션이 받는 자동 신뢰1130* **계산되지 않는 신뢰**: 부모 폴더의 신뢰, 그리고 `claude -p` 또는 SDK 세션이 [설정 파일의 후크](/docs/ko/permissions#what-runs-before-you-trust-a-folder)에 대해 받는 자동 신뢰

1132* **폴더를 신뢰할 때까지**: Claude Code는 정적 `headers`만으로 서버를 연결합니다. `claude -p` 또는 SDK 세션에서 stderr에 서버당 하나의 [`headersHelper not run`](/docs/ko/errors#headershelper-not-run) 줄을 출력하여 신뢰를 부여하는 방법을 알려줍니다.1131* **폴더를 신뢰할 때까지**: Claude Code는 정적 `headers`만으로 서버를 연결합니다. `claude -p` 또는 SDK 세션에서 또한 stderr에 서버당 하나의 [`headersHelper not run`](/docs/ko/errors#headershelper-not-run) 줄을 인쇄하여 신뢰를 부여하는 방법을 알려줍니다.

1133* **대화 상자 없이 신뢰**: `~/.claude.json`에서 `projects["<path>"].hasTrustDialogAccepted`를 `true`로 설정합니다. `<path>`는 [프로젝트 허용 규칙 및 작업 공간 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)가 Claude Code가 신뢰를 기반으로 하는 폴더입니다.1132* **대화 없이 신뢰**: `~/.claude.json`에서 `projects["<path>"].hasTrustDialogAccepted`를 `true`로 설정하세요. `<path>`는 폴더 [프로젝트 허용 규칙 및 작업 공간 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)가 Claude Code가 신뢰를 기반으로 하는 폴더입니다.

1134 1133 

1135Claude Code는 [에이전트 파일](/docs/ko/sub-agents#scope-mcp-servers-to-a-subagent)에 인라인으로 선언된 서버에 동일한 규칙을 적용하여 해당 에이전트 파일이 어디에서 왔는지 확인합니다: 프로젝트의 경우 `.claude/agents/` 디렉토리의 파일, 또는 `--add-dir` 디렉토리. [해당 프로젝트 또는 디렉토리 자체를 신뢰](/docs/ko/permissions#what-runs-before-you-trust-a-folder)할 때까지 Claude Code는 서버를 로드하지 않으므로 헬퍼도 실행되지 않습니다.1134Claude Code는 [에이전트 파일](/docs/ko/sub-agents#scope-mcp-servers-to-a-subagent)에 인라인으로 선언된 서버에 같은 규칙을 적용하여 해당 에이전트 파일이 어디에서 왔는지 확인합니다. 프로젝트의 경우 `.claude/agents/` 디렉토리의 파일, 또는 `--add-dir` 디렉토리. 해당 프로젝트 또는 디렉토리 자체를 [신뢰](/docs/ko/permissions#what-runs-before-you-trust-a-folder)할 때까지, Claude Code는 서버를 로드하지 않으므로 헬퍼도 실행되지 않습니다.

1136 1135 

1137<h2 id="add-mcp-servers-from-json-configuration">1136<h2 id="add-mcp-servers-from-json-configuration">

1138 JSON 구성에서 MCP 서버 추가1137 JSON 구성에서 MCP 서버 추가


1235 </Step>1234 </Step>

1236</Steps>1235</Steps>

1237 1236 

1237Anthropic은 또한 사용자나 관리자가 추가하지 않고도 일부 커넥터를 자체적으로 제공합니다. [Claude Docs](/docs/ko/artifacts#write-a-document-with-claude-docs)를 사용할 수 있는 계정에서는 `/mcp`가 설정 없이 `claude.ai Claude Docs`를 나열하며, 다른 사람을 위한 문서를 요청할 때 Claude가 이를 사용합니다. 이를 끄려면 `deniedMcpServers`에 `"claude.ai Claude Docs"`의 `serverName` 항목을 추가하거나 [claude.ai 커넥터 비활성화](#disable-claude-ai-connectors)에 설명된 `/mcp` 토글을 사용합니다.

1238 

1238조직이 claude.ai에서 인증을 관리할 때 Claude Code는 커넥터를 `/mcp`와 [`/plugin`](/docs/ko/plugins/install) 관리자에서 `managed`로 표시합니다. Managed 상태는 Claude Code가 커넥터에 연결하는 방식이나 조직의 [도구 제어](#organization-controls-on-connector-tools)를 적용하는 방식을 변경하지 않습니다.1239조직이 claude.ai에서 인증을 관리할 때 Claude Code는 커넥터를 `/mcp`와 [`/plugin`](/docs/ko/plugins/install) 관리자에서 `managed`로 표시합니다. Managed 상태는 Claude Code가 커넥터에 연결하는 방식이나 조직의 [도구 제어](#organization-controls-on-connector-tools)를 적용하는 방식을 변경하지 않습니다.

1239 1240 

1240한 번도 로그인하지 않은 커넥터는 claude.ai 섹션의 끝에 있는 `Show unused connectors` 행 뒤에 축소되므로 조직에서 제공한 목록이 패널을 채우지 않습니다. 행을 선택하여 확장합니다. 이전에 로그인한 커넥터는 현재 재인증이 필요한 경우에도 계속 표시됩니다.1241한 번도 로그인하지 않은 커넥터는 claude.ai 섹션의 끝에 있는 `Show unused connectors` 행 뒤에 축소되므로 조직에서 제공한 목록이 패널을 채우지 않습니다. 행을 선택하여 확장합니다. 이전에 로그인한 커넥터는 현재 재인증이 필요한 경우에도 계속 표시됩니다.


1272| 세션이 실행되는 위치 | 커넥터가 도착하는 방식 | 이를 제어하는 것 |1273| 세션이 실행되는 위치 | 커넥터가 도착하는 방식 | 이를 제어하는 것 |

1273| :- | :- | :- |1274| :- | :- | :- |

1274| Terminal, [VS Code](/docs/ko/vs-code), [JetBrains](/docs/ko/jetbrains) 및 [Agent SDK](/docs/ko/agent-sdk/claude-code-features) 세션 | Claude Code가 claude.ai에서 가져옴 | 이 섹션의 설정 및 [관리형 MCP 구성](/docs/ko/managed-mcp) |1275| Terminal, [VS Code](/docs/ko/vs-code), [JetBrains](/docs/ko/jetbrains) 및 [Agent SDK](/docs/ko/agent-sdk/claude-code-features) 세션 | Claude Code가 claude.ai에서 가져옴 | 이 섹션의 설정 및 [관리형 MCP 구성](/docs/ko/managed-mcp) |

1275| [클라우드 세션](/docs/ko/claude-code-on-the-web) | 원격 호스트가 전달 | claude.ai 조직 설정, 그리고 세션에 도달하는 [허용 목록 및 거부 목록](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 설정 및 이를 실행하는 호스트의 모든 `managed-mcp.json` |1276| [클라우드 세션](/docs/ko/claude-code-on-the-web) | 클라우드 호스트가 전달 | claude.ai 조직 설정, 그리고 세션에 도달하는 [허용 목록 및 거부 목록](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 설정 및 이를 실행하는 호스트의 모든 `managed-mcp.json` |

1276| [데스크톱 앱](/docs/ko/desktop)의 로컬 및 SSH 세션 | 데스크톱 앱이 프로세스 내에서 전달 | 조직의 [커넥터 도구 제어](#organization-controls-on-connector-tools)의 `blocked` 항목 |1277| [데스크톱 앱](/docs/ko/desktop)의 로컬 및 SSH 세션 | 데스크톱 앱이 프로세스 내에서 전달 | 조직의 [커넥터 도구 제어](#organization-controls-on-connector-tools)의 `blocked` 항목 |

1277 1278 

1278[`disableClaudeAiConnectors`](#disable-claude-ai-connectors), `ENABLE_CLAUDEAI_MCP_SERVERS` 및 [`allowAllClaudeAiMcps`](/docs/ko/settings-reference#allowallclaudeaimcps)는 첫 번째 행(Claude Code가 자체적으로 가져오는 커넥터)에만 작용합니다. 다른 두 행은 다음과 같은 방식으로 다릅니다:1279[`disableClaudeAiConnectors`](#disable-claude-ai-connectors), `ENABLE_CLAUDEAI_MCP_SERVERS` 및 [`allowAllClaudeAiMcps`](/docs/ko/settings-reference#allowallclaudeaimcps)는 첫 번째 행(Claude Code가 자체적으로 가져오는 커넥터)에만 작용합니다. 다른 두 행은 다음과 같은 방식으로 다릅니다:


1416 제어하지 않는 특정 MCP 서버에서 출력 경고가 자주 발생하는 경우, `MAX_MCP_OUTPUT_TOKENS` 제한을 늘리는 것을 고려하십시오. 서버 작성자에게 `anthropic/maxResultSizeChars` 주석 처리를 추가하거나 응답을 페이지 매김하도록 요청할 수도 있습니다. 주석 처리는 이미지 콘텐츠를 반환하는 도구에는 영향을 주지 않습니다. 이러한 도구의 경우 `MAX_MCP_OUTPUT_TOKENS`를 올리는 것이 유일한 옵션입니다.1417 제어하지 않는 특정 MCP 서버에서 출력 경고가 자주 발생하는 경우, `MAX_MCP_OUTPUT_TOKENS` 제한을 늘리는 것을 고려하십시오. 서버 작성자에게 `anthropic/maxResultSizeChars` 주석 처리를 추가하거나 응답을 페이지 매김하도록 요청할 수도 있습니다. 주석 처리는 이미지 콘텐츠를 반환하는 도구에는 영향을 주지 않습니다. 이러한 도구의 경우 `MAX_MCP_OUTPUT_TOKENS`를 올리는 것이 유일한 옵션입니다.

1417</Warning>1418</Warning>

1418 1419 

1420<h3 id="images-in-tool-results">

1421 도구 결과의 이미지

1422</h3>

1423 

1424MCP 도구가 PNG, JPEG, GIF 또는 WebP 이미지를 반환하면, Claude는 대화에서 이미지를 인라인으로 봅니다. 인라인 복사본은 모델의 이미지 크기 제한에 맞도록 축소되거나 압축될 수 있습니다. Claude Code는 또한 원본 바이트를 [`~/.claude/projects/`](/docs/ko/claude-directory#cleaned-up-automatically) 아래의 세션의 `tool-results` 디렉터리에 있는 파일에 저장하고 Claude에 경로를 제공합니다. Claude는 그 후 Bash와 같은 도구를 사용하여 전체 해상도 파일을 자르거나, 변환하거나, 재사용할 수 있습니다.

1425 

1426[`--no-session-persistence`](/docs/ko/cli-reference#cli-flags) 또는 [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/ko/env-vars)를 사용하여 세션 지속성을 비활성화하면, Claude Code는 이미지 파일을 작성하지 않으며 Claude는 인라인 복사본만 받습니다.

1427 

1428MCP 이미지 결과를 파일에 저장하려면 Claude Code v2.1.283 이상이 필요합니다.

1429 

1419<h2 id="tool-input-schemas-with-a-root-level-combinator">1430<h2 id="tool-input-schemas-with-a-root-level-combinator">

1420 루트 레벨 결합자가 있는 도구 입력 스키마1431 루트 레벨 결합자가 있는 도구 입력 스키마

1421</h2>1432</h2>


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

1488 1499 

1489* **양식 모드**: Claude Code는 서버에서 정의한 양식 필드가 있는 대화 상자를 표시합니다(예: 사용자 이름 및 암호 프롬프트). 필드를 채우고 제출합니다.1500* **양식 모드**: Claude Code는 서버에서 정의한 양식 필드가 있는 대화 상자를 표시합니다(예: 사용자 이름 및 암호 프롬프트). 필드를 채우고 제출합니다.

1490* **URL 모드**: Claude Code는 인증 또는 승인을 위해 브라우저 URL을 엽니다. 브라우저에서 흐름을 완료한 후 CLI에서 확인합니다.1501* **URL 모드**: Claude Code는 브라우저에서 링크를 열지 여부를 묻고 사용자가 수락할 때 링크를 엽니다. 서버는 이 모드를 터미널 외부에서 완료되는 흐름(예: 로그인)에 사용합니다.

1491 1502 

1492URL 모드에서 Claude Code는 URL을 명령줄 인수로 시스템의 URL 핸들러에 전달하며, 해당 인수의 길이를 제한합니다. URL이 명령줄에 대해 이스케이프된 후 해당 제한을 초과하면 요청을 거부할 수만 있습니다. `%` 또는 `&`와 같이 이스케이프해야 하는 모든 문자는 제한에 대해 4배로 계산됩니다. 즉, 자신의 문자와 3개의 이스케이프 문자입니다. 이들이 없는 URL은 약 8,000자에서 제한에 도달합니다. 대부분 퍼센트 이스케이프로 구성된 URL(3번째 문자마다 `%`가 있는 경우)은 대략 4,000에서 도달합니다.1503URL 모드에서 Claude Code는 URL을 명령줄 인수로 시스템의 URL 핸들러에 전달하며, 해당 인수의 길이를 제한합니다. URL이 명령줄에 대해 이스케이프된 후 해당 제한을 초과하면 요청을 거부할 수만 있습니다. `%` 또는 `&`와 같이 이스케이프해야 하는 모든 문자는 제한에 대해 4배로 계산됩니다. 즉, 자신의 문자와 3개의 이스케이프 문자입니다. 이들이 없는 URL은 약 8,000자에서 제한에 도달합니다. 대부분 퍼센트 이스케이프로 구성된 URL(3번째 문자마다 `%`가 있는 경우)은 대략 4,000에서 도달합니다.

1493 1504 


1495 1506 

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

1497 1508 

1509[protocol revision 2026-07-28](#mcp-client-runtimes)을 사용하는 연결에서 Claude Code는 클라이언트 기능에서 `elicitation: {form: {}, url: {}}`을 선언하므로, 해당 프로토콜의 표준 유도 요청을 통해 서버가 어느 모드든 요청할 수 있습니다.

1510 

1498<h2 id="use-mcp-resources">1511<h2 id="use-mcp-resources">

1499 MCP 리소스 사용1512 MCP 리소스 사용

1500</h2>1513</h2>


1540 * 리소스는 MCP 서버가 제공하는 모든 유형의 콘텐츠(텍스트, JSON, 구조화된 데이터 등)를 포함할 수 있습니다1553 * 리소스는 MCP 서버가 제공하는 모든 유형의 콘텐츠(텍스트, JSON, 구조화된 데이터 등)를 포함할 수 있습니다

1541</Tip>1554</Tip>

1542 1555 

1556MCP Apps UI 리소스는 `ui://` URI 또는 `text/html;profile=mcp-app` 미디어 타입을 가진 항목입니다: Claude가 읽을 콘텐츠가 아니라 호스트 애플리케이션이 렌더링할 페이지입니다. 이들은 `@` 제안이나 리소스 목록 도구의 결과에 나타나지 않으며, UI 리소스만 제공하는 서버는 빈 리소스 목록을 표시합니다. URI로 UI 리소스를 읽는 것은 여전히 작동합니다.

1557 

1543<h2 id="scale-with-mcp-tool-search">1558<h2 id="scale-with-mcp-tool-search">

1544 MCP 도구 검색으로 확장하기1559 MCP 도구 검색으로 확장하기

1545</h2>1560</h2>


1643 1658 

1644MCP 서버는 Claude Code에서 명령어로 사용 가능한 프롬프트를 노출할 수 있습니다.1659MCP 서버는 Claude Code에서 명령어로 사용 가능한 프롬프트를 노출할 수 있습니다.

1645 1660 

1661`anthropic-skills`라는 이름의 서버에서 나온 프롬프트는 표시되지 않습니다. Claude Code는 claude.ai에서 동기화된 스킬을 위해 [해당 이름을 예약](/docs/ko/skills#names-reserved-for-synced-skills)하기 때문입니다. 서버의 도구는 여전히 작동합니다. MCP 구성에서 서버의 이름을 바꾸어 프롬프트를 나열합니다.

1662 

1646<h3 id="execute-mcp-prompts">1663<h3 id="execute-mcp-prompts">

1647 MCP 프롬프트 실행하기1664 MCP 프롬프트 실행하기

1648</h3>1665</h3>

memory.md +9 −0

Details

103 103 

104**일관성**: 두 규칙이 서로 모순되면 Claude가 임의로 하나를 선택할 수 있습니다. CLAUDE.md 파일, 하위 디렉토리의 중첩된 CLAUDE.md 파일 및 [`.claude/rules/`](#organize-rules-with-claude/rules/)을 주기적으로 검토하여 오래되었거나 충돌하는 지침을 제거하십시오. 모노레포에서 [`claudeMdExcludes`](#exclude-specific-claude-md-files)를 사용하여 작업과 관련이 없는 다른 팀의 CLAUDE.md 파일을 건너뛰십시오.104**일관성**: 두 규칙이 서로 모순되면 Claude가 임의로 하나를 선택할 수 있습니다. CLAUDE.md 파일, 하위 디렉토리의 중첩된 CLAUDE.md 파일 및 [`.claude/rules/`](#organize-rules-with-claude/rules/)을 주기적으로 검토하여 오래되었거나 충돌하는 지침을 제거하십시오. 모노레포에서 [`claudeMdExcludes`](#exclude-specific-claude-md-files)를 사용하여 작업과 관련이 없는 다른 팀의 CLAUDE.md 파일을 건너뛰십시오.

105 105 

106Claude가 이 파일들에서 오래되었거나 충돌하는 지침을 확인하도록 하려면 세션에서 `/doctor prompt-audit`을 실행하십시오. Claude는 CLAUDE.md, CLAUDE.local.md 및 AGENTS.md 파일과 `.claude/` 및 `~/.claude/` 아래의 규칙, 스킬, 명령어, 서브에이전트 및 출력 스타일을 읽습니다. 이전 모델용으로 작성된 지침, 존재하지 않는 파일 또는 명령어에 대한 참조, 서로 모순되는 파일 등의 문제를 찾습니다. 발견 사항 보고서와 제안된 편집 세트를 받으며, Claude에게 적용하도록 요청할 때까지 파일의 아무것도 변경되지 않습니다.

107 

108대신 하나의 파일 또는 디렉토리를 감사하려면 경로를 전달하십시오(예: `/doctor prompt-audit .claude/skills/deploy`). 감사는 번들된 `/claude-api` 스킬을 통해 실행되므로 [`skillOverrides`](/docs/ko/skills#override-skill-visibility-from-settings)에서 해당 스킬이 꺼져 있거나 [`disableBundledSkills`](/docs/ko/settings-reference#disablebundledskills)로 비활성화되어 있으면 사용할 수 없습니다. `/doctor prompt-audit`은 Claude Code v2.1.283 이상이 필요합니다.

109 

106<h3 id="import-additional-files">110<h3 id="import-additional-files">

107 추가 파일 가져오기111 추가 파일 가져오기

108</h3>112</h3>


273ln -s ~/company-standards/security.md .claude/rules/security.md277ln -s ~/company-standards/security.md .claude/rules/security.md

274```278```

275 279 

280네트워크 경로(예: UNC 공유 `\\server\share` 또는 `/net` 또는 `/Network` 아래의 경로)에 `.claude/rules/` 또는 `CLAUDE.md` 심볼릭 링크를 가리키면 링크된 지침이 로드되지 않습니다. Claude Code는 이러한 경로를 조회하면 호스트에 연결할 수 있으므로 링크를 따르지 않습니다. `\\wsl$` 경로는 네트워크 경로로 계산되지 않습니다.

281 

276<h4 id="user-level-rules">282<h4 id="user-level-rules">

277 사용자 수준 규칙283 사용자 수준 규칙

278</h4>284</h4>


620* 관련 CLAUDE.md가 세션에 대해 로드되는 위치에 있는지 확인합니다([CLAUDE.md 파일을 어디에 배치할지 선택](#choose-where-to-put-claude-md-files) 참조).626* 관련 CLAUDE.md가 세션에 대해 로드되는 위치에 있는지 확인합니다([CLAUDE.md 파일을 어디에 배치할지 선택](#choose-where-to-put-claude-md-files) 참조).

621* 지시사항을 더 구체적으로 작성합니다. "2칸 들여쓰기 사용"이 "코드를 깔끔하게 포맷팅"보다 더 잘 작동합니다.627* 지시사항을 더 구체적으로 작성합니다. "2칸 들여쓰기 사용"이 "코드를 깔끔하게 포맷팅"보다 더 잘 작동합니다.

622* CLAUDE.md 파일 전체에서 충돌하는 지시사항을 찾습니다. 두 파일이 동일한 동작에 대해 다른 지침을 제공하면 Claude가 임의로 하나를 선택할 수 있습니다.628* CLAUDE.md 파일 전체에서 충돌하는 지시사항을 찾습니다. 두 파일이 동일한 동작에 대해 다른 지침을 제공하면 Claude가 임의로 하나를 선택할 수 있습니다.

629* Claude Code가 자체적으로 추가하는 지침과 지시사항이 충돌하는지 확인합니다. CLAUDE.md가 커밋 또는 풀 요청 규칙을 설정하면 [`includeGitInstructions`](/docs/ko/settings-reference#includegitinstructions)로 기본 제공 규칙을 끄고 [`attribution`](/docs/ko/settings-reference#attribution)으로 속성 텍스트를 설정합니다.

623 630 

624지시사항이 모든 커밋 전이나 각 파일 편집 후와 같이 특정 시점에 실행되어야 하는 경우, 대신 [hook](/docs/ko/hooks-guide)으로 작성합니다. Hook은 고정된 라이프사이클 이벤트에서 셸 명령으로 실행되며 Claude가 무엇을 하기로 결정하든 관계없이 적용됩니다.631지시사항이 모든 커밋 전이나 각 파일 편집 후와 같이 특정 시점에 실행되어야 하는 경우, 대신 [hook](/docs/ko/hooks-guide)으로 작성합니다. Hook은 고정된 라이프사이클 이벤트에서 셸 명령으로 실행되며 Claude가 무엇을 하기로 결정하든 관계없이 적용됩니다.

625 632 


657 664 

658200줄을 초과하는 파일은 더 많은 컨텍스트를 소비하며 준수를 줄일 수 있습니다. Claude Code는 4 MiB를 초과하는 파일을 건너뜁니다. [경로별 규칙](#path-specific-rules)을 사용하여 Claude가 일치하는 파일로 작업할 때만 지시사항을 로드하거나, 모든 세션에서 필요하지 않은 콘텐츠를 정리합니다. [`@path` 가져오기](#import-additional-files)로 분할하면 조직화에 도움이 되지만 가져온 파일이 시작 시 로드되므로 컨텍스트를 줄이지는 않습니다.665200줄을 초과하는 파일은 더 많은 컨텍스트를 소비하며 준수를 줄일 수 있습니다. Claude Code는 4 MiB를 초과하는 파일을 건너뜁니다. [경로별 규칙](#path-specific-rules)을 사용하여 Claude가 일치하는 파일로 작업할 때만 지시사항을 로드하거나, 모든 세션에서 필요하지 않은 콘텐츠를 정리합니다. [`@path` 가져오기](#import-additional-files)로 분할하면 조직화에 도움이 되지만 가져온 파일이 시작 시 로드되므로 컨텍스트를 줄이지는 않습니다.

659 666 

667지시사항 파일 중 하나가 권장 길이를 초과하면 시작 시 경고가 표시되고 `/status`를 실행할 때도 경고가 표시됩니다. 각각 해당 길이 내에 있는 파일이 세션 시작 시 결합된 제한을 초과할 때도 경고가 표시됩니다. 각 CLAUDE.md, 규칙 파일 및 `@path` 가져오기는 별도의 파일로 계산됩니다.

668 

660[`/doctor`](/docs/ko/commands#all-commands) 점검은 체크인된 CLAUDE.md에 대한 정리를 제안합니다. 디렉토리 레이아웃, 종속성 목록, 아키텍처 개요와 같이 Claude가 코드베이스에서 파생할 수 있는 콘텐츠를 제거하고, 도구 기본값과 다른 함정, 근거 및 규칙을 유지합니다. 정리 확인에는 Claude Code v2.1.206 이상이 필요합니다.669[`/doctor`](/docs/ko/commands#all-commands) 점검은 체크인된 CLAUDE.md에 대한 정리를 제안합니다. 디렉토리 레이아웃, 종속성 목록, 아키텍처 개요와 같이 Claude가 코드베이스에서 파생할 수 있는 콘텐츠를 제거하고, 도구 기본값과 다른 함정, 근거 및 규칙을 유지합니다. 정리 확인에는 Claude Code v2.1.206 이상이 필요합니다.

661 670 

662<h3 id="instructions-seem-lost-after-/compact">671<h3 id="instructions-seem-lost-after-/compact">

mobile.md +1 −1

Details

43| 기능 | 연결 대상 | 사용 시기 |43| 기능 | 연결 대상 | 사용 시기 |

44| :- | :- | :- |44| :- | :- | :- |

45| [클라우드 세션](/docs/ko/claude-code-on-the-web) | Anthropic 관리 클라우드 인프라의 세션 | 저장소가 GitHub에 있고 휴대폰을 치워도 작업이 계속 실행되어야 할 때입니다. 설정하려면 [클라우드 빠른 시작](/docs/ko/web-quickstart)을 참조하세요. |45| [클라우드 세션](/docs/ko/claude-code-on-the-web) | Anthropic 관리 클라우드 인프라의 세션 | 저장소가 GitHub에 있고 휴대폰을 치워도 작업이 계속 실행되어야 할 때입니다. 설정하려면 [클라우드 빠른 시작](/docs/ko/web-quickstart)을 참조하세요. |

46| [프로젝트](/docs/ko/claude-projects) | Claude가 병렬 클라우드 세션을 스레드로 조정하는 대화 | 단일 작업이 아닌 관련 작업의 흐름이 있고 어떤 스레드가 완료되었거나 사용자가 필요한지 확인하려고 할 때입니다. |46| [프로젝트](/docs/ko/claude-projects) | Claude가 병렬 작업 스레드를 조정하고 보고하는 대화 | 단일 작업이 아닌 관련 작업의 흐름이 있고 어떤 스레드가 완료되었거나 사용자가 필요한지 확인하려고 할 때입니다. |

47| [Remote Control](/docs/ko/remote-control) | 컴퓨터에서 실행 중인 Claude Code 세션 | 작업에 로컬 파일 시스템, 도구 또는 MCP 서버가 필요할 때입니다. |47| [Remote Control](/docs/ko/remote-control) | 컴퓨터에서 실행 중인 Claude Code 세션 | 작업에 로컬 파일 시스템, 도구 또는 MCP 서버가 필요할 때입니다. |

48| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | 컴퓨터의 Desktop 앱 | 작업을 메시지로 보내고 Dispatch가 실행 방법을 결정하도록 하려고 할 때입니다. Pro 또는 Max 플랜이 필요합니다. |48| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | 컴퓨터의 Desktop 앱 | 작업을 메시지로 보내고 Dispatch가 실행 방법을 결정하도록 하려고 할 때입니다. Pro 또는 Max 플랜이 필요합니다. |

49 49 

model-config.md +101 −40

Details

39| **`sonnet`** | 일상적인 코딩 작업을 위해 최신 Sonnet 모델을 사용합니다 |39| **`sonnet`** | 일상적인 코딩 작업을 위해 최신 Sonnet 모델을 사용합니다 |

40| **`opus`** | 복잡한 추론 작업을 위해 최신 Opus 모델을 사용합니다 |40| **`opus`** | 복잡한 추론 작업을 위해 최신 Opus 모델을 사용합니다 |

41| **`haiku`** | 간단한 작업을 위해 빠르고 효율적인 Haiku 모델을 사용합니다 |41| **`haiku`** | 간단한 작업을 위해 빠르고 효율적인 Haiku 모델을 사용합니다 |

42| **`sonnet[1m]`** | 긴 세션을 위해 [100만 토큰 컨텍스트 윈도우](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)를 가진 Sonnet을 사용합니다. `sonnet`이 이미 기본 100만 윈도우를 가진 Sonnet 5로 확인되는 경우 효과가 없습니다. [LLM 게이트웨이](/docs/ko/llm-gateway) 뒤에서는 Sonnet 5의 100만 윈도우를 선택합니다 |42| **`sonnet[1m]`** | 긴 세션을 위해 [100만 토큰 컨텍스트 윈도우](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)를 가진 Sonnet을 사용합니다. `sonnet`이 이미 기본 100만 윈도우를 가진 Sonnet 5.5 또는 Sonnet 5로 확인되는 경우 효과가 없습니다. [LLM 게이트웨이](/docs/ko/llm-gateway) 뒤에서는 해당 모델의 100만 윈도우를 선택합니다 |

43| **`opus[1m]`** | 긴 세션을 위해 [100만 토큰 컨텍스트 윈도우](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)를 가진 Opus를 사용합니다 |43| **`opus[1m]`** | 긴 세션을 위해 [100만 토큰 컨텍스트 윈도우](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)를 가진 Opus를 사용합니다 |

44| **`opusplan`** | 계획 모드 중에 `opus`를 사용한 다음 실행을 위해 `sonnet`으로 전환하는 특수 모드입니다 |44| **`opusplan`** | 계획 모드 중에 `opus`를 사용한 다음 실행을 위해 `sonnet`으로 전환하는 특수 모드입니다 |

45 45 


47 47 

48| 공급자 | `opus` | `sonnet` |48| 공급자 | `opus` | `sonnet` |

49| :- | :- | :- |49| :- | :- | :- |

50| Anthropic API | Opus 5.5 | Sonnet 5 |50| Anthropic API | Opus 5.5 | Sonnet 5.5 |

51| [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |51| [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |

52| Amazon Bedrock, Google Cloud의 Agent Platform | Opus 5.5 | Sonnet 4.5 |52| Amazon Bedrock, Google Cloud의 Agent Platform | Opus 5.5 | Sonnet 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |

54 54 

55<span id="fable-alias-resolution" />55<span id="fable-alias-resolution" />

56 56 

57`ANTHROPIC_DEFAULT_FABLE_MODEL`을 설정하지 않으면 `fable` 별칭은 Fable 5.1로 확인됩니다. 단, [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션에서는 `fable` 및 `best`가 Fable 5로 확인됩니다. v2.1.257 이전에는 `fable`이 모든 공급자에서 Fable 5로 확인되었습니다.57`ANTHROPIC_DEFAULT_FABLE_MODEL`을 설정하지 않으면 `fable` 별칭은 Fable 5.1로 확인됩니다. 단, [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션에서는 `fable` 및 `best`가 Fable 5로 확인됩니다.

58 58 

59`claude-fable-5-1`을 제공하도록 구성되지 않은 게이트웨이는 해당 모델에 대한 요청을 거부합니다. 이를 제공하는 게이트웨이를 통해 Fable 5.1을 사용하려면 `/model claude-fable-5-1`로 선택합니다.59`claude-fable-5-1`을 제공하도록 구성되지 않은 게이트웨이는 해당 모델에 대한 요청을 거부합니다. 이를 제공하는 게이트웨이를 통해 Fable 5.1을 사용하려면 `/model claude-fable-5-1`로 선택합니다.

60 60 

61별칭이 이전 모델로 확인되는 경우, 전체 모델 이름을 명시적으로 선택하거나 `ANTHROPIC_DEFAULT_OPUS_MODEL` 또는 `ANTHROPIC_DEFAULT_SONNET_MODEL`을 설정하여 최신 모델을 사용할 수 있습니다.61별칭이 이전 모델로 확인되는 경우, 전체 모델 이름을 명시적으로 선택하거나 `ANTHROPIC_DEFAULT_OPUS_MODEL` 또는 `ANTHROPIC_DEFAULT_SONNET_MODEL`을 설정하여 최신 모델을 사용할 수 있습니다.

62 62 

63v2.1.280 이전에는 `opus`가 Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud의 Agent Platform에서 v2.1.219부터 Opus 5로 확인되었습니다. v2.1.219 이전에는 `opus`가 Anthropic API에서 v2.1.154부터 Opus 4.8로 확인되었고, Claude Platform on AWS, Amazon Bedrock, Google Cloud의 Agent Platform에서 v2.1.207부터 확인되었습니다. v2.1.207 이전에는 `opus`가 Claude Platform on AWS에서 Opus 4.7로, Amazon Bedrock 및 Google Cloud의 Agent Platform에서 Opus 4.6으로 확인되었습니다.63이전 버전은 이러한 별칭을 이전 모델로 확인합니다. 각 별칭이 변경된 버전은 [버전 기록](#version-history)을 참조하십시오.

64 64 

65별칭은 공급자의 권장 버전을 가리키며 시간이 지남에 따라 업데이트됩니다. 특정 버전으로 고정하려면 전체 모델 이름(예: `claude-opus-5-5`)을 사용하거나 `ANTHROPIC_DEFAULT_OPUS_MODEL`과 같은 해당 환경 변수를 설정합니다.65별칭은 공급자의 권장 버전을 가리키며 시간이 지남에 따라 업데이트됩니다. 특정 버전으로 고정하려면 전체 모델 이름(예: `claude-opus-5-5`)을 사용하거나 `ANTHROPIC_DEFAULT_OPUS_MODEL`과 같은 해당 환경 변수를 설정합니다.

66 66 

67<Note>67<Note>

68 Opus 5.5는 Claude Code v2.1.280 이상이 필요합니다. Opus 5는 v2.1.219 이상이 필요합니다. Sonnet 5는 v2.1.197 이상이 필요합니다. `claude update`를 실행하여 업그레이드합니다.68 Sonnet 5.5는 Claude Code v2.1.284 이상이 필요하고, Opus 5.5는 v2.1.280 이상이 필요합니다. `claude update`를 실행하여 업그레이드합니다.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


235 모델 선택 제한235 모델 선택 제한

236</h2>236</h2>

237 237 

238엔터프라이즈 관리자는 [관리형 또는 정책 설정](/docs/ko/managed-settings)에서 `availableModels`를 사용하여 사용자가 선택할 수 있는 모델을 제한할 수 있습니다. 항목은 `sonnet`과 같은 모델 패밀리, `claude-sonnet-4-5`와 같은 버전 접두사, 또는 `claude-sonnet-4-5-20250929`와 같은 전체 모델 ID와 일치합니다. 버전 접두사는 또한 다른 세그먼트로 확장하는 이후 모델 ID와도 일치하므로, `claude-fable-5`는 Fable 5와 Fable 5.1을 모두 허용하고, `claude-fable-5-1`은 Fable 5.1만 허용합니다.238엔터프라이즈 관리자는 [관리형 또는 정책 설정](/docs/ko/managed-settings)에서 `availableModels`를 사용하여 사용자가 선택할 수 있는 모델을 제한할 수 있습니다. 항목은 `sonnet`과 같은 모델 패밀리, `claude-sonnet-4-5`와 같은 버전 접두사, 또는 `claude-sonnet-4-5-20250929`와 같은 전체 모델 ID와 일치합니다. 버전 접두사는 또한 다른 세그먼트로 확장하는 이후 모델 ID와도 일치하므로, `claude-fable-5`는 Fable 5와 Fable 5.1을 모두 허용하고, `claude-fable-5-1`은 Fable 5.1만 허용합니다. 목록이 허용하는 모델을 차단하거나 각 모델 ID 항목이 이름을 지은 버전만 허용하도록 하려면 [특정 모델 또는 버전 차단](#block-specific-models-or-versions)을 참조하세요.

239 239 

240Claude Code를 임베드하고 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ko/env-vars)를 설정하는 플랫폼에서는 호스트의 모델 구성이 관리형 모델 설정보다 우선하며, 관리형 `availableModels` 허용 목록은 호스트가 자체 목록을 제공하지 않는 한 계속 적용됩니다. [관리형 설정 우선순위의 예외](/docs/ko/settings#exceptions-to-managed-settings-precedence)에서 호스트가 재정의하는 키와 변수를 설명합니다.240Claude Code를 임베드하고 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ko/env-vars)를 설정하는 플랫폼에서는 호스트의 모델 구성이 관리형 모델 설정보다 우선하며, 관리형 `availableModels` 허용 목록은 호스트가 자체 목록을 제공하지 않는 한 계속 적용됩니다. [관리형 설정 우선순위의 예외](/docs/ko/settings#exceptions-to-managed-settings-precedence)에서 호스트가 재정의하는 키와 변수를 설명합니다.

241 241 


305 기본 모델 동작305 기본 모델 동작

306</h3>306</h3>

307 307 

308자체적으로, `availableModels`는 기본 옵션을 [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)도 설정할 때까지 계정의 [런타임 기본값](#default-model-setting)에 남겨둡니다. 해당 기본값이 제한하려는 모델인 경우, `enforceAvailableModels`도 설정하세요.308자체적으로, `availableModels`는 기본 옵션을 [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)도 설정할 때까지 계정의 [런타임 기본값](#default-model-setting)에 남겨둡니다. 해당 기본값이 제한하려는 모델인 경우, `enforceAvailableModels`도 설정하거나 [해당 모델을 차단](#block-specific-models-or-versions)하세요.

309 309 

310빈 `availableModels` 배열은 기본 모델 적용을 절대 활성화하지 않습니다: `availableModels: []`을 사용하면, 명명된 모델 선택은 차단되지만 계정 유형의 기본 모델은 `enforceAvailableModels`에 관계없이 사용 가능합니다.310`availableModels: []`을 사용하면, 명명된 모델 선택은 차단되지만 `enforceAvailableModels`는 효과가 없습니다.

311 311 

312<h3 id="enforce-the-allowlist-for-the-default-model">312<h3 id="enforce-the-allowlist-for-the-default-model">

313 기본 모델에 대한 허용 목록 적용313 기본 모델에 대한 허용 목록 적용


324 324 

325기본 옵션은 계정 유형 기본값으로 해석되거나, 관리자가 설정한 경우 [조직 기본 모델](#organization-default-model)로 해석됩니다. 해당 모델이 허용 목록에 없으면, 기본 옵션은 대신 허용되고 사용 가능한 모델을 이름 지어 첫 번째 `availableModels` 항목으로 해석되며, `/model` 선택기의 기본 행은 해당 모델을 표시합니다. 이는 기본값에 도달하는 모든 곳에 적용됩니다: 세션 시작, `/model`에서 기본값 선택, [폴백 모델 체인](#fallback-model-chains)의 `"default"` 키워드, 그리고 제외된 선택이 삭제될 때 사용되는 폴백.325기본 옵션은 계정 유형 기본값으로 해석되거나, 관리자가 설정한 경우 [조직 기본 모델](#organization-default-model)로 해석됩니다. 해당 모델이 허용 목록에 없으면, 기본 옵션은 대신 허용되고 사용 가능한 모델을 이름 지어 첫 번째 `availableModels` 항목으로 해석되며, `/model` 선택기의 기본 행은 해당 모델을 표시합니다. 이는 기본값에 도달하는 모든 곳에 적용됩니다: 세션 시작, `/model`에서 기본값 선택, [폴백 모델 체인](#fallback-model-chains)의 `"default"` 키워드, 그리고 제외된 선택이 삭제될 때 사용되는 폴백.

326 326 

327`enforceAvailableModels`는 `availableModels`가 비어있지 않을 때만 기본 옵션을 다시 매핑합니다. `availableModels: []`을 사용하면, 계정 유형의 기본 모델은 사용 가능하므로 설정이 사용자를 모든 모델에서 잠글 수 없습니다. `availableModels`가 비어있지 않지만 허용되고 사용 가능한 모델을 이름 지어 항목이 없으면, 적용이 건너뛰어지고 기본값은 계정 유형 기본값으로 해석되며, `--debug` 아래에서만 표시되는 경고가 있습니다. 이를 피하려면 목록에 최소한 하나의 보장된 사용 가능 항목을 유지하세요.327`enforceAvailableModels`는 `availableModels`가 비어있지 않을 때만 기본 옵션을 다시 매핑합니다. `availableModels`가 비어있지 않지만 허용되고 사용 가능한 모델을 이름 지어 항목이 없으면, 적용이 건너뛰어지고 `--debug` 아래에서만 표시되는 경고가 있습니다. 이를 피하려면 목록에 최소한 하나의 보장된 사용 가능 항목을 유지하세요.

328 328 

329전달하는 최상위 순위 관리형 소스에 두 키를 함께 배포하세요. 기본적으로 Claude Code는 해당 소스만 읽으므로, 관리형 설정 파일에 배치된 쌍은 관리 콘솔이 설정을 전달할 때 무시됩니다. [Claude Code가 관리형 소스를 결합하는 방식](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)의 옵트인 병합에서, Claude Code는 여전히 `availableModels`를 설정하는 소스 아래에 순위가 지정된 소스의 `modelOverrides` 맵을 무시합니다.329전달하는 최상위 순위 관리형 소스에 두 키를 함께 배포하세요. 기본적으로 Claude Code는 해당 소스만 읽으므로, 관리형 설정 파일에 배치된 쌍은 관리 콘솔이 설정을 전달할 때 무시됩니다. [Claude Code가 관리형 소스를 결합하는 방식](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)의 옵트인 병합에서, Claude Code는 여전히 `availableModels`를 설정하는 소스 아래에 순위가 지정된 소스의 `modelOverrides` 맵을 무시합니다.

330 330 


338 338 

339* **`availableModels`**: 사용자가 전환할 수 있는 명명된 모델을 제한합니다339* **`availableModels`**: 사용자가 전환할 수 있는 명명된 모델을 제한합니다

340* **`enforceAvailableModels`**: `availableModels` 허용 목록을 기본 옵션으로 확장하므로 기본값은 목록 외부의 모델로 해석될 수 없습니다340* **`enforceAvailableModels`**: `availableModels` 허용 목록을 기본 옵션으로 확장하므로 기본값은 목록 외부의 모델로 해석될 수 없습니다

341* **`deniedModels`** 및 **`availableModelsMatch`**: [특정 버전을 차단](#block-specific-models-or-versions)하여 `availableModels` 항목이 허용할 수 있는 것을 차단합니다

341* **`model`**: 세션이 시작될 때 초기 모델 선택을 설정합니다342* **`model`**: 세션이 시작될 때 초기 모델 선택을 설정합니다

342* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`** / **`ANTHROPIC_DEFAULT_FABLE_MODEL`**: `sonnet`, `opus`, `haiku`, 그리고 `fable` 별칭이 해석되는 것을 제어하고, [계정 유형 기본값](#default-model-setting)이 사용하는 버전을 제어합니다343* **`ANTHROPIC_DEFAULT_SONNET_MODEL`** / **`ANTHROPIC_DEFAULT_OPUS_MODEL`** / **`ANTHROPIC_DEFAULT_HAIKU_MODEL`** / **`ANTHROPIC_DEFAULT_FABLE_MODEL`**: `sonnet`, `opus`, `haiku`, 그리고 `fable` 별칭이 해석되는 것을 제어하고, [계정 유형 기본값](#default-model-setting)이 사용하는 버전을 제어합니다

343 344 


370 371 

371[Amazon Bedrock Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)가 활성화되면, `availableModels`의 항목 중 `anthropic.`으로 시작하는 항목은 `/model` 선택기에 사용자 정의 옵션으로 추가되고 Mantle 엔드포인트로 라우팅됩니다. 이는 [제3자 배포를 위한 모델 고정](#pin-models-for-third-party-deployments)에서 설명한 별칭 일치의 예외입니다. 설정은 여전히 선택기를 나열된 항목으로 제한하며, Mantle ID는 패밀리 이름을 포함하므로, 특정 항목으로 계산되고 해당 패밀리의 와일드카드를 비활성화합니다: 모든 Mantle ID와 함께, 유지하려는 버전 접두사 또는 전체 ID를 나열하세요. [병합 동작](#merge-behavior)을 참조하세요.372[Amazon Bedrock Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)가 활성화되면, `availableModels`의 항목 중 `anthropic.`으로 시작하는 항목은 `/model` 선택기에 사용자 정의 옵션으로 추가되고 Mantle 엔드포인트로 라우팅됩니다. 이는 [제3자 배포를 위한 모델 고정](#pin-models-for-third-party-deployments)에서 설명한 별칭 일치의 예외입니다. 설정은 여전히 선택기를 나열된 항목으로 제한하며, Mantle ID는 패밀리 이름을 포함하므로, 특정 항목으로 계산되고 해당 패밀리의 와일드카드를 비활성화합니다: 모든 Mantle ID와 함께, 유지하려는 버전 접두사 또는 전체 ID를 나열하세요. [병합 동작](#merge-behavior)을 참조하세요.

372 373 

374<h3 id="block-specific-models-or-versions">

375 특정 모델 또는 버전 차단

376</h3>

377 

378`claude-opus-5`와 같은 `availableModels` 항목은 또한 Claude Code가 이를 지원하는 즉시 Opus 5.5와 같은 이를 확장하는 이후 릴리스도 허용합니다. 두 개의 관리형 설정을 사용하면 릴리스를 보류할 수 있으며, 둘 다 Claude Code v2.1.283 이상이 필요합니다:

379 

380* [`deniedModels`](/docs/ko/settings-reference#deniedmodels): 차단할 모델을 나열합니다. 나열된 모델은 `availableModels`가 이를 허용하더라도 차단되며, 키는 허용 목록이 없어도 작동합니다. 항목이 차단하지 않는 릴리스는 허용된 상태로 유지됩니다

381* [`availableModelsMatch`](/docs/ko/settings-reference#availablemodelsmatch): 이를 `"exact"`로 설정하여 `availableModels`의 각 모델 ID가 이름을 지은 버전만 허용하도록 합니다. 나열된 모델 ID의 최신 버전은 목록에 추가할 때까지 차단된 상태로 유지됩니다

382 

383이전 버전은 두 키를 모두 무시하므로, 이러한 버전이 시작되지 않도록 [`requiredMinimumVersion`](/docs/ko/settings-reference#requiredminimumversion)도 설정하세요.

384 

385이 예제는 Opus 및 Sonnet 모델을 허용하고 날짜 지정 및 제공자별 ID를 포함한 모든 철자로 Opus 5.5를 차단합니다:

386 

387```json theme={null}

388{

389 "availableModels": ["opus", "sonnet"],

390 "deniedModels": ["claude-opus-5-5"]

391}

392```

393 

394차단된 모델(whether `deniedModels`가 이름을 지었거나 `"exact"` 목록이 이를 생략했는지)은 [허용 목록이 적용되는](#restrict-model-selection) 모든 곳에서 차단된 선택으로 처리됩니다. 이는 `/model` 선택기에서 숨겨지며, `/model <name>`은 이를 거부합니다. `--model`, `ANTHROPIC_MODEL`, 또는 `model` 설정으로 차단된 모델 ID를 이름 지으면, Claude Code는 시작 시 이를 삭제하고 기본 옵션을 대신 해석합니다. [훅](/docs/ko/hooks) 또는 백그라운드 요청이 `deniedModels`가 차단하는 모델(예: 에이전트 훅의 `model` 필드)을 이름 지으면, 해당 요청은 세션의 모델에서 대신 실행됩니다.

395 

396기본 옵션은 [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)를 설정했는지 여부에 관계없이 두 키를 모두 따릅니다. 비어있지 않은 `availableModels`로 설정하면, 차단된 기본값은 허용 목록 외부의 모델로 계산됩니다. 그렇지 않으면, 차단된 모델로 해석될 기본 옵션은 이 순서로 단계적으로 내려갑니다:

397 

3981. 동일한 패밀리의 최신 허용 버전

3992. 각 낮은 비용 패밀리의 최신 허용 모델(순서대로): Sonnet, 그 다음 Haiku

4003. 허용된 모델을 이름 지어 첫 번째 `availableModels` 항목

401 

402이 중 어느 것도 허용되지 않으면, 기본 옵션에서 시작하는 세션은 수정할 키를 이름 지어 [오류로 시작을 거부](/docs/ko/errors#managed-settings-block-the-default-model)합니다. `"exact"` 목록은 관리형 `availableModels` 목록이 최소한 하나의 모델 또는 패밀리를 이름 지을 때만 기본 옵션에 영향을 미칩니다.

403 

404Claude Code는 관리형 설정에서만 두 키를 읽습니다. 사용자, 프로젝트, 로컬 설정 또는 `--settings`에서 이 중 하나를 설정하면, Claude Code는 경고와 함께 이를 무시합니다.

405 

373<h3 id="organization-model-restrictions">406<h3 id="organization-model-restrictions">

374 조직 모델 제한407 조직 모델 제한

375</h3>408</h3>


417 450 

418조직 기본값은 채택되기 전에 다음 제한 확인을 통과합니다.451조직 기본값은 채택되기 전에 다음 제한 확인을 통과합니다.

419 452 

420* [`availableModels`](#restrict-model-selection)는 자체적으로 조직 기본값에 적용되지 않으므로 허용 목록 외부의 조직 기본값도 계속 적용됩니다. [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)도 설정된 경우, 허용 목록 외부의 조직 기본값은 다른 기본값처럼 첫 번째 허용 목록 항목으로 다시 매핑됩니다.453* 기본 접두사 일치를 사용하면 [`availableModels`](#restrict-model-selection)는 자체적으로 조직 기본값에 적용되지 않으므로 허용 목록 외부의 조직 기본값도 계속 적용됩니다. [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)도 설정된 경우, 허용 목록 외부의 조직 기본값은 첫 번째 허용 목록 항목으로 다시 매핑됩니다.

421* [조직 모델 제한](#organization-model-restrictions)이 계정에 대해 거부하는 조직 기본값은 해당 제품군의 최신 허용 모델로 바뀌거나, 모든 버전이 제한된 경우 더 저렴한 제품군으로 바뀝니다.454* [조직 모델 제한](#organization-model-restrictions)이 계정에 대해 거부하는 조직 기본값은 해당 제품군의 최신 허용 모델로 바뀌거나, 모든 버전이 제한된 경우 더 저렴한 제품군으로 바뀝니다.

455* `deniedModels` 또는 `"exact"` 목록이 차단하는 조직 기본값의 경우 [특정 모델 또는 버전 차단](#block-specific-models-or-versions)을 참조하세요.

422* 계정에서 전혀 사용할 수 없는 조직 기본값은 건너뛰고, 기본값 옵션은 [조직 기본값 없이](#default-model-setting) 확인되는 것처럼 확인됩니다.456* 계정에서 전혀 사용할 수 없는 조직 기본값은 건너뛰고, 기본값 옵션은 [조직 기본값 없이](#default-model-setting) 확인되는 것처럼 확인됩니다.

423 457 

424v2.1.199부터 조직 기본값이 계정 유형의 일반적인 기본값과 다른 모델 제품군인 경우, `/model` 선택기는 해당 일반적인 제품군에 대해 별도의 행을 유지하므로 세션에 대해 계속 전환할 수 있습니다. v2.1.196부터 v2.1.198까지는 해당 행이 선택기에서 누락됩니다.458v2.1.199부터 조직 기본값이 계정 유형의 일반적인 기본값과 다른 모델 제품군인 경우, `/model` 선택기는 해당 일반적인 제품군에 대해 별도의 행을 유지하므로 세션에 대해 계속 전환할 수 있습니다. v2.1.196부터 v2.1.198까지는 해당 행이 선택기에서 누락됩니다.


513 자동 모델 폴백547 자동 모델 폴백

514</h3>548</h3>

515 549 

516이 섹션은 Fable 모델, Opus 5.5, Opus 5의 콘텐츠 기반 폴백을 다룹니다. 모델이 과부하 상태이거나 사용 불가능할 때의 가용성 기반 폴백은 [폴백 모델 체인](#fallback-model-chains)을 참조하세요.550이 섹션은 Fable 모델, Opus 5.5, Sonnet 5.5, Opus 5의 콘텐츠 기반 폴백을 다룹니다. 모델이 과부하 상태이거나 사용 불가능할 때의 가용성 기반 폴백은 [폴백 모델 체인](#fallback-model-chains)을 참조하세요.

517 551 

518Fable 모델, Opus 5.5, Opus 5는 안전 분류기로 실행되며, 대부분 사이버 보안 및 생물학 콘텐츠에 플래그를 지정합니다. 분류기가 요청에 플래그를 지정하고 플래그된 카테고리에 폴백 모델이 있는 경우, Claude Code는 해당 모델에서 요청을 다시 실행하고 기록에 알림을 표시합니다. 이 두 카테고리의 경우 폴백 모델은 거부한 모델에 따라 달라집니다:552Fable 모델, Opus 5.5, Sonnet 5.5, Opus 5는 안전 분류기로 실행되며, 대부분 사이버 보안 및 생물학 콘텐츠에 플래그를 지정합니다. 분류기가 요청에 플래그를 지정하고 플래그된 카테고리에 폴백 모델이 있는 경우, Claude Code는 해당 모델에서 요청을 다시 실행하고 기록에 알림을 표시합니다. 이 두 카테고리의 경우 폴백 모델은 거부한 모델에 따라 달라집니다:

519 553 

520* **Fable 5.1, Fable 5, Opus 5.5**: 생물학 플래그 요청은 Opus 5에서 다시 실행되고, 사이버 보안 플래그 요청은 Opus 4.8에서 다시 실행됩니다.554* **Fable 5.1, Fable 5, Opus 5.5**: 생물학 플래그 요청은 Opus 5에서 다시 실행되고, 사이버 보안 플래그 요청은 Opus 4.8에서 다시 실행됩니다.

521* **Opus 5**: 사이버 보안 플래그 요청은 Opus 4.8에서 다시 실행됩니다. 생물학 플래그 요청은 폴백 모델이 없기 때문에 거부로 끝나며, Opus 5는 자체 생물학 분류기를 실행합니다.555* **Sonnet 5.5**: 사이버 보안 플래그 요청은 Sonnet 5에서 다시 실행됩니다. 생물학 플래그 요청은 거부로 끝나며, Sonnet 5.5는 생물학 폴백 모델이 없기 때문입니다.

556* **Opus 5**: 사이버 보안 플래그 요청은 Opus 4.8에서 다시 실행됩니다. 생물학 플래그 요청은 거부로 끝나며, Opus 5는 폴백 모델이 없는 자체 생물학 분류기를 실행하기 때문입니다.

522 557 

523Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서 Claude Code는 배포를 통해 이러한 대상을 확인하고, `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하면 폴백이 있는 카테고리가 고정된 모델에서 다시 실행됩니다. [Bedrock, Agent Platform, Foundry에서 폴백 활성화](#enable-fallback-on-bedrock-agent-platform-and-foundry)를 참조하세요.558Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서 Claude Code는 배포를 통해 이러한 대상을 확인합니다. [Bedrock, Agent Platform, Foundry에서 폴백 활성화](#enable-fallback-on-bedrock-agent-platform-and-foundry)를 참조하세요.

524 559 

525폴백 후 세션은 폴백 모델에서 계속됩니다. 원래 모델로 돌아가려면 [`/model`](#setting-your-model)을 실행하세요.560폴백 후 세션은 폴백 모델에서 계속됩니다. 원래 모델로 돌아가려면 [`/model`](#setting-your-model)을 실행하세요.

526 561 


544 579 

545일부 경우는 다르게 동작합니다:580일부 경우는 다르게 동작합니다:

546 581 

547* 플래그된 카테고리에 폴백 모델이 없는 경우(예: Opus 5의 생물학 플래그), Claude Code는 프롬프트를 표시하지 않으며 요청은 거부로 끝납니다.582* 플래그된 카테고리에 폴백 모델이 없는 경우(예: Opus 5의 생물학 플래그 또는 Sonnet 5.5), Claude Code는 프롬프트를 표시하지 않으며 요청은 거부로 끝납니다.

548* 두 모델이 동일한 요청에 플래그를 지정하면 프롬프트를 편집하고 재시도하거나 새 세션을 시작할 수 있습니다.583* 두 모델이 동일한 요청에 플래그를 지정하면 프롬프트를 편집하고 재시도하거나 새 세션을 시작할 수 있습니다.

549* 모바일 앱의 [웹의 Claude Code](/docs/ko/claude-code-on-the-web) 세션에서는 편집 및 재시도가 지원되지 않습니다. 모델을 전환하거나 데스크톱 브라우저 또는 데스크톱 앱에서 세션을 계속하세요.584* 모바일 앱의 [웹의 Claude Code](/docs/ko/claude-code-on-the-web) 세션에서는 편집 및 재시도가 지원되지 않습니다. 모델을 전환하거나 데스크톱 브라우저 또는 데스크톱 앱에서 세션을 계속하세요.

550* [비대화형 모드](/docs/ko/cli-reference#cli-flags) 및 프롬프트를 표시할 수 없는 SDK 통합에서 플래그된 요청은 거부로 턴을 종료합니다.585* [비대화형 모드](/docs/ko/cli-reference#cli-flags) 및 프롬프트를 표시할 수 없는 SDK 통합에서 플래그된 요청은 거부로 턴을 종료합니다.


554 Bedrock, Agent Platform, Foundry에서 폴백 활성화589 Bedrock, Agent Platform, Foundry에서 폴백 활성화

555</h4>590</h4>

556 591 

557[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 모델 ID는 제공자별이므로 자동 폴백은 Claude Code가 관련된 두 모델을 식별할 수 있을 때만 작동합니다:592[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry)에서 모델 ID는 제공자별이므로 자동 폴백은 Claude Code가 관련된 각 모델을 식별할 수 있을 때만 작동합니다:

593 

594* Claude Code는 현재 모델을 폴백 소스로 인식해야 합니다. Fable 5.1 및 Fable 5는 모델 ID에 `claude-fable-5`가 포함되거나, `ANTHROPIC_DEFAULT_FABLE_MODEL`의 값과 일치하거나, [`modelOverrides`](#override-model-ids-per-version)로 매핑될 때 인식됩니다. Opus 5.5, Sonnet 5.5, Opus 5는 제공자 모델 ID 또는 [`modelOverrides`](#override-model-ids-per-version) 매핑으로 인식됩니다.

595* Opus 대상은 배포에서 확인되어야 합니다. 어느 모델이 거부했든: `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하거나 제공자의 모델 목록에 Opus 4.8 항목을 유지하세요. 없으면 모든 소스 모델에 대해 폴백이 꺼지고, Sonnet 5.5를 포함하여 플래그된 요청은 거부로 끝납니다.

596* 플래그된 카테고리의 폴백 모델은 배포에서 확인되어야 합니다. Fable 모델, Opus 5.5, Opus 5에서 `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하면 폴백이 있는 모든 카테고리에 대해 플래그된 요청이 해당 모델에서 다시 실행됩니다. Opus 5의 생물학 플래그는 여전히 거부로 끝납니다. 설정하지 않으면 사이버 보안 플래그 요청이 Opus 4.8 항목에서 다시 실행되고, Fable 모델 또는 Opus 5.5의 생물학 플래그 요청이 Opus 5 항목에서 다시 실행됩니다. Sonnet 5.5에서 사이버 보안 플래그 요청은 `ANTHROPIC_DEFAULT_SONNET_MODEL`에서 설정한 모델에서 다시 실행되거나, 설정하지 않으면 제공자의 모델 목록에서 Sonnet 5 항목에서 다시 실행됩니다.

558 597 

559* Claude Code는 현재 모델을 폴백 소스로 인식해야 합니다. Fable 5.1 및 Fable 5는 모델 ID에 `claude-fable-5`가 포함되거나, `ANTHROPIC_DEFAULT_FABLE_MODEL`의 값과 일치하거나, [`modelOverrides`](#override-model-ids-per-version)로 매핑될 때 인식됩니다. Opus 5.5 및 Opus 5는 제공자 모델 ID 또는 [`modelOverrides`](#override-model-ids-per-version) 매핑으로 인식됩니다.598모델을 식별할 수 없으면 Claude Code는 자동으로 전환하지 않습니다. 플래그된 요청은 거부 메시지로 끝나고 [`/model`](#setting-your-model)로 모델을 전환하고 재시도할 수 있습니다. 두 모델을 식별 가능하게 하려면 소스 모델에 대한 핀을 설정하세요:

560* 폴백 모델은 배포에서 확인되어야 합니다. `ANTHROPIC_DEFAULT_OPUS_MODEL`을 설정하면 플래그된 요청이 폴백이 있는 모든 카테고리에 대해 해당 모델에서 다시 실행됩니다. Opus 5의 생물학 플래그는 여전히 거부로 끝납니다. 설정하지 않으면 사이버 보안 플래그 요청이 제공자의 모델 목록에서 Opus 4.8 항목에서 다시 실행되고, Fable 모델 또는 Opus 5.5의 생물학 플래그 요청이 Opus 5 항목에서 다시 실행됩니다.

561 599 

562모델을 식별할 수 없으면 Claude Code는 자동으로 전환하지 않습니다. 플래그된 요청은 거부 메시지로 끝나고 [`/model`](#setting-your-model)로 모델을 전환하고 재시도할 수 있습니다. `ANTHROPIC_DEFAULT_FABLE_MODEL`을 Fable 모델 ID로 설정하면 Fable 인식이 활성화됩니다. `ANTHROPIC_DEFAULT_OPUS_MODEL`을 Opus 모델 ID로 설정하면 플래그된 카테고리에 폴백 대상이 제공되며, 핀이 Opus 제품군 외의 모델 또는 거부한 모델을 지정하지 않는 한 Claude Code는 전환하지 않으며 거부가 유지됩니다.600* **Fable 모델**: `ANTHROPIC_DEFAULT_FABLE_MODEL`을 Fable 모델 ID로 설정하여 Claude Code가 이를 폴백 소스로 인식하도록 합니다.

601* **모든 소스 모델**: `ANTHROPIC_DEFAULT_OPUS_MODEL`을 Opus 모델 ID로 설정하여 폴백을 켜고 플래그된 카테고리에 대상을 제공합니다. Opus 제품군 외의 모델 또는 거부한 모델을 지정하는 핀은 거부를 유지합니다.

602* **Sonnet 5.5**: Opus 핀 외에도 `ANTHROPIC_DEFAULT_SONNET_MODEL`을 설정하거나 제공자의 모델 목록에 Sonnet 5 항목을 유지하여 요청이 다시 실행되는 모델을 제공합니다. Sonnet 제품군 외의 모델 또는 Sonnet 5.5 자체를 지정하는 Sonnet 핀은 거부를 유지합니다.

563 603 

564<h4 id="security-research-and-biology-workloads">604<h4 id="security-research-and-biology-workloads">

565 보안 연구 및 생물학 워크로드605 보안 연구 및 생물학 워크로드

566</h4>606</h4>

567 607 

568공격적인 보안 또는 생물학의 워크로드(침투 테스트, Capture the Flag(CTF) 연습, 생물학 인접 코드베이스 포함)는 자주 폴백을 트리거하며, 종종 첫 번째 요청에서 트리거됩니다. Fable 5.1, Fable 5, Opus 5.5의 실질적인 생물학 작업의 경우, Claude Code는 첫 번째 플래그된 요청에서 세션을 Opus 5로 이동하고, 이후 생물학 플래그 요청은 Opus 5에서 거부로 끝나며, Opus 5는 생물학 폴백이 없기 때문입니다. Opus 5에서는 첫 번째 플래그된 요청부터 이러한 거부를 받습니다.608공격적인 보안 또는 생물학의 워크로드(침투 테스트, Capture the Flag(CTF) 연습, 생물학 인접 코드베이스 포함)는 자주 폴백을 트리거하며, 종종 첫 번째 요청에서 트리거됩니다. Fable 5.1, Fable 5, Opus 5.5의 실질적인 생물학 작업의 경우, Claude Code는 첫 번째 플래그된 요청에서 세션을 Opus 5로 이동하고, 이후 생물학 플래그 요청은 Opus 5에서 거부로 끝나며, Opus 5는 생물학 폴백이 없기 때문입니다. Opus 5 및 Sonnet 5.5에서는 첫 번째 플래그된 요청부터 이러한 거부를 받습니다.

569 609 

570이는 이러한 도메인에 대한 예상 라우팅이며 계정 플래그가 아닙니다. 조직이 이 작업을 위해 Fable 클래스 기능이 필요한 경우 Anthropic 계정 팀에 신뢰할 수 있는 액세스 프로그램에 대해 문의하세요.610이는 이러한 도메인에 대한 예상 라우팅이며 계정 플래그가 아닙니다. 조직이 이 작업을 위해 Fable 클래스 기능이 필요한 경우 Anthropic 계정 팀에 신뢰할 수 있는 액세스 프로그램에 대해 문의하세요.

571 611 


580| 모델 | 수준 |620| 모델 | 수준 |

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

582| Fable 5.1 및 Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |622| Fable 5.1 및 Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8, Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |623| Opus 5.5, Sonnet 5.5, Opus 5, Sonnet 5, Opus 4.8, Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

584| Opus 4.6 및 Sonnet 4.6 | `low`, `medium`, `high`, `max` |624| Opus 4.6 및 Sonnet 4.6 | `low`, `medium`, `high`, `max` |

585 625 

586활성 모델이 지원하지 않는 수준을 설정하면 Claude Code는 설정한 수준 이하의 지원되는 최고 수준으로 폴백합니다. 예를 들어 `xhigh`는 Opus 4.6에서 `high`로 실행됩니다. 조직은 모델에 사용 가능한 수준을 제한할 수도 있습니다. [조직 노력 제한](#organization-effort-limits)을 참조하세요.626활성 모델이 지원하지 않는 수준을 설정하면 Claude Code는 설정한 수준 이하의 지원되는 최고 수준으로 폴백합니다. 예를 들어 `xhigh`는 Opus 4.6에서 `high`로 실행됩니다. 조직은 모델에 사용 가능한 수준을 제한할 수도 있습니다. [조직 노력 제한](#organization-effort-limits)을 참조하세요.


589 629 

5901. 명시적 선택: [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ko/env-vars#variables) 환경 변수, `--effort`로 시작, 또는 세션의 `/effort` ([비대화형 `/effort`는 더 좁은 효과를 가짐](#non-interactive-effort))6301. 명시적 선택: [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ko/env-vars#variables) 환경 변수, `--effort`로 시작, 또는 세션의 `/effort` ([비대화형 `/effort`는 더 좁은 효과를 가짐](#non-interactive-effort))

5912. 설정: 모델에 대해 저장한 수준 또는 [`effortLevel`](/docs/ko/settings-reference#effortlevel) 키, 설정 파일 간 우선순위는 [`modelSettings`](/docs/ko/settings-reference#modelsettings)에 명시됨6312. 설정: 모델에 대해 저장한 수준 또는 [`effortLevel`](/docs/ko/settings-reference#effortlevel) 키, 설정 파일 간 우선순위는 [`modelSettings`](/docs/ko/settings-reference#modelsettings)에 명시됨

5923. 모델의 기본 노력: 노력을 지원하는 모든 모델에서 `high`, Opus 5.5는 `medium`으로 기본값, Opus 4.7은 `xhigh`로 기본값, 조직이 [조직 기본 모델](#organization-default-model)에 대한 기본 노력 수준을 설정할 때 해당 모델을 실행할 때 해당 수준이 기본값6323. 모델의 기본 노력: 노력을 지원하는 모든 모델에서 `high`, Opus 5.5 및 Sonnet 5.5는 `medium`으로 기본값, Opus 4.7은 `xhigh`로 기본값, 조직이 [조직 기본 모델](#organization-default-model)에 대한 기본 노력 수준을 설정할 때 해당 모델을 실행할 때 해당 수준이 기본값

593 633 

594Opus 5.5는 위의 소스 중 하나가 수준을 설정하지 않는 한 `medium`에서 시작하며, 사용자 설정 파일의 최상위 `effortLevel`은 Opus 5.5에 계산되지 않습니다. 해당 키는 Claude Code가 모델별로 수준을 저장하기 전에 `/effort`가 작성한 이전 형식입니다: 이전에 적용된 위치(Opus 5, Fable 5.1, 이전 모델)에서 계속 적용되는 반면, Opus 5.5 및 이후에 출시된 모델은 `/effort` 또는 `/model` 선택기로 수준을 선택할 때까지 자체 기본값에서 시작합니다. 프로젝트, 로컬, 관리되는 설정의 최상위 `effortLevel` 또는 `--settings`로 전달된 것은 모든 모델에 적용됩니다.634Opus 5.5는 위의 소스 중 하나가 수준을 설정하지 않는 한 `medium`에서 시작하며, 사용자 설정 파일의 최상위 `effortLevel`은 Opus 5.5에 계산되지 않습니다. 해당 키는 Claude Code가 모델별로 수준을 저장하기 전에 `/effort`가 작성한 이전 형식입니다: 이전에 적용된 위치(Opus 5, Fable 5.1, 이전 모델)에서 계속 적용되는 반면, Opus 5.5 및 이후에 출시된 모델은 `/effort` 또는 `/model` 선택기로 수준을 선택할 때까지 자체 기본값에서 시작합니다. 프로젝트, 로컬, 관리되는 설정의 최상위 `effortLevel` 또는 `--settings`로 전달된 것은 모든 모델에 적용됩니다.

595 635 


641 681 

642| 수준 | 사용 시기 |682| 수준 | 사용 시기 |

643| :- | :- |683| :- | :- |

644| `low` | 짧고 범위가 정해진 지연 시간에 민감하지만 지능에 민감하지 않은 작업을 위해 예약 |684| `low` | 각 결과를 검토하는 짧은 교환(예: 브레인스토밍, 첫 번째 스케치, 이름 바꾸기와 같은 작은 변경) |

645| `medium` | 일부 지능을 교환할 수 있는 비용에 민감한 작업의 토큰 사용 감소. Opus 5.5의 기본값 |685| `medium` | 명확한 범위의 일상적인 엔지니어링 작업(예: 새 기능 구현)에 적합합니다. Opus 5.5 및 Sonnet 5.5의 기본값입니다. 다른 모델에서는 일부 지능을 교환할 수 있는 비용에 민감한 작업의 토큰 사용을 줄입니다. |

646| `high` | 토큰 사용과 지능의 균형. Opus 5.5 및 Opus 4.7을 제외한 모든 모델의 기본값 |686| `high` | 검증이 중요하거나 엣지 케이스가 가능한 작업(예: 기존 코드베이스의 버그 수정). Opus 5.5, Sonnet 5.5, Opus 4.7을 제외한 모든 모델의 기본값입니다. |

647| `xhigh` | 더 높은 토큰 지출로 더 깊은 추론. Opus 4.7의 기본값 |687| `xhigh` | 더 높은 토큰 지출로 더 깊은 추론. Opus 4.7의 기본값입니다. |

648| `max` | 까다로운 작업의 성능을 개선할 수 있지만 수익 감소를 보일 수 있으며 과도한 생각이 발생하기 쉽습니다. 광범위하게 채택하기 전에 테스트하세요. |688| `max` | 어려운 문제로 Claude가 당신 없이 작업하기를 원하는 경우(예: 보안 취약점 찾기). `max`는 수익 감소를 보일 수 있고 과도한 생각이 발생하기 쉬우므로 광범위하게 채택하기 전에 테스트하세요. |

649| `ultracode` | 각 실질적인 작업에 대해 `xhigh` 메시지별 추론으로 [동적 워크플로우](/docs/ko/workflows)를 계획하는 Claude Code 설정 |689| `ultracode` | 각 실질적인 작업에 대해 `xhigh` 메시지별 추론으로 [동적 워크플로우](/docs/ko/workflows)를 계획하는 Claude Code 설정 |

650 690 

691Opus 5.5 및 Fable 5.1의 테스트에서 Claude는 더 높은 수준에서 더 많은 엣지 케이스를 테스트했고 답변하기 전에 더 많은 작업을 검증했습니다. 또한 더 많은 선택을 독립적으로 했습니다. 더 낮은 수준에서 Claude는 시작점을 더 빨리 반환했으며, 이는 각 결과를 검토하고 다음 단계를 조율하는 작업에 적합합니다. 각 수준에서 실행되는 동일한 작업을 보려면 블로그의 [Claude Code 사용: 노력 지출](https://claude.dev/blog/spending-your-effort/)을 읽으세요.

692 

651노력 척도는 모델별로 보정되므로 동일한 수준 이름이 모델 전체에서 동일한 기본 값을 나타내지 않습니다.693노력 척도는 모델별로 보정되므로 동일한 수준 이름이 모델 전체에서 동일한 기본 값을 나타내지 않습니다.

652 694 

695Opus 5.5는 [기본적으로 `medium`](#adjust-effort-level)이며, Opus 5의 기본값인 `high`보다 한 수준 아래입니다. Anthropic의 테스트에서 Opus 5.5는 `medium`에서 코딩 및 지식 작업 평가에서 Opus 5를 `high`에서 일치하거나 초과합니다. 주어진 수준에서 Opus 5.5는 턴당 Opus 5보다 더 많이 생각하는 경향이 있습니다. Opus 5에서 Opus 5.5로 이동할 때 Opus 5에서 사용한 수준을 이월하는 대신 `medium`에서 시작하세요. 자신의 작업에 대해 수준을 테스트하려면 Opus 5.5 프롬프팅 가이드의 [노력 보정](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#calibrate-effort)을 참조하세요.

696 

653<h4 id="use-ultrathink-for-one-off-deep-reasoning">697<h4 id="use-ultrathink-for-one-off-deep-reasoning">

654 일회성 깊은 추론을 위해 ultrathink 사용698 일회성 깊은 추론을 위해 ultrathink 사용

655</h4>699</h4>


660 노력 수준 설정704 노력 수준 설정

661</h4>705</h4>

662 706 

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

664 

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

666 708 

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


684 726 

685적응형 추론은 각 단계에서 생각을 선택 사항으로 만들므로 Claude는 일상적인 프롬프트에 더 빠르게 응답하고 이점을 얻는 단계를 위해 더 깊은 생각을 예약할 수 있습니다. 현재 수준이 생성하는 것보다 Claude가 더 자주 또는 덜 자주 생각하기를 원하면 프롬프트 또는 `CLAUDE.md`에서 직접 말할 수 있습니다. 모델은 노력 설정 내에서 해당 지침에 응답합니다.727적응형 추론은 각 단계에서 생각을 선택 사항으로 만들므로 Claude는 일상적인 프롬프트에 더 빠르게 응답하고 이점을 얻는 단계를 위해 더 깊은 생각을 예약할 수 있습니다. 현재 수준이 생성하는 것보다 Claude가 더 자주 또는 덜 자주 생각하기를 원하면 프롬프트 또는 `CLAUDE.md`에서 직접 말할 수 있습니다. 모델은 노력 설정 내에서 해당 지침에 응답합니다.

686 728 

687Fable 모델, Sonnet 5, Opus 4.7 이상은 항상 적응형 추론을 사용합니다. 고정 생각 예산 모드 및 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING`은 이들에게 적용되지 않습니다.729Fable 모델, Sonnet 5 이상, Opus 4.7 이상은 항상 적응형 추론을 사용합니다. 고정 생각 예산 모드 및 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING`은 이들에게 적용되지 않습니다.

688 730 

689Opus 4.6 및 Sonnet 4.6에서 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`을 설정하여 `MAX_THINKING_TOKENS`로 제어되는 이전 고정 생각 예산으로 되돌릴 수 있습니다. [환경 변수](/docs/ko/env-vars)를 참조하세요.731Opus 4.6 및 Sonnet 4.6에서 `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1`을 설정하여 `MAX_THINKING_TOKENS`로 제어되는 이전 고정 생각 예산으로 되돌릴 수 있습니다. [환경 변수](/docs/ko/env-vars)를 참조하세요.

690 732 


698| :- | :- |740| :- | :- |

699| 현재 세션 토글 | macOS에서 `Option+T` 또는 Windows 및 Linux에서 `Alt+T` 누르기 |741| 현재 세션 토글 | macOS에서 `Option+T` 또는 Windows 및 Linux에서 `Alt+T` 누르기 |

700| 전역 기본값 설정 | `/config`를 실행하고 생각 모드를 토글합니다. `~/.claude/settings.json`에 `alwaysThinkingEnabled`로 저장됨 |742| 전역 기본값 설정 | `/config`를 실행하고 생각 모드를 토글합니다. `~/.claude/settings.json`에 `alwaysThinkingEnabled`로 저장됨 |

701| 환경 변수를 통해 비활성화 | [`MAX_THINKING_TOKENS=0`](/docs/ko/env-vars)을 설정하여 Anthropic API에서 Opus 5.5 및 Fable 모델을 제외한 생각을 끕니다. [타사 제공자](/docs/ko/third-party-integrations)에서 Claude Code는 `thinking` 매개변수를 생략하고 적응형 추론 모델은 여전히 생각할 수 있습니다. 다른 값은 [고정 생각 예산](#adaptive-reasoning-and-fixed-thinking-budgets)에만 적용됩니다. |743| 환경 변수를 통해 비활성화 | [`MAX_THINKING_TOKENS=0`](/docs/ko/env-vars)을 설정하여 Anthropic API에서 Opus 5.5, Sonnet 5.5, Fable 모델을 제외한 생각을 끕니다. [타사 제공자](/docs/ko/third-party-integrations)에서 Claude Code는 `thinking` 매개변수를 생략하고 적응형 추론 모델은 여전히 생각할 수 있습니다. 다른 값은 [고정 생각 예산](#adaptive-reasoning-and-fixed-thinking-budgets)에만 적용됩니다. |

702 744 

703Opus 5.5 또는 Fable 모델에서 생각을 끌 수 없습니다. 세션 토글, `alwaysThinkingEnabled`, `MAX_THINKING_TOKENS=0`은 효과가 없으며 모델은 노력 수준에 따라 단계별로 얼마나 생각할지 결정합니다.745Opus 5.5, Sonnet 5.5, Fable 모델에서 생각을 끌 수 없습니다. 세션 토글, `alwaysThinkingEnabled`, `MAX_THINKING_TOKENS=0`은 효과가 없으며 모델은 노력 수준에 따라 단계별로 얼마나 생각할지 결정합니다.

704 746 

705Claude Code는 기본적으로 생각 출력을 축소합니다. 자세한 모드를 토글하고 회색 기울임꼴 텍스트로 추론을 보려면 `Ctrl+O`를 누르세요. Anthropic API의 대화형 세션은 기본적으로 수정된 생각 블록을 받으므로 확장할 때 전체 요약을 사용 가능하게 하려면 [설정](/docs/ko/settings)에서 `showThinkingSummaries: true`를 설정하세요. 축소되거나 수정되었을 때도 생성된 모든 생각 토큰에 대해 청구됩니다.747Claude Code는 기본적으로 생각 출력을 축소합니다. 자세한 모드를 토글하고 회색 기울임꼴 텍스트로 추론을 보려면 `Ctrl+O`를 누르세요. Anthropic API의 대화형 세션은 기본적으로 수정된 생각 블록을 받으므로 확장할 때 전체 요약을 사용 가능하게 하려면 [설정](/docs/ko/settings)에서 `showThinkingSummaries: true`를 설정하세요. 축소되거나 수정되었을 때도 생성된 모든 생각 토큰에 대해 청구됩니다.

706 748 


708 확장 컨텍스트750 확장 컨텍스트

709</h3>751</h3>

710 752 

711Fable 5.1, Fable 5, Sonnet 5, Opus 4.6 이상, Sonnet 4.6은 큰 코드베이스가 있는 긴 세션을 위해 [1백만 토큰 컨텍스트 윈도우](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)를 지원합니다.753Fable 5.1, Fable 5, Sonnet 5 이상, Opus 4.6 이상, Sonnet 4.6은 큰 코드베이스가 있는 긴 세션을 위해 [1백만 토큰 컨텍스트 윈도우](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)를 지원합니다.

712 754 

713Anthropic API에서 Fable 5.1, Fable 5, Sonnet 5, Opus 4.7 이상은 모든 플랜(Pro 포함)에서 1M 윈도우로 실행됩니다. 이러한 모델에서 `[1m]` 변형을 선택하거나 1M 윈도우에 대해 사용 크레딧을 켤 필요가 없습니다. Fable 사용 자체는 일부 플랜에서 사용 크레딧으로 청구될 수 있습니다. [Fable 및 사용 크레딧](#fable-and-usage-credits)을 참조하세요.755Anthropic API에서 Fable 5.1, Fable 5, Sonnet 5 이상, Opus 4.7 이상은 모든 플랜(Pro 포함)에서 1M 윈도우로 실행됩니다. 이러한 모델에서 `[1m]` 변형을 선택하거나 1M 윈도우에 대해 사용 크레딧을 켤 필요가 없습니다. Fable 사용 자체는 일부 플랜에서 사용 크레딧으로 청구될 수 있습니다. [Fable 및 사용 크레딧](#fable-and-usage-credits)을 참조하세요.

714 756 

715Opus 4.6 및 Sonnet 4.6은 `[1m]` 변형을 통해서만 1M에 도달하며, 해당 변형에 대한 액세스는 플랜에 따라 다릅니다. Max, Team, Enterprise 플랜(Team Standard 및 Team Premium 좌석 모두 포함)에서 1M 컨텍스트가 있는 Opus 4.6은 구독에 포함됩니다. 1M 컨텍스트가 있는 Sonnet 4.6은 Max를 포함한 모든 구독 플랜에서 [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)이 필요합니다.757Opus 4.6 및 Sonnet 4.6은 `[1m]` 변형을 통해서만 1M에 도달하며, 해당 변형에 대한 액세스는 플랜에 따라 다릅니다. Max, Team, Enterprise 플랜(Team Standard 및 Team Premium 좌석 모두 포함)에서 1M 컨텍스트가 있는 Opus 4.6은 구독에 포함됩니다. 1M 컨텍스트가 있는 Sonnet 4.6은 Max를 포함한 모든 구독 플랜에서 [사용 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)이 필요합니다.

716 758 


744/model claude-opus-4-8[1m]786/model claude-opus-4-8[1m]

745```787```

746 788 

747<h4 id="sonnet-5-context-window">789<h4 id="sonnet-5-5-and-sonnet-5-context-window">

748 Sonnet 5 컨텍스트 윈도우790 Sonnet 5.5 및 Sonnet 5 컨텍스트 윈도우

749</h4>791</h4>

750 792 

751Anthropic API에서 Sonnet 5는 항상 1M 컨텍스트 윈도우로 실행됩니다. 200K 변형이 없고, 선택할 `[1m]` 접미사가 없으며, 어떤 플랜에서도 사용 크레딧이 필요하지 않습니다. 세션은 윈도우가 채워지기 전에 자동 압축되며, 기본적으로 약 967K 토큰에서 압축됩니다. [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/ko/env-vars)를 설정하여 다른 임계값을 선택하세요.793Anthropic API에서 Sonnet 5.5 및 Sonnet 5는 항상 1M 컨텍스트 윈도우로 실행됩니다. 200K 변형이 없고, 선택할 `[1m]` 접미사가 없으며, 어떤 플랜에서도 사용 크레딧이 필요하지 않습니다. 세션은 윈도우가 채워지기 전에 자동 압축되며, 기본적으로 약 967K 토큰에서 압축됩니다. [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/ko/env-vars)를 설정하여 다른 임계값을 선택하세요.

752 794 

753두 가지 구성이 윈도우를 200K로 예산합니다:795두 가지 구성이 윈도우를 200K로 예산합니다:

754 796 

755* **LLM 게이트웨이**: `ANTHROPIC_BASE_URL`이 [게이트웨이](/docs/ko/llm-gateway)를 가리킬 때 Claude Code는 1M 지원을 확인할 수 없습니다. 전체 윈도우를 사용하려면 모델 선택기에서 Sonnet 5 (1M context)를 선택하세요. 이는 `sonnet[1m]`으로 매핑됩니다.797* **LLM 게이트웨이**: `ANTHROPIC_BASE_URL`이 [게이트웨이](/docs/ko/llm-gateway)를 가리킬 때 Claude Code는 1M 지원을 확인할 수 없습니다. 전체 윈도우를 사용하려면 모델 선택기에서 Sonnet 5.5 (1M context)를 선택하세요. 이는 `sonnet[1m]`으로 매핑됩니다. 또는 Sonnet 5의 경우 `/model claude-sonnet-5[1m]`을 실행하세요.

756* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: 기본 1M 윈도우가 있는 모든 모델의 세션을 200K 윈도우로 유지합니다. [확장 컨텍스트](#extended-context)에서 유지가 강제되는 방법을 참조하세요. 컨텍스트를 제한해야 하는 배포에 유용합니다.798* **`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`**: 기본 1M 윈도우가 있는 모든 모델의 세션을 200K 윈도우로 유지합니다. [확장 컨텍스트](#extended-context)에서 유지가 강제되는 방법을 참조하세요. 컨텍스트를 제한해야 하는 배포에 유용합니다.

757 799 

758<h2 id="context-window-and-auto-compaction">800<h2 id="context-window-and-auto-compaction">


788* [클라우드 세션](/docs/ko/claude-code-on-the-web)은 대화가 모델 제한에 접근할 때 압축합니다.830* [클라우드 세션](/docs/ko/claude-code-on-the-web)은 대화가 모델 제한에 접근할 때 압축합니다.

789* Sonnet 4.6 및 Opus 4.6([확장 컨텍스트](#extended-context) 없음)은 200K 경계에서 압축하며, Opus 4.8 및 이후 버전도 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry와 같은 200K 컨텍스트 윈도우로 실행할 때 압축합니다.831* Sonnet 4.6 및 Opus 4.6([확장 컨텍스트](#extended-context) 없음)은 200K 경계에서 압축하며, Opus 4.8 및 이후 버전도 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry와 같은 200K 컨텍스트 윈도우로 실행할 때 압축합니다.

790* [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정하면 Sonnet 5 및 Fable 모델과 같이 기본 1M 윈도우가 있는 모델은 200K 경계에서 압축합니다.832* [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정하면 Sonnet 5 및 Fable 모델과 같이 기본 1M 윈도우가 있는 모델은 200K 경계에서 압축합니다.

791* Sonnet 5, Fable 모델, Anthropic API의 Opus 4.7 이상과 같이 기본 1M 윈도우로 실행되는 모델은 윈도우가 채워지기 전에 압축되며, 기본적으로 약 967K 토큰에서 압축됩니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서는 [타사 배포를 위한 모델 고정](#pin-models-for-third-party-deployments)에서 해당 윈도우로 실행되는 모델을 나타냅니다. Sonnet 5를 200K로 예산하는 구성의 경우 [Sonnet 5 컨텍스트 윈도우](#sonnet-5-context-window)를 참조하십시오.833* Sonnet 5, Fable 모델, Anthropic API의 Opus 4.7 이상과 같이 기본 1M 윈도우로 실행되는 모델은 윈도우가 채워지기 전에 압축되며, 기본적으로 약 967K 토큰에서 압축됩니다. Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서는 [타사 배포를 위한 모델 고정](#pin-models-for-third-party-deployments)에서 해당 윈도우로 실행되는 모델을 나타냅니다. Sonnet 5.5 및 Sonnet 5를 200K로 예산하는 구성의 경우 [Sonnet 5.5 및 Sonnet 5 컨텍스트 윈도우](#sonnet-5-5-and-sonnet-5-context-window)를 참조하십시오.

792* Claude Code가 인식하지 못하는 모델 ID(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭)의 세션은 Claude Code가 ID에 대해 가정하는 컨텍스트 윈도우에서 압축합니다. [게이트웨이 또는 사용자 정의 모델 ID의 윈도우 수정](#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하십시오.834* Claude Code가 인식하지 못하는 모델 ID(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭)의 세션은 Claude Code가 ID에 대해 가정하는 컨텍스트 윈도우에서 압축합니다. [게이트웨이 또는 사용자 정의 모델 ID의 윈도우 수정](#correct-the-window-for-a-gateway-or-custom-model-id)을 참조하십시오.

793 835 

794<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">836<h3 id="correct-the-window-for-a-gateway-or-custom-model-id">


863| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku`에 사용할 모델이거나 [백그라운드 기능](/docs/ko/costs#background-token-usage)입니다. |905| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | `haiku`에 사용할 모델이거나 [백그라운드 기능](/docs/ko/costs#background-token-usage)입니다. |

864| `CLAUDE_CODE_SUBAGENT_MODEL` | [subagents](/docs/ko/sub-agents#choose-a-model), [agent team](/docs/ko/agent-teams#specify-teammates-and-models) 팀원, 그리고 다른 방식으로 모델이 할당되지 않은 [workflow](/docs/ko/workflows) 에이전트의 기본 모델입니다. `haiku`와 같은 별칭이나 전체 모델 이름을 허용합니다. 호출별 모델이나 정의의 `model` 필드(예: `inherit`)가 우선합니다. 이를 변경하려면 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/ko/sub-agents#run-every-subagent-on-one-model)를 설정합니다. |906| `CLAUDE_CODE_SUBAGENT_MODEL` | [subagents](/docs/ko/sub-agents#choose-a-model), [agent team](/docs/ko/agent-teams#specify-teammates-and-models) 팀원, 그리고 다른 방식으로 모델이 할당되지 않은 [workflow](/docs/ko/workflows) 에이전트의 기본 모델입니다. `haiku`와 같은 별칭이나 전체 모델 이름을 허용합니다. 호출별 모델이나 정의의 `model` 필드(예: `inherit`)가 우선합니다. 이를 변경하려면 [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/ko/sub-agents#run-every-subagent-on-one-model)를 설정합니다. |

865 907 

908타사 제공자에서 [고정된 모델 표시 및 기능 사용자 정의](#customize-pinned-model-display-and-capabilities)는 `/model` 선택기에서 고정된 모델의 행이 표시하는 내용을 설명합니다.

909 

866참고: `ANTHROPIC_SMALL_FAST_MODEL`은 `ANTHROPIC_DEFAULT_HAIKU_MODEL`을 위해 더 이상 사용되지 않습니다.910참고: `ANTHROPIC_SMALL_FAST_MODEL`은 `ANTHROPIC_DEFAULT_HAIKU_MODEL`을 위해 더 이상 사용되지 않습니다.

867 911 

868<h3 id="pin-models-for-third-party-deployments">912<h3 id="pin-models-for-third-party-deployments">


997| 환경 변수 | 설명 |1041| 환경 변수 | 설명 |

998| - | - |1042| - | - |

999| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 prompt caching을 비활성화하려면 `1`로 설정합니다. 모델별 설정보다 우선합니다. |1043| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 prompt caching을 비활성화하려면 `1`로 설정합니다. 모델별 설정보다 우선합니다. |

1000| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |1044| `DISABLE_PROMPT_CACHING_HAIKU` | [기본 Haiku 모델](/docs/ko/prompt-caching#disable-prompt-caching)에 대해 prompt caching을 비활성화하려면 `1`로 설정합니다. |

1001| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |1045| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |

1002| `DISABLE_PROMPT_CACHING_OPUS` | Opus 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |1046| `DISABLE_PROMPT_CACHING_OPUS` | Opus 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |

1003| `DISABLE_PROMPT_CACHING_FABLE` | Fable 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |1047| `DISABLE_PROMPT_CACHING_FABLE` | Fable 모델에 대해서만 prompt caching을 비활성화하려면 `1`로 설정합니다. |

1004 1048 

1005메인 대화와 subagents에 대해 캐시 TTL을 별도로 선택하려면 [TTL을 직접 선택](/docs/ko/prompt-caching#choose-the-ttl-yourself)을 참조하세요. 캐시 미스를 트리거하는 것이 무엇인지 알아보려면 [Claude Code가 prompt caching을 사용하는 방법](/docs/ko/prompt-caching)을 참조하세요.1049메인 대화와 subagents에 대해 캐시 TTL을 별도로 선택하려면 [TTL을 직접 선택](/docs/ko/prompt-caching#choose-the-ttl-yourself)을 참조하세요. 캐시 미스를 트리거하는 것이 무엇인지 알아보려면 [Claude Code가 prompt caching을 사용하는 방법](/docs/ko/prompt-caching)을 참조하세요.

1050 

1051<h2 id="version-history">

1052 버전 이력

1053</h2>

1054 

1055이 표는 각 모델 별칭이 해석하는 모델이 변경된 Claude Code 버전을 나열합니다. 최신 버전부터 표시됩니다.

1056 

1057| 버전 | 변경 사항 |

1058| :- | :- |

1059| v2.1.284 | `sonnet`은 Anthropic API에서 Sonnet 5.5로 해석됩니다 |

1060| v2.1.280 | `opus`는 Anthropic API, AWS의 Claude Platform, Amazon Bedrock 및 Google Cloud의 Agent Platform에서 Opus 5.5로 해석됩니다 |

1061| v2.1.257 | `fable`은 Claude 앱 게이트웨이 세션을 제외하고 Fable 5.1로 해석됩니다 |

1062| v2.1.219 | `opus`는 Anthropic API, AWS의 Claude Platform, Amazon Bedrock 및 Agent Platform에서 Opus 5로 해석됩니다 |

1063| v2.1.207 | `opus`는 AWS의 Claude Platform, Amazon Bedrock 및 Agent Platform에서 Opus 4.8로 해석됩니다 |

1064| v2.1.197 | `sonnet`은 Anthropic API에서 Sonnet 5로 해석됩니다 |

1065| v2.1.154 | `opus`는 Anthropic API에서 Opus 4.8로 해석됩니다 |

1066| 이전 버전 | `opus`는 AWS의 Claude Platform에서 Opus 4.7로, Amazon Bedrock 및 Agent Platform에서 Opus 4.6으로 해석됩니다. `fable`은 모든 제공자에서 Fable 5로 해석됩니다 |

monitoring-usage.md +253 −250

Details

39 39 

40메트릭을 내보내는 설정을 확인하려면 백엔드에서 `claude_code.session.count` 메트릭을 확인하세요. Claude Code는 세션이 시작될 때 이 메트릭을 내보냅니다. 로그 전용 설정을 확인하려면 프롬프트를 제출하고 `claude_code.user_prompt` 이벤트를 확인하세요.40메트릭을 내보내는 설정을 확인하려면 백엔드에서 `claude_code.session.count` 메트릭을 확인하세요. Claude Code는 세션이 시작될 때 이 메트릭을 내보냅니다. 로그 전용 설정을 확인하려면 프롬프트를 제출하고 `claude_code.user_prompt` 이벤트를 확인하세요.

41 41 

42아무것도 도착하지 않으면 `claude --debug`를 실행하고 디버그 로그를 확인하세요. Claude Code는 구성한 내보내기에서의 실패를 `[3P telemetry]` 오류로 보고합니다. 여기서 3P는 타사를 의미합니다. `[Anthropic telemetry]`로 시작하는 줄은 [Anthropic의 별도 운영 원격 측정](/docs/ko/data-usage#telemetry-services)을 설명하며 설정 문제를 나타내지 않습니다.42아무것도 도착하지 않으면 `claude --debug-file <path>`를 사용하여 Claude Code를 시작하고 해당 경로에 작성되는 로그를 확인하세요. Claude Code는 구성한 내보내기에서의 실패를 `[3P telemetry]` 오류로 보고합니다. 여기서 3P는 타사를 의미합니다. `[Anthropic telemetry]`로 시작하는 줄은 [Anthropic의 별도 운영 원격 측정](/docs/ko/data-usage#telemetry-services)을 설명하며 설정 문제를 나타내지 않습니다.

43 43 

44전체 구성 옵션은 [OpenTelemetry 사양](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options)을 참조하세요.44전체 구성 옵션은 [OpenTelemetry 사양](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md#configuration-options)을 참조하세요.

45 45 


72 관리 설정이 OTLP 대상을 잠그는 방식72 관리 설정이 OTLP 대상을 잠그는 방식

73</h3>73</h3>

74 74 

75관리 설정에서 `OTEL_EXPORTER_OTLP_*` 변수를 설정하면 Claude Code는 시작 시 충돌하는 개발자 설정 변수를 제거하고 `claude --debug`로 볼 수 있는 경고를 기록합니다. 제거되는 항목은 설정하는 변수에 따라 달라집니다:75관리 설정에서 `OTEL_EXPORTER_OTLP_*` 변수를 설정하면 Claude Code는 시작 시 충돌하는 개발자 설정 변수를 제거하고 디버그 로그에 경고를 기록합니다. 제거되는 항목은 설정하는 변수에 따라 달라집니다:

76 76 

77* **엔드포인트**: `OTEL_EXPORTER_OTLP_ENDPOINT`를 설정하면 Claude Code는 개발자가 설정한 모든 신호별 엔드포인트를 제거합니다. 개발자가 한 신호를 다른 수집기로 지정할 수 없으므로 관리 설정에서 신호별 엔드포인트 변수를 설정할 필요가 없습니다.77* **엔드포인트**: `OTEL_EXPORTER_OTLP_ENDPOINT`를 설정하면 Claude Code는 개발자가 설정한 모든 신호별 엔드포인트를 제거합니다. 개발자가 한 신호를 다른 수집기로 지정할 수 없으므로 관리 설정에서 신호별 엔드포인트 변수를 설정할 필요가 없습니다.

78* **프로토콜**: `OTEL_EXPORTER_OTLP_PROTOCOL`을 설정하면 Claude Code는 개발자가 설정한 모든 신호별 프로토콜을 제거합니다.78* **프로토콜**: `OTEL_EXPORTER_OTLP_PROTOCOL`을 설정하면 Claude Code는 개발자가 설정한 모든 신호별 프로토콜을 제거합니다.


127| `OTEL_LOGS_EXPORT_INTERVAL` | 로그 내보내기 간격 (밀리초 단위, 기본값: 5000) | `1000`, `10000` |127| `OTEL_LOGS_EXPORT_INTERVAL` | 로그 내보내기 간격 (밀리초 단위, 기본값: 5000) | `1000`, `10000` |

128| `OTEL_LOG_USER_PROMPTS` | 사용자 프롬프트 콘텐츠 로깅 활성화 (기본값: 비활성화) | `1`로 활성화 |128| `OTEL_LOG_USER_PROMPTS` | 사용자 프롬프트 콘텐츠 로깅 활성화 (기본값: 비활성화) | `1`로 활성화 |

129| `OTEL_LOG_ASSISTANT_RESPONSES` | `assistant_response` 이벤트에서 어시스턴트 응답 텍스트 로깅 활성화 (기본값: 비활성화). 설정되지 않으면 `OTEL_LOG_USER_PROMPTS`의 값으로 폴백됩니다. Claude Code v2.1.193 이상 필요 | `1`로 활성화, `0`으로 수정된 상태 유지 |129| `OTEL_LOG_ASSISTANT_RESPONSES` | `assistant_response` 이벤트에서 어시스턴트 응답 텍스트 로깅 활성화 (기본값: 비활성화). 설정되지 않으면 `OTEL_LOG_USER_PROMPTS`의 값으로 폴백됩니다. Claude Code v2.1.193 이상 필요 | `1`로 활성화, `0`으로 수정된 상태 유지 |

130| `OTEL_LOG_TOOL_DETAILS` | 도구 이벤트 및 추적 스팬 속성에서 도구 매개변수 및 입력 인수 로깅 활성화: Bash 명령, MCP 서버 및 도구 이름, 스킬 이름, 사용자 작성 워크플로우 이름 및 도구 입력. 또한 `user_prompt` 이벤트에서 사용자 정의, 플러그인 및 MCP 명령 이름을 활성화합니다 (기본값: 비활성화). Claude Desktop이 소유한 세션에서 Claude Desktop의 기본 제공 서버의 경우 플래그가 꺼져 있어도 `tool_decision`/`tool_result`에서 `mcp_server_name`/`mcp_tool_name`이 내보내집니다. 예외는 Claude Code v2.1.214 이상 필요 | `1`로 활성화 |130| `OTEL_LOG_TOOL_DETAILS` | 도구 이벤트 및 추적 스팬 속성에서 도구 매개변수 및 입력 인수 로깅 활성화: Bash 명령, MCP 서버 및 도구 이름, 스킬 이름, 사용자 작성 워크플로우 이름 및 도구 입력. 또한 `user_prompt` 이벤트에서 사용자 정의, 플러그인 및 MCP 명령 이름을 활성화합니다. 또한 [비용 및 토큰 카운터](#cost-counter)에서 실제 에이전트, 스킬, 플러그인 및 MCP 서버 및 도구 이름을 활성화합니다 (기본값: 비활성화). Claude Desktop이 소유한 세션에서 Claude Desktop의 기본 제공 서버의 경우 플래그가 꺼져 있어도 `tool_decision`/`tool_result`에서 `mcp_server_name`/`mcp_tool_name`이 내보내집니다. 예외는 Claude Code v2.1.214 이상 필요 | `1`로 활성화 |

131| `OTEL_LOG_TOOL_CONTENT` | [`tool.output` 스팬 이벤트](#tool-output-span-event)에서 도구 콘텐츠 로깅 활성화 (기본값: 비활성화). 스팬 속성은 [자신의 게이트](#new-context-gates) 아래에서 도구 콘텐츠를 전달합니다. [추적](#traces-beta)이 필요합니다. 콘텐츠는 콘텐츠 제한 (기본값 60KB)에서 잘립니다 | `1`로 활성화 |131| `OTEL_LOG_TOOL_CONTENT` | [`tool.output` 스팬 이벤트](#tool-output-span-event)에서 도구 콘텐츠 로깅 활성화 (기본값: 비활성화). 스팬 속성은 [자신의 게이트](#new-context-gates) 아래에서 도구 콘텐츠를 전달합니다. [추적](#traces-beta)이 필요합니다. 콘텐츠는 콘텐츠 제한 (기본값 60KB)에서 잘립니다 | `1`로 활성화 |

132| `OTEL_LOG_MANAGED_SETTINGS` | 수정된 관리 설정 및 수정 전 설정의 SHA-256 다이제스트를 [관리 설정 해결됨](#managed-settings-resolved-event) 이벤트에 추가합니다 (기본값: 비활성화). 프로젝트 또는 로컬 설정의 값은 이를 켜지 않습니다. Claude Code v2.1.274 이상 필요 | `1`로 활성화 |132| `OTEL_LOG_MANAGED_SETTINGS` | 수정된 관리 설정 및 수정 전 설정의 SHA-256 다이제스트를 [관리 설정 해결됨](#managed-settings-resolved-event) 이벤트에 추가합니다 (기본값: 비활성화). 프로젝트 또는 로컬 설정의 값은 이를 켜지 않습니다. Claude Code v2.1.274 이상 필요 | `1`로 활성화 |

133| `OTEL_LOG_RAW_API_BODIES` | 전체 Anthropic Messages API 요청 및 응답 JSON을 `api_request_body` / `api_response_body` 로그 이벤트로 내보냅니다 (기본값: 비활성화). 본문에는 전체 대화 기록이 포함됩니다. 이를 활성화하면 `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` 및 `OTEL_LOG_TOOL_CONTENT`가 공개할 모든 것에 동의하는 것을 의미합니다 | `1`로 콘텐츠 제한 (기본값 60KB)에서 잘린 인라인 본문, 또는 `file:<dir>`로 디스크의 잘리지 않은 본문과 이벤트의 `body_ref` 포인터 |133| `OTEL_LOG_RAW_API_BODIES` | 전체 Anthropic Messages API 요청 및 응답 JSON을 `api_request_body` / `api_response_body` 로그 이벤트로 내보냅니다 (기본값: 비활성화). 본문에는 전체 대화 기록이 포함됩니다. 이를 활성화하면 `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` 및 `OTEL_LOG_TOOL_CONTENT`가 공개할 모든 것에 동의하는 것을 의미합니다 | `1`로 콘텐츠 제한 (기본값 60KB)에서 잘린 인라인 본문, 또는 `file:<dir>`로 디스크의 잘리지 않은 본문과 이벤트의 `body_ref` 포인터 |


257| `output_tokens` | 출력 토큰 수 | |257| `output_tokens` | 출력 토큰 수 | |

258| `cache_read_tokens` | 프롬프트 캐시에서 읽은 토큰 | |258| `cache_read_tokens` | 프롬프트 캐시에서 읽은 토큰 | |

259| `cache_creation_tokens` | 프롬프트 캐시에 기록된 토큰 | |259| `cache_creation_tokens` | 프롬프트 캐시에 기록된 토큰 | |

260| `request_id` | `request-id` 응답 헤더의 Anthropic API 요청 ID | |260| `request_id` | API 요청 ID. [이벤트 상관 속성](#event-correlation-attributes)의 `request_id`와 동일한 값 | |

261| `gen_ai.response.id` | `request_id`와 동일한 값. OpenTelemetry GenAI 의미론적 규칙 | |261| `gen_ai.response.id` | `request_id`와 동일한 값. OpenTelemetry GenAI 의미론적 규칙 | |

262| `client_request_id` | 최종 시도의 클라이언트 생성 `x-client-request-id` | |262| `client_request_id` | 최종 시도의 클라이언트 생성 `x-client-request-id` | |

263| `attempt` | 이 요청에 대해 수행된 총 시도 | |263| `attempt` | 이 요청에 대해 수행된 총 시도 | |


292| `skill_name` | Skill 도구의 스킬 이름 | `OTEL_LOG_TOOL_DETAILS` |292| `skill_name` | Skill 도구의 스킬 이름 | `OTEL_LOG_TOOL_DETAILS` |

293| `subagent_type` | Agent 도구 또는 레거시 Task 도구의 하위 에이전트 유형 | `OTEL_LOG_TOOL_DETAILS` |293| `subagent_type` | Agent 도구 또는 레거시 Task 도구의 하위 에이전트 유형 | `OTEL_LOG_TOOL_DETAILS` |

294 294 

295<span id="tool-output-span-event" />**`tool.output` span event on `claude_code.tool`**295<span id="tool-output-span-event" />**`claude_code.tool` 스팬의 `tool.output` 스팬 이벤트**

296 296 

297`OTEL_LOG_TOOL_CONTENT=1`을 설정하면 Read 및 Bash 호출은 `claude_code.tool` 스팬에 `tool.output` 스팬 이벤트를 기록할 수 있습니다. Edit 및 Write 호출은 `OTEL_LOG_TOOL_DETAILS=1`도 설정할 때만 기록합니다. 해당 변수는 해당 두 도구로 범위가 지정되지 않으므로 구성 테이블의 [행](#common-configuration-variables)을 확인하여 다른 곳에서 추가하는 인수를 확인합니다.297`OTEL_LOG_TOOL_CONTENT=1`을 설정하면 Read 및 Bash 호출은 `claude_code.tool` 스팬에 `tool.output` 스팬 이벤트를 기록할 수 있습니다. Edit 및 Write 호출은 `OTEL_LOG_TOOL_DETAILS=1`도 설정할 때만 기록합니다. 해당 변수는 해당 두 도구로 범위가 지정되지 않으므로 구성 테이블의 [행](#common-configuration-variables)을 확인하여 다른 곳에서 추가하는 인수를 확인합니다.

298 298 

299MCP 도구, WebFetch 및 WebSearch도 Claude Code v2.1.283 이상에서 이 이벤트를 기록합니다.

300 

299Claude Code는 도구 호출의 성공적인 반환에서 이 이벤트를 작성하므로 오류를 발생시키는 호출은 도구에 관계없이 아무것도 기록하지 않습니다. 반환하는 호출 중에서 다음에 대해 `tool.output` 이벤트를 기록하지 않습니다:301Claude Code는 도구 호출의 성공적인 반환에서 이 이벤트를 작성하므로 오류를 발생시키는 호출은 도구에 관계없이 아무것도 기록하지 않습니다. 반환하는 호출 중에서 다음에 대해 `tool.output` 이벤트를 기록하지 않습니다:

300 302 

301* Read, Edit, Write 및 Bash 이외의 도구 (MCP 도구 및 WebFetch 포함)에 대한 호출303* Read, Edit, Write, Bash, WebFetch, WebSearch 및 MCP 도구 이외의 도구에 대한 호출

302* 이미지, PDF 또는 콘텐츠가 변경되지 않은 파일의 재읽기와 같이 파일 텍스트 이외의 것을 반환하는 Read304* 이미지, PDF 또는 콘텐츠가 변경되지 않은 파일의 재읽기와 같이 파일 텍스트 이외의 것을 반환하는 Read

303* `OTEL_LOG_TOOL_DETAILS=1`도 설정하지 않으면 Edit 또는 Write 호출305* `OTEL_LOG_TOOL_DETAILS=1`도 설정하지 않으면 Edit 또는 Write 호출

306* Claude Code가 [쿼리된 메시지를 즉시 보내기](/docs/ko/interactive-mode#when-claude-code-sends-what-you-queued) 위해 턴을 중단했기 때문에 백그라운드로 이동한 WebFetch 또는 WebSearch 호출. Claude는 도구 스팬이 끝난 후 해당 결과를 나중에 받습니다.

304 307 

305이벤트는 이러한 속성을 전달하며, 각각은 콘텐츠 제한 (기본값 60KB)에서 잘립니다. `Gated by`는 속성이 `OTEL_LOG_TOOL_CONTENT=1` 위에 필요한 변수를 이름 지으며, Edit 및 Write의 경우 해당 변수는 속성이 아닌 이벤트 자체를 게이트합니다.308이벤트는 이러한 속성을 전달하며, 각각은 콘텐츠 제한 (기본값 60KB)에서 잘립니다. `Gated by`는 속성이 `OTEL_LOG_TOOL_CONTENT=1` 위에 필요한 변수를 이름 지으며, Edit 및 Write의 경우 해당 변수는 속성이 아닌 이벤트 자체를 게이트합니다.

306 309 

307| 속성 | 설명 | 게이트 대상 |310| 속성 | 설명 | 게이트 대상 |

308| - | - | - |311| - | - | - |

309| `content` | Read 도구가 반환한 텍스트 또는 Write 호출이 작성하도록 요청한 텍스트 | `OTEL_LOG_TOOL_DETAILS` (Write 도구의 경우) |312| `content` | Read 도구가 반환한 텍스트 또는 Write 호출이 작성하도록 요청한 텍스트 | `OTEL_LOG_TOOL_DETAILS` (Write 도구의 경우) |

310| `output` | Bash 명령의 결합된 출력 (stderr가 stdout에 인터리브됨) | |313| `output` | Bash 도구의 경우 명령의 결합된 출력 (stderr가 stdout에 인터리브됨). MCP 도구, WebFetch 또는 WebSearch의 경우 도구가 반환한 결과: 줄바꿈으로 조인된 텍스트 블록 (이미지 또는 문서는 `[image]`와 같은 자리 표시자로 대체됨) | |

311| `diff` | Edit 도구가 적용한 구조화된 패치 | `OTEL_LOG_TOOL_DETAILS` |314| `diff` | Edit 도구가 적용한 구조화된 패치 | `OTEL_LOG_TOOL_DETAILS` |

312| `file_path` | Read, Edit 및 Write 도구의 대상 파일 경로 (동일한 이름의 스팬 속성 반복) | `OTEL_LOG_TOOL_DETAILS` |315| `file_path` | Read, Edit 및 Write 도구의 대상 파일 경로 (동일한 이름의 스팬 속성 반복) | `OTEL_LOG_TOOL_DETAILS` |

313| `bash_command` | Bash 도구의 명령 문자열 | `OTEL_LOG_TOOL_DETAILS` |316| `bash_command` | Bash 도구의 명령 문자열 | `OTEL_LOG_TOOL_DETAILS` |


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

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

548 551 

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

550 553 

551이벤트는 추가로 다음 속성을 포함합니다. 이들은 무한한 카디널리티를 야기할 수 있으므로 메트릭에는 절대 첨부되지 않습니다:554이벤트는 추가로 다음 속성을 포함합니다. 이들은 무한 카디널리티를 유발하므로 메트릭에 절대 첨부되지 않습니다:

552 555 

553* `prompt.id`: 사용자 프롬프트를 다음 프롬프트까지의 모든 후속 이벤트와 연관시키는 UUID입니다. [이벤트 상관 속성](#event-correlation-attributes) 참조.556* `prompt.id`: 사용자 프롬프트를 다음 프롬프트까지의 모든 후속 이벤트와 연관시키는 UUID입니다. [이벤트 상관 속성](#event-correlation-attributes) 참조.

554* `workspace.host_paths`: 데스크톱 앱에서 선택한 호스트 작업 공간 디렉토리(문자열 배열)557* `workspace.host_paths`: 데스크톱 앱에서 선택한 호스트 작업 공간 디렉토리(문자열 배열)

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

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

557 560 

558<h4 id="repository-attributes">561<h4 id="repository-attributes">

559 저장소 속성562 저장소 속성

560</h4>563</h4>

561 564 

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

563 566 

564Claude Code는 저장소의 `origin` 원격에서 이러한 속성을 세션당 한 번 파생합니다. 한 저장소의 HTTPS 및 SSH 원격은 동일한 값을 생성합니다:567Claude Code는 저장소의 `origin` 원격에서 이러한 속성을 세션당 한 번 파생합니다. 저장소의 HTTPS 및 SSH 원격이 GitHub, GitLab 및 Bitbucket Cloud에서처럼 동일한 호스트와 동일한 경로를 지정하면, 둘 다 동일한 값을 생성합니다:

565 568 

566| 속성 | 값 |569| 속성 | 값 |

567| - | - |570| - | - |

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

569| `vcs.owner.name` | 소유자 또는 그룹 경로(예: `example-org`); 원격 경로에 단일 세그먼트가 있을 때 생략됨 |572| `vcs.owner.name` | 소유자 또는 그룹 경로(예: `example-org`); 원격 경로가 단일 세그먼트인 경우 생략됨 |

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

571| `vcs.provider.name` | Claude Code가 원격의 호스트 또는 URL 형태를 `github`, `gitlab`, `bitbucket`, 또는 `gitea` 중 하나로 인식할 때; 그 외에는 생략됨 |574| `vcs.provider.name` | Claude Code가 원격의 호스트 또는 URL 형태를 `github`, `gitlab`, `bitbucket` 또는 `gitea` 중 하나로 인식할 때; 그 외의 경우 생략됨 |

575 

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

572 577 

573값은 소문자로 변환되며, 원격 URL의 자격 증명, 쿼리 문자열 및 조각은 절대 나타나지 않습니다. 세션에 `origin` 원격이 없을 때, 원격이 URL 형태가 아닐 때, 또는 유일한 포함 저장소가 홈 디렉토리일 때 속성이 생략됩니다.578[클라우드 세션](/docs/ko/claude-code-on-the-web)에서 이러한 속성을 가져오려면, `OTEL_METRICS_INCLUDE_REPOSITORY`를 포함한 원격 측정 변수를 해당 [클라우드 환경](/docs/ko/cloud-environments#set-environment-variables)에 설정합니다. 또한 환경의 [네트워크 액세스](/docs/ko/cloud-environments#network-access)에서 수집기의 도메인을 허용합니다.

574 579 

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

581 

582하나의 저장소의 HTTPS 및 SSH 클론이 서로 다른 값을 보고하는 경우(예: HTTPS 클론 URL이 SSH URL에 없는 경로 접두사를 전달하는 자체 호스팅 설치), `OTEL_RESOURCE_ATTRIBUTES`에서 `vcs.repository.url.full`을 보고하려는 다른 모든 `vcs.*` 키와 함께 선언합니다. 그러면 모든 클론이 선언한 ID를 보고합니다.

576 583 

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

578 585 


580 메트릭587 메트릭

581</h3>588</h3>

582 589 

583Claude Code는 다음 메트릭을 내보냅니다. Unit 열은 각 메트릭에 첨부된 OpenTelemetry 단위 문자열을 보여줍니다; 카운트 메트릭은 없습니다.590Claude Code는 다음 메트릭을 내보냅니다. 단위 열은 각 메트릭에 첨부된 OpenTelemetry 단위 문자열을 보여줍니다; 카운트 메트릭은 없습니다.

584 591 

585| 메트릭 이름 | 설명 | 단위 |592| 메트릭 이름 | 설명 | 단위 |

586| - | - | - |593| - | - | - |


593| `claude_code.code_edit_tool.decision` | 코드 편집 도구 권한 결정 수 | 없음 |600| `claude_code.code_edit_tool.decision` | 코드 편집 도구 권한 결정 수 | 없음 |

594| `claude_code.active_time.total` | 총 활성 시간 | s |601| `claude_code.active_time.total` | 총 활성 시간 | s |

595 602 

596`prometheus`가 `OTEL_METRICS_EXPORTER`에 나열된 유일한 내보내기일 때 Claude Code는 스크래이프가 유효한 Prometheus 텍스트 형식으로 유지되도록 내보낸 메트릭에서 `USD`, `tokens`, 및 `s` 단위를 생략합니다. 메트릭 이름은 변경되지 않으며, `otlp,prometheus`와 같이 내보내기를 결합하는 구성은 단위를 유지합니다. v2.1.216 이전에는 Prometheus 스크래이프에 일부 스크래퍼가 거부한 OpenMetrics 전용 `# UNIT` 라인이 포함되었습니다.603`prometheus`가 `OTEL_METRICS_EXPORTER`에 나열된 유일한 내보내기일 때, Claude Code는 스크래이프가 유효한 Prometheus 텍스트 형식으로 유지되도록 내보낸 메트릭에서 `USD`, `tokens` 및 `s` 단위를 생략합니다. 메트릭 이름은 변경되지 않으며, `otlp,prometheus`와 같이 내보내기를 결합하는 구성은 단위를 유지합니다. v2.1.216 이전에는 Prometheus 스크래이프에 일부 스크래이퍼가 거부한 OpenMetrics 전용 `# UNIT` 라인이 포함되었습니다.

597 604 

598<h3 id="metric-details">605<h3 id="metric-details">

599 메트릭 세부 정보606 메트릭 세부 정보


610**속성**:617**속성**:

611 618 

612* 모든 [표준 속성](#standard-attributes)619* 모든 [표준 속성](#standard-attributes)

613* `start_type`: 세션이 시작된 방식. `"fresh"`, `"resume"`, `"continue"`, 또는 `"agents_view"` 중 하나입니다. `"agents_view"` 값은 `claude agents` 대시보드 프로세스(대화형 세션이 아닌 사용자 시작 로컬 UI)를 식별합니다. 대시보드에서 UI 프로세스 시작을 대화형 세션과 분리하려면 이 값을 필터링합니다.620* `start_type`: 세션이 시작된 방식. `"fresh"`, `"resume"`, `"continue"` 또는 `"agents_view"` 중 하나입니다. `"agents_view"` 값은 `claude agents` 대시보드 프로세스(대화형 세션이 아닌 사용자 시작 로컬 UI)를 식별합니다. 대시보드에서 UI 프로세스 시작을 대화형 세션과 분리하려면 이 값을 필터링합니다.

614 621 

615<h4 id="lines-of-code-counter">622<h4 id="lines-of-code-counter">

616 코드 라인 카운터623 코드 라인 카운터


650 657 

651각 API 요청 후 증가합니다.658각 API 요청 후 증가합니다.

652 659 

660`agent.name`, `skill.name`, `plugin.name`, `mcp_server.name` 및 `mcp_tool.name` 속성은 각각 기본적으로 일부 이름을 `"custom"` 또는 `"third-party"` 자리 표시자로 수정합니다. `OTEL_LOG_TOOL_DETAILS=1`을 설정하면, 대신 실제 이름을 전달합니다. v2.1.273 이전에는 비용 및 토큰 카운터와 `api_request`, `api_error` 및 `api_refusal` 이벤트가 `OTEL_LOG_TOOL_DETAILS=1`이 설정된 경우에도 수정된 값을 전달했습니다.

661 

653**속성**:662**속성**:

654 663 

655* 모든 [표준 속성](#standard-attributes)664* 모든 [표준 속성](#standard-attributes)

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

657* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"`, 또는 `"auxiliary"` 중 하나입니다.666* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"` 또는 `"auxiliary"` 중 하나입니다.

658* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외에는 없습니다.667* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외의 경우 없음

659* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level): `"low"`, `"medium"`, `"high"`, `"xhigh"`, 또는 `"max"`. Claude Code가 노력 수준을 보내지 않을 때(예: 노력을 지원하지 않는 모델)는 없습니다.668* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level): `"low"`, `"medium"`, `"high"`, `"xhigh"` 또는 `"max"`. Claude Code가 노력 수준을 보내지 않을 때 없음(예: 노력을 지원하지 않는 모델)

660* `agent.name`: 요청을 발급한 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다. 다른 사용자 정의 에이전트 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"custom"`으로 대체됩니다. 요청이 명명된 하위 에이전트 유형에 의해 발급되지 않았을 때는 없습니다.669* `agent.name`: 요청을 발급한 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다. 다른 사용자 정의 에이전트 이름은 `"custom"`으로 대체됩니다. 요청이 명명된 하위 에이전트 유형에 의해 발급되지 않은 경우 없음

661* `skill.name`: 요청에 대해 활성화된 스킬(Skill 도구, `/` 명령, 또는 생성된 하위 에이전트에 의해 상속됨으로 설정됨). 기본 제공, 번들, 사용자 정의, 및 공식 마켓플레이스 플러그인 스킬 이름은 그대로 나타납니다. 타사 플러그인 스킬 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"third-party"`로 대체됩니다. 활성 스킬이 없을 때는 없습니다.670* `skill.name`: 요청에 대해 활성화된 스킬(Skill 도구 또는 `/` 명령으로 설정되거나 생성된 하위 에이전트에 의해 상속됨). 기본 제공, 번들, 사용자 정의 및 공식 마켓플레이스 플러그인 스킬 이름은 그대로 나타납니다. 타사 플러그인 스킬 이름은 `"third-party"`로 대체됩니다. 활성 스킬이 없을 때 없음

662* `plugin.name`: 활성 스킬 또는 하위 에이전트를 제공하는 플러그인의 소유자. 공식 마켓플레이스 플러그인 이름은 그대로 나타납니다. 타사 플러그인 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"third-party"`로 대체됩니다. 스킬과 하위 에이전트 모두 소유 플러그인이 없을 때는 없습니다.671* `plugin.name`: 활성 스킬 또는 하위 에이전트가 플러그인에 의해 제공될 때 소유 플러그인. 공식 마켓플레이스 플러그인 이름은 그대로 나타납니다. 타사 플러그인 이름은 `"third-party"`로 대체됩니다. 스킬과 하위 에이전트 모두 소유 플러그인이 없을 때 없음

663* `marketplace.name`: 소유 플러그인이 설치된 마켓플레이스. 공식 마켓플레이스 플러그인에만 내보냅니다. 그 외에는 없습니다.672* `marketplace.name`: 소유 플러그인이 설치된 마켓플레이스. `OTEL_LOG_TOOL_DETAILS=1`이 설정된 경우에도 공식 마켓플레이스 플러그인에 대해서만 내보내집니다. 그 외의 경우 없음

664* `mcp_server.name`: 이 요청이 소비한 도구 결과의 MCP 서버. 기본 제공, claude.ai 프록시, 및 공식 레지스트리 서버 이름은 그대로 나타납니다. 사용자 구성 서버 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"custom"`으로 대체됩니다. 요청이 MCP 도구 결과를 소비하지 않았을 때는 없습니다. v2.1.222 이전에는 Claude Code가 MCP 도구 호출 후 모든 요청에 이 속성을 설정했으며, 도구 결과를 소비한 요청에만 설정하지 않았으므로 이를 집계하는 대시보드는 업그레이드 후 단계 감소를 보여줍니다.673* `mcp_server.name`: 이 요청이 소비한 도구 결과의 MCP 서버. 기본 제공, claude.ai 프록시 및 공식 레지스트리 서버 이름은 그대로 나타납니다. 사용자 구성 서버 이름은 `"custom"`으로 대체됩니다. 요청이 MCP 도구 결과를 소비하지 않았을 때 없음. v2.1.222 이전에는 Claude Code가 MCP 도구 호출 후 모든 요청에 이 속성을 설정했으며, 도구 결과를 소비한 요청에만 설정하지 않았으므로, 이를 집계하는 대시보드는 업그레이드 후 단계 감소를 보여줍니다.

665* `mcp_tool.name`: 이 요청이 소비한 도구 결과의 MCP 도구(삭제 및 버전 동작은 `mcp_server.name`과 동일). 요청이 MCP 도구 결과를 소비하지 않았을 때는 없습니다.674* `mcp_tool.name`: 이 요청이 소비한 도구 결과의 MCP 도구(동일한 수정 및 버전 동작 포함 `mcp_server.name`). 요청이 MCP 도구 결과를 소비하지 않았을 때 없음

666 675 

667<h4 id="token-counter">676<h4 id="token-counter">

668 토큰 카운터677 토큰 카운터


675* 모든 [표준 속성](#standard-attributes)684* 모든 [표준 속성](#standard-attributes)

676* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)685* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`)

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

678* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"`, 또는 `"auxiliary"` 중 하나입니다.687* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"` 또는 `"auxiliary"` 중 하나입니다.

679* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외에는 없습니다.688* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외의 경우 없음

680* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). 세부 정보는 [비용 카운터](#cost-counter)를 참조하세요.689* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). 세부 정보는 [비용 카운터](#cost-counter) 참조.

681* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 삭제 동작은 [비용 카운터](#cost-counter)를 참조하세요.690* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트 및 MCP 속성. 정의 및 수정 동작은 [비용 카운터](#cost-counter) 참조.

682 691 

683<h4 id="code-edit-tool-decision-counter">692<h4 id="code-edit-tool-decision-counter">

684 코드 편집 도구 결정 카운터693 코드 편집 도구 결정 카운터

685</h4>694</h4>

686 695 

687사용자가 Edit, Write, 또는 NotebookEdit 도구 사용을 수락하거나 거부할 때 증가합니다.696사용자가 Edit, Write 또는 NotebookEdit 도구 사용을 수락하거나 거부할 때 증가합니다.

688 697 

689**속성**:698**속성**:

690 699 

691* 모든 [표준 속성](#standard-attributes)700* 모든 [표준 속성](#standard-attributes)

692* `tool_name`: 도구 이름 (`"Edit"`, `"Write"`, `"NotebookEdit"`)701* `tool_name`: 도구 이름(`"Edit"`, `"Write"`, `"NotebookEdit"`)

693* `decision`: 사용자 결정 (`"accept"`, `"reject"`)702* `decision`: 사용자 결정(`"accept"`, `"reject"`)

694* `source`: 결정이 나온 위치. `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"`, 또는 `"user_reject"` 중 하나입니다. 각 값의 의미는 [도구 결정 이벤트](#tool-decision-event)를 참조하세요.703* `source`: 결정이 나온 위치. `"config"`, `"hook"`, `"user_permanent"`, `"user_temporary"`, `"user_abort"` 또는 `"user_reject"` 중 하나입니다. 각 값의 의미는 [도구 결정 이벤트](#tool-decision-event) 참조.

695* `language`: 편집된 파일의 프로그래밍 언어(예: `"TypeScript"`, `"Python"`, `"JavaScript"`, 또는 `"Markdown"`). 인식되지 않은 파일 확장자의 경우 `"unknown"`을 반환합니다.704* `language`: 편집된 파일의 프로그래밍 언어(예: `"TypeScript"`, `"Python"`, `"JavaScript"` 또는 `"Markdown"`). 인식되지 않는 파일 확장자의 경우 `"unknown"`을 반환합니다.

696 705 

697<h4 id="active-time-counter">706<h4 id="active-time-counter">

698 활성 시간 카운터707 활성 시간 카운터

699</h4>708</h4>

700 709 

701유휴 시간을 제외하고 Claude Code를 적극적으로 사용하는 실제 시간을 추적합니다. 이 메트릭은 입력 및 응답 읽기와 같은 사용자 상호 작용 중, 그리고 도구 실행 및 AI 응답 생성과 같은 CLI 처리 중에 증가합니다.710유휴 시간을 제외하고 Claude Code를 적극적으로 사용하는 실제 시간을 추적합니다. 이 메트릭은 입력 및 응답 읽기와 같은 사용자 상호 작용 중에, 그리고 도구 실행 및 AI 응답 생성과 같은 CLI 처리 중에 증가합니다.

702 711 

703**속성**:712**속성**:

704 713 


715 이벤트 상관 속성724 이벤트 상관 속성

716</h4>725</h4>

717 726 

718사용자가 프롬프트를 제출하면 Claude Code는 여러 API 호출을 수행하고 여러 도구를 실행할 수 있습니다. `prompt.id` 속성을 사용하면 이러한 모든 이벤트를 이를 트리거한 단일 프롬프트에 연결할 수 있습니다.727사용자가 프롬프트를 제출하면, Claude Code는 여러 API 호출을 수행하고 여러 도구를 실행할 수 있습니다. `prompt.id` 속성을 사용하면 이러한 모든 이벤트를 해당 이벤트를 트리거한 단일 프롬프트에 연결할 수 있습니다.

719 728 

720| 속성 | 설명 |729| 속성 | 설명 |

721| - | - |730| - | - |

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

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

724| `message.uuid` | 세션 기록에 유지되는 메시지의 UUID(\~/.claude/projects/*/*.jsonl 파일). `assistant_response`, `api_response_body`, 및 명령 디스패치를 제외한 `user_prompt`에 있습니다(0개 이상의 메시지를 생성할 수 있음). `assistant_response` 및 `api_response_body`에서 이는 응답의 최종 기록 항목이며, 다음 턴의 `parentUuid`가 이로부터 체인됩니다. Claude Code v2.1.214 이상 필요, `api_response_body`에서 v2.1.274 이상 필요 |733| `message.uuid` | 세션 기록에 유지되는 메시지의 UUID(\~/.claude/projects/*/*.jsonl 파일). `assistant_response`, `api_response_body` 및 명령 디스패치를 제외한 `user_prompt`에 있습니다(명령 디스패치는 0개 이상의 메시지를 생성할 수 있음). `assistant_response` 및 `api_response_body`에서 이는 응답의 최종 기록 항목이며, 다음 턴의 `parentUuid`가 이를 연결합니다. Claude Code v2.1.214 이상 필요, 또는 `api_response_body`에서 v2.1.274 이상 |

725| `client_request_id` | `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID. 첫 번째 당사자 API 연결에서 `api_request` 및 `api_error`에 있습니다; 타사 공급자 백엔드 및 요청이 비스트리밍 폴백을 통해 재시도되었을 때는 없습니다. 요청을 응답과 쌍으로 만들고 타임아웃과 같이 서버 `request_id`를 생성하지 않은 실패에 대해 사용 가능합니다. `llm_request` 추적 스팬의 동일한 속성과 일치합니다. Claude Code v2.1.214 이상 필요 |734| `request_id` | `request-id` 응답 헤더에서 읽은 서버 할당 API 요청 ID(예: `req_011...`). [Amazon Bedrock](/docs/ko/amazon-bedrock)과 같이 `request-id` 헤더가 없는 응답의 경우, 값은 `x-amzn-requestid` 헤더에서 대신 옵니다. `api_request`, `api_error`, `api_refusal`, `assistant_response` 및 응답이 두 헤더 중 하나를 전달할 때 `api_response_body`에 있습니다. `llm_request` 추적 스팬의 동일한 속성과 일치합니다. x-amzn-requestid\` 소스는 Claude Code v2.1.282 이상 필요 |

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

726 736 

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

728 738 

729`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`를 사용하여 타임스탬프를 공유하는 이벤트를 순서대로 정렬합니다.739`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`를 사용하여 타임스탬프를 공유하는 이벤트를 순서대로 정렬합니다.

730 740 

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

732 742 

733* `user_prompt`, `assistant_response`, 및 `api_response_body`의 `message.uuid`743* `user_prompt`, `assistant_response` 및 `api_response_body`의 `message.uuid`

734* API 이벤트의 `request_id`(기록의 어시스턴트 항목에 `requestId`로 유지됨)744* API 이벤트의 `request_id`(기록의 어시스턴트 항목에 `requestId`로 유지됨)

735* `tool_result` 및 `tool_decision` 이벤트의 `tool_use_id`745* `tool_result` 및 `tool_decision` 이벤트의 `tool_use_id`

736 746 


747* 모든 [표준 속성](#standard-attributes)757* 모든 [표준 속성](#standard-attributes)

748* `event.name`: `"user_prompt"`758* `event.name`: `"user_prompt"`

749* `event.timestamp`: ISO 8601 타임스탬프759* `event.timestamp`: ISO 8601 타임스탬프

750* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)760* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

751* `prompt_length`: 프롬프트의 길이761* `prompt_length`: 프롬프트의 길이

752* `prompt`: 프롬프트 내용. 기본적으로 삭제됩니다. `OTEL_LOG_USER_PROMPTS=1`을 설정하여 포함합니다.762* `prompt`: 프롬프트 내용. 기본적으로 수정됨. `OTEL_LOG_USER_PROMPTS=1`을 설정하여 포함

753* `message.uuid`: 결과 사용자 메시지의 UUID(유지된 기록 항목과 일치). 명령 디스패치에는 없습니다(0개 이상의 메시지를 생성할 수 있음). Claude Code v2.1.214 이상 필요763* `message.uuid`: 결과 사용자 메시지의 UUID(유지된 기록 항목과 일치). 명령 디스패치에는 없습니다(0개 이상의 메시지를 생성할 수 있음). Claude Code v2.1.214 이상 필요

754* `command_name`: 프롬프트가 명령을 호출할 때의 명령 이름. `compact` 또는 `debug`와 같은 기본 제공 및 번들 명령 이름은 그대로 내보냅니다; `reset`과 같은 별칭은 정규 이름이 아닌 입력한 대로 내보냅니다. 사용자 정의, 플러그인, 및 MCP 명령 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `custom` 또는 `mcp`로 축소됩니다.764* `command_name`: 프롬프트가 명령을 호출할 때 명령 이름. `compact` 또는 `debug`와 같은 기본 제공 및 번들 명령 이름은 그대로 내보내집니다; `reset`과 같은 별칭은 정규 이름이 아닌 입력한 대로 내보냅니다. 사용자 정의, 플러그인 및 MCP 명령 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `custom` 또는 `mcp`로 축소됩니다.

755* `command_source`: 명령이 있을 때의 명령 출처: `builtin`, `custom`, 또는 `mcp`. 플러그인 제공 명령은 `custom`으로 보고합니다.765* `command_source`: 명령이 있을 때 명령의 출처: `builtin`, `custom` 또는 `mcp`. 플러그인 제공 명령은 `custom`으로 보고합니다.

756 766 

757<h4 id="assistant-response-event">767<h4 id="assistant-response-event">

758 어시스턴트 응답 이벤트768 어시스턴트 응답 이벤트

759</h4>769</h4>

760 770 

761모델에서 텍스트 콘텐츠를 반환하는 각 API 요청 후 기록됩니다. 응답의 텍스트 블록만 포함됩니다; 생각 블록 및 도구 사용 블록은 제외됩니다. Claude Code v2.1.193 이상 필요.771모델에서 텍스트 콘텐츠를 반환하는 각 API 요청 후 기록됩니다. 응답의 텍스트 블록만 포함됩니다; 사고 블록 및 도구 사용 블록은 제외됩니다. Claude Code v2.1.193 이상 필요.

762 772 

763**이벤트 이름**: `claude_code.assistant_response`773**이벤트 이름**: `claude_code.assistant_response`

764 774 


767* 모든 [표준 속성](#standard-attributes)777* 모든 [표준 속성](#standard-attributes)

768* `event.name`: `"assistant_response"`778* `event.name`: `"assistant_response"`

769* `event.timestamp`: ISO 8601 타임스탬프779* `event.timestamp`: ISO 8601 타임스탬프

770* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)780* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

771* `response_length`: 응답 텍스트의 문자 길이781* `response_length`: 응답 텍스트의 문자 길이

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

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

774* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID. API가 반환할 때만 있습니다.784* `request_id`: API 요청 ID([이벤트 상관 속성](#event-correlation-attributes) 참조)

775* `message.uuid`: 응답의 최종 기록 항목의 UUID. API 응답은 콘텐츠 블록당 하나의 기록 항목으로 유지됩니다; 이는 마지막 항목이며, 다음 턴의 `parentUuid`가 이로부터 체인됩니다. Claude Code v2.1.214 이상 필요785* `message.uuid`: 응답의 최종 기록 항목의 UUID. API 응답은 콘텐츠 블록당 하나의 기록 항목으로 유지됩니다; 이는 마지막 항목이며, 다음 턴의 `parentUuid`가 이를 연결합니다. Claude Code v2.1.214 이상 필요

776* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름)786* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"` 또는 하위 에이전트 이름)

777 787 

778<h4 id="tool-result-event">788<h4 id="tool-result-event">

779 도구 결과 이벤트789 도구 결과 이벤트

780</h4>790</h4>

781 791 

782도구가 실행을 완료할 때 기록됩니다. 도구 호출이 거부된 경우 내보내지 않습니다; 거부에 대해서는 [도구 결정 이벤트](#tool-decision-event)를 참조하세요.792도구 실행이 완료될 때 기록됩니다. 도구 호출이 거부된 경우 내보내지지 않습니다; 거부에 대해서는 [도구 결정 이벤트](#tool-decision-event) 참조.

783 793 

784**이벤트 이름**: `claude_code.tool_result`794**이벤트 이름**: `claude_code.tool_result`

785 795 


788* 모든 [표준 속성](#standard-attributes)798* 모든 [표준 속성](#standard-attributes)

789* `event.name`: `"tool_result"`799* `event.name`: `"tool_result"`

790* `event.timestamp`: ISO 8601 타임스탬프800* `event.timestamp`: ISO 8601 타임스탬프

791* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)801* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

792* `tool_name`: 도구의 이름802* `tool_name`: 도구의 이름

793* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.803* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.

794* `success`: `"true"` 또는 `"false"`804* `success`: `"true"` 또는 `"false"`

795* `duration_ms`: 밀리초 단위의 실행 시간805* `duration_ms`: 밀리초 단위의 실행 시간

796* `error_type`: 도구가 실패했을 때의 오류 범주 문자열(예: `"Error:ENOENT"` 또는 `"ShellError"`)806* `error_type`: 도구가 실패했을 때 오류 범주 문자열(예: `"Error:ENOENT"` 또는 `"ShellError"`)

797* `error` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구가 실패했을 때의 전체 오류 메시지807* `error` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구가 실패했을 때 전체 오류 메시지

798* `decision_type`: 항상 `"accept"`(이 이벤트는 도구 실행 후에만 내보내짐). 거부된 호출은 도구 결과를 생성하지 않습니다.808* `decision_type`: 항상 `"accept"`(이 이벤트는 도구 실행 후에만 내보내짐). 거부된 호출은 도구 결과를 생성하지 않습니다.

799* `decision_source`: 권한 결정이 나온 위치. `"config"`, `"hook"`, `"user_permanent"`, 또는 `"user_temporary"` 중 하나입니다. 각 값의 의미는 [도구 결정 이벤트](#tool-decision-event)를 참조하세요. 거부 전용 소스 `"user_abort"` 및 `"user_reject"`는 이 이벤트에 나타나지 않습니다.809* `decision_source`: 권한 결정이 나온 위치. `"config"`, `"hook"`, `"user_permanent"` 또는 `"user_temporary"` 중 하나입니다. 각 값의 의미는 [도구 결정 이벤트](#tool-decision-event) 참조. 거부 전용 소스 `"user_abort"` 및 `"user_reject"`는 이 이벤트에 나타나지 않습니다.

800* `tool_input_size_bytes`: JSON 직렬화된 도구 입력의 바이트 크기810* `tool_input_size_bytes`: JSON 직렬화된 도구 입력의 바이트 크기

801* `tool_result_size_bytes`: 도구 결과의 바이트 크기811* `tool_result_size_bytes`: 도구 결과의 바이트 크기

802* `mcp_server_scope`: MCP 서버 범위 식별자(MCP 도구의 경우)812* `mcp_server_scope`: MCP 서버 범위 식별자(MCP 도구의 경우)

803*813* `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 이상 필요

804 814* `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 이상 필요. 매개변수는 도구에 따라 다릅니다:

805`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 이상 필요815 * Bash 도구의 경우: `bash_command`, `full_command`, `timeout`, `description` 및 `dangerouslyDisableSandbox`를 포함하며, `git commit` 명령이 성공할 때 `git_commit_id` 및 `git_branch`를 포함합니다. `git_commit_id`는 커밋이 세션의 작업 디렉토리의 HEAD일 때 전체 커밋 SHA이고, 그 외의 경우 git의 축약된 SHA입니다. `git_branch`는 커밋된 브랜치이며, 분리된 HEAD에서는 생략됨

806 816 * 데스크톱 앱의 작업 공간 Bash 도구(또한 `tool_name`을 `Bash`로 보고함): `bash_command`, `full_command` 및 `timeout`만 포함

807* `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 이상 필요. 매개변수는 도구에 따라 다릅니다:817 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name` 포함

808 * Bash 도구의 경우: `bash_command`, `full_command`, `timeout`, `description`, 및 `dangerouslyDisableSandbox`를 포함하며, `git commit` 명령이 성공할 때 `git_commit_id` 및 `git_branch`를 포함합니다. `git_commit_id`는 커밋이 세션의 작업 디렉토리의 HEAD일 때 전체 커밋 SHA이고, 그 외에는 git의 축약된 SHA입니다. `git_branch`는 커밋된 브랜치이며, 분리된 HEAD에서는 생략됩니다.818 * Skill 도구의 경우: `skill_name` 포함

809 * 데스크톱 앱의 작업 공간 Bash 도구(또한 `tool_name`을 `Bash`로 보고함): `bash_command`, `full_command`, 및 `timeout`만 포함합니다.819 * Agent 도구 또는 레거시 Task 도구의 경우: `subagent_type` 포함

810 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name`을 포함합니다.820* `tool_input` (`OTEL_LOG_TOOL_DETAILS=1`일 때): JSON 직렬화된 도구 인수. 512자를 초과하는 개별 값은 잘리며, 전체 페이로드는 약 4K 문자로 제한됩니다. MCP 도구를 포함한 모든 도구에 적용됩니다.

811 * Skill 도구의 경우: `skill_name`을 포함합니다.

812 * Agent 도구 또는 레거시 Task 도구의 경우: `subagent_type`을 포함합니다.

813* `tool_input` (`OTEL_LOG_TOOL_DETAILS=1`일 때): JSON 직렬화된 도구 인수. 512자를 초과하는 개별 값은 잘리고, 전체 페이로드는 약 4K 문자로 제한됩니다. MCP 도구를 포함한 모든 도구에 적용됩니다.

814 821 

815<h4 id="api-request-event">822<h4 id="api-request-event">

816 API 요청 이벤트823 API 요청 이벤트


825* 모든 [표준 속성](#standard-attributes)832* 모든 [표준 속성](#standard-attributes)

826* `event.name`: `"api_request"`833* `event.name`: `"api_request"`

827* `event.timestamp`: ISO 8601 타임스탬프834* `event.timestamp`: ISO 8601 타임스탬프

828* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)835* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

829* `model`: 사용된 모델(예: "claude-sonnet-5")836* `model`: 사용된 모델(예: "claude-sonnet-5")

830* `cost_usd`: USD 단위의 예상 비용837* `cost_usd`: USD 단위의 예상 비용

831* `cost_usd_micros`: 미국 달러의 백만분의 일 단위의 예상 비용(정수로 내보냄)838* `cost_usd_micros`: 미국 달러의 백만분의 일 단위의 예상 비용(정수로 내보내짐)

832* `duration_ms`: 밀리초 단위의 요청 기간839* `duration_ms`: 밀리초 단위의 요청 기간

833* `input_tokens`: 입력 토큰 수840* `input_tokens`: 입력 토큰 수

834* `output_tokens`: 출력 토큰 수841* `output_tokens`: 출력 토큰 수

835* `cache_read_tokens`: 캐시에서 읽은 토큰 수842* `cache_read_tokens`: 캐시에서 읽은 토큰 수

836* `cache_creation_tokens`: 캐시 생성에 사용된 토큰 수843* `cache_creation_tokens`: 캐시 생성에 사용된 토큰 수

837* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.844* `request_id`: `"req_011..."`과 같은 API 요청 ID([이벤트 상관 속성](#event-correlation-attributes) 참조).

838* `client_request_id`: `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID; 있을 때에 대해서는 [이벤트 상관 속성](#event-correlation-attributes) 표를 참조하세요. Claude Code v2.1.214 이상 필요845* `client_request_id`: `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID; 존재할 때는 [이벤트 상관 속성](#event-correlation-attributes) 표 참조. Claude Code v2.1.214 이상 필요

839* `speed`: 빠른 모드가 활성화되었는지 여부를 나타내는 `"fast"` 또는 `"normal"`846* `speed`: 빠른 모드가 활성화되었는지 여부를 나타내는 `"fast"` 또는 `"normal"`

840* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름)847* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"` 또는 하위 에이전트 이름)

841* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level): `"low"`, `"medium"`, `"high"`, `"xhigh"`, 또는 `"max"`. Claude Code가 노력 수준을 보내지 않을 때(예: 노력을 지원하지 않는 모델)는 없습니다.848* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level): `"low"`, `"medium"`, `"high"`, `"xhigh"` 또는 `"max"`. Claude Code가 노력 수준을 보내지 않을 때 없음(예: 노력을 지원하지 않는 모델)

842* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 삭제 동작은 [비용 카운터](#cost-counter)를 참조하세요.849* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트 및 MCP 속성. 정의 및 수정 동작은 [비용 카운터](#cost-counter) 참조.

843 850 

844<h4 id="api-error-event">851<h4 id="api-error-event">

845 API 오류 이벤트852 API 오류 이벤트


854* 모든 [표준 속성](#standard-attributes)861* 모든 [표준 속성](#standard-attributes)

855* `event.name`: `"api_error"`862* `event.name`: `"api_error"`

856* `event.timestamp`: ISO 8601 타임스탬프863* `event.timestamp`: ISO 8601 타임스탬프

857* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)864* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

858* `model`: 사용된 모델(예: "claude-sonnet-5")865* `model`: 사용된 모델(예: "claude-sonnet-5")

859* `error`: 오류 메시지866* `error`: 오류 메시지

860* `status_code`: HTTP 상태 코드(숫자). 연결 실패와 같은 비 HTTP 오류의 경우 없습니다.867* `status_code`: HTTP 상태 코드(숫자). 연결 실패와 같은 비HTTP 오류의 경우 없음.

861* `duration_ms`: 밀리초 단위의 요청 기간868* `duration_ms`: 밀리초 단위의 요청 기간

862* `attempt`: 초기 요청을 포함한 총 시도 횟수(`1`은 재시도가 발생하지 않았음을 의미)869* `attempt`: 초기 요청을 포함한 총 시도 횟수(`1`은 재시도가 발생하지 않았음을 의미)

863* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.870* `request_id`: `"req_011..."`과 같은 API 요청 ID([이벤트 상관 속성](#event-correlation-attributes) 참조).

864* `client_request_id`: `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID. 타임아웃 또는 연결 오류와 같은 실패가 서버 `request_id`를 생성하지 않았을 때도 사용 가능합니다; 있을 때에 대해서는 [이벤트 상관 속성](#event-correlation-attributes) 표를 참조하세요. Claude Code v2.1.214 이상 필요871* `client_request_id`: `x-client-request-id` 요청 헤더로 전송된 클라이언트 생성 UUID. 시간 초과 또는 연결 오류와 같은 실패가 서버 `request_id`를 생성하지 않은 경우에도 사용 가능합니다; 존재할 때는 [이벤트 상관 속성](#event-correlation-attributes) 표 참조. Claude Code v2.1.214 이상 필요

865* `speed`: 빠른 모드가 활성화되었는지 여부를 나타내는 `"fast"` 또는 `"normal"`872* `speed`: 빠른 모드가 활성화되었는지 여부를 나타내는 `"fast"` 또는 `"normal"`

866* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름)873* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"` 또는 하위 에이전트 이름)

867* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). Claude Code가 노력 수준을 보내지 않을 때(예: 노력을 지원하지 않는 모델)는 없습니다.874* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). Claude Code가 노력 수준을 보내지 않을 때 없음(예: 노력을 지원하지 않는 모델)

868* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 삭제 동작은 [비용 카운터](#cost-counter)를 참조하세요.875* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트 및 MCP 속성. 정의 및 수정 동작은 [비용 카운터](#cost-counter) 참조.

869 876 

870<h4 id="api-refusal-event">877<h4 id="api-refusal-event">

871 API 거부 이벤트878 API 거부 이벤트

872</h4>879</h4>

873 880 

874API 요청이 `stop_reason: "refusal"`을 반환할 때 기록됩니다. 거부는 HTTP 오류가 아닌 성공적인 응답 스트림에 도착하므로 `api_error` 이벤트는 이에 대해 발생하지 않습니다. 이 이벤트를 사용하면 거부 빈도를 추적하고 거부를 `api_request` 및 `api_error`와 동일한 속성으로 그룹화할 수 있습니다.881API 요청이 `stop_reason: "refusal"`을 반환할 때 기록됩니다. 거부는 HTTP 오류가 아닌 성공적인 응답 스트림에 도착하므로, `api_error` 이벤트는 이에 대해 발생하지 않습니다. 이 이벤트를 사용하면 거부 빈도를 추적하고 거부를 `api_request` 및 `api_error`와 동일한 속성으로 그룹화할 수 있습니다.

875 882 

876**이벤트 이름**: `claude_code.api_refusal`883**이벤트 이름**: `claude_code.api_refusal`

877 884 


880* 모든 [표준 속성](#standard-attributes)887* 모든 [표준 속성](#standard-attributes)

881* `event.name`: `"api_refusal"`888* `event.name`: `"api_refusal"`

882* `event.timestamp`: ISO 8601 타임스탬프889* `event.timestamp`: ISO 8601 타임스탬프

883* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)890* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

884* `model`: 요청의 모델 식별자891* `model`: 요청의 모델 식별자

885* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.892* `request_id`: `"req_011..."`과 같은 API 요청 ID([이벤트 상관 속성](#event-correlation-attributes) 참조).

886* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"`, 또는 하위 에이전트 이름). 정의는 [`api_request`](#api-request-event)를 참조하세요.893* `query_source`: 요청을 발급한 하위 시스템(예: `"repl_main_thread"`, `"compact"` 또는 하위 에이전트 이름). 정의는 [`api_request`](#api-request-event) 참조.

887* `speed`: [빠른 모드](/docs/ko/fast-mode)가 활성화되었을 때 `"fast"`, 또는 `"normal"`894* `speed`: [빠른 모드](/docs/ko/fast-mode)가 활성화되었을 때 `"fast"` 또는 `"normal"`

888* `attempt`: 재시도 시도 번호. 첫 번째 시도는 `1`입니다.895* `attempt`: 재시도 시도 번호. 첫 번째 시도는 `1`입니다.

889* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). Claude Code가 노력 수준을 보내지 않을 때(예: 노력을 지원하지 않는 모델)는 없습니다.896* `effort`: 요청에 적용된 [노력 수준](/docs/ko/model-config#adjust-effort-level). Claude Code가 노력 수준을 보내지 않을 때 없음(예: 노력을 지원하지 않는 모델)

890* `server_fallback_hop`: API의 서버 측 모델 폴백이 이미 이 거부를 다른 모델에서 재시도했으므로 사용자가 이 특정 거부를 보지 못했을 때 `true`. 요청이 거부로 끝났을 때 `false`. 단일 턴은 폴백 모델도 거부할 때 `true` 홉 이벤트와 나중의 `false` 최종 이벤트를 모두 내보낼 수 있습니다.897* `server_fallback_hop`: API의 서버 측 모델 폴백이 이미 다른 모델에서 이 거부를 재시도했으므로 사용자가 이 특정 거부를 보지 못했을 때 `true`. 요청이 거부로 끝났을 때 `false`. 단일 턴은 폴백 모델도 거부할 때 나중의 `false` 최종 이벤트와 `true` 홉 이벤트를 모두 내보낼 수 있습니다.

891* `has_category`: API 응답이 `"cyber"`, `"bio"`, `"frontier_llm"`, 또는 `"reasoning_extraction"`의 `stop_details.category`를 전달했을 때 `true`. 응답이 범주를 전달하지 않았거나 해당 집합 외의 값을 전달했을 때 `false`. `server_fallback_hop`이 `true`일 때는 없습니다(홉 블록은 `stop_details`를 전달하지 않음).898* `has_category`: API 응답이 `"cyber"`, `"bio"`, `"frontier_llm"` 또는 `"reasoning_extraction"`의 `stop_details.category`를 전달했을 때 `true`. 응답이 범주를 전달하지 않았거나 해당 집합 외의 값을 전달했을 때 `false`. `server_fallback_hop`이 `true`일 때 없음(홉 블록은 `stop_details`를 전달하지 않음).

892* `has_explanation`: API 응답이 `stop_details.explanation`을 전달했을 때 `true`, 그 외에는 `false`. `server_fallback_hop`이 `true`일 때는 없습니다.899* `has_explanation`: API 응답이 `stop_details.explanation`을 전달했을 때 `true`, 그 외의 경우 `false`. `server_fallback_hop`이 `true`일 때 없음.

893* `category`: API 응답의 `stop_details.category` 값. `"cyber"`, `"bio"`, `"frontier_llm"`, 또는 `"reasoning_extraction"` 중 하나입니다. `OTEL_LOG_TOOL_DETAILS=1`이 설정되고 `has_category`가 `true`일 때만 있습니다.900* `category`: API 응답의 `stop_details.category` 값. `"cyber"`, `"bio"`, `"frontier_llm"` 또는 `"reasoning_extraction"` 중 하나입니다. `OTEL_LOG_TOOL_DETAILS=1`이 설정되고 `has_category`가 `true`일 때만 존재합니다.

894* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트, 및 MCP 속성. 정의 및 삭제 동작은 [비용 카운터](#cost-counter)를 참조하세요.901* `agent.name`, `skill.name`, `plugin.name`, `marketplace.name`, `mcp_server.name`, `mcp_tool.name`: 요청에 대한 스킬, 플러그인, 에이전트 및 MCP 속성. 정의 및 수정 동작은 [비용 카운터](#cost-counter) 참조.

895 902 

896<h4 id="api-request-body-event">903<h4 id="api-request-body-event">

897 API 요청 본문 이벤트904 API 요청 본문 이벤트

898</h4>905</h4>

899 906 

900`OTEL_LOG_RAW_API_BODIES`가 설정되었을 때 각 API 요청 시도에 대해 기록됩니다. 시도당 하나의 이벤트가 내보내지므로 조정된 매개변수를 사용한 재시도는 각각 자신의 이벤트를 생성합니다.907`OTEL_LOG_RAW_API_BODIES`가 설정되었을 때 각 API 요청 시도에 대해 기록됩니다. 시도당 하나의 이벤트가 내보내지므로, 조정된 매개변수를 사용한 재시도는 각각 자신의 이벤트를 생성합니다.

901 908 

902**이벤트 이름**: `claude_code.api_request_body`909**이벤트 이름**: `claude_code.api_request_body`

903 910 


906* 모든 [표준 속성](#standard-attributes)913* 모든 [표준 속성](#standard-attributes)

907* `event.name`: `"api_request_body"`914* `event.name`: `"api_request_body"`

908* `event.timestamp`: ISO 8601 타임스탬프915* `event.timestamp`: ISO 8601 타임스탬프

909* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)916* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

910* `body`: JSON 직렬화된 Messages API 요청 매개변수(시스템 프롬프트, 메시지, 및 도구 등)(콘텐츠 제한(기본값 60KB)에서 잘림). 이전 어시스턴트 턴의 확장 생각 콘텐츠는 삭제됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.917* `body`: 시스템 프롬프트, 메시지 및 도구와 같은 JSON 직렬화된 Messages API 요청 매개변수(콘텐츠 제한(기본값 60KB)에서 잘림). 이전 어시스턴트 턴의 확장 사고 콘텐츠는 수정됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보내집니다.

911* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<uuid>.request.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.918* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<uuid>.request.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보내집니다.

912* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위919* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위

913* `body_truncated`: 인라인 잘림이 발생했을 때 `"true"`. 파일 모드 및 잘림이 발생하지 않았을 때는 없습니다.920* `body_truncated`: 인라인 잘림이 발생했을 때 `"true"`. 파일 모드 및 잘림이 발생하지 않았을 때 없음.

914* `model`: 요청 매개변수의 모델 식별자921* `model`: 요청 매개변수의 모델 식별자

915* `query_source`: 요청을 발급한 하위 시스템(예: `"compact"`)922* `query_source`: 요청을 발급한 하위 시스템(예: `"compact"`)

916* `request_body_id`: 이 시도의 요청 본문을 식별하는 UUID. 성공한 시도의 [`api_response_body` 이벤트](#api-response-body-event)는 동일한 값을 전달하므로 응답을 생성한 정확한 요청과 쌍으로 만들 수 있습니다. Claude Code v2.1.274 이상 필요923* `request_body_id`: 이 시도의 요청 본문을 식별하는 UUID. 성공한 시도에 대한 [`api_response_body` 이벤트](#api-response-body-event)는 동일한 값을 전달하므로, 응답을 이를 생성한 정확한 요청과 쌍으로 만들 수 있습니다. Claude Code v2.1.274 이상 필요

917 924 

918<h4 id="api-response-body-event">925<h4 id="api-response-body-event">

919 API 응답 본문 이벤트926 API 응답 본문 이벤트


921 928 

922`OTEL_LOG_RAW_API_BODIES`가 설정되었을 때 각 성공적인 API 응답에 대해 기록됩니다.929`OTEL_LOG_RAW_API_BODIES`가 설정되었을 때 각 성공적인 API 응답에 대해 기록됩니다.

923 930 

924파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서 Claude Code는 또한 각 성공적인 응답에 대해 `<dir>/index.jsonl`에 하나의 JSON 라인을 추가하며, `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file`, 및 `response_file` 필드를 포함합니다. 이를 읽어 원격 측정 백엔드를 쿼리하지 않고 주어진 기록 메시지 뒤의 요청 및 응답 파일을 찾습니다. 인덱스 파일은 Claude Code v2.1.274 이상 필요합니다.931파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서, Claude Code는 또한 각 성공적인 응답에 대해 `<dir>/index.jsonl`에 하나의 JSON 라인을 추가하며, `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file` 및 `response_file` 필드를 포함합니다. 이를 읽어 원격 측정 백엔드를 쿼리하지 않고 주어진 기록 메시지 뒤의 요청 및 응답 파일을 찾습니다. 인덱스 파일은 Claude Code v2.1.274 이상 필요합니다.

925 932 

926**이벤트 이름**: `claude_code.api_response_body`933**이벤트 이름**: `claude_code.api_response_body`

927 934 


930* 모든 [표준 속성](#standard-attributes)937* 모든 [표준 속성](#standard-attributes)

931* `event.name`: `"api_response_body"`938* `event.name`: `"api_response_body"`

932* `event.timestamp`: ISO 8601 타임스탬프939* `event.timestamp`: ISO 8601 타임스탬프

933* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)940* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

934* `body`: JSON 직렬화된 Messages API 응답(ID, 콘텐츠 블록, 사용량, 및 중지 이유 포함)(콘텐츠 제한(기본값 60KB)에서 잘림). 확장 생각 콘텐츠는 삭제됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보냅니다.941* `body`: id, 콘텐츠 블록, 사용량 및 중지 이유를 포함하는 JSON 직렬화된 Messages API 응답(콘텐츠 제한(기본값 60KB)에서 잘림). 확장 사고 콘텐츠는 수정됩니다. 인라인 모드(`OTEL_LOG_RAW_API_BODIES=1`)에서만 내보내집니다.

935* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<request_id>.response.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보냅니다.942* `body_ref`: 잘리지 않은 본문을 포함하는 `<dir>/<request_id>.response.json` 파일의 절대 경로. 파일 모드(`OTEL_LOG_RAW_API_BODIES=file:<dir>`)에서만 내보내집니다.

936* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위943* `body_length`: 잘리지 않은 본문 길이. `OTEL_LOG_RAW_API_BODIES=file:<dir>`일 때 UTF-8 바이트, 또는 `=1`일 때 UTF-16 코드 단위

937* `body_truncated`: 인라인 잘림이 발생했을 때 `"true"`. 파일 모드 및 잘림이 발생하지 않았을 때는 없습니다.944* `body_truncated`: 인라인 잘림이 발생했을 때 `"true"`. 파일 모드 및 잘림이 발생하지 않았을 때 없음.

938* `model`: 모델 식별자945* `model`: 모델 식별자

939* `query_source`: 요청을 발급한 하위 시스템946* `query_source`: 요청을 발급한 하위 시스템

940* `request_id`: 응답의 `request-id` 헤더에서 Anthropic API 요청 ID(예: `"req_011..."`). API가 반환할 때만 있습니다.947* `request_id`: `"req_011..."`과 같은 API 요청 ID([이벤트 상관 속성](#event-correlation-attributes) 참조).

941* `request_body_id`: 이 응답이 답변하는 [`api_request_body` 이벤트](#api-request-body-event)의 `request_body_id`. Claude Code v2.1.274 이상 필요948* `request_body_id`: 이 응답이 답변하는 [`api_request_body` 이벤트](#api-request-body-event)의 `request_body_id`. Claude Code v2.1.274 이상 필요

942* `message.id`: API가 응답에 할당한 메시지 ID(응답 본문의 `id` 필드). Claude Code v2.1.274 이상 필요949* `message.id`: API가 응답에 할당한 메시지 ID(응답 본문의 `id` 필드). Claude Code v2.1.274 이상 필요

943* `message.uuid`: 응답의 최종 기록 항목의 UUID. `request_body_id`와 함께 기록 메시지를 뒤의 요청 및 응답 본문에 연결합니다. Claude Code v2.1.274 이상 필요950* `message.uuid`: 응답의 최종 기록 항목의 UUID. `request_body_id`와 함께, 기록 메시지를 이를 뒤에 있는 요청 및 응답 본문에 연결합니다. Claude Code v2.1.274 이상 필요

944 951 

945<h4 id="tool-decision-event">952<h4 id="tool-decision-event">

946 도구 결정 이벤트953 도구 결정 이벤트

947</h4>954</h4>

948 955 

949도구 권한 결정이 이루어질 때(수락/거부) 기록됩니다.956도구 권한 결정이 내려질 때(수락/거부) 기록됩니다.

950 957 

951**이벤트 이름**: `claude_code.tool_decision`958**이벤트 이름**: `claude_code.tool_decision`

952 959 


955* 모든 [표준 속성](#standard-attributes)962* 모든 [표준 속성](#standard-attributes)

956* `event.name`: `"tool_decision"`963* `event.name`: `"tool_decision"`

957* `event.timestamp`: ISO 8601 타임스탬프964* `event.timestamp`: ISO 8601 타임스탬프

958* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)965* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

959* `tool_name`: 도구의 이름(예: "Read", "Edit", "Write", "NotebookEdit")966* `tool_name`: 도구의 이름(예: "Read", "Edit", "Write", "NotebookEdit")

960* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.967* `tool_use_id`: 이 도구 호출의 고유 식별자. 훅에 전달된 `tool_use_id`와 일치하여 OTel 이벤트와 훅 캡처 데이터 간의 상관 관계를 허용합니다.

961* `decision`: `"accept"` 또는 `"reject"`968* `decision`: `"accept"` 또는 `"reject"`

962* `tool_source`: 항상 있습니다. 도구의 출처(CLI 작성 값의 폐쇄 집합). Claude Code v2.1.214 이상 필요969* `tool_source`: 항상 존재합니다. 도구의 출처(CLI 작성 값의 폐쇄 집합). Claude Code v2.1.214 이상 필요

963 * `"builtin"`: CLI 자체의 도구970 * `"builtin"`: CLI 자체의 도구

964 * `"mcp"`: 일반적으로 MCP 서버971 * `"mcp"`: 일반적으로 MCP 서버

965 * `"sdk_host_builtin_mcp"`: Claude Desktop 자체에 내장된 프로세스 내 서버(Claude Desktop이 소유한 세션). Claude Desktop은 자신의 엔드포인트 중 하나(`claude-desktop`, `claude-desktop-3p`, 또는 `local-agent`)에서 시작한 세션을 소유합니다(해당 세션이 중첩된 자식이 아닐 때); 중첩된 세션(Claude Code 자체가 생성하는 세션 포함)은 이러한 서버를 `"mcp"`로 보고합니다.972 * `"sdk_host_builtin_mcp"`: Claude Desktop 자체에 내장된 프로세스 내 서버(Claude Desktop이 소유한 세션). Claude Desktop은 자신의 진입점 중 하나(`claude-desktop`, `claude-desktop-3p` 또는 `local-agent`)에서 시작한 세션을 소유합니다(해당 세션이 중첩된 자식이 아닐 때); 중첩된 세션(Claude Code 자체가 생성하는 세션 포함)은 이러한 서버를 `"mcp"`로 보고합니다.

966* `source`: 결정이 나온 위치:973* `source`: 결정이 나온 위치:

967 * `"config"`: 프롬프트 없이 자동으로 결정됨(프로젝트 설정, 사용자의 개인 설정의 허용 또는 거부 규칙, 엔터프라이즈 관리 정책, `--allowedTools` 또는 `--disallowedTools` 플래그, 활성 권한 모드, 동일한 대화형 CLI 세션의 이전 프롬프트에서 세션 범위 부여, 또는 도구가 본질적으로 안전하기 때문). 이벤트는 이러한 소스 중 어느 것이 일치했는지 나타내지 않습니다. Claude Code는 또한 권한 프롬프트 요청 자체가 실패할 때(예: Agent SDK의 [`canUseTool`](/docs/ko/agent-sdk/typescript#canusetool) 콜백 또는 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 도구가 잘못된 결과를 반환하거나 입력 스트림이 요청 대기 중에 닫힐 때) `"config"`을 보고합니다. v2.1.216 이전에는 Claude Code가 이러한 실패를 `"user_reject"`로 보고했습니다.974 * `"config"`: 프롬프트 없이 자동으로 결정됨(프로젝트 설정, 사용자의 개인 설정의 허용 또는 거부 규칙, 엔터프라이즈 관리 정책, `--allowedTools` 또는 `--disallowedTools` 플래그, 활성 권한 모드, 동일한 대화형 CLI 세션의 이전 프롬프트에서 세션 범위 부여, 또는 도구가 본질적으로 안전하기 때문). 이벤트는 이러한 소스 중 어느 것이 일치했는지 나타내지 않습니다. Claude Code는 또한 권한 프롬프트 요청 자체가 실패할 때 `"config"`을 보고합니다(예: Agent SDK의 [`canUseTool`](/docs/ko/agent-sdk/typescript#canusetool) 콜백 또는 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 도구가 잘못된 결과를 반환하거나, 요청이 보류 중일 때 입력 스트림이 닫힐 때). v2.1.216 이전에는 Claude Code가 이러한 실패를 `"user_reject"`로 보고했습니다.

968 * `"hook"`: `PreToolUse` 또는 `PermissionRequest` 훅이 결정을 반환했습니다.975 * `"hook"`: `PreToolUse` 또는 `PermissionRequest` 훅이 결정을 반환했습니다.

969 * `"user_permanent"`: 사용자가 권한 프롬프트에서 "Yes, and don't ask again for ..."을 선택했을 때 내보내집니다(개인 설정에 허용 규칙을 저장함). 대화형 CLI에서는 해당 선택 자체에만 내보내집니다; 나중의 호출이 저장된 규칙과 일치하면 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 초기 선택과 나중의 규칙 일치 모두 `"user_permanent"`를 내보냅니다. 수락으로 취급됩니다.976 * `"user_permanent"`: 사용자가 권한 프롬프트에서 "예, 다시 묻지 마세요 ..." 를 선택했을 때 내보내집니다(개인 설정에 허용 규칙을 저장함). 대화형 CLI에서는 해당 선택 자체에 대해서만 내보내집니다; 나중에 저장된 규칙과 일치하는 호출은 대신 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 초기 선택과 나중의 규칙 일치 모두 `"user_permanent"`를 내보냅니다. 수락으로 취급됩니다.

970 * `"user_temporary"`: 사용자가 권한 프롬프트에서 "Yes"를 선택했거나 파일 편집 또는 읽기 프롬프트에서 세션의 나머지 부분에 대한 액세스를 부여하는 옵션을 선택했을 때 내보내집니다. 대화형 CLI에서는 해당 선택 자체에만 내보내집니다; 나중의 호출이 해당 세션 범위 부여와 일치하면 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 선택과 나중의 일치 모두 `"user_temporary"`를 내보냅니다. 수락으로 취급됩니다.977 * `"user_temporary"`: 사용자가 권한 프롬프트에서 "예"를 선택했거나, 파일 편집 또는 읽기 프롬프트에서 세션의 나머지 부분에 대한 액세스를 부여하는 옵션을 선택했을 때 내보내집니다. 대화형 CLI에서는 선택 자체에 대해서만 내보내집니다; 나중에 해당 세션 범위 부여와 일치하는 호출은 대신 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 선택과 나중의 일치 모두 `"user_temporary"`를 내보냅니다. 수락으로 취급됩니다.

971 * `"user_abort"`: 사용자가 권한 프롬프트를 답변 없이 해제했을 때 내보내집니다. Agent SDK 및 비대화형 `-p` 세션에서는 `canUseTool` 또는 `--permission-prompt-tool` 권한 요청이 대기 중인 동안 턴을 중단하는 것을 포함합니다; v2.1.216 이전에는 Claude Code가 해당 중단을 `"user_reject"`로 보고했습니다. 거부로 취급됩니다.978 * `"user_abort"`: 사용자가 권한 프롬프트를 답변 없이 해제했을 때 내보내집니다. Agent SDK 및 비대화형 `-p` 세션에서는 `canUseTool` 또는 `--permission-prompt-tool` 권한 요청이 보류 중일 때 턴을 중단하는 것을 포함합니다; v2.1.216 이전에는 Claude Code가 해당 중단을 `"user_reject"`로 보고했습니다. 거부로 취급됩니다.

972 * `"user_reject"`: 사용자가 프롬프트에서 "No"를 선택했을 때 내보내집니다. 대화형 CLI에서는 해당 선택 자체에만 내보내집니다; 사용자의 개인 설정의 거부 규칙과 일치하는 호출은 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 개인 설정의 거부 규칙과 일치하는 호출이 `"user_reject"`를 내보냅니다. 거부로 취급됩니다.979 * `"user_reject"`: 사용자가 프롬프트에서 "아니오"를 선택했을 때 내보내집니다. 대화형 CLI에서는 해당 선택 자체에 대해서만 내보내집니다; 사용자의 개인 설정의 거부 규칙과 일치하는 호출은 대신 `"config"`을 내보냅니다. Agent SDK 또는 비대화형 `-p` 세션에서는 개인 설정의 거부 규칙과 일치하는 호출이 `"user_reject"`를 내보냅니다. 거부로 취급됩니다.

973* `tool_parameters` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구별 매개변수를 포함하는 JSON 문자열. [도구 결과 이벤트](#tool-result-event)와 동일한 형태이지만 `git_commit_id`와 같은 실행 후 필드는 제외됩니다. 수락된 호출의 경우 `tool_result`와 다를 수 있습니다(권한 결정이 `updatedInput`을 통해 도구 입력을 다시 쓸 경우). 이 속성을 사용하여 `decision`이 `"reject"`일 때 어느 명령이 거부되었는지 확인합니다.980* `tool_parameters` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 도구별 매개변수를 포함하는 JSON 문자열. [도구 결과 이벤트](#tool-result-event)와 동일한 형태이지만, `git_commit_id`와 같은 실행 후 필드는 제외됩니다. 권한 결정이 `updatedInput`을 통해 도구 입력을 다시 쓸 경우 수락된 호출에 대해 `tool_result`와 다를 수 있습니다. 이 속성을 사용하여 `decision`이 `"reject"`일 때 어떤 명령이 거부되었는지 확인합니다.

974 * `"sdk_host_builtin_mcp"` 도구의 경우: `OTEL_LOG_TOOL_DETAILS`가 꺼져 있어도 `mcp_server_name` 및 `mcp_tool_name`이 포함됩니다(호스트 애플리케이션이 이러한 이름을 정의하기 때문); 이들이 없으면 이러한 기본 제공 서버 중 하나에 대한 거부된 호출은 기본 스트림에서 속성화할 수 없습니다. 사용자 구성 MCP 서버의 경우 이벤트의 `tool_name`은 항상 리터럴 `"mcp_tool"`이고, 서버 및 도구 이름은 플래그가 켜져 있을 때만 `tool_parameters`에 나타납니다; 인수 콘텐츠는 모든 곳에서 플래그가 필요합니다. Claude Code v2.1.214 이상 필요981 * `"sdk_host_builtin_mcp"` 도구의 경우: `mcp_server_name` 및 `mcp_tool_name`은 호스트 애플리케이션이 이러한 이름을 정의하기 때문에 `OTEL_LOG_TOOL_DETAILS`가 꺼져 있어도 포함됩니다; 이들이 없으면, 이러한 기본 제공 서버 중 하나에 대한 거부된 호출은 기본 스트림에서 속성화할 수 없습니다. 사용자 구성 MCP 서버의 경우, 이벤트의 `tool_name`은 항상 리터럴 `"mcp_tool"`이고, 서버 및 도구 이름은 플래그가 켜져 있을 때만 `tool_parameters`에 나타납니다; 인수 콘텐츠는 모든 곳에서 플래그가 필요합니다. Claude Code v2.1.214 이상 필요

975 * Bash 도구의 경우: `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`를 포함합니다. 데스크톱 앱의 작업 공간 bash 도구도 `tool_name`을 `Bash`로 보고하지만 `bash_command`, `full_command`, 및 `timeout`만 포함합니다.982 * Bash 도구의 경우: `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox` 포함. 데스크톱 앱의 작업 공간 bash 도구도 `tool_name`을 `Bash`로 보고하지만, `bash_command`, `full_command` 및 `timeout`만 포함

976 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name`을 포함합니다.983 * MCP 도구의 경우: `mcp_server_name`, `mcp_tool_name` 포함

977 * Skill 도구의 경우: `skill_name`을 포함합니다.984 * Skill 도구의 경우: `skill_name` 포함

978 * Agent 도구 또는 레거시 Task 도구의 경우: `subagent_type`을 포함합니다.985 * Agent 도구 또는 레거시 Task 도구의 경우: `subagent_type` 포함

979 986 

980<h4 id="permission-mode-changed-event">987<h4 id="permission-mode-changed-event">

981 권한 모드 변경 이벤트988 권한 모드 변경 이벤트

982</h4>989</h4>

983 990 

984권한 모드가 변경될 때(예: `Shift+Tab` 순환, 계획 모드 종료, 또는 자동 모드 게이트 확인) 기록됩니다.991권한 모드가 변경될 때(예: `Shift+Tab` 순환, 계획 모드 종료 또는 자동 모드 게이트 확인) 기록됩니다.

985 992 

986**이벤트 이름**: `claude_code.permission_mode_changed`993**이벤트 이름**: `claude_code.permission_mode_changed`

987 994 


990* 모든 [표준 속성](#standard-attributes)997* 모든 [표준 속성](#standard-attributes)

991* `event.name`: `"permission_mode_changed"`998* `event.name`: `"permission_mode_changed"`

992* `event.timestamp`: ISO 8601 타임스탬프999* `event.timestamp`: ISO 8601 타임스탬프

993* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1000* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

994* `from_mode`: 이전 권한 모드(예: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, 또는 `"bypassPermissions"`)1001* `from_mode`: 이전 권한 모드(예: `"default"`, `"plan"`, `"acceptEdits"`, `"auto"` 또는 `"bypassPermissions"`)

995* `to_mode`: 새로운 권한 모드1002* `to_mode`: 새 권한 모드

996* `trigger`: 변경을 야기한 것. `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"`, 또는 `"auto_opt_in"` 중 하나입니다. SDK 또는 브리지에서 전환이 시작될 때는 없습니다.1003* `trigger`: 변경을 유발한 것. `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` 또는 `"auto_opt_in"` 중 하나입니다. SDK 또는 브리지에서 전환이 시작될 때 없음

997 1004 

998<h4 id="auth-event">1005<h4 id="auth-event">

999 인증 이벤트1006 인증 이벤트


1008* 모든 [표준 속성](#standard-attributes)1015* 모든 [표준 속성](#standard-attributes)

1009* `event.name`: `"auth"`1016* `event.name`: `"auth"`

1010* `event.timestamp`: ISO 8601 타임스탬프1017* `event.timestamp`: ISO 8601 타임스탬프

1011* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1018* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1012* `action`: `"login"` 또는 `"logout"`1019* `action`: `"login"` 또는 `"logout"`

1013* `success`: `"true"` 또는 `"false"`1020* `success`: `"true"` 또는 `"false"`

1014* `auth_method`: 인증 방법(예: `"oauth"`)1021* `auth_method`: 인증 방법(예: `"oauth"`)

1015* `error_category`: 작업이 실패했을 때의 범주별 오류 종류. 원시 오류 메시지는 절대 포함되지 않습니다.1022* `error_category`: 작업이 실패했을 때 범주별 오류 종류. 원시 오류 메시지는 절대 포함되지 않습니다.

1016* `status_code`: 작업이 HTTP 오류로 실패했을 때의 HTTP 상태 코드(문자열)1023* `status_code`: 작업이 HTTP 오류로 실패했을 때 HTTP 상태 코드(문자열)

1017 1024 

1018<h4 id="mcp-server-connection-event">1025<h4 id="mcp-server-connection-event">

1019 MCP 서버 연결 이벤트1026 MCP 서버 연결 이벤트

1020</h4>1027</h4>

1021 1028 

1022MCP 서버가 연결, 연결 해제, 또는 연결 실패할 때 기록됩니다.1029MCP 서버가 연결, 연결 해제 또는 연결 실패할 때 기록됩니다.

1023 1030 

1024**이벤트 이름**: `claude_code.mcp_server_connection`1031**이벤트 이름**: `claude_code.mcp_server_connection`

1025 1032 


1028* 모든 [표준 속성](#standard-attributes)1035* 모든 [표준 속성](#standard-attributes)

1029* `event.name`: `"mcp_server_connection"`1036* `event.name`: `"mcp_server_connection"`

1030* `event.timestamp`: ISO 8601 타임스탬프1037* `event.timestamp`: ISO 8601 타임스탬프

1031* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1038* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1032* `status`: `"connected"`, `"failed"`, 또는 `"disconnected"`1039* `status`: `"connected"`, `"failed"` 또는 `"disconnected"`

1033* `transport_type`: 서버 전송(예: `"stdio"`, `"sse"`, 또는 `"http"`)1040* `transport_type`: 서버 전송(예: `"stdio"`, `"sse"` 또는 `"http"`)

1034* `server_scope`: 서버가 구성된 범위(예: `"user"`, `"project"`, 또는 `"local"`)1041* `server_scope`: 서버가 구성된 범위(예: `"user"`, `"project"` 또는 `"local"`)

1035* `duration_ms`: 밀리초 단위의 연결 시도 기간1042* `duration_ms`: 밀리초 단위의 연결 시도 기간

1036* `error_code`: 연결이 실패했을 때의 오류 코드1043* `error_code`: 연결이 실패했을 때 오류 코드

1037* `is_plugin`: 서버가 플러그인에 의해 제공될 때 `true`, 그 외에는 `false`1044* `is_plugin`: 서버가 플러그인에 의해 제공될 때 `true`, 그 외의 경우 `false`

1038* `plugin_id_hash` (`is_plugin`이 `true`일 때): 플러그인 이름과 마켓플레이스의 안정적인 해시(이름을 노출하지 않고 플러그인별로 이벤트를 그룹화하기 위해). Claude Code는 [플러그인 로드 이벤트](#plugin-loaded-event)에서 설명한 대로 계산합니다.1045* `plugin_id_hash` (`is_plugin`이 `true`일 때): 플러그인 이름과 마켓플레이스의 안정적인 해시(이름을 노출하지 않고 플러그인별로 이벤트를 그룹화하기 위해). Claude Code는 [플러그인 로드 이벤트](#plugin-loaded-event)에서 설명한 대로 계산합니다.

1039* `plugin.name` (`is_plugin`이 `true`일 때): 서버를 제공하는 플러그인의 이름. 타사 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 리터럴 문자열 `"third-party"`입니다; 이는 기본적으로 로그에 타사 플러그인 이름이 나타나는 것을 방지합니다. 공식 Anthropic 소스의 플러그인은 항상 이름으로 식별됩니다. `plugin_id_hash` 및 `plugin.name` 속성은 자신의 모니터링 백엔드로 흐르며 Anthropic으로 전송되지 않습니다.1046* `plugin.name` (`is_plugin`이 `true`일 때): 서버를 제공하는 플러그인의 이름. 타사 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 리터럴 문자열 `"third-party"`입니다; 이는 기본적으로 타사 플러그인 이름이 로그에 나타나는 것을 방지합니다. 공식 Anthropic 소스의 플러그인은 항상 이름으로 식별됩니다. `plugin_id_hash` 및 `plugin.name` 속성은 자신의 모니터링 백엔드로 흐르며 Anthropic으로 전송되지 않습니다.

1040* `server_name` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 구성된 서버 이름1047* `server_name` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 구성된 서버 이름

1041* `error` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 연결이 실패했을 때의 전체 오류 메시지1048* `error` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 연결이 실패했을 때 전체 오류 메시지

1042 1049 

1043<h4 id="internal-error-event">1050<h4 id="internal-error-event">

1044 내부 오류 이벤트1051 내부 오류 이벤트

1045</h4>1052</h4>

1046 1053 

1047Claude Code가 예상치 못한 내부 오류를 포착할 때 기록됩니다. 오류 클래스 이름과 errno 스타일 코드만 기록됩니다. 오류 메시지와 스택 추적은 절대 포함되지 않습니다. 이 이벤트는 Amazon Bedrock, Google Cloud의 Agent Platform, 또는 Microsoft Foundry에 대해 실행하거나 `DISABLE_ERROR_REPORTING`이 설정되었을 때 내보내지 않습니다.1054Claude Code가 예상치 못한 내부 오류를 포착할 때 기록됩니다. 오류 클래스 이름과 errno 스타일 코드만 기록됩니다. 오류 메시지와 스택 추적은 절대 포함되지 않습니다. 이 이벤트는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에 대해 실행하거나 `DISABLE_ERROR_REPORTING`이 설정되었을 때 내보내지지 않습니다.

1048 1055 

1049**이벤트 이름**: `claude_code.internal_error`1056**이벤트 이름**: `claude_code.internal_error`

1050 1057 


1053* 모든 [표준 속성](#standard-attributes)1060* 모든 [표준 속성](#standard-attributes)

1054* `event.name`: `"internal_error"`1061* `event.name`: `"internal_error"`

1055* `event.timestamp`: ISO 8601 타임스탬프1062* `event.timestamp`: ISO 8601 타임스탬프

1056* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1063* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1057* `error_name`: 오류 클래스 이름(예: `"TypeError"` 또는 `"SyntaxError"`)1064* `error_name`: 오류 클래스 이름(예: `"TypeError"` 또는 `"SyntaxError"`)

1058* `error_code`: 오류에 있을 때 Node.js errno 코드(예: `"ENOENT"`)1065* `error_code`: 오류에 있을 때 `"ENOENT"`와 같은 Node.js errno 코드

1059 1066 

1060<h4 id="plugin-installed-event">1067<h4 id="plugin-installed-event">

1061 플러그인 설치 이벤트1068 플러그인 설치 이벤트


1070* 모든 [표준 속성](#standard-attributes)1077* 모든 [표준 속성](#standard-attributes)

1071* `event.name`: `"plugin_installed"`1078* `event.name`: `"plugin_installed"`

1072* `event.timestamp`: ISO 8601 타임스탬프1079* `event.timestamp`: ISO 8601 타임스탬프

1073* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1080* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1074* `marketplace.is_official`: 마켓플레이스가 공식 Anthropic 마켓플레이스일 때 `"true"`, 그 외에는 `"false"`1081* `marketplace.is_official`: 마켓플레이스가 공식 Anthropic 마켓플레이스인 경우 `"true"`, 그 외의 경우 `"false"`

1075* `install.trigger`: `"cli"` 또는 `"ui"`1082* `install.trigger`: `"cli"` 또는 `"ui"`

1076* `plugin.name`: 설치된 플러그인의 이름. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됩니다.1083* `plugin.name`: 설치된 플러그인의 이름. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됨

1077* `plugin.version`: 마켓플레이스 항목에서 선언된 플러그인 버전. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됩니다.1084* `plugin.version`: 마켓플레이스 항목에서 선언된 경우 플러그인 버전. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됨

1078* `marketplace.name`: 플러그인이 설치된 마켓플레이스. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됩니다.1085* `marketplace.name`: 플러그인이 설치된 마켓플레이스. 타사 마켓플레이스의 경우 `OTEL_LOG_TOOL_DETAILS=1`일 때만 포함됨

1079 1086 

1080<h4 id="plugin-loaded-event">1087<h4 id="plugin-loaded-event">

1081 플러그인 로드 이벤트1088 플러그인 로드 이벤트

1082</h4>1089</h4>

1083 1090 

1084세션 시작 시 활성화된 플러그인당 한 번 기록됩니다. 이 이벤트를 사용하여 플릿 전체에서 활성화된 플러그인을 인벤토리하세요(설치 작업 자체를 기록하는 `plugin_installed`의 보완).1091세션 시작 시 활성화된 플러그인당 한 번 기록됩니다. 이 이벤트를 사용하여 플릿 전체에서 활성화된 플러그인을 인벤토리화합니다(설치 작업 자체를 기록하는 `plugin_installed`를 보완).

1085 1092 

1086**이벤트 이름**: `claude_code.plugin_loaded`1093**이벤트 이름**: `claude_code.plugin_loaded`

1087 1094 


1090* 모든 [표준 속성](#standard-attributes)1097* 모든 [표준 속성](#standard-attributes)

1091* `event.name`: `"plugin_loaded"`1098* `event.name`: `"plugin_loaded"`

1092* `event.timestamp`: ISO 8601 타임스탬프1099* `event.timestamp`: ISO 8601 타임스탬프

1093* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1100* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1094* `plugin.name`: 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 `"third-party"`입니다.1101* `plugin.name`: 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 `"third-party"`

1095* `marketplace.name`: 플러그인이 설치된 마켓플레이스(알려진 경우). `plugin.name`과 동일한 조건에서 `"third-party"`로 삭제됩니다.1102* `marketplace.name`: 플러그인이 설치된 마켓플레이스(알려진 경우). `plugin.name`과 동일한 조건에서 `"third-party"`로 수정됨

1096* `plugin.version`: 플러그인 매니페스트의 버전. 이름이 삭제되지 않고 매니페스트가 버전을 선언할 때만 포함됩니다.1103* `plugin.version`: 플러그인 매니페스트의 버전. 이름이 수정되지 않고 매니페스트가 버전을 선언할 때만 포함됨

1097* `plugin.scope`: 플러그인의 출처 범주: `"official"`, `"community"`, `"org"`, `"user-local"`, 또는 `"default-bundle"`1104* `plugin.scope`: 플러그인의 출처 범주: `"official"`, `"community"`, `"org"`, `"user-local"` 또는 `"default-bundle"`

1098* `enabled_via`: 플러그인이 활성화되게 된 방식: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"`, 또는 `"user-install"`.&#x20;1105* `enabled_via`: 플러그인이 활성화되는 방식: `"default-enable"`, `"org-policy"`, `"admin-install"`, `"seed-mount"` 또는 `"user-install"`. `"admin-install"` 값은 플러그인이 [**조직 설정 > 플러그인 및 스킬**](https://claude.ai/admin-settings/skills?tab=inventory)에서 조직에 필수 또는 자동 설치로 설정되어 있음을 의미합니다. v2.1.246 이전에는 Claude Code가 이러한 플러그인을 `"user-install"` 또는 `"seed-mount"`로 보고했습니다.

1099 `"admin-install"` 값은 플러그인이 [**조직 설정 > 플러그인 & 스킬**](https://claude.ai/admin-settings/skills?tab=inventory)에서 조직에 필수 또는 자동 설치로 설정되어 있음을 의미합니다. v2.1.246 이전에는 Claude Code가 이러한 플러그인을 `"user-install"` 또는 `"seed-mount"`로 보고했습니다.1106* `plugin_id_hash`: 플러그인 이름과 마켓플레이스의 결정적 해시(구성된 내보내기로만 전송됨). 이름을 기록하지 않고 플릿 전체에서 로드된 서로 다른 타사 플러그인을 계산할 수 있습니다. [claude.ai에서 동기화된 플러그인](/docs/ko/plugins/loading#synced-plugins)의 경우, Claude Code는 플러그인 이름을 claude.ai가 플러그인에 대해 보고하는 마켓플레이스 이름 또는 그 외의 경우 `synced`와 함께 해시합니다. v2.1.246 이전에는 Claude Code가 해시에서 claude.ai가 보고하는 마켓플레이스 이름을 사용하지 않았습니다.

1100* `plugin_id_hash`: 플러그인 이름과 마켓플레이스의 결정적 해시(구성된 내보내기로만 전송됨). 이름을 기록하지 않고 플릿 전체에서 로드된 서로 다른 타사 플러그인을 계산할 수 있습니다. [claude.ai에서 동기화된 플러그인](/docs/ko/plugins/loading#synced-plugins)의 경우 Claude Code는 플러그인 이름을 claude.ai가 플러그인에 대해 보고하는 마켓플레이스 이름 또는 그 외의 경우 `synced`와 함께 해시합니다. v2.1.246 이전에는 Claude Code가 해시에서 claude.ai가 보고하는 마켓플레이스 이름을 사용하지 않았습니다.

1101* `has_hooks`: 플러그인이 훅을 제공하는지 여부1107* `has_hooks`: 플러그인이 훅을 제공하는지 여부

1102* `has_mcp`: 플러그인이 MCP 서버를 제공하는지 여부1108* `has_mcp`: 플러그인이 MCP 서버를 제공하는지 여부

1103* `host_owned_mcp`: SDK 호스트가 이 플러그인의 MCP 연결을 관리하고 Claude Code가 플러그인의 MCP 서버 구성 읽기를 건너뛸 때 `true`, 그 외에는 `false`. Claude Code v2.1.172 이상 필요1109* `host_owned_mcp`: SDK 호스트가 이 플러그인의 MCP 연결을 관리하고 Claude Code가 플러그인의 MCP 서버 구성 읽기를 건너뛸 때 `true`, 그 외의 경우 `false`. Claude Code v2.1.172 이상 필요

1104* `skill_path_count`: 플러그인이 선언하는 스킬 디렉토리 수1110* `skill_path_count`: 플러그인이 선언하는 스킬 디렉토리 수

1105* `command_path_count`: 플러그인이 선언하는 명령 디렉토리 수1111* `command_path_count`: 플러그인이 선언하는 명령 디렉토리 수

1106* `agent_path_count`: 플러그인이 선언하는 에이전트 디렉토리 수1112* `agent_path_count`: 플러그인이 선언하는 에이전트 디렉토리 수

1107* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. 안전 모드에서 이 이벤트는 구성된 인벤토리만 보고합니다; 플러그인의 명령, 스킬, 훅, 및 MCP 서버는 로드되지 않습니다. Claude Code v2.1.169 이상 필요1113* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외의 경우 `"false"`. 안전 모드에서 이 이벤트는 구성된 인벤토리만 보고합니다; 플러그인의 명령, 스킬, 훅 및 MCP 서버는 로드되지 않습니다. Claude Code v2.1.169 이상 필요

1108 1114 

1109<h4 id="skill-activated-event">1115<h4 id="skill-activated-event">

1110 스킬 활성화 이벤트1116 스킬 활성화 이벤트


1119* 모든 [표준 속성](#standard-attributes)1125* 모든 [표준 속성](#standard-attributes)

1120* `event.name`: `"skill_activated"`1126* `event.name`: `"skill_activated"`

1121* `event.timestamp`: ISO 8601 타임스탬프1127* `event.timestamp`: ISO 8601 타임스탬프

1122* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1128* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1123* `skill.name`: 스킬의 이름. 사용자 정의 및 타사 플러그인 스킬의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 플레이스홀더 `"custom_skill"`입니다.1129* `skill.name`: 스킬의 이름. 사용자 정의 및 타사 플러그인 스킬의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 자리 표시자 `"custom_skill"`

1124* `invocation_trigger`: 스킬이 트리거된 방식(`"user-slash"`, `"claude-proactive"`, 또는 `"nested-skill"`)1130* `invocation_trigger`: 스킬이 트리거된 방식(`"user-slash"`, `"claude-proactive"` 또는 `"nested-skill"`)

1125* `skill.source`: 스킬이 로드된 위치(예: `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)1131* `skill.source`: 스킬이 로드된 위치(예: `"bundled"`, `"userSettings"`, `"projectSettings"`, `"plugin"`)

1126* `skill.kind`: 스킬이 워크플로우 스킬일 때 `"workflow"`. 그 외에는 없습니다.1132* `skill.kind`: 스킬이 워크플로우 스킬일 때 `"workflow"`. 그 외의 경우 없음

1127* `plugin.name` (`OTEL_LOG_TOOL_DETAILS=1`이거나 플러그인이 공식 마켓플레이스에서 온 경우): 스킬이 플러그인에 의해 제공될 때 소유 플러그인의 이름1133* `plugin.name` (`OTEL_LOG_TOOL_DETAILS=1`이거나 플러그인이 공식 마켓플레이스에서 온 경우): 스킬이 플러그인에 의해 제공될 때 소유 플러그인의 이름

1128* `marketplace.name` (`OTEL_LOG_TOOL_DETAILS=1`이거나 플러그인이 공식 마켓플레이스에서 온 경우): 스킬이 플러그인에 의해 제공될 때 소유 플러그인이 설치된 마켓플레이스1134* `marketplace.name` (`OTEL_LOG_TOOL_DETAILS=1`이거나 플러그인이 공식 마켓플레이스에서 온 경우): 스킬이 플러그인에 의해 제공될 때 소유 플러그인이 설치된 마켓플레이스

1129 1135 

1130<h4 id="at-mention-event">1136<h4 id="at-mention-event">

1131 @ 멘션 이벤트1137 @멘션 이벤트

1132</h4>1138</h4>

1133 1139 

1134Claude Code가 프롬프트의 `@` 멘션을 해결할 때 기록됩니다. 모든 멘션이 이벤트를 내보내는 것은 아닙니다: 권한 거부, 과도한 파일, PDF 참조 첨부, 및 디렉토리 목록 실패와 같은 조기 종료 경로는 로깅 없이 반환됩니다.1140Claude Code가 프롬프트에서 `@`-멘션을 해결할 때 기록됩니다. 모든 멘션이 이벤트를 내보내는 것은 아닙니다: 권한 거부, 과도한 파일, PDF 참조 첨부 및 디렉토리 나열 실패와 같은 조기 종료 경로는 로깅 없이 반환됩니다.

1135 1141 

1136**이벤트 이름**: `claude_code.at_mention`1142**이벤트 이름**: `claude_code.at_mention`

1137 1143 


1140* 모든 [표준 속성](#standard-attributes)1146* 모든 [표준 속성](#standard-attributes)

1141* `event.name`: `"at_mention"`1147* `event.name`: `"at_mention"`

1142* `event.timestamp`: ISO 8601 타임스탬프1148* `event.timestamp`: ISO 8601 타임스탬프

1143* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1149* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1144* `mention_type`: 멘션의 유형(`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`).&#x20;1150* `mention_type`: 멘션의 유형(`"file"`, `"directory"`, `"agent"`, `"mcp_resource"`, `"peer"`). `"peer"` 값은 [다른 Claude Code 세션 중 하나](/docs/ko/cross-session-messaging)를 멘션했음을 의미합니다. Claude Code v2.1.232 이상 필요

1145 `"peer"` 값은 [다른 Claude Code 세션](/docs/ko/cross-session-messaging) 중 하나를 멘션했음을 의미합니다. Claude Code v2.1.232 이상 필요

1146* `success`: 멘션이 성공적으로 해결되었는지 여부(`"true"` 또는 `"false"`)1151* `success`: 멘션이 성공적으로 해결되었는지 여부(`"true"` 또는 `"false"`)

1147 1152 

1148<h4 id="api-retries-exhausted-event">1153<h4 id="api-retries-exhausted-event">


1158* 모든 [표준 속성](#standard-attributes)1163* 모든 [표준 속성](#standard-attributes)

1159* `event.name`: `"api_retries_exhausted"`1164* `event.name`: `"api_retries_exhausted"`

1160* `event.timestamp`: ISO 8601 타임스탬프1165* `event.timestamp`: ISO 8601 타임스탬프

1161* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1166* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1162* `model`: 사용된 모델1167* `model`: 사용된 모델

1163* `error`: 최종 오류 메시지1168* `error`: 최종 오류 메시지

1164* `status_code`: HTTP 상태 코드(숫자). 비 HTTP 오류의 경우 없습니다.1169* `status_code`: HTTP 상태 코드(숫자). 비HTTP 오류의 경우 없음.

1165* `total_attempts`: 수행된 총 시도 횟수1170* `total_attempts`: 수행된 총 시도 횟수

1166* `total_retry_duration_ms`: 모든 시도에 걸친 총 벽시계 시간1171* `total_retry_duration_ms`: 모든 시도에 걸친 총 벽시계 시간

1167* `speed`: `"fast"` 또는 `"normal"`1172* `speed`: `"fast"` 또는 `"normal"`


1170 훅 등록 이벤트1175 훅 등록 이벤트

1171</h4>1176</h4>

1172 1177 

1173세션 시작 시 구성된 훅당 한 번 기록됩니다. 이 이벤트를 사용하여 플릿 전체에서 활성화된 훅을 인벤토리하세요(실행별 `hook_execution_start` 및 `hook_execution_complete` 이벤트의 보완).1178세션 시작 시 구성된 훅당 한 번 기록됩니다. 이 이벤트를 사용하여 플릿 전체에서 활성화된 훅을 인벤토리화합니다(실행별 `hook_execution_start` 및 `hook_execution_complete` 이벤트를 보완).

1174 1179 

1175**이벤트 이름**: `claude_code.hook_registered`1180**이벤트 이름**: `claude_code.hook_registered`

1176 1181 


1179* 모든 [표준 속성](#standard-attributes)1184* 모든 [표준 속성](#standard-attributes)

1180* `event.name`: `"hook_registered"`1185* `event.name`: `"hook_registered"`

1181* `event.timestamp`: ISO 8601 타임스탬프1186* `event.timestamp`: ISO 8601 타임스탬프

1182* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1187* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1183* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)1188* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)

1184* `hook_type`: 훅 구현 유형: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"`, 또는 `"agent"`1189* `hook_type`: 훅 구현 유형: `"command"`, `"prompt"`, `"mcp_tool"`, `"http"` 또는 `"agent"`

1185* `hook_source`: 훅이 정의된 위치: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"`, 또는 `"pluginHook"`1190* `hook_source`: 훅이 정의된 위치: `"userSettings"`, `"projectSettings"`, `"localSettings"`, `"flagSettings"`, `"policySettings"` 또는 `"pluginHook"`

1186* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. Claude Code v2.1.169 이상 필요1191* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외의 경우 `"false"`. Claude Code v2.1.169 이상 필요

1187* `hook_matcher` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 훅 구성에서 설정된 경우 훅 구성의 매처 문자열1192* `hook_matcher` (`OTEL_LOG_TOOL_DETAILS=1`일 때): 훅 구성에서 설정된 경우 훅 구성의 매처 문자열

1188* `plugin.name` (`hook_source`가 `"pluginHook"`일 때): 기여하는 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 `"third-party"`입니다.1193* `plugin.name` (`hook_source`가 `"pluginHook"`일 때): 기여하는 플러그인의 이름. 공식 마켓플레이스 및 기본 제공 번들 외부의 플러그인의 경우 `OTEL_LOG_TOOL_DETAILS=1`이 아닌 경우 `"third-party"`

1189* `plugin_id_hash` (`hook_source`가 `"pluginHook"`일 때): 플러그인 이름과 마켓플레이스의 결정적 해시(구성된 내보내기로만 전송됨). 이름을 기록하지 않고 기여하는 서로 다른 플러그인을 계산할 수 있습니다. Claude Code는 [플러그인 로드 이벤트](#plugin-loaded-event)에서 설명한 대로 계산합니다.1194* `plugin_id_hash` (`hook_source`가 `"pluginHook"`일 때): 플러그인 이름과 마켓플레이스의 결정적 해시(구성된 내보내기로만 전송됨). 이름을 기록하지 않고 기여하는 서로 다른 플러그인을 계산할 수 있습니다. Claude Code는 [플러그인 로드 이벤트](#plugin-loaded-event)에서 설명한 대로 계산합니다.

1190 1195 

1191<h4 id="hook-execution-start-event">1196<h4 id="hook-execution-start-event">


1201* 모든 [표준 속성](#standard-attributes)1206* 모든 [표준 속성](#standard-attributes)

1202* `event.name`: `"hook_execution_start"`1207* `event.name`: `"hook_execution_start"`

1203* `event.timestamp`: ISO 8601 타임스탬프1208* `event.timestamp`: ISO 8601 타임스탬프

1204* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1209* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1205* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)1210* `hook_event`: 훅 이벤트 유형(예: `"PreToolUse"` 또는 `"PostToolUse"`)

1206* `hook_name`: 매처를 포함한 전체 훅 이름(예: `"PreToolUse:Write"`)1211* `hook_name`: 매처를 포함한 전체 훅 이름(예: `"PreToolUse:Write"`)

1207* `num_hooks`: 일치하는 훅 명령 수1212* `num_hooks`: 일치하는 훅 명령 수

1208* `managed_only`: 관리 정책 훅만 허용될 때 `"true"`1213* `managed_only`: 관리 정책 훅만 허용될 때 `"true"`

1209* `hook_source`: `"policySettings"` 또는 `"merged"`1214* `hook_source`: `"policySettings"` 또는 `"merged"`

1210* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. Claude Code v2.1.169 이상 필요1215* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외의 경우 `"false"`. Claude Code v2.1.169 이상 필요

1211* `hook_definitions`: JSON 직렬화된 훅 구성. 상세 베타 추적과 `OTEL_LOG_TOOL_DETAILS=1`이 모두 활성화되었을 때만 포함됩니다.1216* `hook_definitions`: 훅 구성의 JSON 직렬화. 상세 베타 추적과 `OTEL_LOG_TOOL_DETAILS=1`이 모두 활성화되었을 때만 포함됨

1212 1217 

1213<h4 id="hook-execution-complete-event">1218<h4 id="hook-execution-complete-event">

1214 훅 실행 완료 이벤트1219 훅 실행 완료 이벤트

1215</h4>1220</h4>

1216 1221 

1217훅 이벤트의 모든 훅이 완료되었을 때 기록됩니다.1222훅 이벤트에 대한 모든 훅이 완료되었을 때 기록됩니다.

1218 1223 

1219**이벤트 이름**: `claude_code.hook_execution_complete`1224**이벤트 이름**: `claude_code.hook_execution_complete`

1220 1225 


1223* 모든 [표준 속성](#standard-attributes)1228* 모든 [표준 속성](#standard-attributes)

1224* `event.name`: `"hook_execution_complete"`1229* `event.name`: `"hook_execution_complete"`

1225* `event.timestamp`: ISO 8601 타임스탬프1230* `event.timestamp`: ISO 8601 타임스탬프

1226* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1231* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1227* `hook_event`: 훅 이벤트 유형1232* `hook_event`: 훅 이벤트 유형

1228* `hook_name`: 매처를 포함한 전체 훅 이름1233* `hook_name`: 매처를 포함한 전체 훅 이름

1229* `num_hooks`: 일치하는 훅 명령 수1234* `num_hooks`: 일치하는 훅 명령 수


1239* `num_outputs_persisted`: [10,000자 상한](/docs/ko/hooks#json-output)을 초과한 훅 출력 수(Claude Code가 파일에 저장함). Claude Code v2.1.280 이상 필요1244* `num_outputs_persisted`: [10,000자 상한](/docs/ko/hooks#json-output)을 초과한 훅 출력 수(Claude Code가 파일에 저장함). Claude Code v2.1.280 이상 필요

1240* `managed_only`: 관리 정책 훅만 허용될 때 `"true"`1245* `managed_only`: 관리 정책 훅만 허용될 때 `"true"`

1241* `hook_source`: `"policySettings"` 또는 `"merged"`1246* `hook_source`: `"policySettings"` 또는 `"merged"`

1242* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외에는 `"false"`. Claude Code v2.1.169 이상 필요1247* `safe_mode`: 세션이 [`--safe-mode`](/docs/ko/cli-reference)로 시작되었을 때 `"true"`, 그 외의 경우 `"false"`. Claude Code v2.1.169 이상 필요

1243* `hook_definitions`: JSON 직렬화된 훅 구성. 상세 베타 추적과 `OTEL_LOG_TOOL_DETAILS=1`이 모두 활성화되었을 때만 포함됩니다.1248* `hook_definitions`: 훅 구성의 JSON 직렬화. 상세 베타 추적과 `OTEL_LOG_TOOL_DETAILS=1`이 모두 활성화되었을 때만 포함됨

1244 1249 

1245<h4 id="hook-plugin-metrics-event">1250<h4 id="hook-plugin-metrics-event">

1246 훅 플러그인 메트릭 이벤트1251 훅 플러그인 메트릭 이벤트

1247</h4>1252</h4>

1248 1253 

1249공식 마켓플레이스 플러그인 훅이 호출별 메트릭을 내보낼 때 기록됩니다. 공식 Anthropic 마켓플레이스에서 설치된 플러그인만 이를 내보낼 수 있습니다. 타사 마켓플레이스 플러그인 및 사용자 구성 훅은 이 이벤트로 내보내지 않습니다. 이 이벤트를 사용하여 자신의 관찰성 스택에서 찾기 비율, 비용, 및 플러그인 동작의 기간과 같은 것을 모니터링합니다.1254공식 마켓플레이스 플러그인 훅이 호출별 메트릭을 내보낼 때 기록됩니다. 공식 Anthropic 마켓플레이스에서 설치된 플러그인만 이를 내보낼 수 있습니다. 타사 마켓플레이스 플러그인 및 사용자 구성 훅은 이 이벤트로 내보내지 않습니다. 이 이벤트를 사용하여 자신의 관찰성 스택에서 찾기 비율, 비용 및 기간과 같은 플러그인 동작을 모니터링합니다.

1250 1255 

1251**이벤트 이름**: `claude_code.hook_plugin_metrics`1256**이벤트 이름**: `claude_code.hook_plugin_metrics`

1252 1257 


1255* 모든 [표준 속성](#standard-attributes)1260* 모든 [표준 속성](#standard-attributes)

1256* `event.name`: `"hook_plugin_metrics"`1261* `event.name`: `"hook_plugin_metrics"`

1257* `event.timestamp`: ISO 8601 타임스탬프1262* `event.timestamp`: ISO 8601 타임스탬프

1258* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1263* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1259* `plugin_id`: `<name>@<marketplace>` 형식의 플러그인 식별자1264* `plugin_id`: `<name>@<marketplace>` 형식의 플러그인 식별자

1260* `hook_event`: 메트릭을 내보낸 훅 이벤트 유형1265* `hook_event`: 메트릭을 내보낸 훅 이벤트 유형

1261* 최대 20개의 플러그인 내보낸 메트릭 키. 이름은 `^[a-z][a-z0-9_]{0,39}$`와 일치합니다. 값은 부울 또는 숫자입니다.1266* 최대 20개의 플러그인 내보낸 메트릭 키. 이름은 `^[a-z][a-z0-9_]{0,39}$`와 일치합니다. 값은 부울 또는 숫자입니다.


1273* 모든 [표준 속성](#standard-attributes)1278* 모든 [표준 속성](#standard-attributes)

1274* `event.name`: `"compaction"`1279* `event.name`: `"compaction"`

1275* `event.timestamp`: ISO 8601 타임스탬프1280* `event.timestamp`: ISO 8601 타임스탬프

1276* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1281* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1277* `trigger`: `"auto"` 또는 `"manual"`1282* `trigger`: `"auto"` 또는 `"manual"`

1278* `success`: `"true"` 또는 `"false"`1283* `success`: `"true"` 또는 `"false"`

1279* `duration_ms`: 압축 기간1284* `duration_ms`: 압축 기간

1280* `pre_tokens`: 압축 전 대략적인 토큰 수1285* `pre_tokens`: 압축 전 대략적인 토큰 수

1281* `post_tokens`: 압축 후 대략적인 토큰 수1286* `post_tokens`: 압축 후 대략적인 토큰 수

1282* `error`: 압축이 실패했을 때의 오류 메시지1287* `error`: 압축이 실패했을 때 오류 메시지

1283* `precompute_reuse`: `trigger`가 `"manual"`일 때만 설정됩니다. 자동 압축은 컨텍스트 윈도우가 채워지기 전에 백그라운드에서 요약을 준비할 수 있으며, 이 속성은 `/compact`가 해당 준비된 요약을 재사용했는지 기록합니다. `"hit"`는 재사용되었음을 의미합니다; `"miss_custom_instructions"`, `"miss_hook"`, 및 `"miss_not_ready"`는 대신 새로운 요약이 계산된 이유를 제공합니다. Claude Code v2.1.153 이상 필요1288* `precompute_reuse`: `trigger`가 `"manual"`일 때만 설정됩니다. 자동 압축은 컨텍스트 윈도우가 채워지기 전에 백그라운드에서 요약을 준비할 수 있으며, 이 속성은 `/compact`가 해당 준비된 요약을 재사용했는지 기록합니다. `"hit"`은 재사용되었음을 의미합니다; `"miss_custom_instructions"`, `"miss_hook"` 및 `"miss_not_ready"`는 대신 새로운 요약이 계산된 이유를 제공합니다. Claude Code v2.1.153 이상 필요

1284 1289 

1285<h4 id="subagent-completed-event">1290<h4 id="subagent-completed-event">

1286 하위 에이전트 완료 이벤트1291 하위 에이전트 완료 이벤트

1287</h4>1292</h4>

1288 1293 

1289[하위 에이전트](/docs/ko/sub-agents)가 완료되고 결과를 시작한 대화에 반환할 때 기록됩니다. 하위 에이전트 유형별로 도구 사용 및 실행 시간을 롤업하는 데 사용합니다; 토큰 또는 비용 롤업의 경우 [토큰 카운터](#token-counter) 및 [비용 카운터](#cost-counter)를 `query_source` `"subagent"`로 필터링하여 사용합니다(이 이벤트의 `total_tokens`은 최종 요청만 포함). `"subagent"` 범주는 또한 하위 에이전트 이벤트를 내보내지 않는 에이전트 기반 훅의 요청도 계산합니다.1294[하위 에이전트](/docs/ko/sub-agents)가 완료되고 해당 결과를 이를 시작한 대화에 반환할 때 기록됩니다. 하위 에이전트 유형별로 도구 사용 및 실행 시간을 롤업하는 데 사용합니다; 토큰 또는 비용 롤업의 경우, `query_source` `"subagent"`로 필터링된 [토큰 카운터](#token-counter) 및 [비용 카운터](#cost-counter)를 사용합니다(이 이벤트의 `total_tokens`은 최종 요청만 포함). `"subagent"` 범주는 또한 에이전트 기반 훅의 요청을 계산하며, 이는 하위 에이전트 이벤트를 내보내지 않습니다.

1290 1295 

1291**이벤트 이름**: `claude_code.subagent_completed`1296**이벤트 이름**: `claude_code.subagent_completed`

1292 1297 


1295* 모든 [표준 속성](#standard-attributes)1300* 모든 [표준 속성](#standard-attributes)

1296* `event.name`: `"subagent_completed"`1301* `event.name`: `"subagent_completed"`

1297* `event.timestamp`: ISO 8601 타임스탬프1302* `event.timestamp`: ISO 8601 타임스탬프

1298* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1303* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1299* `agent_type`: 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다; 다른 에이전트 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"custom"`으로 대체됩니다.1304* `agent_type`: 하위 에이전트 유형. 기본 제공 에이전트 이름과 공식 마켓플레이스 플러그인의 에이전트는 그대로 나타납니다; 다른 에이전트 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"custom"`으로 대체됩니다.

1300* `agent.source`: 에이전트 정의가 나온 위치: `built-in`, `plugin`, 또는 `userSettings` 또는 `projectSettings`와 같은 사용자 정의 에이전트를 정의한 설정 소스1305* `agent.source`: 에이전트 정의가 나온 위치: `built-in`, `plugin` 또는 사용자 정의 에이전트를 정의한 설정 소스(예: `userSettings` 또는 `projectSettings`)

1301* `is_built_in`: 하위 에이전트가 기본 제공 에이전트 유형인지 여부1306* `is_built_in`: 하위 에이전트가 기본 제공 에이전트 유형인지 여부

1302* `is_async`: 하위 에이전트가 [백그라운드](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에서 실행되었는지 여부1307* `is_async`: 하위 에이전트가 [백그라운드](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에서 실행되었는지 여부

1303* `total_tokens`: 하위 에이전트의 최종 API 요청의 토큰 풋프린트: 해당 하나의 요청의 입력, 캐시 생성, 캐시 읽기, 및 출력 토큰(대략 완료 시 하위 에이전트의 컨텍스트 크기). 실행 전체에 걸친 합계가 아닙니다.1308* `total_tokens`: 하위 에이전트의 최종 API 요청의 토큰 풋프린트: 해당 하나의 요청의 입력, 캐시 생성, 캐시 읽기 및 출력 토큰(대략 완료 시 하위 에이전트의 컨텍스트 크기). 실행 전체에 걸친 합계가 아님

1304* `total_tool_uses`: 하위 에이전트가 전체 실행에 걸쳐 수행한 도구 호출 수1309* `total_tool_uses`: 하위 에이전트가 전체 실행 전체에서 수행한 도구 호출 수

1305* `duration_ms`: 밀리초 단위의 실행 시간1310* `duration_ms`: 밀리초 단위의 실행 시간

1306* `model`: 하위 에이전트가 실행하도록 해결된 모델1311* `model`: 하위 에이전트가 실행하도록 해결된 모델

1307* `final_model`: 하위 에이전트의 최종 응답을 생성한 모델(폴백과 같은 중간 실행 전환 후 `model`과 다름). Claude Code v2.1.212 이상 필요1312* `final_model`: 하위 에이전트의 최종 응답을 생성한 모델(폴백과 같은 중간 실행 전환 후 `model`과 다름). Claude Code v2.1.212 이상 필요

1308* `model_swapped`: 둘 이상의 모델이 하위 에이전트의 요청을 제공했는지 여부. Claude Code v2.1.212 이상 필요1313* `model_swapped`: 둘 이상의 모델이 하위 에이전트의 요청을 제공했는지 여부. Claude Code v2.1.212 이상 필요

1309* `plugin_id_hash`, `plugin.name`: 플러그인 제공 에이전트에 대해 있습니다. 공식 마켓플레이스 플러그인 이름은 그대로 나타납니다; 다른 플러그인 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"third-party"`로 대체됩니다.1314* `plugin_id_hash`, `plugin.name`: 플러그인 제공 에이전트에 대해 존재합니다. 공식 마켓플레이스 플러그인 이름은 그대로 나타납니다; 다른 플러그인 이름은 `OTEL_LOG_TOOL_DETAILS=1`이 설정되지 않은 경우 `"third-party"`로 대체됩니다.

1310 1315 

1311<h4 id="feedback-survey-event">1316<h4 id="feedback-survey-event">

1312 피드백 설문 이벤트1317 피드백 설문 이벤트

1313</h4>1318</h4>

1314 1319 

1315세션 품질 설문이 표시되거나 답변될 때 기록됩니다. 설문이 수집하는 것과 제어 방법에 대해서는 [세션 품질 설문](/docs/ko/data-usage#session-quality-surveys)을 참조하세요.1320세션 품질 설문이 표시되거나 답변될 때 기록됩니다. [세션 품질 설문](/docs/ko/data-usage#session-quality-surveys)에서 설문이 수집하는 내용과 제어 방법을 참조합니다.

1316 1321 

1317**이벤트 이름**: `claude_code.feedback_survey`1322**이벤트 이름**: `claude_code.feedback_survey`

1318 1323 


1321* 모든 [표준 속성](#standard-attributes)1326* 모든 [표준 속성](#standard-attributes)

1322* `event.name`: `"feedback_survey"`1327* `event.name`: `"feedback_survey"`

1323* `event.timestamp`: ISO 8601 타임스탬프1328* `event.timestamp`: ISO 8601 타임스탬프

1324* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1329* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1325* `event_type`: 설문 수명 주기 이벤트(예: `"appeared"`, `"responded"`, 또는 `"transcript_prompt_appeared"`)1330* `event_type`: 설문 수명 주기 이벤트(예: `"appeared"`, `"responded"` 또는 `"transcript_prompt_appeared"`)

1326* `appearance_id`: 하나의 설문 인스턴스에 대해 내보낸 이벤트를 연결하는 고유 ID1331* `appearance_id`: 하나의 설문 인스턴스에 대해 내보낸 이벤트를 연결하는 고유 ID

1327* `survey_type`: 이벤트를 생성한 설문. `"session"`은 "Claude가 어떻게 하고 있나요?" 평가 프롬프트입니다.1332* `survey_type`: 이벤트를 생성한 설문. `"session"`은 "Claude가 어떻게 하고 있나요?" 평가 프롬프트입니다.

1328* `response`: `responded` 이벤트의 사용자 선택1333* `response`: `responded` 이벤트의 사용자 선택

1329* `enabled_via_override`: [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/ko/env-vars)이 설정되었을 때 `true`. 부울로 내보내집니다(문자열이 아님). `session` 설문 이벤트에 있습니다. 이 속성을 필터링하여 플릿 전체에서 재정의가 적용되었는지 확인합니다.1334* `enabled_via_override`: [`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL`](/docs/ko/env-vars)이 설정되었을 때 `true`. 문자열이 아닌 부울로 내보내집니다. `session` 설문 이벤트에 있습니다. 이 속성을 필터링하여 플릿 전체에서 재정의가 적용되었는지 확인합니다.

1330 1335 

1331<h4 id="retention-sweep-event">1336<h4 id="retention-sweep-event">

1332 보존 스윕 이벤트1337 보존 스윕 이벤트

1333</h4>1338</h4>

1334 1339 

1335보존 정리 스윕 실행당 한 번 기록됩니다(이는 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) 설정보다 오래된 [세션 기록 및 기타 애플리케이션 데이터](/docs/ko/claude-directory#cleaned-up-automatically)를 삭제합니다). Claude Code는 백그라운드에서 세션당 최대 한 번 스윕을 실행하며, 아무것도 삭제하지 않는 실행도 이벤트를 내보냅니다. Claude Code가 지난 24시간 동안 동일한 머신의 모든 세션에서 스윕을 실행했으면 이 세션의 스윕을 최소 10분 이상 지연하므로 더 빨리 종료되는 세션은 아무것도 내보내지 않습니다. `claude -p`를 `--bare`로 실행하면 Claude Code는 스윕을 실행하지 않고 아무것도 내보내지 않습니다.1340보존 정리 스윕 실행당 한 번 기록됩니다(이는 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) 설정보다 오래된 [세션 기록 및 기타 애플리케이션 데이터](/docs/ko/claude-directory#cleaned-up-automatically)를 삭제합니다). Claude Code는 백그라운드에서 세션당 최대 한 번 스윕을 실행하며, 아무것도 삭제하지 않는 실행도 이벤트를 내보냅니다. Claude Code가 지난 24시간 동안 동일한 머신의 모든 세션에서 스윕을 실행한 경우, 이 세션의 스윕을 최소 10분 지연하므로, 더 빨리 종료되는 세션은 아무것도 내보내지 않습니다. `claude -p`를 `--bare`로 실행하면, Claude Code는 스윕을 실행하지 않으며 아무것도 내보내지 않습니다.

1336 1341 

1337이 페이지의 모든 OTel 이벤트처럼 구성한 원격 측정 백엔드로만 이동합니다. Claude Code v2.1.227 이상 필요.1342이 페이지의 모든 OTel 이벤트처럼, 구성한 원격 측정 백엔드로만 이동합니다. Claude Code v2.1.227 이상 필요.

1338 1343 

1339Claude Code가 보존 기간을 안전하게 결정할 수 없으면 스윕을 일시 중지하고 `result`를 `"skipped"`로 설정하고 `skip_reason`을 포함하는 이벤트를 내보냅니다. [관리 설정](/docs/ko/server-managed-settings)이 `cleanupPeriodDays`를 설정하면 관리 값이 보존 기간을 고정하고 낮은 우선순위 범위의 설정 파일이 손상되거나 유효하지 않아도 스윕이 실행됩니다. `managed-settings.json` 자체를 읽을 수 없으면 Claude Code는 [관리 계층](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)이 서버 관리 설정과 같은 다른 곳에서 `cleanupPeriodDays`를 제공하지 않는 한 스윕을 일시 중지합니다. 또는 손상된 파일 옆의 `managed-settings.d/` 드롭인입니다. 삭제 카운터 속성은 `result`가 `"complete"`일 때만 있습니다.1344Claude Code가 보존 기간을 안전하게 결정할 수 없으면, 스윕을 일시 중지하고 `result`를 `"skipped"`로 설정하고 `skip_reason`을 포함하는 이벤트를 내보냅니다. [관리 설정](/docs/ko/server-managed-settings)이 `cleanupPeriodDays`를 설정하면, 관리 값이 보존 기간을 고정하고 낮은 우선순위 범위의 설정 파일이 손상되거나 유효하지 않은 경우에도 스윕이 실행됩니다. `managed-settings.json` 자체를 읽을 수 없으면, Claude Code는 [관리 계층](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)이 서버 관리 설정과 같은 다른 곳에서 `cleanupPeriodDays`를 제공하지 않는 한 스윕을 일시 중지합니다. 삭제 카운터 속성은 `result`가 `"complete"`일 때만 존재합니다.

1340 1345 

1341**이벤트 이름**: `claude_code.retention_sweep`1346**이벤트 이름**: `claude_code.retention_sweep`

1342 1347 


1345* 모든 [표준 속성](#standard-attributes)1350* 모든 [표준 속성](#standard-attributes)

1346* `event.name`: `"retention_sweep"`1351* `event.name`: `"retention_sweep"`

1347* `event.timestamp`: ISO 8601 타임스탬프1352* `event.timestamp`: ISO 8601 타임스탬프

1348* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1353* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1349* `result`: 스윕이 실행되었을 때 `"complete"`, Claude Code가 일시 중지했을 때 `"skipped"`1354* `result`: 스윕이 실행되었을 때 `"complete"`, Claude Code가 일시 중지했을 때 `"skipped"`

1350* `period_days`: 병합된 설정의 `cleanupPeriodDays` 값(일 단위) 또는 소스가 설정하지 않을 때 `30`. 건너뛴 이벤트에서 스윕이 사용했을 값(Claude Code가 읽을 수 있는 설정 소스에서 계산됨)1355* `period_days`: 병합된 설정의 `cleanupPeriodDays` 값(일 단위) 또는 소스가 설정하지 않을 때 `30`. 건너뛴 이벤트에서 스윕이 사용했을 값(Claude Code가 읽을 수 있는 설정 소스에서 계산됨)

1351* `used_default`: 읽을 수 있는 설정 소스가 `cleanupPeriodDays`를 설정하지 않을 때 `"true"`, 그 외에는 `"false"`. 완료 이벤트에서 `"true"`는 30일 기본값이 적용되었음을 의미합니다.1356* `used_default`: 읽을 수 있는 설정 소스가 `cleanupPeriodDays`를 설정하지 않을 때 `"true"`, 그 외의 경우 `"false"`. 완료 이벤트에서 `"true"`는 30일 기본값이 적용되었음을 의미합니다.

1352* `skip_reason`: Claude Code가 스윕을 일시 중지한 이유. `result`가 `"skipped"`일 때만 있습니다:1357* `skip_reason`: Claude Code가 스윕을 일시 중지한 이유. `result`가 `"skipped"`일 때만 존재:

1353 * `"user_source_disabled"`: 사용자 설정이 제외됨(예: [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 플래그 또는 SDK의 [`settingSources`](/docs/ko/agent-sdk/typescript#options) 옵션에 의해) 그리고 활성화된 소스가 `cleanupPeriodDays`를 제공하지 않습니다.1358 * `"user_source_disabled"`: 사용자 설정이 제외됨(예: [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 플래그 또는 SDK의 [`settingSources`](/docs/ko/agent-sdk/typescript#options) 옵션), 활성화된 소스가 `cleanupPeriodDays`를 제공하지 않음

1354 * `"settings_unknowable"`: 설정 파일을 읽거나 구문 분석할 수 없어 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 Claude Code가 볼 수 없는 값으로 설정될 수 있습니다.1359 * `"settings_unknowable"`: 설정 파일을 읽거나 구문 분석할 수 없어 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 Claude Code가 볼 수 없는 값으로 설정될 수 있음

1355 * `"settings_invalid_key_set"`: 설정에 유효성 검사 오류가 있고 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 명시적으로 설정되어 있어 기본값으로 폴백하면 해당 설정에 대해 파일을 삭제하거나 유지할 수 있습니다.1360 * `"settings_invalid_key_set"`: 설정에 유효성 검사 오류가 있고 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 명시적으로 설정되어 있어 기본값으로 폴백하면 해당 설정에 대해 파일을 삭제하거나 유지할 수 있음

1356* `transcripts_deleted`: 스윕이 삭제한 세션 기록(최상위 `~/.claude/projects/*/*.jsonl` 파일) 수1361* `transcripts_deleted`: 스윕이 삭제한 세션 기록(최상위 `~/.claude/projects/*/*.jsonl` 파일) 수

1357*1362* `transcripts_exempted_desktop`: 보존 기간을 초과했지만 스윕이 [Claude Desktop 및 Cowork 규칙](/docs/ko/claude-directory#cleaned-up-automatically)에 따라 유지한 기록 수. 이들은 `files_past_cutoff`에 계산되지 않습니다. Claude Code v2.1.248 이상 필요

1358 1363* `session_files_deleted`: 세션 파일 스윕이 삭제한 아티팩트 수: 기록 및 사이드카, 녹음 및 도구 결과와 같은 세션별 동반 파일

1359`transcripts_exempted_desktop`: 보존 기간을 지났지만 스윕이 [Claude Desktop 및 Cowork 규칙](/docs/ko/claude-directory#cleaned-up-automatically)에 따라 유지한 기록 수. 이들은 `files_past_cutoff`에 계산되지 않습니다. Claude Code v2.1.248 이상 필요1364* `artifacts_deleted`: 데이터 디렉토리 전체에서 스윕이 삭제한 총 항목(세션 파일 포함). 일부 스윕은 제거된 전체 디렉토리 트리를 하나의 항목으로 계산하고 몇 가지 정리 통과는 카운터에 기여하지 않으므로, 값을 정확한 파일 수보다는 하한으로 취급합니다.

1360 

1361* `session_files_deleted`: 세션 파일 스윕이 삭제한 항목 수: 기록 및 사이드카, 녹음, 및 도구 결과와 같은 세션별 동반 파일

1362* `artifacts_deleted`: 데이터 디렉토리 전체에서 스윕이 삭제한 총 항목(세션 파일 포함). 일부 스윕은 제거된 전체 디렉토리 트리를 하나의 항목으로 계산하고 몇 가지 정리 통과는 카운터에 기여하지 않으므로 값을 정확한 파일 수보다는 하한으로 취급합니다.

1363* `files_retained_fresh`: 검사되었으며 보존 기간 내에 있기 때문에 제자리에 남겨진 파일. 파일별 스윕만 이들을 계산하므로 값은 하한입니다; 0이 아닌 값은 정상적인 정상 상태입니다.1365* `files_retained_fresh`: 검사되었으며 보존 기간 내에 있기 때문에 제자리에 남겨진 파일. 파일별 스윕만 이들을 계산하므로 값은 하한입니다; 0이 아닌 값은 정상적인 정상 상태입니다.

1364* `files_past_cutoff`: 보존 기간보다 오래되었지만 스윕이 삭제하지 못한 파일(예: 권한 오류 또는 열린 파일). 0보다 큰 값은 파일이 구성된 보존 기간을 초과했음을 의미합니다; 0은 없었다는 증거가 아닙니다(전체 디렉토리 제거 실패는 대신 `error_count`에 계산되기 때문).1366* `files_past_cutoff`: 보존 기간보다 오래되었지만 스윕이 삭제하지 못한 파일(예: 권한 오류 또는 열린 파일). 0보다 큰 값은 파일이 구성된 보존 기간을 초과했음을 의미합니다; 0은 없었다는 증거가 아닙니다(전체 디렉토리 제거 실패는 대신 `error_count`에 계산되기 때문).

1365* `error_count`: 스윕이 파일을 나열하거나 삭제하는 동안 발생한 오류 수1367* `error_count`: 스윕이 파일을 나열하거나 삭제하는 동안 발생한 오류 수


1368 관리 설정 해결 이벤트1370 관리 설정 해결 이벤트

1369</h4>1371</h4>

1370 1372 

1371세션이 해결한 [관리 설정](/docs/ko/managed-settings)으로 기록됩니다: 세션 시작 시 한 번, 관리 설정 또는 [정책 도우미](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program)의 상태가 세션 중에 변경될 때 다시, 그리고 Claude Code가 `error.type` 속성이 나열하는 이유 중 하나로 시작을 거부하거나 세션을 종료할 때.1373세션이 해결한 [관리 설정](/docs/ko/managed-settings)으로 기록됩니다: 세션 시작 시 한 번, 관리 설정 또는 [정책 도우미](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program)의 상태가 세션 중에 변경될 때 다시, Claude Code가 거부하거나 `error.type` 속성이 나열하는 이유 중 하나로 세션을 종료할 때.

1372이 이벤트를 사용하여 예상치 못한 관리 소스에서 실행 중인 머신, 정책 도우미가 실패하는 머신, 및 머신이 시작을 거부한 이유를 찾습니다.1374머신이 예상치 못한 관리 소스에서 실행 중인 경우, 정책 도우미가 실패하는 경우, 머신이 거부하거나 세션을 종료한 이유를 찾는 데 사용합니다.

1373Claude Code v2.1.274 이상 필요.1375Claude Code v2.1.274 이상 필요.

1374 1376 

1375기본적으로 이벤트는 관리 소스 및 정책 도우미의 상태를 전달하지만 설정 자체는 전달하지 않습니다. 삭제된 `managed_settings.settings` 속성 및 `managed_settings.resolved_sha256` 다이제스트를 추가하려면 `OTEL_LOG_MANAGED_SETTINGS=1`을 설정합니다:1377기본적으로 이벤트는 관리 소스와 정책 도우미의 상태를 전달하지만 설정 자체는 전달하지 않습니다. 수정된 `managed_settings.settings` 속성과 `managed_settings.resolved_sha256` 다이제스트를 추가하려면 `OTEL_LOG_MANAGED_SETTINGS=1`을 설정합니다:

1376 1378 

1377* 관리 설정, 사용자 설정, 또는 `--settings`의 `env` 블록에서 또는 Claude Code를 시작하는 환경에서 설정합니다. 프로젝트 또는 로컬 설정의 값은 복제된 저장소가 이들을 쓸 수 있기 때문에 켜지 않습니다.1379* 관리 설정, 사용자 설정 또는 `--settings`의 `env` 블록에 또는 Claude Code를 시작하는 환경에 설정합니다. 프로젝트 또는 로컬 설정의 값은 복제된 저장소가 이들을 쓸 수 있기 때문에 켜지 않습니다.

1378* 서버 관리 설정은 변수가 조직이 이미 받는 이벤트에 조직의 자체 삭제된 정책만 추가하기 때문에 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)를 표시하지 않고 설정할 수 있습니다.1380* 서버 관리 설정은 변수가 조직이 이미 받는 이벤트에 조직 자체의 수정된 정책만 추가하기 때문에 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)를 표시하지 않고 설정할 수 있습니다.

1379 1381 

1380신뢰하지 않은 폴더에서 대화형 세션에서 Claude Code는 거부 이벤트를 내보내지 않습니다([신뢰](/docs/ko/permissions#what-runs-before-you-trust-a-folder)하지 않은 폴더). 프로젝트 및 로컬 설정이 내보내기를 다른 수집기로 가리킬 수 있기 때문입니다.1382[신뢰](/docs/ko/permissions#what-runs-before-you-trust-a-folder)하지 않은 폴더의 대화형 세션에서, Claude Code는 거부 이벤트를 내보내지 않습니다.

1381 1383 

1382**이벤트 이름**: `claude_code.managed_settings_resolved`1384**이벤트 이름**: `claude_code.managed_settings_resolved`

1383 1385 


1386* 모든 [표준 속성](#standard-attributes)1388* 모든 [표준 속성](#standard-attributes)

1387* `event.name`: `"managed_settings_resolved"`1389* `event.name`: `"managed_settings_resolved"`

1388* `event.timestamp`: ISO 8601 타임스탬프1390* `event.timestamp`: ISO 8601 타임스탬프

1389* `event.sequence`: 이벤트 순서 지정을 위한 프로세스별 카운터([이벤트 상관 속성](#event-correlation-attributes)에서 설명)1391* `event.sequence`: 이벤트 순서 지정을 위한 프로세스당 카운터([이벤트 상관 속성](#event-correlation-attributes) 참조)

1390* `managed_settings.trigger`: 세션 시작 이벤트의 경우 `"startup"`, 관리 설정 또는 정책 도우미의 상태가 세션 중에 변경되었을 때 `"change"`, 또는 관리 설정 정책이 세션을 중지했을 때 `"refused"`. Claude Code는 마지막 이벤트와 다른 속성이 있을 때만 `change` 이벤트를 보내며, 변경된 설정 값은 `OTEL_LOG_MANAGED_SETTINGS`가 꺼져 있어도 계산됩니다.1392* `managed_settings.trigger`: 세션 시작 이벤트의 경우 `"startup"`, 관리 설정 또는 정책 도우미의 상태가 세션 중에 변경되었을 때 `"change"`, 또는 관리 설정 정책이 세션을 중지했을 때 `"refused"`. Claude Code는 마지막 이벤트와 다른 속성이 있을 때만 `change` 이벤트를 보내며, 변경된 설정 값은 `OTEL_LOG_MANAGED_SETTINGS`가 꺼져 있어도 계산됩니다.

1391* `error.type`: Claude Code가 세션을 중지한 이유. `refused` 이벤트에만 있습니다:1393* `error.type`: Claude Code가 세션을 중지한 이유. `refused` 이벤트에만 존재:

1392 * `"helper_failed"`: [정책 도우미 실행이 실패했습니다](/docs/ko/settings-reference#helper-failures).1394 * `"helper_failed"`: [정책 도우미 실행이 실패함](/docs/ko/settings-reference#helper-failures)

1393 * `"policy_invalid"`: 관리 설정에 Claude Code가 시작하지 못하게 하는 오류가 있거나 관리 소스가 로드되지 못해 Claude Code가 조직 로그인 적용을 확인할 수 없습니다.1395 * `"policy_invalid"`: 관리 설정에 Claude Code가 시작되지 않도록 하는 오류가 포함되어 있거나, 관리자 소스가 로드되지 않아 Claude Code가 조직 로그인 적용을 확인할 수 없음

1394 * `"consent_rejected"`: 사용자가 서버 관리 설정의 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)를 거부했습니다.1396 * `"consent_rejected"`: 사용자가 서버 관리 설정에 대한 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)를 거부함

1395 * `"force_refresh_failed"`: [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh)가 필요로 하는 설정 가져오기가 실패했습니다.1397 * `"force_refresh_failed"`: [`forceRemoteSettingsRefresh`](/docs/ko/settings-reference#forceremotesettingsrefresh)가 필요로 하는 설정 가져오기가 실패함

1396 * `"gateway_rejected"`: [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)가 관리 설정 로드에 HTTP 403으로 응답했습니다.1398 * `"gateway_rejected"`: [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)가 관리 설정 로드에 HTTP 403으로 응답함

1397 * `"version_below_minimum"`: 이 Claude Code 버전이 [`requiredMinimumVersion`](/docs/ko/settings-reference#requiredminimumversion) 아래이거나 [`requiredMaximumVersion`](/docs/ko/settings-reference#requiredmaximumversion) 위입니다.1399 * `"version_below_minimum"`: 이 Claude Code 버전이 [`requiredMinimumVersion`](/docs/ko/settings-reference#requiredminimumversion) 아래 또는 [`requiredMaximumVersion`](/docs/ko/settings-reference#requiredmaximumversion) 위

1398 * `"_OTHER"`: Claude 앱 게이트웨이 관리 설정 로드가 다른 이유로 실패했습니다.1400 * `"_OTHER"`: Claude 앱 게이트웨이 관리 설정 로드가 다른 이유로 실패함

1399* `managed_settings.sources`: 최소한 하나의 [정책 키](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 전달하는 모든 관리 소스(우선순위 순서대로, `first-wins`에서 효과를 갖지 않는 소스 포함). 값은 `"remote"`, MDM 또는 OS 수준 정책의 경우 `"plist"` 또는 `"hklm"`, 관리 설정 파일 및 드롭인의 경우 `"file"`, [포함 호스트](/docs/ko/managed-settings#let-an-embedding-host-add-policy)가 설정을 제공할 때 `"parent"`, 그리고 Claude Code가 [읽을 때](/docs/ko/managed-settings#how-claude-code-combines-managed-sources) [Windows HKCU 레지스트리 값](/docs/ko/managed-settings#where-each-mechanism-stores-the-policy)의 경우 `"hkcu"`입니다. 제어 키만 전달하거나 Claude Code가 읽을 수 없는 소스는 나열되지 않습니다. 문자열 배열로 내보내집니다. 관리 소스가 정책 키를 전달하지 않을 때 비어 있습니다.1401* `managed_settings.sources`: [정책 키](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 최소 하나 전달하는 모든 관리 소스(우선순위 순서대로 최고부터), `first-wins`에서 효과를 갖지 않는 소스 포함. 값은 `"remote"`, MDM 또는 OS 수준 정책의 경우 `"plist"` 또는 `"hklm"`, 관리 설정 파일 및 드롭인의 경우 `"file"`, [포함 호스트](/docs/ko/managed-settings#let-an-embedding-host-add-policy)가 설정을 제공할 때 `"parent"`, Claude Code가 [읽을 때](/docs/ko/managed-settings#how-claude-code-combines-managed-sources) [Windows HKCU 레지스트리 값](/docs/ko/managed-settings#where-each-mechanism-stores-the-policy)의 경우 `"hkcu"`. 제어 키만 전달하거나 Claude Code가 읽을 수 없는 소스는 나열되지 않습니다. 문자열 배열로 내보내짐, 관리 소스가 정책 키를 전달하지 않을 때 비어 있음

1400* `managed_settings.source_behavior`: Claude Code가 읽은 [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior) 값(`"first-wins"` 또는 `"merge"`). 소스가 키를 설정하지 않을 때 `"first-wins"`1402* `managed_settings.source_behavior`: Claude Code가 읽은 [`managedSourcesBehavior`](/docs/ko/settings-reference#managedsourcesbehavior) 값(`"first-wins"` 또는 `"merge"`). 소스가 키를 설정하지 않을 때 `"first-wins"`

1401* `managed_settings.helper.state`: 선택한 MDM 또는 파일 소스가 구성하는 정책 도우미의 상태:1403* `managed_settings.helper.state`: 선택한 MDM 또는 파일 소스가 구성하는 정책 도우미의 상태:

1402 * `"ok"`: 도우미의 출력이 관리 설정으로 제공됩니다.1404 * `"ok"`: 도우미의 출력이 관리 설정으로 제공됨

1403 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"`, 또는 `"schema_rejected"`: 도우미의 마지막 실행이 실패했습니다. [도우미 실패](/docs/ko/settings-reference#helper-failures)가 경우를 설명합니다.1405 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"` 또는 `"schema_rejected"`: 도우미의 마지막 실행이 실패함. [도우미 실패](/docs/ko/settings-reference#helper-failures)가 경우를 설명함

1404 * `"none"`: 도우미가 구성되지 않았거나 이를 구성하는 소스가 MDM 정책 또는 관리 설정 파일이 아닙니다.1406 * `"none"`: 도우미가 구성되지 않았거나, 도우미를 구성하는 소스가 MDM 정책 또는 관리 설정 파일이 아님

1405* `managed_settings.helper.applied`: 도우미의 자체 출력이 관리 설정으로 제공될 때 `"output"`, 그렇지 않을 때 `"none"`1407* `managed_settings.helper.applied`: 도우미의 자체 출력이 관리 설정으로 제공될 때 `"output"`, 그렇지 않을 때 `"none"`

1406* `managed_settings.helper.entry`: Claude Code가 [`policyHelper`](/docs/ko/settings-reference#policyhelper)를 선택했을 때 `"policyHelper"`. 도우미를 선택하지 않았을 때는 없습니다.1408* `managed_settings.helper.entry`: Claude Code가 [`policyHelper`](/docs/ko/settings-reference#policyhelper)를 선택했을 때 `"policyHelper"`. 도우미를 선택하지 않았을 때 없음

1407* `managed_settings.helper.path`: 도우미의 구성된 [`path`](/docs/ko/settings-reference#policyhelper-path). Claude Code가 도우미를 선택했을 때마다 있습니다(도우미가 작동하는지 여부와 관계없이).1409* `managed_settings.helper.path`: 도우미의 구성된 [`path`](/docs/ko/settings-reference#policyhelper-path). Claude Code가 도우미를 선택했을 때마다 존재(도우미를 선택했는지 여부와 관계없이 `OTEL_LOG_MANAGED_SETTINGS`가 설정됨)

1408* `managed_settings.resolved_sha256` (`OTEL_LOG_MANAGED_SETTINGS=1`일 때): 삭제 전 해결된 관리 설정의 SHA-256(JSON으로 직렬화되고 키가 재귀적으로 정렬되고 공백이 없음). 동일한 다이제스트를 가진 머신은 동일한 정책을 실행합니다. Claude Code는 짧은 정책을 추측 해싱으로 복구할 수 있기 때문에 옵트인으로만 다이제스트를 보냅니다. 관리 설정이 해결되지 않았을 때는 없으며, `refused` 이벤트에는 없습니다.1410* `managed_settings.resolved_sha256` (`OTEL_LOG_MANAGED_SETTINGS=1`일 때): 수정 전 해결된 관리 설정의 SHA-256(키가 재귀적으로 정렬되고 공백이 없는 JSON으로 직렬화됨). 동일한 다이제스트를 실행하는 머신은 동일한 정책을 실행합니다. Claude Code는 짧은 정책을 추측 해싱으로 복구할 수 있기 때문에 옵트인으로만 다이제스트를 보냅니다. 관리 설정이 해결되지 않았을 때 없으며, `refused` 이벤트에는 없음

1409* `managed_settings.settings` (`OTEL_LOG_MANAGED_SETTINGS=1`일 때): 해결된 관리 설정의 이름 및 형태(JSON 문자열)이며 값은 삭제됩니다. `refused` 이벤트에는 없습니다. Claude Code는 설정 스키마에서 이를 구축합니다:1411* `managed_settings.settings` (`OTEL_LOG_MANAGED_SETTINGS=1`일 때): 해결된 관리 설정의 이름과 형태(값이 수정됨)를 JSON 문자열로. `refused` 이벤트에는 없음. Claude Code는 설정 스키마에서 이를 구축합니다:

1410 1412 

1411 * 스키마가 내보내기를 선언하는 설정 이름이고, 스키마가 선언하지 않는 키는 생략됩니다.1413 * 스키마가 내보내기를 선언하는 설정 이름이 내보내지며, 스키마가 선언하지 않는 키는 생략됨

1412 * 부울, 숫자, 및 스키마가 `permissions.defaultMode`와 같은 고정 옵션 집합으로 제한하는 문자열 값은 그대로 내보내집니다. `sandbox.network.httpProxyPort` 및 `sandbox.network.socksProxyPort`는 `"[REDACTED]"`로 내보내집니다.1414 * 부울, 숫자 및 스키마가 `permissions.defaultMode`와 같은 고정 옵션 집합으로 제한하는 문자열 값은 그대로 내보내집니다. `sandbox.network.httpProxyPort` 및 `sandbox.network.socksProxyPort`는 `"[REDACTED]"`로 내보내집니다.

1413 * 모든 다른 문자열(예: `model`, `apiKeyHelper`, 모든 `env` 값, 모든 URL, 및 모든 명령)은 `"[REDACTED]"`로 내보내집니다.1415 * 다른 모든 문자열(예: `model`, `apiKeyHelper`, 모든 `env` 값, 모든 URL 및 모든 명령)은 `"[REDACTED]"`로 내보내집니다.

1414 * 맵의 항목 이름(예: `env` 변수 이름 및 플러그인 ID)은 그대로 내보내집니다. 스키마가 항목을 입력하지 않는 설정(예: `vimInsertModeRemaps`)은 단일 `"[REDACTED]"`로 내보내지며, `sandbox.ignoreViolations`는 명령 패턴 없이 경로 목록 목록으로 내보내집니다.1416 * 맵의 항목 이름(예: `env` 변수 이름 및 플러그인 ID)은 그대로 내보내집니다. 스키마가 항목을 입력하지 않는 설정(예: `vimInsertModeRemaps`)은 단일 `"[REDACTED]"`로 내보내지며, `sandbox.ignoreViolations`은 명령 패턴 없이 경로 목록 목록으로 내보내집니다.

1415 * 목록은 길이를 유지하며 각 항목은 동일한 규칙으로 삭제됩니다.1417 * 목록은 길이를 유지하며, 각 항목은 동일한 규칙으로 수정됨

1416 * `permissions.allow`, `permissions.deny`, 또는 `permissions.ask` 규칙은 도구 이름(이 Claude Code 버전에 기본 제공되거나 `mcp__jira__create_issue`와 같은 `mcp__` 참조인 경우)으로 내보내지며 콘텐츠는 삭제됩니다(예: `Read([REDACTED])`). 다른 규칙은 `"[REDACTED]"`로 내보내집니다.1418 * `permissions.allow`, `permissions.deny` 또는 `permissions.ask` 규칙은 도구 이름(이 Claude Code 버전에 기본 제공되거나 `mcp__jira__create_issue`와 같은 `mcp__` 참조인 경우)으로 내보내지며, 콘텐츠는 수정됨(예: `Read([REDACTED])`). 다른 규칙은 `"[REDACTED]"`로 내보내집니다.

1417 * 훅은 동일한 규칙을 따르므로 `type` 및 `timeout`과 같은 고정 옵션 및 숫자 필드는 표시되는 반면 각 명령, URL, `matcher`, 및 `if` 조건은 `"[REDACTED]"`로 내보내집니다.1419 * 훅은 동일한 규칙을 따르므로 `type` 및 `timeout`과 같은 고정 옵션 및 숫자 필드는 표시되는 반면, 각 명령, URL, `matcher` 및 `if` 조건은 `"[REDACTED]"`로 내보내집니다.

1418 1420 

1419 예를 들어 `apiKeyHelper`, 두 개의 `env` 변수, 및 거부 규칙이 있는 관리 설정은 `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.1421 예를 들어, `apiKeyHelper`, 두 개의 `env` 변수 및 거부 규칙이 있는 관리 설정은 `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}` 로 내보내집니다.

1420 1422 

1421 Claude Code는 값을 UTF-8의 8KB에서 자르며, 자른 값은 유효한 JSON이 아닙니다.1423 Claude Code는 값을 8KB의 UTF-8에서 자르며, 자른 값은 유효한 JSON이 아닙니다.

1422* `managed_settings.settings_truncated` (`managed_settings.settings`가 있을 때): Claude Code가 `managed_settings.settings`를 8KB에서 자를 때 `true`, 그 외에는 `false`. 부울로 내보내집니다(문자열이 아님).1424* `managed_settings.settings_truncated` (`managed_settings.settings`가 있을 때): Claude Code가 `managed_settings.settings`를 8KB에서 자를 때 `true`, 그 외의 경우 `false`. 부울로 내보내짐, 문자열이 아님

1423 1425 

1424<h2 id="interpret-metrics-and-events-data">1426<h2 id="interpret-metrics-and-events-data">

1425 메트릭 및 이벤트 데이터 해석1427 메트릭 및 이벤트 데이터 해석


1571}1573}

1572```1574```

1573 1575 

1574이벤트가 도착하는지 확인하려면 이 구성에서 실행 중인 세션에서 프롬프트를 제출하고 `claude_code.user_prompt` 이벤트에 대해 SIEM을 확인합니다. 아무것도 도착하지 않으면 `claude --debug`를 실행하고 `[3P telemetry]` 내보내기 오류에 대해 디버그 로그를 확인합니다.1576이벤트가 도착하는지 확인하려면 이 구성에서 실행 중인 세션에서 프롬프트를 제출하고 `claude_code.user_prompt` 이벤트에 대해 SIEM을 확인합니다. 아무것도 도착하지 않으면 `claude --debug-file <path>`로 Claude Code를 시작하고 `[3P telemetry]` 내보내기 오류에 대해 해당 로그를 확인합니다.

1575 1577 

1576<h2 id="backend-considerations">1578<h2 id="backend-considerations">

1577 백엔드 고려 사항1579 백엔드 고려 사항


1641 * `tool_result` 및 `tool_decision` 이벤트는 Bash 명령, MCP 서버 및 도구 이름, 스킬 이름이 포함된 `tool_parameters` 속성을 포함합니다. `full_command`와 같은 필드는 잘리지 않은 상태로 내보내집니다1643 * `tool_result` 및 `tool_decision` 이벤트는 Bash 명령, MCP 서버 및 도구 이름, 스킬 이름이 포함된 `tool_parameters` 속성을 포함합니다. `full_command`와 같은 필드는 잘리지 않은 상태로 내보내집니다

1642 * `tool_result` 이벤트는 추가로 파일 경로, URL, 검색 패턴 및 기타 인수가 포함된 `tool_input` 속성을 포함합니다. 512자를 초과하는 개별 값은 잘리고 전체는 약 4K 문자로 제한됩니다1644 * `tool_result` 이벤트는 추가로 파일 경로, URL, 검색 패턴 및 기타 인수가 포함된 `tool_input` 속성을 포함합니다. 512자를 초과하는 개별 값은 잘리고 전체는 약 4K 문자로 제한됩니다

1643 * `user_prompt` 이벤트는 사용자 정의, 플러그인 및 MCP 명령의 축자 `command_name`을 포함합니다1645 * `user_prompt` 이벤트는 사용자 정의, 플러그인 및 MCP 명령의 축자 `command_name`을 포함합니다

1646 * [비용 및 토큰 카운터](#cost-counter) 및 `api_request`, `api_error`, `api_refusal` 이벤트는 속성 귀속에서 실제 에이전트, 스킬, 플러그인, MCP 서버 및 도구 이름을 전달합니다

1644 * 추적 스팬은 동일한 `tool_input` 속성 및 `file_path`와 같은 입력 파생 속성을 포함하며, `tool_input`과 동일한 잘림이 적용됩니다1647 * 추적 스팬은 동일한 `tool_input` 속성 및 `file_path`와 같은 입력 파생 속성을 포함하며, `tool_input`과 동일한 잘림이 적용됩니다

1645* 도구 콘텐츠는 기본적으로 추적 스팬에 기록되지 않습니다. 이를 포함하려면 `OTEL_LOG_TOOL_CONTENT=1`을 설정하세요. 그러면 `claude_code.tool` 스팬은 원본 파일 콘텐츠 및 Bash 명령 출력이 포함된 [`tool.output` 스팬 이벤트](#tool-output-span-event)를 전달하며, 속성당 콘텐츠 제한(기본값 60KB)에서 잘립니다. 도구 콘텐츠는 또한 [`new_context`를 통해 스팬에 도달하며, 그 제어는 스팬마다 다릅니다](#new-context-gates). 필요에 따라 이러한 속성을 필터링하거나 수정하도록 원격 측정 백엔드를 구성하세요1648* 도구 콘텐츠는 기본적으로 추적 스팬에 기록되지 않습니다. 이를 포함하려면 `OTEL_LOG_TOOL_CONTENT=1`을 설정하세요. 그러면 `claude_code.tool` 스팬은 원본 파일 콘텐츠, Bash 명령 출력, MCP 도구, WebFetch 및 WebSearch가 반환하는 것이 포함된 [`tool.output` 스팬 이벤트](#tool-output-span-event)를 전달하며, 속성당 콘텐츠 제한(기본값 60KB)에서 잘립니다. MCP 도구, WebFetch 및 WebSearch의 결과는 Claude Code v2.1.283 이상이 필요합니다. 도구 콘텐츠는 또한 [`new_context`를 통해 스팬에 도달하며, 그 제어는 스팬마다 다릅니다](#new-context-gates). 필요에 따라 이러한 속성을 필터링하거나 수정하도록 원격 측정 백엔드를 구성하세요

1646* 원본 Anthropic Messages API 요청 및 응답 본문은 기본적으로 기록되지 않습니다. 이를 포함하려면 셸, 사용자 설정 또는 관리 설정에서 `OTEL_LOG_RAW_API_BODIES`를 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. 본문에는 전체 대화 기록(시스템 프롬프트, 모든 이전 사용자 및 어시스턴트 턴, 도구 결과)이 포함되므로 이를 활성화하면 다른 `OTEL_LOG_*` 콘텐츠 플래그가 공개할 모든 것에 동의하는 것을 의미합니다. Claude Code는 다른 설정에 관계없이 항상 이러한 본문에서 Claude의 확장 사고 콘텐츠를 수정합니다. 설정한 값은 Claude Code가 본문을 전달하는 방식을 결정합니다:1649* 원본 Anthropic Messages API 요청 및 응답 본문은 기본적으로 기록되지 않습니다. 이를 포함하려면 셸, 사용자 설정 또는 관리 설정에서 `OTEL_LOG_RAW_API_BODIES`를 설정하세요. [프로젝트 및 로컬 설정](/docs/ko/settings-reference#variables-claude-code-ignores-in-env)에서는 무시됩니다. 본문에는 전체 대화 기록(시스템 프롬프트, 모든 이전 사용자 및 어시스턴트 턴, 도구 결과)이 포함되므로 이를 활성화하면 다른 `OTEL_LOG_*` 콘텐츠 플래그가 공개할 모든 것에 동의하는 것을 의미합니다. Claude Code는 다른 설정에 관계없이 항상 이러한 본문에서 Claude의 확장 사고 콘텐츠를 수정합니다. 설정한 값은 Claude Code가 본문을 전달하는 방식을 결정합니다:

1647 * `=1`일 때 Claude Code는 각 API 호출에 대해 `api_request_body` 및 `api_response_body` 로그 이벤트를 내보냅니다. 이벤트의 `body` 속성은 JSON 직렬화된 페이로드를 전달하며, 콘텐츠 제한(기본값 60KB)에서 잘립니다1650 * `=1`일 때 Claude Code는 각 API 호출에 대해 `api_request_body` 및 `api_response_body` 로그 이벤트를 내보냅니다. 이벤트의 `body` 속성은 JSON 직렬화된 페이로드를 전달하며, 콘텐츠 제한(기본값 60KB)에서 잘립니다

1648 * `=file:<dir>`일 때 Claude Code는 잘리지 않은 본문을 해당 디렉토리 아래의 `.request.json` 및 `.response.json` 파일에 기록하고, 이벤트는 인라인 본문 대신 `body_ref` 경로를 전달합니다. 로그 수집기 또는 사이드카와 함께 디렉토리를 배포하되 원격 측정 스트림을 통해서는 배포하지 마세요.1651 * `=file:<dir>`일 때 Claude Code는 잘리지 않은 본문을 해당 디렉토리 아래의 `.request.json` 및 `.response.json` 파일에 기록하고, 이벤트는 인라인 본문 대신 `body_ref` 경로를 전달합니다. 로그 수집기 또는 사이드카와 함께 디렉토리를 배포하되 원격 측정 스트림을 통해서는 배포하지 마세요.

overview.md +3 −1

Details

18 <Tab title="Terminal">18 <Tab title="Terminal">

19 터미널에서 Claude Code로 직접 작업하기 위한 모든 기능을 갖춘 CLI입니다. 파일을 편집하고, 명령을 실행하고, 명령줄에서 전체 프로젝트를 관리할 수 있습니다.19 터미널에서 Claude Code로 직접 작업하기 위한 모든 기능을 갖춘 CLI입니다. 파일을 편집하고, 명령을 실행하고, 명령줄에서 전체 프로젝트를 관리할 수 있습니다.

20 20 

21 Claude Code를 설치하려면 다음 방법 중 하나를 사용하십시오:21 Claude Code를 설치하려면 터미널을 열고 시스템에 맞는 명령을 실행하십시오. 이전에 터미널을 사용해본 적이 없다면 [터미널 가이드](/docs/ko/terminal-guide)에서 터미널을 열고 명령을 붙여넣는 방법을 확인할 수 있습니다.

22 22 

23 <Tabs>23 <Tabs>

24 <Tab title="기본 설치 (권장)">24 <Tab title="기본 설치 (권장)">


40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41 ```41 ```

42 42 

43 설치 프로그램이 완료되면 새 터미널 창을 열고 `claude --version`을 실행하십시오. 설치가 제대로 되었으면 버전 번호가 출력됩니다. 셸에서 `claude`를 찾을 수 없거나 인식되지 않는다고 표시되면 설치 디렉토리가 아직 PATH에 없는 것입니다. [PATH 수정](/docs/ko/troubleshoot-install#command-not-found-claude-after-installation)을 참조하십시오.

44 

43 `The token '&&' is not a valid statement separator` 오류가 표시되면 CMD가 아닌 PowerShell에 있는 것입니다. `'irm' is not recognized as an internal or external command` 오류가 표시되면 PowerShell이 아닌 CMD에 있는 것입니다. PowerShell에 있을 때는 프롬프트에 `PS C:\`가 표시되고, CMD에 있을 때는 `PS` 없이 `C:\`만 표시됩니다.45 `The token '&&' is not a valid statement separator` 오류가 표시되면 CMD가 아닌 PowerShell에 있는 것입니다. `'irm' is not recognized as an internal or external command` 오류가 표시되면 PowerShell이 아닌 CMD에 있는 것입니다. PowerShell에 있을 때는 프롬프트에 `PS C:\`가 표시되고, CMD에 있을 때는 `PS` 없이 `C:\`만 표시됩니다.

44 46 

45 설치 명령이 `syntax error near unexpected token '<'`, `403` 또는 다른 curl 오류로 실패하면 [설치 문제 해결](/docs/ko/troubleshoot-install#find-your-error)을 참조하여 오류를 수정 방법과 일치시키고 대체 설치 방법을 확인하십시오.47 설치 명령이 `syntax error near unexpected token '<'`, `403` 또는 다른 curl 오류로 실패하면 [설치 문제 해결](/docs/ko/troubleshoot-install#find-your-error)을 참조하여 오류를 수정 방법과 일치시키고 대체 설치 방법을 확인하십시오.

permission-modes.md +174 −134

Details

8 8 

9권한 모드는 Claude가 먼저 묻지 않고 세션에서 수행할 수 있는 작업을 설정합니다. Manual 모드에서는 Claude Code가 파일을 편집하거나 셸 명령을 실행하거나 네트워크에 접근하는 대부분의 작업 전에 멈추고 사용자에게 묻습니다. [auto 모드](#eliminate-prompts-with-auto-mode)에서는 두 번째 모델인 분류기가 사용자 대신 작업을 검토합니다. [분류기가 작업을 평가하는 방식](#how-the-classifier-evaluates-actions)에서는 분류기가 검토하는 작업과 건너뛰는 작업을 나열합니다.9권한 모드는 Claude가 먼저 묻지 않고 세션에서 수행할 수 있는 작업을 설정합니다. Manual 모드에서는 Claude Code가 파일을 편집하거나 셸 명령을 실행하거나 네트워크에 접근하는 대부분의 작업 전에 멈추고 사용자에게 묻습니다. [auto 모드](#eliminate-prompts-with-auto-mode)에서는 두 번째 모델인 분류기가 사용자 대신 작업을 검토합니다. [분류기가 작업을 평가하는 방식](#how-the-classifier-evaluates-actions)에서는 분류기가 검토하는 작업과 건너뛰는 작업을 나열합니다.

10 10 

11Pro, Max, Team 플랜에서는 기본 제공되는 시작 권한 모드가 auto 모드입니다. [세션이 시작되는 모드](#which-mode-a-session-starts-in)에서는 시작 권한 모드를 변경하는 표면과 설정을 다룹니다. 실행 중인 세션의 권한 모드는 언제든지 변경할 수 있습니다.11Claude Code v2.1.283 이상에서는 auto 모드가 대화형 터미널 및 VS Code 세션의 기본 제공 시작 권한 모드입니다. 이전 버전에서는 Pro, Max, Team 플랜에서만 기본 제공되는 시작 권한 모드입니다. [세션이 시작되는 모드](#which-mode-a-session-starts-in)에서는 시작 권한 모드를 변경하는 표면과 설정을 다룹니다. 실행 중인 세션의 권한 모드는 언제든지 변경할 수 있습니다.

12 12 

13<h2 id="available-modes">13<h2 id="available-modes">

14 사용 가능한 모드14 사용 가능한 모드


57| 모든 작업을 직접 검토 | Manual 모드: `claude --permission-mode default` | 없음 | 민감한 작업, 낯선 코드 |57| 모든 작업을 직접 검토 | Manual 모드: `claude --permission-mode default` | 없음 | 민감한 작업, 낯선 코드 |

58| 분류기 없이 더 적은 프롬프트로 로컬에서 반복 | Manual 모드 + [auto-allow mode](/docs/ko/sandboxing#sandbox-modes)의 Bash sandbox: `claude --permission-mode default`, 그 다음 `/sandbox` 실행 및 auto-allow 선택 | 기본 제공 Bash sandbox, macOS, Linux, WSL2 | Deny 규칙은 여전히 적용되고, `Bash(git push *)`와 같이 명령을 지정하는 ask 규칙은 여전히 프롬프트합니다. 설정 파일에서 대신 sandbox를 켜려면 [`sandbox.enabled`](/docs/ko/settings-reference#sandbox-enabled)를 `true`로 설정합니다. |58| 분류기 없이 더 적은 프롬프트로 로컬에서 반복 | Manual 모드 + [auto-allow mode](/docs/ko/sandboxing#sandbox-modes)의 Bash sandbox: `claude --permission-mode default`, 그 다음 `/sandbox` 실행 및 auto-allow 선택 | 기본 제공 Bash sandbox, macOS, Linux, WSL2 | Deny 규칙은 여전히 적용되고, `Bash(git push *)`와 같이 명령을 지정하는 ask 규칙은 여전히 프롬프트합니다. 설정 파일에서 대신 sandbox를 켜려면 [`sandbox.enabled`](/docs/ko/settings-reference#sandbox-enabled)를 `true`로 설정합니다. |

59| 변경 전에 탐색 | `claude --permission-mode plan` | 없음 | Claude Code는 [계획을 승인](#review-and-approve-a-plan)할 때까지 편집을 차단합니다. |59| 변경 전에 탐색 | `claude --permission-mode plan` | 없음 | Claude Code는 [계획을 승인](#review-and-approve-a-plan)할 때까지 편집을 차단합니다. |

60| auto mode에서 자동 실행 | `claude --permission-mode auto`, Pro, Max, Team의 [기본 제공 시작 권한 모드](#which-mode-a-session-starts-in) | 없음; sandbox 또는 컨테이너는 심층 방어를 추가합니다. | [지원되는 모델](#eliminate-prompts-with-auto-mode)이 필요하고, 조직이 [auto mode를 끌 수 있습니다](#eliminate-prompts-with-auto-mode). |60| auto mode에서 자동 실행 | `claude --permission-mode auto`, [기본 제공 시작 권한 모드](#which-mode-a-session-starts-in) v2.1.283 이상 | 없음; sandbox 또는 컨테이너는 심층 방어를 추가합니다. | [지원되는 모델](#eliminate-prompts-with-auto-mode)이 필요하고, 조직이 [auto mode를 끌 수 있습니다](#eliminate-prompts-with-auto-mode). |

61| 정확한 allowlist로 CI에서 실행 | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | CI 러너가 제공하는 것 이상 없음 | [웹의 Claude Code](/docs/ko/claude-code-on-the-web)는 설정 파일의 `dontAsk`를 무시합니다. |61| 정확한 allowlist로 CI에서 실행 | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | CI 러너가 제공하는 것 이상 없음 | [Cloud sessions](/docs/ko/claude-code-on-the-web)는 설정 파일의 `dontAsk`를 무시합니다. |

62| 컨테이너 내에서 완전히 자동 실행 | `claude -p "<prompt>" --dangerously-skip-permissions` | 필수: 컨테이너, VM, 또는 [sandbox runtime](/docs/ko/sandbox-environments#sandbox-runtime); Linux 및 macOS에서 [non-root user](#skip-all-checks-with-bypasspermissions-mode)로 실행 | 웹의 Claude Code는 설정 파일의 이 모드를 무시합니다. 이 `-p` 실행에서 [여전히 프롬프트할 몇 가지 호출](#skip-all-checks-with-bypasspermissions-mode)은 대신 거부됩니다. |62| 컨테이너 내에서 완전히 자동 실행 | `claude -p "<prompt>" --dangerously-skip-permissions` | 필수: 컨테이너, VM, 또는 [sandbox runtime](/docs/ko/sandbox-environments#sandbox-runtime); Linux 및 macOS에서 [non-root user](#skip-all-checks-with-bypasspermissions-mode)로 실행 | Cloud sessions는 설정 파일의 이 모드를 무시합니다. 이 `-p` 실행에서 [여전히 프롬프트할 몇 가지 호출](#skip-all-checks-with-bypasspermissions-mode)은 대신 거부됩니다. |

63 63 

64Bash sandbox와 auto mode는 독립적으로 작동하고 결합합니다. [Sandbox modes](/docs/ko/sandboxing#sandbox-modes)에 나열된 예외가 있습니다. 전체 상호작용은 [How sandboxing relates to permissions and permission modes](/docs/ko/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) 및 [How isolation relates to permission modes](/docs/ko/sandbox-environments#how-isolation-relates-to-permission-modes)를 참조하세요.64Bash sandbox와 auto mode는 독립적으로 작동하고 결합합니다. [Sandbox modes](/docs/ko/sandboxing#sandbox-modes)에 나열된 예외가 있습니다. 전체 상호작용은 [How sandboxing relates to permissions and permission modes](/docs/ko/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) 및 [How isolation relates to permission modes](/docs/ko/sandbox-environments#how-isolation-relates-to-permission-modes)를 참조하세요.

65 65 


81 81 

82기본 제공 `auto` 기본값은 macOS, Linux, WSL에서 Claude Code v2.1.228 이상이 필요하고, 네이티브 Windows에서는 v2.1.233 이상이 필요합니다. 이전 버전에서는 기본 제공 기본값은 Manual입니다.82기본 제공 `auto` 기본값은 macOS, Linux, WSL에서 Claude Code v2.1.228 이상이 필요하고, 네이티브 Windows에서는 v2.1.233 이상이 필요합니다. 이전 버전에서는 기본 제공 기본값은 Manual입니다.

83 83 

84기본 제공 기본값은 Claude Code를 실행하는 방법, 플랜, Claude Code가 기능 플래그를 가져올 수 있는지 여부에 따라 달라집니다. 세션과 일치하는 첫 번째 행이 적용됩니다. 표는 터미널 또는 VS Code 확장을 통해 시작하는 세션을 다룹니다. 데스크톱 앱 및 claude.ai는 [권한 모드 전환](#switch-permission-modes)의 Desktop 및 Web 탭을 참조하세요.84기본 제공 기본값은 Claude Code를 실행하는 방법에 따라 달라집니다. 세션과 일치하는 첫 번째 행이 적용됩니다. 표는 터미널 또는 VS Code 확장을 통해 시작하는 세션을 다룹니다. 데스크톱 앱 및 claude.ai는 [권한 모드 전환](#switch-permission-modes)의 Desktop 및 Web 탭을 참조하세요.

85 85 

86| Claude Code를 실행하는 방법 | 기본 제공 시작 권한 모드 |86| Claude Code를 실행하는 방법 | 기본 제공 시작 권한 모드 |

87| :- | :- |87| :- | :- |

88| 모든 설정 파일이 `disableAutoMode`를 `"disable"`로 설정 | `default` |88| 모든 설정 파일이 `disableAutoMode`를 `"disable"`로 설정 | `default` |

89| [기능 플래그 가져오기](/docs/ko/env-vars#features-that-need-feature-flag-fetching)가 꺼짐 | `default` |

90| [이 기본값을 추가하는 버전으로 설치 또는 업그레이드 후 첫 번째 세션](/docs/ko/env-vars#first-session-after-an-install-or-upgrade), 신선한 설치 후 Claude Code가 시간 내에 플래그를 가져오지 않은 경우 제외 | `default` |

91| `claude -p` 또는 [Agent SDK](/docs/ko/agent-sdk/permissions) | `default` |89| `claude -p` 또는 [Agent SDK](/docs/ko/agent-sdk/permissions) | `default` |

92| Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, [Claude Platform on AWS](/docs/ko/claude-platform-on-aws), 또는 로그인한 [Claude apps gateway](/docs/ko/claude-apps-gateway) 세션 | `default` |90| 터미널 또는 [VS Code 확장](/docs/ko/vs-code)에서 | Claude Code v2.1.283 이상에서는 `auto`이고, 이전 버전에서는 [기능 플래그를 가져오는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션에서 Pro, Max, Team 플랜의 `auto`이고, 그 외에는 `default`입니다. |

93| 터미널 또는 [VS Code 확장](/docs/ko/vs-code)의 Pro, Max, Team 플랜 | `auto` |

94| Enterprise 플랜 또는 Claude Console API 키 | `default` |

95 91 

96기능 플래그 가져오기가 꺼져 있거나 플래그가 아직 도착하지 않은 [설치 또는 업그레이드 후 첫 번째 세션](/docs/ko/env-vars#first-session-after-an-install-or-upgrade)에서 VS Code 확장은 시작 권한 모드를 선택할 때 모든 설정 파일을 무시합니다.92[설치 또는 업그레이드 후 첫 번째 세션](/docs/ko/env-vars#first-session-after-an-install-or-upgrade)에서 Claude Code는 기능 플래그가 도착하기 전에 시작 권한 모드를 선택할 수 있습니다. 해당 세션은 표에서 제공하는 것과 다른 권한 모드에서 시작할 수 있으며, 다음 세션은 표와 일치합니다.

97 93 

98플래그, 설정 파일, 또는 기본 제공 기본값이 `auto`를 선택하지만 auto mode를 세션에서 사용할 수 없으면 Claude Code는 대신 Manual에서 세션을 시작합니다. Auto mode는 세션이 [가용성 요구사항](#eliminate-prompts-with-auto-mode)을 충족하지 않을 때 사용할 수 없습니다. 예를 들어 설정 파일이 이를 끄거나 지원하지 않는 모델이거나, Anthropic이 서버 측에서 임시로 이를 끈 경우입니다.94플래그, 설정 파일, 또는 기본 제공 기본값이 `auto`를 선택하지만 auto mode를 세션에서 사용할 수 없으면 Claude Code는 대신 Manual에서 세션을 시작합니다. Auto mode는 세션이 [가용성 요구사항](#eliminate-prompts-with-auto-mode)을 충족하지 않을 때 사용할 수 없습니다. 예를 들어 설정 파일이 이를 끄거나 지원하지 않는 모델이거나, Anthropic이 서버 측에서 임시로 이를 끈 경우입니다.

99 95 


177 173 

178 1. `claudeCode.initialPermissionMode`174 1. `claudeCode.initialPermissionMode`

179 2. 마지막으로 모드 표시기에서 선택한 모드(Manual, Edit automatically, 또는 Auto인 경우). Plan 또는 Bypass permissions를 선택하면 해당 대화에만 적용됩니다.175 2. 마지막으로 모드 표시기에서 선택한 모드(Manual, Edit automatically, 또는 Auto인 경우). Plan 또는 Bypass permissions를 선택하면 해당 대화에만 적용됩니다.

180 3. [관리형 설정](/docs/ko/managed-settings) 또는 `~/.claude/settings.json`의 `permissions.defaultMode`, Pro, Max, Team 플랜에서 [기능 플래그 가져오기](#which-mode-a-session-starts-in)를 사용할 수 있는 경우176 3. [관리형 설정](/docs/ko/managed-settings) 또는 `~/.claude/settings.json`의 `permissions.defaultMode`

181 4. 플랜, 제공자, 조직 설정에 대한 [기본 제공 기본값](#which-mode-a-session-starts-in)177 4. 플랜, 제공자, 조직 설정에 대한 [기본 제공 기본값](#which-mode-a-session-starts-in)

182 178 

183 확장은 시작 권한 모드에 대해 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`을 읽지 않으며, 항목 3의 조건을 충족하지 않는 대화에서는 설정 파일을 전혀 읽지 않습니다. `claudeCode.claudeProcessWrapper`가 설정되면 항목 3과 4도 적용되지 않습니다: 항목 1 또는 항목 2가 권한 모드를 설정하지 않으면 이러한 대화는 Manual에서 시작됩니다.179 확장은 시작 권한 모드에 대해 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`을 읽지 않습니다. `claudeCode.claudeProcessWrapper`가 설정되면 항목 3과 4도 적용되지 않습니다: 항목 1 또는 항목 2가 권한 모드를 설정하지 않으면 이러한 대화는 Manual에서 시작됩니다.

180 

181 v2.1.283 이전에는 항목 3이 [기능 플래그를 가져오는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) Pro, Max, Team 플랜에서만 적용되었습니다.

184 182 

185 Auto는 [auto mode를 사용할 수 있을 때](#eliminate-prompts-with-auto-mode) 모드 표시기에 나타납니다.183 Auto는 [auto mode를 사용할 수 있을 때](#eliminate-prompts-with-auto-mode) 모드 표시기에 나타납니다.

186 184 


214 [claude.ai/code](https://claude.ai/code)의 모드 드롭다운 또는 모바일 앱의 프롬프트 상자 옆을 사용합니다. 권한 프롬프트는 승인을 위해 claude.ai에 나타납니다. 나타나는 모드는 세션이 실행되는 위치에 따라 달라집니다:212 [claude.ai/code](https://claude.ai/code)의 모드 드롭다운 또는 모바일 앱의 프롬프트 상자 옆을 사용합니다. 권한 프롬프트는 승인을 위해 claude.ai에 나타납니다. 나타나는 모드는 세션이 실행되는 위치에 따라 달라집니다:

215 213 

216 * **[Claude Code on the web](/docs/ko/claude-code-on-the-web)의 클라우드 세션**: Accept edits, Plan, and Auto. Accept edits는 `default` 모드에 해당합니다: 클라우드 세션은 모드에 관계없이 파일 편집을 사전 승인하므로 드롭다운은 Manual 대신 Accept edits를 표시합니다. 클라우드 세션은 여전히 설정의 `defaultMode: "acceptEdits"`를 준수합니다. Auto mode는 조직이 허용하고 선택한 모델이 지원할 때만 나타납니다. Bypass permissions는 사용할 수 없습니다.214 * **[Claude Code on the web](/docs/ko/claude-code-on-the-web)의 클라우드 세션**: Accept edits, Plan, and Auto. Accept edits는 `default` 모드에 해당합니다: 클라우드 세션은 모드에 관계없이 파일 편집을 사전 승인하므로 드롭다운은 Manual 대신 Accept edits를 표시합니다. 클라우드 세션은 여전히 설정의 `defaultMode: "acceptEdits"`를 준수합니다. Auto mode는 조직이 허용하고 선택한 모델이 지원할 때만 나타납니다. Bypass permissions는 사용할 수 없습니다.

217 * **로컬 머신의 [Remote Control](/docs/ko/remote-control) 세션**: Manual, Accept edits, and Plan. 앱에서 Auto 또는 Bypass permissions를 선택할 수 없습니다.215 * **로컬 머신의 [Remote Control](/docs/ko/remote-control) 세션**: 자신이 시작한 세션의 경우 Manual, Accept edits, and Plan이며, 앱에서 Auto 또는 Bypass permissions를 선택할 수 없습니다. 컴퓨터에서 실행 중인 프로젝트 스레드의 경우 [자신의 컴퓨터에서 스레드 실행](/docs/ko/claude-projects#run-a-thread-on-your-own-computer)을 참조하세요.

218 * Bypass permissions 제외, 드롭다운은 터미널에서 설정된 모드를 포함하여 로컬 세션이 있는 권한 모드를 표시합니다. 앱 또는 터미널에서 권한 모드가 변경될 때 업데이트됩니다. 세션은 Bypass permissions를 claude.ai에 보고하지 않으므로 터미널에서 전환해도 드롭다운이 표시하는 내용이 변경되지 않습니다.216 * Bypass permissions 제외, 드롭다운은 터미널에서 설정된 모드를 포함하여 로컬 세션이 있는 권한 모드를 표시합니다. 앱 또는 터미널에서 권한 모드가 변경될 때 업데이트됩니다. 세션은 Bypass permissions를 claude.ai에 보고하지 않으므로 터미널에서 전환해도 드롭다운이 표시하는 내용이 변경되지 않습니다.

219 * [desktop app](/docs/ko/desktop) 또는 [VS Code extension](/docs/ko/vs-code)이 호스팅하는 세션은 터미널에서 호스팅하는 세션과 동일하게 발생할 때 claude.ai에 권한 모드 변경을 보고합니다.217 * [desktop app](/docs/ko/desktop) 또는 [VS Code extension](/docs/ko/vs-code)이 호스팅하는 세션은 터미널에서 호스팅하는 세션과 동일하게 발생할 때 claude.ai에 권한 모드 변경을 보고합니다.

220 * v2.1.202 이전에는 `/remote-control` 또는 `claude --remote-control`로 연결된 세션이 모드를 전혀 보고하지 않았으므로 claude.ai 및 모바일 앱이 세션이 실제로 있지 않은 권한 모드를 표시할 수 있었습니다. 불일치는 레이블에만 영향을 미쳤습니다. Claude Code는 세션의 실제 권한 모드에서 권한 프롬프트를 생성했으며, 여전히 승인을 위해 앱에 나타났습니다.218 * v2.1.202 이전에는 `/remote-control` 또는 `claude --remote-control`로 연결된 세션이 모드를 전혀 보고하지 않았으므로 claude.ai 및 모바일 앱이 세션이 실제로 있지 않은 권한 모드를 표시할 수 있었습니다. 불일치는 레이블에만 영향을 미쳤습니다. Claude Code는 세션의 실제 권한 모드에서 권한 프롬프트를 생성했으며, 여전히 승인을 위해 앱에 나타났습니다.


233 231 

234`acceptEdits` 모드를 사용하면 Claude가 프롬프트 없이 작업 디렉토리에서 파일을 생성하고 편집할 수 있습니다. 이 모드가 활성화되어 있는 동안 상태 표시줄에 `⏵⏵ accept edits on`이 표시됩니다.232`acceptEdits` 모드를 사용하면 Claude가 프롬프트 없이 작업 디렉토리에서 파일을 생성하고 편집할 수 있습니다. 이 모드가 활성화되어 있는 동안 상태 표시줄에 `⏵⏵ accept edits on`이 표시됩니다.

235 233 

236파일 편집 외에도 `acceptEdits` 모드는 일반적인 파일시스템 Bash 명령어를 자동으로 승인합니다: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`. 이러한 명령어는 `LANG=C` 또는 `NO_COLOR=1`과 같은 안전한 환경 변수가 접두사로 붙거나 `timeout`, `nice`, `nohup`과 같은 프로세스 래퍼가 붙을 때도 자동으로 승인됩니다. 파일 편집과 마찬가지로 자동 승인은 작업 디렉토리 또는 `additionalDirectories` 내의 경로에만 적용됩니다. 해당 범위 외의 경로, [보호된 경로](#protected-paths)에 대한 쓰기, [critical path](#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거, 그리고 [읽기 전용 집합](/docs/ko/permissions#read-only-commands)을 제외한 다른 모든 Bash 명령어는 여전히 프롬프트를 표시합니다.234파일 편집 외에도 `acceptEdits` 모드는 일반적인 파일시스템 Bash 명령어를 자동으로 승인합니다: `mkdir`, `touch`, `rm`, `rmdir`, `mv`, `cp`, `sed`. 이러한 명령어는 `LANG=C` 또는 `NO_COLOR=1`과 같은 안전한 환경 변수가 접두사로 붙거나 `timeout`, `nice`, `nohup`과 같은 프로세스 래퍼가 붙을 때도 자동으로 승인됩니다. 파일 편집과 마찬가지로 자동 승인은 작업 디렉토리 또는 `additionalDirectories` 내의 경로에만 적용됩니다.

235 

236각 경로는 [symlink 확인](/docs/ko/permissions#symlinks)을 거치므로, 해당 범위 외으로 확인되는 쓰기는 자동으로 승인되지 않습니다. 해당 범위 외의 경로, [보호된 경로](#protected-paths)에 대한 쓰기, [critical path](#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거, 그리고 [읽기 전용 집합](/docs/ko/permissions#read-only-commands)을 제외한 다른 모든 Bash 명령어는 여전히 프롬프트를 표시합니다.

237 237 

238[PowerShell tool](/docs/ko/tools-reference#powershell-tool)이 활성화되어 있으면 `acceptEdits` 모드는 범위 내 경로에서 `Set-Content`, `Add-Content`, `Clear-Content`, `Remove-Item`과 이들의 일반적인 별칭도 자동으로 승인합니다. 동일한 범위 및 보호된 경로 규칙이 적용되고, `Remove-Item`은 [자체 확인](#remove-item-in-powershell)을 받습니다. `Set-Content .\notes.txt "It's done"`의 아포스트로피와 같이 따옴표 문자를 포함하는 위치 인수는 Claude Code가 따옴표 및 따옴표 없는 읽기가 다른 인수를 정적으로 검증할 수 없기 때문에 범위 내 경로에서도 여전히 프롬프트를 표시합니다. 프롬프트를 피하려면 `-Value`와 같은 명명된 매개변수를 통해 콘텐츠를 전달합니다.238[PowerShell tool](/docs/ko/tools-reference#powershell-tool)이 활성화되어 있으면 `acceptEdits` 모드는 범위 내 경로에서 `Set-Content`, `Add-Content`, `Clear-Content`, `Remove-Item`과 이들의 일반적인 별칭도 자동으로 승인합니다. 동일한 범위 및 보호된 경로 규칙이 적용되고, `Remove-Item`은 [자체 확인](#remove-item-in-powershell)을 받습니다. `Set-Content .\notes.txt "It's done"`의 아포스트로피와 같이 따옴표 문자를 포함하는 위치 인수는 Claude Code가 따옴표 및 따옴표 없는 읽기가 다른 인수를 정적으로 검증할 수 없기 때문에 범위 내 경로에서도 여전히 프롬프트를 표시합니다. 프롬프트를 피하려면 `-Value`와 같은 명명된 매개변수를 통해 콘텐츠를 전달합니다.

239 239 


251 251 

252계획 모드는 Claude가 변경 사항을 연구하고 제안하도록 하되 실제로 적용하지 않습니다. Claude는 파일을 읽고 셸 명령을 실행하여 탐색한 후 계획을 작성하지만 소스를 편집하지 않습니다. [bypassPermissions 모드로 모든 검사 건너뛰기](#skip-all-checks-with-bypasspermissions-mode)가 가능한 대화형 터미널 세션을 제외하고, 편집은 계획을 승인할 때까지 차단됩니다.252계획 모드는 Claude가 변경 사항을 연구하고 제안하도록 하되 실제로 적용하지 않습니다. Claude는 파일을 읽고 셸 명령을 실행하여 탐색한 후 계획을 작성하지만 소스를 편집하지 않습니다. [bypassPermissions 모드로 모든 검사 건너뛰기](#skip-all-checks-with-bypasspermissions-mode)가 가능한 대화형 터미널 세션을 제외하고, 편집은 계획을 승인할 때까지 차단됩니다.

253 253 

254[자동 모드](/docs/ko/auto-mode-config)를 사용할 수 있고 기본적으로 켜져 있는 `useAutoModeDuringPlan` 설정이 활성화되어 있으면, 분류기는 계획 중에 셸 명령을 검토하며 사용자에게 프롬프트를 표시하지 않습니다. 승인된 명령은 실행되고 거부된 명령은 차단됩니다. 그렇지 않으면 [기본 제공 읽기 전용 집합](/docs/ko/permissions#read-only-commands) 외의 명령은 승인을 요청하며, 샌드박스의 [자동 허용 모드](/docs/ko/sandboxing#sandbox-modes)가 활성화된 경우에도 마찬가지입니다. bypassPermissions를 사용할 수 있는 대화형 터미널 세션에서는 분류기나 프롬프트가 계획 명령에 적용되지 않습니다. [bypassPermissions 모드로 모든 검사 건너뛰기](#skip-all-checks-with-bypasspermissions-mode)는 여전히 프롬프트가 표시되는 몇 가지 항목을 다룹니다. v2.1.212부터 v2.1.217까지는 bypassPermissions가 없는 세션에서 자동 모드를 사용할 수 있는지 여부와 관계없이 읽기 전용 집합 외의 모든 명령에 대해 프롬프트를 표시했습니다.254계획 중에 셸 명령이 어떻게 처리되는지는 세션에 따라 다르며, 다음 중 일치하는 첫 번째 경우가 적용됩니다:

255 

256* **bypassPermissions를 사용할 수 있는 대화형 터미널 세션**: 분류기나 프롬프트가 계획 명령에 적용되지 않습니다. [bypassPermissions 모드로 모든 검사 건너뛰기](#skip-all-checks-with-bypasspermissions-mode)는 여전히 프롬프트가 표시되는 몇 가지 항목을 다룹니다.

257* **[자동 모드](/docs/ko/auto-mode-config)를 사용할 수 있고 기본적으로 켜져 있는 `useAutoModeDuringPlan` 설정이 활성화됨**: 분류기는 [중요 경로 제거](#critical-paths)를 제외한 셸 명령을 검토하며 사용자에게 프롬프트를 표시하지 않습니다. 승인된 명령은 실행되고 거부된 명령은 차단됩니다.

258* **자동 모드를 사용할 수 없거나 `useAutoModeDuringPlan`이 꺼짐**: [기본 제공 읽기 전용 집합](/docs/ko/permissions#read-only-commands) 외의 명령은 승인을 요청하며, 샌드박스의 [자동 허용 모드](/docs/ko/sandboxing#sandbox-modes)가 활성화된 경우에도 마찬가지입니다.

255 259 

256계획 모드에 들어가려면 `Shift+Tab`을 누르거나 단일 프롬프트 앞에 `/plan`을 붙입니다. CLI에서 계획 모드로 시작할 수도 있습니다:260계획 모드에 들어가려면 `Shift+Tab`을 누르거나 단일 프롬프트 앞에 `/plan`을 붙입니다. CLI에서 계획 모드로 시작할 수도 있습니다:

257 261 


287 자동 모드로 권한 프롬프트 제거291 자동 모드로 권한 프롬프트 제거

288</h2>292</h2>

289 293 

290자동 모드를 사용하면 Claude가 일상적인 권한 프롬프트 없이 실행됩니다. 별도의 분류기 모델이 실행 전에 작업을 검토하여 요청을 초과하거나 인식되지 않은 인프라를 대상으로 하거나 Claude가 읽은 악의적인 콘텐츠로 인해 발생한 것으로 보이는 모든 것을 차단합니다. 명시적인 [요청 규칙](/docs/ko/permissions#manage-permissions)은 여전히 프롬프트를 강제합니다.294자동 모드를 사용하면 Claude가 일상적인 권한 프롬프트 없이 실행됩니다. 별도의 분류기 모델이 실행 전에 작업을 검토하여 요청을 초과하거나, 인식되지 않은 인프라를 대상으로 하거나, Claude가 읽은 악의적인 콘텐츠로 인해 발생한 것으로 보이는 모든 것을 차단합니다. 명시적 [요청 규칙](/docs/ko/permissions#manage-permissions)은 여전히 프롬프트를 강제합니다.

291 295 

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

293 297 

294분류기는 또한 Claude가 [`SendMessage`](/docs/ko/tools-reference)를 사용하여 다른 에이전트에 보내는 각 메시지를 검토합니다. 일반 텍스트이든 구조화된 [에이전트 팀](/docs/ko/agent-teams) 메시지이든, Claude Code가 전달하기 전에 자동 모드와 [분류기가 명령을 검토하는 동안 계획 모드](#analyze-before-you-edit-with-plan-mode) 모두에서 검토합니다. 전송 검토에는 Claude Code v2.1.222 이상이 필요합니다.298분류기는 또한 자동 모드와 [플랜 모드에서 분류기가 명령을 검토하는 동안](#analyze-before-you-edit-with-plan-mode) 모두에서 Claude Code가 전달하기 전에 [`SendMessage`](/docs/ko/tools-reference)를 사용하여 다른 에이전트에 보내는 각 메시지(일반 텍스트 또는 구조화된 [에이전트 팀](/docs/ko/agent-teams) 메시지)를 검토합니다. 전송 검토에는 Claude Code v2.1.222 이상이 필요합니다.

295 299 

296분류기는 또한 `rm` 및 `rmdir` 제거를 검토하고 승인하거나 차단합니다. 이는 `rm -rf /` 및 `rm -rf ~`와 같은 [중요 경로](#critical-paths)를 대상으로 하며, 제거가 명령 또는 프로세스 치환 내부에 있을 때도 포함됩니다.300기본적으로 분류기는 `rm -rf /` 또는 `rm -rf ~`와 같은 중요 경로를 대상으로 하는 `rm` 및 `rmdir` 제거를 검토하지 않습니다. [중요 경로](#critical-paths)는 각 권한 모드에서 이들에게 어떤 일이 발생하는지 다룹니다.

297 301 

298자동 모드는 또한 Claude가 명확한 질문을 위해 멈추지 않고 계속 작업하도록 권장하지만, Claude는 여전히 프롬프트나 스킬이 명시적으로 이를 요구할 때 질문합니다. 더 강력한 자율 동작을 원하면서도 여전히 프롬프트를 표시하는 모드를 원한다면 [사전 예방적 출력 스타일](/docs/ko/output-styles)을 설정하세요.302자동 모드는 또한 Claude가 명확한 질문을 위해 멈추지 않고 계속 작업하도록 권장하지만, Claude는 여전히 프롬프트나 스킬이 명시적으로 이를 요구할 때 질문합니다. 여전히 프롬프트를 표시하는 모드에서 더 강력한 자율 동작을 원하면 [적극적 출력 스타일](/docs/ko/output-styles)을 대신 설정하세요.

299 303 

300<Warning>304<Warning>

301 자동 모드는 권한 프롬프트를 줄이지만 안전을 보장하지 않습니다. 일반적인 방향을 신뢰하는 작업에 사용하고, 민감한 작업에 대한 검토 대체물로 사용하지 마세요.305 자동 모드는 권한 프롬프트를 줄이지만 안전을 보장하지 않습니다. 일반적인 방향을 신뢰하는 작업에 사용하고, 민감한 작업에 대한 검토 대체로 사용하지 마세요.

302</Warning>306</Warning>

303 307 

304자동 모드는 계정이 다음 모든 요구 사항을 충족할 때만 사용 가능합니다:308자동 모드는 계정이 다음 모든 요구 사항을 충족할 때만 사용 가능합니다:

305 309 

306* **플랜**: 모든 플랜.310* **플랜**: 모든 플랜.

307* **조직**: Team 및 Enterprise에서 자동 모드는 기본적으로 사용 가능합니다. 관리자는 [관리 설정](/docs/ko/managed-settings)에서 `permissions.disableAutoMode`를 `"disable"`로 설정하여 조직에 대해 자동 모드를 끌 수 있습니다.311* **조직**: Team 및 Enterprise에서는 자동 모드를 기본적으로 사용할 수 있습니다. 관리자는 [관리 설정](/docs/ko/managed-settings)에서 `permissions.disableAutoMode`를 `"disable"`로 설정하여 조직에 대해 이를 끌 수 있습니다.

308* **모델**: Anthropic API 및 [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws)에서 Claude Opus 4.6 이상, Sonnet 4.6 이상, 또는 [Fable 모델](/docs/ko/model-config#work-with-fable). Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, 그리고 로그인한 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션에서는 Claude Sonnet 5, Opus 4.7 이상, 그리고 Fable 모델만 지원됩니다. Sonnet 4.5, Opus 4.5, Haiku, claude-3 모델을 포함한 이전 모델은 어떤 제공자에서도 지원되지 않습니다.312* **모델**: Anthropic API 및 [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws)에서는 Claude Opus 4.6 이상, Sonnet 4.6 이상 또는 [Fable 모델](/docs/ko/model-config#work-with-fable). Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 로그인한 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션에서는 Claude Sonnet 5 이상, Opus 4.7 이상 및 Fable 모델만 해당합니다. Sonnet 4.5, Opus 4.5, Haiku 및 claude-3 모델을 포함한 이전 모델은 어떤 제공자에서도 지원되지 않습니다.

309* **제공자**: Anthropic API, AWS의 Claude Platform, Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, 그리고 로그인한 Claude 앱 게이트웨이 세션에서 기본적으로 사용 가능합니다.313* **제공자**: Anthropic API, AWS의 Claude Platform, Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 및 로그인한 Claude 앱 게이트웨이 세션에서 기본적으로 사용 가능합니다.

310 314 

311Claude Code가 자동 모드를 사용할 수 없다고 보고하면 먼저 이러한 요구 사항을 확인하고 설정 파일이 [`disableAutoMode`](/docs/ko/settings-reference#disableautomode)를 설정하는지 확인하세요. Anthropic이 서버 측에서 자동 모드를 끄거나 서버가 계정에 대해 자동 모드를 거부했을 수도 있습니다. 두 답변 중 하나를 받은 세션은 세션이 끝날 때까지 자동 모드를 끈 상태로 유지하므로 나중에 새 세션을 시작하세요.315Claude Code가 자동 모드를 사용할 수 없다고 보고하면 먼저 이러한 요구 사항과 설정 파일이 [`disableAutoMode`](/docs/ko/settings-reference#disableautomode)를 설정하는지 확인하세요. Anthropic은 또한 서버 측에서 자동 모드를 끌 수 있거나, 서버가 계정에 대해 자동 모드를 거부했을 수 있습니다. 두 답변 중 하나를 받은 세션은 세션이 끝날 때까지 자동 모드를 끈 상태로 유지하므로 나중에 새 세션을 시작하세요.

312 316 

313모델 이름을 지정하고 자동 모드가 작업의 안전성을 "결정할 수 없다"고 말하는 별도의 메시지는 분류기 요청이 실패했음을 의미합니다. 이 실패는 일반적으로 일시적이지만 Amazon Bedrock에서는 계정이 명명된 모델을 호출할 수 있을 때까지 반복될 수 있습니다. 원인과 해결 방법은 [오류 참조](/docs/ko/errors#auto-mode-cannot-determine-the-safety-of-an-action)를 참조하세요.317모델의 이름을 지정하고 자동 모드가 작업의 안전성을 "결정할 수 없다"고 말하는 별도의 메시지는 분류기 요청이 실패했음을 의미합니다. 이 실패는 일반적으로 일시적이지만 Amazon Bedrock에서는 계정이 명명된 모델을 호출할 수 있을 때까지 반복될 수 있습니다. 원인 및 수행할 작업은 [오류 참조](/docs/ko/errors#auto-mode-cannot-determine-the-safety-of-an-action)를 참조하세요.

314 318 

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

316 320 

317<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">321<h3 id="enable-auto-mode-on-bedrock-agent-platform-or-foundry">

318 Bedrock, Agent Platform 또는 Foundry의 자동 모드322 Bedrock, Agent Platform 또는 Foundry의 자동 모드

319</h3>323</h3>

320 324 

321[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry), 그리고 로그인한 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션에서 자동 모드는 기본적으로 `Shift+Tab` 사이클에 나타납니다. 사이클에 나타나는 것이 세션이 시작되는 권한 모드를 변경하지는 않습니다. 이러한 제공자에서 터미널 세션은 [`defaultMode`](/docs/ko/settings-reference#permissions-defaultmode)로 시작하며, 이는 변경하지 않으면 수동이고, [VS Code 확장](/docs/ko/vs-code)의 대화는 `claudeCode.initialPermissionMode` 또는 확장에서 선택한 모드가 설정하지 않으면 수동으로 시작됩니다. 이러한 제공자에서는 Claude Sonnet 5, Opus 4.7 이상, 그리고 Fable 모델만 지원됩니다.325[Amazon Bedrock](/docs/ko/amazon-bedrock), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai), [Microsoft Foundry](/docs/ko/microsoft-foundry) 및 로그인한 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션에서는 자동 모드를 기본적으로 사용할 수 있습니다. Claude Code v2.1.283 이상에서는 대화형 터미널 및 [VS Code](/docs/ko/vs-code) 세션에 대한 [기본 제공 시작 권한 모드](#which-mode-a-session-starts-in)이기도 합니다. 시작 권한 모드를 직접 선택하려면 [다른 권한 모드에서 시작](#start-in-a-different-mode)에서 설명하는 대로 `permissions.defaultMode`를 설정하거나 VS Code 확장의 모드 표시기에서 권한 모드를 선택하세요.

322 326 

323자동 모드를 기본 시작 권한 모드로 만들려면 사용자 또는 관리 설정에서 `"permissions": {"defaultMode": "auto"}`를 설정하세요. VS Code 확장이 시작한 세션에서는 모드 표시기에서 **자동**을 선택하세요. [권한 모드 전환](#switch-permission-modes)은 해당 선택을 능가하는 것을 다룹니다.327이러한 제공자에서는 Claude Sonnet 5 이상, Opus 4.7 이상 및 Fable 모델만 지원됩니다. 다른 모델에서는 세션이 Manual로 시작됩니다.

324 328 

325[`/doctor`](/docs/ko/commands#all-commands) 점검은 Anthropic API와 동일한 방식으로 이러한 제공자에서 사용자 설정 기본값을 제안합니다.329개발자가 자동 모드를 사용하지 못하도록 하려면 [관리 설정](/docs/ko/managed-settings)에서 `disableAutoMode`를 `"disable"`로 설정하세요. 이렇게 하면 `Shift+Tab` 사이클에서 `auto`가 제거되고, `--permission-mode auto`로 시작된 세션은 Manual로 시작됩니다. 이미 자동 모드에서 실행 중인 세션은 설정이 [관리자 배포 소스](/docs/ko/managed-settings#which-managed-source-claude-code-uses)에서 해당 세션에 도달할 때 이를 떠나고 `auto mode disabled by settings`를 표시합니다. v2.1.251 이전에는 실행 중인 세션이 끝날 때까지 자동 모드를 유지했습니다.

326 330 

327개발자가 자동 모드를 사용하지 못하도록 하려면 [관리 설정](/docs/ko/managed-settings)에서 `disableAutoMode`를 `"disable"`로 설정하세요. 이는 `Shift+Tab` 사이클에서 `auto`를 제거하고, `--permission-mode auto`로 시작한 세션은 수동으로 시작됩니다. 이미 자동 모드로 실행 중인 세션은 설정이 [관리자 배포 소스](/docs/ko/managed-settings#which-managed-source-claude-code-uses)에서 해당 세션에 도달할 때 자동 모드를 떠나고 `auto mode disabled by settings`를 표시합니다. v2.1.251 이전에는 실행 중인 세션이 끝날 때까지 자동 모드를 유지했습니다.331v2.1.158부터 v2.1.206까지는 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`을 설정할 때까지 이러한 제공자에서 자동 모드가 꺼져 있었고, Claude Code는 변수도 설정되지 않은 한 이러한 제공자에서 `defaultMode: "auto"`를 무시했습니다. 변수는 여전히 호환성을 위해 허용되며 v2.1.207 이후로는 효과가 없습니다.

328 

329v2.1.158부터 v2.1.206까지 자동 모드는 `CLAUDE_CODE_ENABLE_AUTO_MODE=1`을 설정할 때까지 이러한 제공자에서 꺼져 있었고, Claude Code는 변수도 설정되지 않으면 이러한 제공자에서 `defaultMode: "auto"`를 무시했습니다. 변수는 호환성을 위해 여전히 허용되며 v2.1.207 이후로는 효과가 없습니다.

330 332 

331<h3 id="server-side-classifier-review">333<h3 id="server-side-classifier-review">

332 서버 측 분류기 검토334 서버 측 분류기 검토

333</h3>335</h3>

334 336 

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

336 338 

337* **Anthropic API에 대한 직접 연결**: 대화형 터미널 세션에서 모든 claude.ai 플랜 및 Claude API를 사용하는 계정에서 Anthropic이 롤아웃할 때. Pro, Max, Team 플랜에서 Claude Code v2.1.271 이상이 필요하고, Enterprise 플랜 및 Claude API 계정에서 v2.1.278 이상이 필요합니다. v2.1.282부터 [기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: 원격 분석을 끈 경우)은 모든 종류의 세션에서 기본적으로 서버에 요청합니다.339* **Anthropic API에 대한 직접 연결**: 대화형 터미널 세션에서, 모든 claude.ai 플랜 및 Claude API를 사용하는 계정에서, Anthropic이 롤아웃할 때. Pro, Max 및 Team 플랜에서는 Claude Code v2.1.271 이상이 필요하고, Enterprise 플랜 및 Claude API 계정에서는 v2.1.278 이상이 필요합니다. v2.1.282부터는 [기능 플래그를 가져오지 않는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션(예: 원격 분석을 끈 경우)은 모든 종류의 세션에서 기본적으로 서버에 요청합니다.

338* **클라우드 제공자, LLM 게이트웨이 또는 프록시**: [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws), Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서, 그리고 `ANTHROPIC_BASE_URL`을 [LLM 게이트웨이 또는 프록시](/docs/ko/llm-gateway)로 가리킬 때마다, 플랜에 관계없이. 기본적으로 요청하려면 Claude Code v2.1.278 이상이 필요합니다.340* **클라우드 제공자, LLM 게이트웨이 또는 프록시**: [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws), Amazon Bedrock, Google Cloud의 Agent Platform 및 Microsoft Foundry에서, 그리고 `ANTHROPIC_BASE_URL`을 [LLM 게이트웨이 또는 프록시](/docs/ko/llm-gateway)로 가리킬 때마다, 플랜에 관계없이. 기본적으로 요청하려면 Claude Code v2.1.278 이상이 필요합니다.

339* **로그인한 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션**: Claude Code v2.1.280 이상이 필요합니다341* **로그인한 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 세션**: Claude Code v2.1.280 이상이 필요합니다

340 342 

341서버가 작업을 검토하는 경우 해당 판정이 결정합니다. 두 가지 다른 결과가 가능합니다:343서버가 작업을 검토하는 경우, 그 판정이 이를 결정합니다. 다른 두 가지 결과가 가능합니다:

342 344 

343* **서버가 세션을 검토하지 않음**: 응답이 검토 결과 없이 완료되거나 서버가 이 세션을 검토하지 않는다고 답합니다. 가장 일반적인 원인은 검토 요청이나 결과를 삭제하는 LLM 게이트웨이 또는 프록시이며, 아직 서버 측 검사가 없는 플랫폼, 지역 또는 자격 증명입니다. Claude Code는 자체 분류기 요청으로 폴백합니다. 이 폴백이 세션의 나머지 기간 동안 유지되면 [분류기 요청 요금에 대한 알림](/docs/ko/auto-mode-classifier-billing)을 표시합니다. 이러한 요청이 청구되는 계정에서.345* **서버가 세션을 검토하지 않음**: 응답이 검토 결과 없이 완료되거나, 서버가 이 세션을 검토하지 않는다고 답합니다. 가장 일반적인 원인은 검토 요청이나 결과를 삭제하는 LLM 게이트웨이 또는 프록시이며, 아직 서버 측 검사가 없는 플랫폼, 지역 또는 자격 증명입니다. Claude Code는 자체 분류기 요청으로 폴백합니다. 이 폴백이 세션의 나머지 부분에 대해 유지되면, 이러한 요청이 청구되는 계정에서 [분류기 요청 요금에 대한 공지](/docs/ko/auto-mode-classifier-billing)를 표시합니다.

344* **서버가 작업에 대한 판정을 제공하지 않음**: Claude Code는 검토되지 않은 상태로 실행하는 대신 작업을 거부합니다. 모든 연결에서 이는 응답이 검토 결과가 도착하기 전에 끝나거나 결과가 Claude Code가 읽을 수 없는 형식으로 도착할 때 발생합니다. 응답을 단축하거나 결과를 다시 작성하는 LLM 게이트웨이 또는 프록시가 둘 다 발생할 수 있습니다. Anthropic API에 대한 직접 연결에서는 서버의 작업 검사가 실패할 때도 발생합니다(예: 시간 초과). [서버가 안전 판정을 반환하지 않음](/docs/ko/errors#the-server-returned-no-safety-verdict)은 거부 메시지, 거부가 반복될 때 발생하는 일, 그리고 해결 방법을 다룹니다.346* **서버가 작업에 대한 판정을 제공하지 않음**: Claude Code는 검토되지 않은 상태로 실행하는 대신 작업을 거부합니다. 모든 연결에서 이는 응답이 검토 결과가 도착하기 전에 끝나거나 결과가 Claude Code가 읽을 수 없는 형식으로 도착할 때 발생합니다. 응답을 단축하거나 결과를 다시 쓰는 LLM 게이트웨이 또는 프록시가 둘 다 발생할 수 있습니다. Anthropic API에 대한 직접 연결에서는 서버의 검사가 작업에 대해 실패할 때도 발생합니다(예: 시간 초과). [서버가 안전 판정을 반환하지 않음](/docs/ko/errors#the-server-returned-no-safety-verdict)은 거부 메시지, 거부가 반복될 때 발생하는 일, 그리고 수행할 작업을 다룹니다.

345 347 

346서버에 요청하는 것을 건너뛰고 항상 Claude Code의 자체 분류기 요청을 사용하려면 [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/ko/env-vars)을 설정하세요. Anthropic API에 대한 직접 연결에서 변수에는 Claude Code v2.1.281 이상이 필요합니다. 거기서 `1`로 설정하면 아직 서버 검토가 없는 세션(예: `-p` 또는 Agent SDK 세션)에서 서버 검토를 켭니다. `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`도 설정하지 않은 경우. `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`을 설정하고 `CLAUDE_CODE_AUTO_MODE_SERVER`를 설정하지 않으면 Claude Code도 서버에 요청하는 것을 중지합니다.348서버에 요청하는 것을 건너뛰고 항상 Claude Code의 자체 분류기 요청을 사용하려면 [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/ko/env-vars)을 설정하세요. Anthropic API에 대한 직접 연결에서는 변수에 Claude Code v2.1.281 이상이 필요합니다. 거기서 `1`로 설정하면 아직 서버 검토가 없는 세션(예: `-p` 또는 Agent SDK 세션)에서 서버 검토를 켭니다. 단, `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`도 설정하지 않은 경우입니다. `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`을 설정하고 `CLAUDE_CODE_AUTO_MODE_SERVER`를 설정하지 않은 상태로 두면, Claude Code는 [사전 릴리스 기능 비활성화](/docs/ko/llm-gateway-protocol#disable-pre-release-capabilities)에서 설명하는 경우를 제외하고 서버에 요청하는 것도 중단합니다.

347 349 

348<h3 id="what-the-classifier-blocks-by-default">350<h3 id="what-the-classifier-blocks-by-default">

349 분류기가 기본적으로 차단하는 것351 분류기가 기본적으로 차단하는 것

350</h3>352</h3>

351 353 

352분류기는 작업 디렉토리와 세션이 시작될 때 구성된 원격을 신뢰합니다. 세션 중에 `git remote add` 또는 `git remote set-url`로 추가되거나 다시 가리킨 원격은 신뢰되지 않으며, [신뢰할 수 있는 인프라를 구성](/docs/ko/auto-mode-config)할 때까지 다른 모든 것은 외부로 취급됩니다. v2.1.200 이전에는 세션 중에 추가된 원격도 신뢰되었습니다.354분류기는 작업 디렉토리와 세션이 시작될 때 이에 대해 구성된 원격을 신뢰합니다. 세션 중에 `git remote add` 또는 `git remote set-url`로 추가되거나 다시 가리킨 원격은 신뢰되지 않으며, 다른 모든 것은 [신뢰할 수 있는 인프라를 구성](/docs/ko/auto-mode-config)할 때까지 외부로 취급됩니다. v2.1.200 이전에는 세션 중에 추가된 원격도 신뢰되었습니다.

353 355 

354**기본적으로 차단됨**:356**기본적으로 차단됨**:

355 357 


361* 공유 인프라 수정363* 공유 인프라 수정

362* 세션 전에 존재했던 파일을 돌이킬 수 없게 파괴364* 세션 전에 존재했던 파일을 돌이킬 수 없게 파괴

363* 강제 푸시365* 강제 푸시

364* 실행될 때 비밀이나 민감한 데이터를 리포지토리 외부로 보내거나 배포가 노출하는 것을 확대할 변경 사항을 커밋하거나 푸시합니다. 이는 비밀을 아직 받지 않는 대상으로 전달하는 CI 워크플로우 또는 배포 구성, 비밀 저장소를 읽고 데이터를 보내는 스크립트 또는 설정 단계, 그리고 배포가 게시하는 것을 확대하는 구성 변경(예: 레지스트리, 가시성, 아티팩트 또는 소스맵 설정)을 포함합니다. 검사는 모든 분기에 적용되고, 리포지토리가 공개인 경우에도 적용되며, 커밋이나 푸시가 파이프라인을 트리거하는지 여부에 관계없이 커밋하거나 푸시할 때 발생합니다. 이를 해제하려면 커밋이나 푸시만이 아니라 실행 효과를 명명해야 합니다. v2.1.211 이전에는 이 검사가 기본 분기로 범위가 지정되었습니다. 거기로의 푸시는 민감한 콘텐츠, 요청한 것과 비교하여 숨겨지거나 잘못 설명된 변경 사항, 리포지토리 외부에서 이식된 콘텐츠, 또는 요청한 검토를 우회하는 콘텐츠를 전달할 때 차단되었습니다.366* 리포지토리 외부로 비밀이나 민감한 데이터를 보내거나 배포가 노출하는 것을 확대할 변경 사항을 커밋하거나 푸시합니다. 이는 비밀을 아직 받지 않는 대상으로 전달하는 CI 워크플로우 또는 배포 구성, 비밀 저장소를 읽고 데이터를 보내는 스크립트 또는 설정 단계, 그리고 배포가 게시하는 것을 확대하는 구성 변경(예: 레지스트리, 가시성, 아티팩트 또는 소스맵 설정)을 다룹니다. 검사는 모든 분기에 적용되고, 리포지토리가 공개인 경우에도 적용되며, 커밋이나 푸시가 파이프라인을 트리거하는지 여부에 관계없이 커밋되거나 푸시될 때 발생합니다. 이를 지우려면 커밋이나 푸시만이 아니라 실행 효과의 이름을 지정해야 합니다. v2.1.211 이전에는 이 검사가 기본 분기로 범위가 지정되었습니다: 거기로의 푸시는 민감한 콘텐츠, 요청한 것과 비교하여 숨겨지거나 잘못 설명된 변경 사항, 리포지토리 외부에서 이식된 콘텐츠 또는 요청한 검토를 우회하는 콘텐츠를 전달할 때 차단되었습니다.

365* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop`, 또는 `git stash clear`. 분류기는 이것이 커밋되지 않은 변경 사항을 삭제할 것으로 가정합니다.367* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` 또는 `git stash clear`는 분류기가 커밋되지 않은 변경 사항을 삭제할 것으로 가정합니다.

366* 커밋이 이 세션에서 생성되지 않았을 때 `git commit --amend`368* HEAD의 커밋이 이 세션에서 생성되지 않았을 때 `git commit --amend`

367* v2.1.198부터 커밋이 이미 푸시되었을 때 `git commit --amend`. 메시지 전용 단어 변경은 차단되지 않습니다: 새로 스테이징된 것이 없는 `--amend -m`. Claude가 이 세션 중에 생성한 커밋에서369* v2.1.198부터는 HEAD의 커밋이 이미 푸시되었을 때 `git commit --amend`. 메시지 전용 리워드는 차단되지 않습니다: 새로 스테이징된 것이 없는 `--amend -m`은 Claude가 이 세션 중에 생성한 커밋에서입니다.

368* `terraform destroy`, `pulumi destroy`, `cdk destroy`, 또는 `terragrunt destroy`, 그리고 리소스를 파괴하는 계획 적용370* `terraform destroy`, `pulumi destroy`, `cdk destroy` 또는 `terragrunt destroy`, 그리고 리소스를 파괴하는 계획 적용

369 371 

370Claude Code v2.1.195 이상은 기본적으로 더 많은 범주를 차단합니다. 여러 개는 민감한 원격 대상 및 보호된 IaC 범위와 같은 [환경](/docs/ko/auto-mode-config#define-trusted-infrastructure) 항목에 따라 달라지며, 이를 구체적인 이름으로 좁힐 수 있습니다.372Claude Code v2.1.195 이상은 기본적으로 더 많은 범주를 차단합니다. 여러 개는 민감한 원격 대상 및 보호된 IaC 범위와 같이 구체적인 이름으로 좁힐 수 있는 [환경](/docs/ko/auto-mode-config#define-trusted-infrastructure) 항목에 따라 달라집니다.

371 373 

372* 비밀 관리자에 쓰기, 또는 DNS 레코드 또는 TLS 인증서 변경374* 비밀 관리자에 쓰기, 또는 DNS 레코드 또는 TLS 인증서 변경

373* 인간이 승인하지 않은 풀 요청 병합, Claude의 자체 풀 요청 승인, 또는 CI 검사 비활성화375* 인간이 승인하지 않은 풀 요청 병합, Claude의 자체 풀 요청 승인, 또는 CI 검사 비활성화

374* `atlantis apply` 또는 봇의 `/deploy` 또는 `/merge`와 같은 자동화에 대한 명령 자체인 댓글 게시376* `atlantis apply` 또는 봇의 `/deploy` 또는 `/merge`와 같은 자동화에 대한 명령 자체인 댓글 게시

375* 프로덕션 기능 플래그 토글, 램프 또는 삭제377* 프로덕션 기능 플래그 토글, 램핑 또는 삭제

376* 보호된 IaC 범위에 인프라 변경 사항 적용, 또는 클러스터 노드 드레이닝 및 제거378* 보호된 IaC 범위에 인프라 변경 사항 적용, 또는 클러스터 노드 드레이닝 및 제거

377* 레이블 선택기 또는 `--all`과 같이 다른 사용자의 작업을 포착하는 명명된 리소스를 초과하는 공유 컴퓨팅 클러스터에 대한 쓰기379* 레이블 선택기 또는 `--all`과 같이 다른 사용자의 작업을 포착하는 명명된 리소스를 초과하는 공유 컴퓨팅 클러스터에 대한 쓰기

378* 모든 노드에서 실행되거나 클러스터 트래픽을 가로채는 Kubernetes 리소스 생성(예: DaemonSets 및 승인 웹훅)380* 모든 노드에서 실행되거나 클러스터 트래픽을 가로채는 Kubernetes 리소스 생성(예: DaemonSets 및 admission webhooks)

379* 민감한 원격 대상으로의 대화형 셸 또는 포트 포워드381* 민감한 원격 대상으로의 대화형 셸 또는 포트 포워드

380* 로컬 서비스를 공개 인터넷에서 도달 가능하게 하는 터널 또는 역셸 열기382* 로컬 서비스를 공개 인터넷에서 도달 가능하게 하는 터널 또는 역셸 열기

381* 라이브 자격 증명 또는 토큰을 기록 또는 파일에 인쇄383* 라이브 자격 증명 또는 토큰을 트랜스크립트 또는 파일로 인쇄

382* [환경](/docs/ko/auto-mode-config#define-trusted-infrastructure)에서 민감한 데이터 위치로 나열된 위치에 액세스하거나 해당 위치에서 데이터 복사. v2.1.198부터 이는 또한 한 위치에서 항목이 제외하는 대상으로 데이터를 보내는 것을 차단합니다.384* [환경](/docs/ko/auto-mode-config#define-trusted-infrastructure)에서 민감한 데이터 위치로 나열된 위치에 액세스하거나 그곳에서 데이터를 복사합니다. v2.1.198부터는 이것도 항목이 제외하는 대상으로 한 곳에서 데이터를 보내는 것을 차단합니다.

383* 내부 패키지 레지스트리를 공개 레지스트리로 우회하는 패키지 설치 라우팅. v2.1.198부터 이는 또한 환경에 나열되지 않은 경우에도 대화에서 Claude에게 내부 레지스트리 또는 미러가 존재한다고 말했을 때 적용됩니다.385* 내부 패키지 레지스트리를 공개 레지스트리로 우회하는 패키지 설치를 라우팅합니다. v2.1.198부터는 환경에 나열된 경우뿐만 아니라 대화에서 Claude에 내부 레지스트리 또는 미러가 존재한다고 말했을 때도 적용됩니다.

384* `--insecure`와 같은 안전 가드를 해제하는 플래그로 명령 실행386* `--insecure`와 같은 안전 가드를 해제하는 플래그로 명령 실행

385* `--dangerously-skip-permissions` 또는 `--no-sandbox`로 시작된 것과 같이 인간 승인이나 샌드박스 없이 실행되는 자율 에이전트 루프 시작. v2.1.198부터 이는 또한 `--yes-always`로 시작된 러너와 같이 격리 및 작업별 승인이 비활성화된 상태로 제3자 에이전트 또는 평가 하네스를 실행하는 것을 포함합니다.387* `--dangerously-skip-permissions` 또는 `--no-sandbox`로 시작된 것과 같이 인간 승인이나 샌드박스 없이 실행되는 자율 에이전트 루프 시작. v2.1.198부터는 이것도 `--yes-always`로 시작된 러너와 같이 격리 및 작업별 승인이 비활성화된 상태로 제3자 에이전트 또는 평가 하네스를 실행하는 것을 다룹니다.

386* [Chrome의 Claude](/docs/ko/chrome) 브라우저 작업으로 페이지 콘텐츠, 쿠키 또는 자격 증명을 출처 외부로 보낼 수 있음388* [Chrome의 Claude](/docs/ko/chrome) 브라우저 작업으로 페이지 콘텐츠, 쿠키 또는 자격 증명을 원본 외부로 보낼 수 있습니다.

389 

390Claude Code v2.1.198 이상도 기본적으로 이를 차단합니다:

387 391 

388Claude Code v2.1.198 이상은 또한 기본적으로 다음을 차단합니다:392* 와일드카드, glob 또는 나이 필터가 아닌 특정 명명된 경로로 `/tmp`, `$TMPDIR` 또는 다른 공유 스크래치 또는 캐시 디렉토리의 파일 삭제

393* 자신의 메시지가 해당 수신자에게 이러한 세부 정보를 승인하지 않았을 때 전송, 업로드, 게시 또는 다른 사람이나 공유 시스템에 작성된 콘텐츠에 민감한 세부 정보 포함. PR 및 이슈 본문, 커밋 메시지 및 댓글은 리포지토리가 신뢰 경계 외부이거나 공개일 때 이러한 종류의 아웃바운드 콘텐츠로 계산됩니다. 조직의 자체 공개 리포지토리 포함; 내부 파일 경로, 코드명, 이메일 또는 계정 식별자와 같은 라이브 API 응답 데이터, 그리고 인프라 식별자는 민감한 세부 정보로 계산됩니다. PR, 이슈 및 커밋 메시지 범위 지정에는 Claude Code v2.1.200 이상이 필요합니다. PR 또는 이슈 본문의 API 응답의 라이브 개인 데이터(예: 이메일 주소, 계정 또는 조직 식별자 또는 사용 메트릭)에는 리포지토리의 가시성이나 신뢰 경계에 관계없이 이러한 세부 정보와 수신자의 이름을 지정해야 합니다. 이 검사에는 Claude Code v2.1.203 이상이 필요합니다.

394* Claude Code의 자체 tmux 창으로 키스트로크를 보내 자체 인터페이스를 구동하는 것은 분류기가 Claude가 자체 권한이나 감시를 변경하는 것으로 취급합니다.

389 395 

390* 와일드카드, 글로브 또는 나이 필터가 아닌 특정 명명된 경로로 `/tmp`, `$TMPDIR` 또는 다른 공유 스크래치 또는 캐시 디렉토리의 파일 삭제396Claude Code v2.1.200 이상도 기본적으로 이를 차단합니다:

391* 자신의 메시지가 해당 수신자에게 이러한 세부 정보를 승인하지 않았을 때 전송, 업로드, 게시 또는 다른 사람이나 공유 시스템에 작성된 콘텐츠에 민감한 세부 정보 포함. PR 및 이슈 본문, 커밋 메시지, 그리고 댓글은 리포지토리가 신뢰 경계 외부이거나 공개일 때 이러한 종류의 아웃바운드 콘텐츠로 계산됩니다. 조직의 자체 공개 리포지토리 포함; 내부 파일 경로, 코드명, 이메일 또는 계정 식별자와 같은 라이브 API 응답 데이터, 그리고 인프라 식별자는 민감한 세부 정보로 계산됩니다. PR, 이슈, 그리고 커밋 메시지 범위 지정에는 Claude Code v2.1.200 이상이 필요합니다. PR 또는 이슈 본문의 API 응답의 라이브 개인 데이터(예: 이메일 주소, 계정 또는 조직 식별자, 또는 사용 메트릭)에는 리포지토리의 가시성이나 신뢰 경계에 관계없이 해당 세부 정보와 수신자를 명명해야 합니다. 이 검사에는 Claude Code v2.1.203 이상이 필요합니다.

392* Claude Code의 자체 tmux 창으로 키스트로크를 보내 자체 인터페이스를 구동합니다. 분류기는 이를 Claude가 자체 권한이나 감시를 변경하는 것으로 취급합니다.

393 397 

394Claude Code v2.1.200 이상은 또한 기본적으로 다음을 차단합니다:398* 인증, 액세스 제어, 입력 검증 또는 샌드박싱과 같은 보안 동작을 보호하는 테스트 또는 어설션 주석 처리, 삭제 또는 강제 통과

399* Claude가 세션에서 생성하지 않은 상태 저장 리소스 삭제 또는 해체(더 구체적인 삭제 규칙이 적용되지 않고 해당 리소스의 이름을 지정하지 않은 경우)

400* API 기본 URL, 프록시 엔드포인트, 웹훅 수신자 또는 레지스트리 미러를 작업에 맞지 않는 제3자 호스트로 다시 가리키기(`.env.example`과 같은 예제 파일 포함)

401* `git remote set-url` 또는 `git remote add`로 푸시가 가는 위치 변경(새 원격의 이름을 지정하지 않은 경우)

402* 공개로 알려진 리포지토리로 비밀이나 개인 또는 신뢰할 수 있는 데이터 푸시, 또는 해당 리포지토리의 자체 작업의 일부가 아닌 기밀 자료를 거기로 푸시. dotfiles 리포지토리의 자체 주제는 개인 또는 신뢰할 수 있는 데이터의 유일한 예외이며, 개인 리포지토리에서 도달하는 콘텐츠는 모든 공개 표면에 동일한 방식으로 차단됩니다. 두 개선 사항 모두 Claude Code v2.1.203 이상이 필요합니다. v2.1.203 이전에는 개인 데이터가 기밀 자료와 함께 그룹화되었고 해당 리포지토리의 자체 작업의 일부가 아닐 때만 차단되었습니다. 리포지토리의 가시성이 확립되지 않으면 분류기는 그것만으로 차단하지 않습니다. 대신 다른 규칙에 대해 콘텐츠를 판단합니다.

403* 다른 리포지토리 또는 조직에 대한 풀 요청 열기, `gh repo fork`로 포킹 또는 제3자 리포지토리로 푸시(해당 외부 대상의 이름을 지정하지 않은 경우)

395 404 

396* 인증, 액세스 제어, 입력 검증 또는 샌드박싱과 같은 보안 동작을 보호하는 테스트 또는 어설션을 주석 처리, 삭제 또는 강제 통과405Claude Code v2.1.203 이상도 기본적으로 이를 차단합니다:

397* 세션에서 Claude가 생성하지 않은 상태 저장 리소스 삭제 또는 해제. 더 구체적인 삭제 규칙이 적용되지 않고 해당 리소스를 명명하지 않았을 때

398* API 기본 URL, 프록시 엔드포인트, 웹훅 수신자 또는 레지스트리 미러를 작업에 맞지 않는 제3자 호스트로 다시 가리키기. `.env.example`과 같은 예제 파일 포함

399* `git remote set-url` 또는 `git remote add`로 푸시가 가는 위치 변경. 새 원격을 명명하지 않은 경우

400* 공개로 알려진 리포지토리로 비밀이나 개인 또는 신뢰할 수 있는 데이터 푸시, 또는 해당 리포지토리의 자체 작업의 일부가 아닌 기밀 자료를 거기로 푸시. 닷파일 리포지토리의 자체 주제는 개인 또는 신뢰할 수 있는 데이터의 유일한 예외이며, 개인 리포지토리에서 공개 표면에 도달하는 콘텐츠는 동일한 방식으로 차단됩니다. 두 개선 모두 Claude Code v2.1.203 이상이 필요합니다. v2.1.203 이전에는 개인 데이터가 기밀 자료와 함께 그룹화되었고 해당 리포지토리의 자체 작업의 일부가 아닐 때만 차단되었습니다. 리포지토리의 가시성이 확립되지 않으면 분류기는 그것만으로 차단하지 않습니다. 대신 다른 규칙에 대해 콘텐츠를 판단합니다.

401* 다른 리포지토리 또는 조직에 대한 풀 요청 열기, `gh repo fork`로 포킹, 또는 제3자 리포지토리로 푸시. 해당 외부 대상을 명명하지 않은 경우

402 406 

403Claude Code v2.1.203 이상은 또한 기본적으로 다음을 차단합니다:407* 민감한 로컬 저장소의 콘텐츠 또는 이름, 경로 또는 유형이 민감한 것으로 표시된 파일의 콘텐츠가 커밋, 푸시, PR 또는 이슈 텍스트, gist 또는 붙여넣기 또는 패키지 게시에 들어가는 것(소스와 대상의 이름을 모두 지정하지 않은 경우). 세션 트랜스크립트 및 대화 로그, SSH 키, 클라우드 자격 증명, 브라우저 프로필 및 셸 기록과 같은 자격 증명 및 구성 점 폴더, 그리고 사용자 데이터 내보내기는 모두 계산되며, 리포지토리가 개인이라는 것이 이를 지우지 않습니다.

404 408 

405* 민감한 로컬 저장소의 콘텐츠, 또는 이름, 경로 또는 유형이 민감한 것으로 표시하는 파일의 콘텐츠가 커밋, 푸시, PR 또는 이슈 텍스트, gist 또는 붙여넣기, 또는 패키지 게시에 들어가기. 소스와 대상을 모두 명명하지 않은 경우. 세션 기록 및 대화 로그, SSH 키, 클라우드 자격 증명, 브라우저 프로필, 셸 기록과 같은 자격 증명 및 구성 점 폴더, 그리고 사용자 데이터 내보내기 모두 계산됩니다. 리포지토리가 개인이어도 이를 해제하지 않습니다.409Claude Code v2.1.205 이상도 기본적으로 이를 차단합니다:

406 410 

407Claude Code v2.1.205 이상은 또한 기본적으로 다음을 차단합니다:411* Claude Code 세션 트랜스크립트, `~/.claude/projects/` 또는 구성된 구성 디렉토리 아래의 `.jsonl` 기록 파일에 쓰기(직접 또는 셸 명령을 통해). 규칙은 또한 Claude Code가 자체 검사를 위해 각 트랜스크립트 항목에 추가하는 메타데이터 줄을 다룹니다. 트랜스크립트 읽기는 차단되지 않습니다.

412* `rm -rf "$VAR"` 또는 `Remove-Item -Recurse -Force $dir`과 같은 재귀적 강제 삭제로 대상이 분류기가 보는 대화의 어디에도 할당되지 않은 셸 변수이거나 그러한 변수에 루트된 glob입니다. 값은 분류기가 절대 받지 않는 이전 명령 출력에서만 나왔으므로 분류기는 삭제 대상을 다른 삭제 규칙에 대해 확인할 수 없습니다. 정확한 경로의 이름을 지정하거나 Claude가 명령에 작성된 해결된 리터럴 경로로 삭제를 다시 실행할 때 블록이 지워집니다. 분류기가 해결할 수 있는 대상의 삭제는 영향을 받지 않습니다.

408 413 

409* Claude Code 세션 기록, `~/.claude/projects/` 또는 구성된 구성 디렉토리 아래의 `.jsonl` 기록 파일에 쓰기. 셸 명령을 통해 직접 또는 간접적으로. 규칙은 또한 Claude Code가 자체 검사를 위해 각 기록 항목에 추가하는 메타데이터 줄을 포함합니다. 기록 읽기는 차단되지 않습니다.414 `rm -rf "$VAR"/*`와 같이 변수 바로 아래의 glob은 [중요 경로](#critical-paths) 대신입니다. 맨 `*` 또는 `/*` 또는 `\*`로 끝나는 `Remove-Item` 대상은 분류기에 도달하지 않습니다: Claude Code는 [이를 직접 거부합니다](#remove-item-in-powershell).

410* 대화에서 분류기가 보는 어디에도 할당되지 않은 셸 변수 또는 글로브가 루트인 재귀적 강제 삭제(예: `rm -rf "$VAR"` 또는 `Remove-Item -Recurse -Force $dir`). 값은 이전 명령 출력에서만 나왔으며, 분류기는 절대 받지 않으므로 분류기는 삭제 대상을 다른 삭제 규칙에 대해 확인할 수 없습니다. 삭제되는 정확한 경로를 명명하거나 Claude가 해결된 리터럴 경로가 명령에 작성된 상태로 삭제를 다시 실행할 때 블록이 해제됩니다. 분류기가 대상을 해결할 수 있는 삭제는 영향을 받지 않습니다. 베어 `*` 또는 `/*` 또는 `\*`로 끝나는 `Remove-Item` 대상은 분류기에 도달하지 않습니다: Claude Code는 [이를 직접 거부합니다](#remove-item-in-powershell).

411 415 

412Claude Code v2.1.257 이상은 또한 기본적으로 다음을 차단합니다:416Claude Code v2.1.257 이상도 기본적으로 이를 차단합니다:

413 417 

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

415* 직접 요청이 아닌 다른 경로로 공개 호스트에 도달(예: 터널, 역셸, 또는 외부를 가리키도록 다시 작성된 리졸버 또는 프록시 구성)419* 직접 요청이 아닌 다른 경로(예: 터널, 역셸 또는 외부를 가리키도록 다시 작성된 리졸버 또는 프록시 구성)로 공개 호스트에 도달

416* 호스트가 아닌 작업에 속하는 자격 증명 읽기(예: 노드 인증서 또는 노드의 컨테이너 레지스트리 인증)420* 호스트에 속하는 자격 증명(예: 노드 인증서 또는 노드의 컨테이너 레지스트리 인증) 읽기

417* Claude가 시작하지 않은 형제 컨테이너, 포드 또는 VM에 연결 또는 스캔, 또는 아래의 노드421* Claude가 시작하지 않은 형제 컨테이너, 포드 또는 VM에 연결 또는 스캔, 또는 컨테이너 아래의 노드

418 422 

419Claude Code가 이 중 하나를 허용하도록 의도된 곳에서 실행되면 `autoMode.environment`의 [호스트 포함 항목](/docs/ko/auto-mode-config#define-trusted-infrastructure)에서 해당 설정을 설명하세요.423Claude Code가 이 중 하나를 허용하도록 의도된 곳에서 실행되면 `autoMode.environment`의 [호스트 격리 항목](/docs/ko/auto-mode-config#define-trusted-infrastructure)에서 해당 설정을 설명하세요.

420 424 

421Claude Code v2.1.261 이상은 또한 기본적으로 다음을 차단합니다:425Claude Code v2.1.261 이상도 기본적으로 이를 차단합니다:

422 426 

423* 메시지, PR 또는 이슈 텍스트, 문서 또는 링크가 열리거나 가져올 다른 곳에서 공개 붙여넣기, 다이어그램 또는 데이터 공유 서비스로의 링크 게시 또는 작성. URL 자체가 공유되는 콘텐츠를 전달할 때. 해당 서비스를 명명하지 않은 경우427* 메시지, PR 또는 이슈 텍스트, 문서 또는 링크가 열리거나 가져올 다른 곳에 공개 붙여넣기, 다이어그램 또는 데이터 공유 서비스에 대한 링크 게시 또는 작성(URL 자체가 공유되는 콘텐츠를 전달할 때, 해당 서비스의 이름을 지정하지 않은 경우)

424 428 

425**기본적으로 허용됨**:429**기본적으로 허용됨**:

426 430 


428* 잠금 파일 또는 매니페스트에 선언된 종속성 설치432* 잠금 파일 또는 매니페스트에 선언된 종속성 설치

429* `.env` 읽기 및 자격 증명을 일치하는 API로 전송433* `.env` 읽기 및 자격 증명을 일치하는 API로 전송

430* 읽기 전용 HTTP 요청434* 읽기 전용 HTTP 요청

431* 작업 중인 리포지토리의 모든 분기로 푸시. 기본 분기 포함. 이름이 배포 또는 게시 대상으로 표시하는 비기본 분기(예: `production` 또는 `gh-pages`)는 포함되지 않습니다: 분류기는 거기로의 푸시를 자체 조건에 따라 판단합니다. 푸시의 콘텐츠는 여전히 다른 규칙에 대해 확인되고, [`permissions.deny` 규칙](/docs/ko/permissions#manage-permissions)은 여전히 모든 모드에서 [작성된 대로](/docs/ko/permissions#bash-rule-limits) 푸시 명령을 차단할 수 있으며, 원격의 자체 분기 보호는 여전히 적용됩니다. v2.1.211 이전에는 시작한 분기, Claude가 생성한 분기, 그리고 기본 분기로의 일상적인 푸시만 기본적으로 허용되었으며, v2.1.203 이전에는 기본 분기로의 모든 직접 푸시가 차단되었습니다.435* 기본 분기를 포함하여 작업 중인 리포지토리의 모든 분기로 푸시합니다. 이름이 배포 또는 게시 대상으로 표시된 비기본 분기(예: `production` 또는 `gh-pages`)는 포함되지 않습니다: 분류기는 거기로의 푸시를 자체 조건에 따라 판단합니다. 푸시의 콘텐츠는 여전히 다른 규칙에 대해 검사되고, [`permissions.deny` 규칙](/docs/ko/permissions#manage-permissions)은 여전히 모든 모드에서 [작성된 대로](/docs/ko/permissions#bash-rule-limits) 푸시 명령을 차단할 수 있으며, 원격의 자체 분기 보호는 여전히 적용됩니다. v2.1.211 이전에는 시작한 분기, Claude가 생성한 분기 및 기본 분기로의 일상적인 푸시만 기본적으로 허용되었으며, v2.1.203 이전에는 기본 분기로의 직접 푸시가 차단되었습니다.

432 436 

433Claude Code v2.1.195 이상은 또한 기본적으로 다음을 허용합니다:437Claude Code v2.1.195 이상도 기본적으로 이를 허용합니다:

434 438 

435* 같은 세션에서 Claude가 이전에 생성한 정확한 작업 삭제439* 같은 세션에서 Claude가 이전에 생성한 정확한 작업 삭제

436* 작업의 일부로 보안 관련 코드, 구성 및 위협 모델 읽기, 검토 또는 작성440* 작업의 일부로 보안 관련 코드, 구성 및 위협 모델 읽기, 검토 또는 작성

437* 같은 다중 에이전트 세션에서 함께 작업하는 에이전트 간의 메시지441* 같은 다중 에이전트 세션에서 함께 작업하는 에이전트 간의 메시지

438* [`environment`](/docs/ko/auto-mode-config#define-trusted-infrastructure)에 나열한 신뢰할 수 있는 도메인, 버킷 및 서비스로 데이터 전송. 이는 동일한 인프라에 대한 파괴적이거나 자격 증명 작업이 아닌 데이터 흐름만 포함합니다.442* [`environment`](/docs/ko/auto-mode-config#define-trusted-infrastructure)에 나열한 신뢰할 수 있는 도메인, 버킷 및 서비스로 데이터 전송. 이는 동일한 인프라에 대한 파괴적이거나 자격 증명 작업이 아닌 데이터 흐름만 다룹니다.

439* [Chrome의 Claude](/docs/ko/chrome) 신뢰할 수 있는 내부 도메인, localhost 또는 명명한 URL로의 탐색443* [Chrome의 Claude](/docs/ko/chrome) 신뢰할 수 있는 내부 도메인, localhost 또는 이름을 지정한 URL로 탐색

440 444 

441샌드박스된 명령은 기본적으로 네트워크 액세스를 받지 않습니다. Claude는 명령이 필요한 호스트를 명령 자체에 명명하고, 분류기는 명령과 함께 이를 검토하며, 승인된 목록은 해당 명령만을 위해 이러한 호스트를 엽니다. [명령별 허용 도메인](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)은 목록이 열 수 있는 것과 열 수 없는 것, 그리고 명령이 나열되지 않은 호스트에 도달할 때 발생하는 일을 다룹니다.445샌드박스된 명령은 기본적으로 네트워크 액세스를 받지 않습니다. Claude는 명령이 필요한 호스트를 명령 자체에 이름을 지정하고, 분류기는 명령과 함께 이를 검토하며, 승인된 목록은 해당 명령만을 위해 이러한 호스트를 엽니다. [명령별 허용 도메인](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)은 목록이 열 수 있는 것과 열 수 없는 것, 그리고 명령이 나열되지 않은 호스트에 도달할 때 발생하는 일을 다룹니다.

442 446 

443`claude auto-mode defaults`를 실행하여 전체 규칙 목록을 JSON으로 인쇄하세요. 일상적인 작업이 차단되면 관리자는 `autoMode.environment` 설정을 통해 신뢰할 수 있는 리포지토리, 버킷 및 서비스를 추가할 수 있습니다: [자동 모드 구성](/docs/ko/auto-mode-config)을 참조하세요.447`claude auto-mode defaults`를 실행하여 전체 규칙 목록을 JSON으로 인쇄하세요. 일상적인 작업이 차단되면 관리자는 `autoMode.environment` 설정을 통해 신뢰할 수 있는 리포지토리, 버킷 및 서비스를 추가할 수 있습니다: [자동 모드 구성](/docs/ko/auto-mode-config)을 참조하세요.

444 448 

445작업 중인 리포지토리의 모든 분기로 푸시하고 요청과 일치하는 풀 요청을 생성하는 것은 프롬프트 없이 실행됩니다. 푸시 또는 풀 요청이 [차단 목록](#what-the-classifier-blocks-by-default)에 해당하지 않는 한(예: 리포지토리를 떠나는 비밀이나 민감한 데이터, 또는 다른 리포지토리 또는 조직을 대상으로 하는 풀 요청). 자동 모드에 머물면서 이러한 명령 전에 인간 체크포인트를 요구하려면 `permissions.ask` 규칙을 추가하세요. 이는 명령 [작성된 대로](/docs/ko/permissions#bash-rule-limits)와 일치합니다: [일반적인 경계](/docs/ko/auto-mode-config#common-boundaries)를 참조하세요.449작업 중인 리포지토리의 모든 분기로 푸시하고 요청과 일치하는 풀 요청을 생성하는 것은 프롬프트 없이 실행됩니다. 단, 푸시 또는 풀 요청이 [차단 목록](#what-the-classifier-blocks-by-default)에 해당하는 경우(예: 리포지토리를 떠나는 비밀이나 민감한 데이터 또는 다른 리포지토리나 조직을 대상으로 하는 풀 요청)는 제외됩니다. 자동 모드에 머물면서 이러한 명령 전에 인간 체크포인트를 요구하려면 `permissions.ask` 규칙을 추가하세요. 이는 명령 [작성된 대로](/docs/ko/permissions#bash-rule-limits)와 일치합니다: [일반적인 경계](/docs/ko/auto-mode-config#common-boundaries)를 참조하세요.

446 450 

447<h3 id="first-read-outside-the-working-directories">451<h3 id="first-read-outside-the-working-directories">

448 작업 디렉토리 외부의 첫 번째 읽기452 작업 디렉토리 외부의 첫 번째 읽기

449</h3>453</h3>

450 454 

451[`permissions.blockReadsOutsideWorkingDirectories`](/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)가 꺼져 있는 동안 파일 읽기는 자동 모드에서 프롬프트 없이 실행됩니다. [작업 디렉토리](/docs/ko/permissions#working-directories) 외부의 경로에서도 포함. Claude가 처음으로 Read, Grep 또는 Glob 도구를 작업 디렉토리 외부의 경로에서 사용할 때 Claude Code는 이러한 읽기를 계속 허용할지 여부를 묻습니다.455[`permissions.blockReadsOutsideWorkingDirectories`](/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)가 꺼져 있는 동안 파일 읽기는 자동 모드에서 프롬프트 없이 실행되며, [작업 디렉토리](/docs/ko/permissions#working-directories) 외부의 읽기를 포함합니다. Claude가 처음으로 해당 경로 외부의 Read, Grep 또는 Glob 도구를 사용할 때, Claude Code는 이러한 읽기를 계속 허용할지 여부를 묻습니다.

452 456 

453프롬프트는 비대화형 `-p` 실행이나 백그라운드 세션에 나타나지 않습니다. 거기서의 읽기는 이전과 같이 실행됩니다.457프롬프트는 비대화형 `-p` 실행이나 백그라운드 세션에 나타나지 않습니다. 거기서 읽기는 이전과 같이 실행됩니다.

454 458 

455답변에 관계없이 Claude는 계속 작업합니다:459답변에 관계없이 Claude는 계속 작업합니다:

456 460 

457* **계속 허용**: 읽기가 실행되고, 작업 디렉토리 외부의 이후 읽기는 이전과 같이 실행되며, Claude Code는 프롬프트가 다시 나타나지 않도록 답변을 기록합니다.461* **계속 허용**: 읽기가 실행되고, 작업 디렉토리 외부의 이후 읽기는 이전과 같이 실행되며, Claude Code는 프롬프트가 다시 나타나지 않도록 답변을 기록합니다.

458* **지금부터 차단**: 읽기가 거부되고, Claude Code는 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 사용자 설정에서 `true`로 설정합니다. 이는 파일 도구가 모든 이후 세션 및 모든 권한 모드에서 이러한 읽기를 거부하게 합니다. 나중에 Claude가 이러한 경로를 읽도록 하려면 `/add-dir`로 디렉토리를 추가하거나 설정을 제거하세요.462* **지금부터 차단**: 읽기가 거부되고, Claude Code는 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 사용자 설정에서 `true`로 설정하여 파일 도구가 모든 이후 세션 및 모든 권한 모드에서 이러한 읽기를 거부하도록 합니다. 나중에 Claude가 이러한 경로를 읽도록 하려면 `/add-dir`로 디렉토리를 추가하거나 설정을 제거하세요.

459* **다음에 다시 묻기**: 읽기가 거부되고, 작업 디렉토리 외부의 다음 읽기는 다시 프롬프트합니다.463* **다음에 다시 묻기**: 읽기가 거부되고, 작업 디렉토리 외부의 다음 읽기가 다시 프롬프트합니다.

464* **계속 허용하지만 다음에 다시 묻기**: 읽기가 실행되고, 아무것도 저장되지 않으며, 작업 디렉토리 외부의 다음 읽기가 다시 프롬프트합니다.

460 465 

461<h3 id="boundaries-you-state-in-conversation">466<h3 id="boundaries-you-state-in-conversation">

462 대화에서 명시한 경계467 대화에서 명시한 경계

463</h3>468</h3>

464 469 

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

466 471 

467경계는 규칙으로 저장되지 않습니다. 분류기는 각 검사에서 기록을 다시 읽으므로 [컨텍스트 압축](/docs/ko/costs#reduce-token-usage)이 경계를 명시한 메시지를 제거하면 경계가 손실될 수 있습니다. 확실한 보장을 위해 [거부 규칙](/docs/ko/permissions#permission-rule-syntax)을 대신 추가하세요.472경계는 규칙으로 저장되지 않습니다. 분류기는 각 검사에서 트랜스크립트에서 이를 다시 읽으므로, [컨텍스트 압축](/docs/ko/costs#reduce-token-usage)이 경계를 명시한 메시지를 제거하면 경계가 손실될 수 있습니다. 하드 보장을 위해 [거부 규칙](/docs/ko/permissions#permission-rule-syntax)을 대신 추가하세요.

468 473 

469<h3 id="approvals-you-state-in-conversation">474<h3 id="approvals-you-state-in-conversation">

470 대화에서 명시한 승인475 대화에서 명시한 승인

471</h3>476</h3>

472 477 

473Claude에게 차단된 작업이 허용된다고 말하면 분류기는 이를 승인으로 읽고 차단을 해제할 수 있습니다. 표현 방식이 작업 실행 여부와 승인이 도달하는 범위를 결정합니다:478Claude에 차단된 작업이 허용된다고 말하면, 분류기는 이를 승인으로 읽고 블록을 지울 수 있습니다. 어떻게 표현했는지에 따라 작업이 실행되는지, 그리고 승인이 얼마나 멀리 도달하는지가 결정됩니다:

474 479 

475* **작업과 세부 사항 명명**: 메시지는 작업과 위험하게 만드는 특정 사항(예: 강제 푸시의 분기)을 명명해야 합니다. 동사만 명명하는 것은 아무것도 해제하지 않으므로 "강제 푸시할 수 있습니다"는 차단을 제자리에 두고 있습니다.480* **작업과 그 세부 사항의 이름 지정**: 메시지는 작업과 강제 푸시의 분기와 같이 위험하게 만드는 특정 사항의 이름을 지정해야 합니다. 동사만 이름을 지정하면 아무것도 지워지지 않으므로 "강제 푸시할 수 있습니다"는 블록을 제자리에 두고 있습니다.

476* **한 작업을 포함하도록 예상**: 승인은 명명한 파괴적 작업을 포함하므로 이후 작업은 승인을 부여하지 않으면 다시 차단됩니다. 일상적인 패턴을 한 번에 하나씩 승인하는 것을 중지하려면 [`autoMode.allow`](/docs/ko/auto-mode-config#override-the-block-and-allow-rules)에 추가하세요.481* **한 작업을 다루도록 예상**: 승인은 이름을 지정한 파괴적 작업을 다루므로, 나중 작업은 승인을 상시로 부여하지 않는 한 다시 차단됩니다. 일상적인 패턴을 한 번에 하나씩 승인하는 것을 중단하려면 [`autoMode.allow`](/docs/ko/auto-mode-config#override-the-block-and-allow-rules)에 추가하세요.

477* **일부 차단은 제자리에 유지됨**: [분류기의 우선 순위 순서](/docs/ko/auto-mode-config#override-the-block-and-allow-rules)는 승인이 도달할 수 있는 차단을 설정합니다. 이를 실행할 수 없는 단계를 실행하려면 [자동 모드를 떠나고](#switch-permission-modes) 권한 프롬프트에 답하세요.482* **일부 블록은 제자리에 유지됨**: [분류기의 우선 순위 순서](/docs/ko/auto-mode-config#override-the-block-and-allow-rules)는 승인이 도달할 수 있는 블록을 설정합니다. 이를 실행할 수 없는 단계를 실행하려면 [자동 모드를 떠나](#switch-permission-modes) 권한 프롬프트에 답하세요.

478 483 

479<h3 id="when-auto-mode-falls-back">484<h3 id="when-auto-mode-falls-back">

480 자동 모드가 폴백할 때485 자동 모드가 폴백할 때

481</h3>486</h3>

482 487 

483자동 모드가 세션의 작업을 승인할 수 없을 때 발생하는 일은 경우에 따라 다릅니다:488자동 모드가 세션의 작업을 승인할 수 없을 때, 어떤 일이 발생하는지는 경우에 따라 다릅니다:

484 489 

485* **차단된 작업**: Claude Code는 알림을 표시하고 `/permissions` 아래 **최근 거부됨** 탭에 작업을 나열합니다. 여기서 `r`을 눌러 수동 승인으로 다시 시도할 수 있습니다. 분류기가 [작업에 대한 판정을 생성하지 않을 때](/docs/ko/errors#auto-mode-cannot-determine-the-safety-of-an-action). 자동 모드와 별개인 안전 검사가 분류기의 자체 요청을 거부했거나 응답이 구문 분석되지 않았기 때문에 Claude Code는 알림이나 **최근 거부됨** 항목 없이 작업을 거부합니다.490* **차단된 작업**: Claude Code는 알림을 표시하고 `/permissions` 아래의 **최근 거부됨** 탭에 작업을 나열하며, 여기서 `r`을 눌러 수동 승인으로 다시 시도할 수 있습니다. 분류기가 [작업에 대한 판정을 생성하지 않을](/docs/ko/errors#auto-mode-cannot-determine-the-safety-of-an-action) 때(자동 모드와 별개의 안전 검사가 분류기의 자체 요청을 거부했거나 응답이 구문 분석되지 않았기 때문), Claude Code는 알림이나 **최근 거부됨** 항목 없이 작업을 거부합니다.

486* **반복된 차단**: 분류기가 작업을 연속으로 3번 또는 총 20번 차단하면 자동 모드가 일시 중지되고 Claude Code는 프롬프트를 다시 시작합니다. 프롬프트된 작업을 승인하면 자동 모드가 재개됩니다. 이러한 임계값은 구성할 수 없습니다. 허용된 작업은 연속 카운터를 재설정하는 반면 총 카운터는 세션에 대해 유지되고 자체 제한이 폴백을 트리거할 때만 재설정됩니다. Claude Code는 [자동 모드와 별개인 안전 검사가 분류기의 요청을 거부할 때](/docs/ko/errors#auto-mode-cannot-determine-the-safety-of-an-action) 거부를 어느 임계값에도 계산하지 않습니다. 연결된 항목은 Claude Code가 이러한 거부를 처리하는 방법을 다룹니다.491* **반복된 블록**: 분류기가 작업을 연속으로 3번 또는 총 20번 차단하면, 자동 모드가 일시 중지되고 Claude Code가 프롬프트를 다시 시작합니다. 프롬프트된 작업을 승인하면 자동 모드가 재개됩니다. 이러한 임계값은 구성할 수 없습니다. 허용된 작업은 연속 카운터를 재설정하는 반면, 총 카운터는 세션에 대해 유지되고 자체 한계가 폴백을 트리거할 때만 재설정됩니다. Claude Code는 [자동 모드와 별개의 안전 검사가 분류기의 요청을 거부할](/docs/ko/errors#auto-mode-cannot-determine-the-safety-of-an-action) 때 거부를 어느 임계값에도 계산하지 않습니다. 연결된 항목은 Claude Code가 이러한 거부를 처리하는 방법을 다룹니다.

487* **프롬프트할 수 없는 세션**: [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 없는 [비대화형](/docs/ko/headless) `-p` 실행은 폴백할 프롬프트가 없습니다. 반복된 차단이 임계값에 도달하면 작업이 실행되지 않고 Claude는 계속 작업합니다. [자동 모드와 별개인 안전 검사가 분류기의 요청을 거부할 때](/docs/ko/errors#auto-mode-cannot-determine-the-safety-of-an-action)도 동일하게 적용됩니다. Claude Code는 어느 경우든 실행을 중지하지 않습니다.492* **프롬프트할 수 없는 세션**: [비대화형](/docs/ko/headless) `-p` 실행(프롬프트 없음 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags))은 폴백할 프롬프트가 없습니다. 반복된 블록이 임계값에 도달하면, 작업이 실행되지 않고 Claude가 계속 작업합니다. [자동 모드와 별개의 안전 검사가 분류기의 요청을 거부할](/docs/ko/errors#auto-mode-cannot-determine-the-safety-of-an-action) 때도 동일하게 적용됩니다. Claude Code는 어느 경우든 실행을 중지하지 않습니다.

488* **서버에서 판정 없음**: [서버 측 분류기 검토](#server-side-classifier-review) 아래에서 Claude Code는 서버가 판정을 제공하지 않는 작업을 거부하고, 연속으로 판정이 없는 10개의 응답 후 턴을 중지합니다. [서버가 안전 판정을 반환하지 않음](/docs/ko/errors#the-server-returned-no-safety-verdict)을 참조하세요.493* **서버의 판정 없음**: [서버 측 분류기 검토](#server-side-classifier-review)에서 Claude Code는 서버가 판정을 제공하지 않는 작업을 거부하고, 연속으로 판정이 없는 10개의 응답 후 턴을 중지합니다. [서버가 안전 판정을 반환하지 않음](/docs/ko/errors#the-server-returned-no-safety-verdict)을 참조하세요.

489* **검사 중 모드 전환**: 분류기 검사가 보류 중일 때 권한 모드를 전환하면 Claude Code는 새 모드가 요청하지 않았을 판정을 버립니다. 대신 승인을 위해 프롬프트되거나 작업이 [`dontAsk` 모드](#allow-only-pre-approved-tools-with-dontask-mode)에서 자동 거부됩니다.494* **검사 중 모드 전환**: 분류기 검사가 보류 중일 때 권한 모드를 전환하면, Claude Code는 새 모드가 요청하지 않았을 판정을 버리고 대신 승인을 프롬프트하거나 [`dontAsk` 모드](#allow-only-pre-approved-tools-with-dontask-mode)에서 작업을 자동 거부합니다.

490 495 

491반복된 차단은 일반적으로 분류기가 인프라에 대한 컨텍스트를 놓치고 있음을 의미합니다. `/feedback`을 사용하여 거짓 양성을 보고하거나 관리자가 [신뢰할 수 있는 인프라를 구성](/docs/ko/auto-mode-config)하도록 하세요.496반복된 블록은 일반적으로 분류기가 인프라에 대한 컨텍스트를 놓치고 있음을 의미합니다. `/feedback`을 사용하여 거짓 양성을 보고하거나, 관리자가 [신뢰할 수 있는 인프라를 구성](/docs/ko/auto-mode-config)하도록 하세요.

492 497 

493<span id="how-the-classifier-evaluates-actions" />498<span id="how-the-classifier-evaluates-actions" />

494 499 

495<AccordionGroup>500<AccordionGroup>

496 <Accordion title="분류기가 작업을 평가하는 방법">501 <Accordion title="분류기가 작업을 평가하는 방법">

497 각 작업은 고정된 결정 순서를 거칩니다. 첫 번째 일치 단계가 승리합니다:502 각 작업은 고정된 결정 순서를 거칩니다. 첫 번째 일치하는 단계가 승리합니다:

498 503 

499 1. [허용, 요청 또는 거부 규칙](/docs/ko/permissions#manage-permissions)과 일치하는 작업은 다음 예외를 제외하고 즉시 해결됩니다:504 1. [허용, 요청 또는 거부 규칙](/docs/ko/permissions#manage-permissions)과 일치하는 작업은 다음 예외를 제외하고 즉시 해결됩니다:

500 * [보호된 경로](#protected-paths)에 대한 쓰기는 허용 규칙이 일치할 때도 분류기로 라우팅됩니다. `rm` 및 `rmdir` 제거가 Claude Code v2.1.218 이상에서 [중요 경로](#critical-paths)를 대상으로 하는 경우도 마찬가지입니다.505 * [보호된 경로](#protected-paths)에 대한 쓰기는 허용 규칙이 일치할 때도 분류기로 라우팅됩니다.

501 * [`requiresUserInteraction`](/docs/ko/mcp#require-approval-for-a-specific-tool)으로 표시된 MCP 도구는 허용 규칙이 일치할 때도 직접 프롬프트합니다. 조직이 [요청으로 설정한](/docs/ko/mcp#organization-controls-on-connector-tools) 커넥터 도구도 해당 설정이 Claude Code에 도달하는 세션에서 마찬가지입니다.506 * 허용 규칙은 [중요 경로](#critical-paths)를 대상으로 하는 `rm` 및 `rmdir` 제거를 승인하지 않습니다.

502 * [명령별 허용 도메인](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)을 전달하는 셸 명령도 허용 규칙이 일치할 때 분류기로 라우팅됩니다. 규칙이 명령을 승인하기 때문입니다. 호스트가 아닙니다.507 * [`requiresUserInteraction`](/docs/ko/mcp#require-approval-for-a-specific-tool)으로 표시된 MCP 도구는 허용 규칙이 일치할 때도 직접 프롬프트하고, 조직이 [이를 `ask`로 설정한](/docs/ko/mcp#organization-controls-on-connector-tools) 커넥터 도구도 해당 설정이 Claude Code에 도달하는 세션에서 프롬프트합니다.

503 * `Bash(git push *)`와 같은 명령의 콘텐츠에 일치하는 규칙을 요청하면 권한 프롬프트로 폴백합니다.508 * [명령별 허용 도메인](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)을 전달하는 셸 명령도 규칙이 명령을 승인하지만 호스트를 승인하지 않기 때문에 허용 규칙이 일치할 때도 분류기로 라우팅됩니다.

504 2. 읽기 전용 작업 및 작업 디렉토리의 파일 편집은 자동 승인됩니다. [보호된 경로](#protected-paths) 및 [작업 디렉토리 외부의 첫 번째 읽기](#first-read-outside-the-working-directories)에 대한 쓰기는 제외됩니다. 이는 프롬프트합니다.509 * `Bash(git push *)`와 같은 명령의 콘텐츠에 일치하는 요청 규칙은 권한 프롬프트로 폴백합니다.

505 * [서버 측 분류기 검토](#server-side-classifier-review)가 있는 세션에서 읽기 전용 및 [샌드박스된](/docs/ko/sandboxing#sandbox-modes) 셸 명령은 해당 검토를 기다리고 플래그가 지정되면 차단됩니다.510 * [심볼릭 링크 검사](/docs/ko/permissions#symlinks)가 보호된 경로로 해결하는 쓰기는 Claude가 요청한 경로 자체가 보호되지 않을 때 프롬프트합니다.

506 3. 다른 모든 것은 분류기로 이동합니다. 단계 1에서 직접 프롬프트하는 커넥터 도구 및 `requiresUserInteraction` MCP 도구는 분류기에 도달하지 않으므로 조직 필수 승인이나 동의 단계도 자동 승인되지 않습니다.511 2. 읽기 전용 작업 및 작업 디렉토리의 파일 편집은 자동 승인되며, [보호된 경로](#protected-paths) 및 [작업 디렉토리 외부의 첫 번째 읽기](#first-read-outside-the-working-directories)에 대한 쓰기는 제외되며, 이는 프롬프트합니다.

507 4. 분류기가 차단하면 Claude는 이유를 받고 대안을 시도합니다. 대부분의 세션에서 이유는 분류기가 일치한 규칙(예: `[Data Exfiltration]`)을 명명하며, 서면 설명을 제공하지 않습니다. [거부 검토](/docs/ko/auto-mode-config#review-denials)를 참조하세요.512 * [서버 측 분류기 검토](#server-side-classifier-review)가 있는 세션에서는 읽기 전용 및 [샌드박스된](/docs/ko/sandboxing#sandbox-modes) 셸 명령이 해당 검토를 기다리고 이를 플래그하면 차단됩니다.

508 513 * 작업 디렉토리 내의 쓰기로 [심볼릭 링크 검사](/docs/ko/permissions#symlinks)가 외부 위치로 해결되면 프롬프트합니다.

509 자동 모드에 들어가면 임의의 코드 실행을 부여하는 광범위한 허용 규칙이 삭제됩니다:514 3. 다른 모든 것은 [중요 경로 제거](#critical-paths)의 기본 처리를 제외하고 분류기로 이동합니다. 단계 1에서 직접 프롬프트하는 커넥터 도구 및 `requiresUserInteraction` MCP 도구는 분류기에 도달하지 않으므로, 조직 필수 승인이나 동의 단계도 자동 승인되지 않습니다.

515 4. 분류기가 차단하면, Claude는 이유를 받고 대안을 시도합니다. 대부분의 세션에서 이유는 분류기가 일치한 규칙(예: `[Data Exfiltration]`)의 이름을 지정하며, 서면 설명을 제공하지 않습니다. [거부 검토](/docs/ko/auto-mode-config#review-denials)를 참조하세요.

516 

517 자동 모드에 들어갈 때, 임의의 코드 실행을 부여하는 광범위한 허용 규칙이 삭제됩니다:

510 518 

511 * 무조건 `Bash(*)` 또는 `PowerShell(*)`519 * 무조건 `Bash(*)` 또는 `PowerShell(*)`

512 * `Bash(python*)`과 같은 와일드카드 인터프리터520 * `Bash(python*)`과 같은 와일드카드 인터프리터

513 * 패키지 관리자 실행 명령521 * 패키지 관리자 실행 명령

514 * `Agent` 허용 규칙522 * `Agent` 허용 규칙

515 * [`Monitor`](/docs/ko/tools-reference#monitor-tool) 허용 규칙. Claude Code는 Monitor 명령을 셸을 통해 실행하기 때문입니다.523 * [`Monitor`](/docs/ko/tools-reference#monitor-tool) 허용 규칙(Claude Code는 Monitor 명령을 셸을 통해 실행하기 때문)

516 524 

517 `Bash(npm test)`와 같은 좁은 규칙은 유효합니다. Claude Code는 자동 모드를 떠날 때 삭제된 규칙을 복원합니다. v2.1.236 이전에는 Claude Code가 자동 모드에서 `Monitor` 허용 규칙을 유효하게 두었으므로 전체 도구와 일치하는 규칙이 분류기 검토 없이 Monitor 명령을 승인했습니다.525 `Bash(npm test)`와 같은 좁은 규칙은 유효합니다. Claude Code는 자동 모드를 떠날 때 삭제된 규칙을 복원합니다. v2.1.236 이전에는 Claude Code가 자동 모드에서 `Monitor` 허용 규칙을 유효하게 두었으므로, 전체 도구와 일치하는 규칙이 분류기 검토 없이 Monitor 명령을 승인했습니다.

518 526 

519 Claude Code는 또한 `git reset --hard` 또는 `rm -rf`와 같이 커밋되지 않은 작업을 삭제할 명령 전에 `git status`를 자체적으로 실행하고 분류기에 스테이징된, 수정된 또는 추적되지 않은 작업이 있는지 표시합니다. Claude Code는 리포지토리의 git 구성이 `status.showUntrackedFiles=no`를 설정할 때도 해당 검사에서 추적되지 않은 파일을 보고합니다.527 Claude Code는 또한 `git reset --hard` 또는 `rm -rf`와 같이 커밋되지 않은 작업을 버릴 명령 전에 `git status`를 자체적으로 실행하고, 스테이징되거나 수정되거나 추적되지 않은 작업이 있는지 분류기에 표시합니다. Claude Code는 리포지토리의 git 구성이 `status.showUntrackedFiles=no`를 설정할 때도 해당 검사에서 추적되지 않은 파일을 보고합니다.

520 528 

521 Claude Code 자체가 보낸 분류기 요청에서 분류기는 사용자 메시지, 파일 읽기 및 검색과 같은 읽기 전용 조회 이외의 도구 호출, 그리고 CLAUDE.md 콘텐츠를 봅니다. 도구 결과는 이러한 요청에서 제거되므로 파일이나 웹 페이지의 악의적인 콘텐츠는 분류기를 직접 조작할 수 없습니다.529 Claude Code 자체가 보낸 분류기 요청에서 분류기는 사용자 메시지, 파일 읽기 및 검색과 같은 읽기 전용 조회를 제외한 도구 호출, 그리고 CLAUDE.md 콘텐츠를 봅니다. 도구 결과는 이러한 요청에서 제거되므로, 파일이나 웹 페이지의 악의적인 콘텐츠는 분류기를 직접 조작할 수 없습니다.

522 530 

523 [PostToolUse 훅의 `classifierContext` 필드](/docs/ko/hooks#annotate-a-result-for-the-auto-mode-classifier)로 호출의 결과에 주석을 달 수 있습니다. 분류기는 이를 애플리케이션 제공 컨텍스트로 읽습니다. 필드에는 Claude Code v2.1.236 이상이 필요합니다.531 [PostToolUse 훅의 `classifierContext` 필드](/docs/ko/hooks#annotate-a-result-for-the-auto-mode-classifier)로 호출의 결과에 주석을 달 수 있으며, 분류기는 이를 애플리케이션 제공 컨텍스트로 읽습니다. 필드에는 Claude Code v2.1.236 이상이 필요합니다.

524 532 

525 별도의 서버 측 프로브는 들어오는 도구 결과를 스캔하고 Claude가 읽기 전에 의심스러운 콘텐츠에 플래그를 지정합니다. 이러한 계층이 함께 작동하는 방식에 대한 자세한 내용은 [자동 모드 발표](https://claude.com/blog/auto-mode) 및 [엔지니어링 심층 분석](https://www.anthropic.com/engineering/claude-code-auto-mode)을 참조하세요.533 별도의 서버 측 프로브는 들어오는 도구 결과를 스캔하고 Claude가 읽기 전에 의심스러운 콘텐츠에 플래그를 지정합니다. 이러한 계층이 함께 작동하는 방식에 대한 자세한 내용은 [자동 모드 공지](https://claude.com/blog/auto-mode) 및 [엔지니어링 심층 분석](https://www.anthropic.com/engineering/claude-code-auto-mode)을 참조하세요.

526 </Accordion>534 </Accordion>

527 535 

528 <Accordion title="자동 모드가 서브에이전트를 처리하는 방법">536 <Accordion title="자동 모드가 서브에이전트를 처리하는 방법">

529 분류기는 [서브에이전트](/docs/ko/sub-agents) 작업을 세 지점에서 확인합니다:537 분류기는 [서브에이전트](/docs/ko/sub-agents) 작업을 세 지점에서 검사합니다:

530 538 

531 1. 서브에이전트가 시작되기 전에 위임된 작업 설명이 평가되므로 위험해 보이는 작업은 생성 시간에 차단됩니다.539 1. 서브에이전트가 시작되기 전에, 위임된 작업 설명이 평가되므로 위험해 보이는 작업은 생성 시간에 차단됩니다.

532 2. 서브에이전트가 실행되는 동안 각 작업은 부모 세션과 동일한 규칙으로 분류기를 거치며, 서브에이전트의 frontmatter의 모든 `permissionMode`는 무시됩니다.540 2. 서브에이전트가 실행되는 동안, 각 작업은 부모 세션과 동일한 규칙으로 분류기를 거치며, 서브에이전트의 프론트매터의 모든 `permissionMode`는 무시됩니다.

533 3. 서브에이전트가 완료되면 분류기는 부모가 보고서를 읽기 전에 서브에이전트의 작업과 최종 보고서를 검토합니다. 분류기가 서브에이전트의 작업이나 보고서에 플래그를 지정하거나 별도의 API 안전 검사가 검토를 거부하면 보고서는 여전히 전달되며 보안 경고가 앞에 붙습니다. 분류기를 검토할 수 없으면 보고서는 서브에이전트의 작업을 확인한 후 작업하도록 주의하는 메모와 함께 도착합니다.541 3. 서브에이전트가 완료되면, 분류기는 부모가 보고서를 읽기 전에 작업과 최종 보고서를 검토합니다. 분류기가 서브에이전트의 작업이나 보고서에 플래그를 지정하거나 별도의 API 안전 검사가 검토를 거부하면, 보고서는 여전히 전달되며 보안 경고가 앞에 붙습니다. 분류기를 검토할 수 없으면, 보고서는 서브에이전트의 작업을 행동하기 전에 확인하도록 하는 메모와 함께 도착합니다.

534 </Accordion>542 </Accordion>

535 543 

536 <Accordion title="비용 및 지연">544 <Accordion title="비용 및 지연">

537 분류기는 기본적으로 `/model` 선택이 아닌 Claude Sonnet 5에서 실행됩니다. Anthropic이 서버 측에서 구성하는 분류기 모델이 해당 기본값보다 우선합니다. 세션의 모델이 Claude Sonnet 4.6이거나 [`availableModels`](/docs/ko/model-config#restrict-model-selection)이 Sonnet 5를 제외할 때 분류기는 세션의 모델 대신 실행되거나 세션이 [Fable 모델](/docs/ko/model-config#work-with-fable)에서 실행될 때 Opus 모델에서 실행됩니다. Anthropic API 이외의 제공자에서 해당 Opus 폴백은 제공자의 기본 Opus 모델입니다.545 분류기는 기본적으로 `/model` 선택이 아닌 Claude Sonnet 5에서 실행됩니다. Anthropic이 서버 측에서 구성하는 분류기 모델이 해당 기본값보다 우선합니다. 세션의 모델이 Claude Sonnet 4.6이거나 [`availableModels`](/docs/ko/model-config#restrict-model-selection)이 Sonnet 5를 제외할 때, 분류기는 세션의 모델 대신 실행되거나, 세션이 [Fable 모델](/docs/ko/model-config#work-with-fable)에서 실행될 때 Opus 모델에서 실행됩니다. Anthropic API 이외의 제공자에서는 해당 Opus 폴백이 제공자의 기본 Opus 모델입니다.

546 

547 세션의 첫 번째 자동 모드 요청은 Sonnet 5 기본값을 검증합니다: 요청이 성공하면 Sonnet 5는 세션의 분류기 모델로 유지되고, 모델을 사용할 수 없기 때문에 실패하면 세션은 폴백을 대신 사용합니다. 검증이 정착된 후, 분류기의 모델은 세션에 대해 변경되지 않습니다.

538 548 

539 Enterprise 플랜 및 Claude API를 사용하는 계정, [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws), Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 분류기 호출은 토큰 사용량에 계산됩니다. 각 검사는 기록의 일부와 보류 중인 작업을 보내며 실행 전에 왕복을 추가합니다. 읽기 및 보호된 경로 외부의 작업 디렉토리 편집은 분류기를 건너뛰므로 오버헤드는 주로 셸 명령 및 네트워크 작업에서 나옵니다. 서버가 세션의 모델 요청의 일부로 작업을 검토하는 경우 계산할 별도의 분류기 호출이 없습니다. [서버 측 분류기 검토](#server-side-classifier-review)를 참조하세요.549 Enterprise 플랜 및 Claude API를 사용하는 계정, [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws), Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 분류기 호출이 토큰 사용량에 계산됩니다. 각 검사는 트랜스크립트의 일부와 보류 중인 작업을 보내며, 실행 전에 왕복을 추가합니다. 읽기 및 보호된 경로 외부의 작업 디렉토리 편집은 분류기를 건너뛰므로, 오버헤드는 주로 셸 명령 및 네트워크 작업에서 나옵니다. 서버가 세션의 모델 요청의 일부로 작업을 검토하는 경우, 계산할 별도의 분류기 호출이 없습니다. [서버 측 분류기 검토](#server-side-classifier-review)를 참조하세요.

540 550 

541 샌드박스된 네트워크 액세스는 명령별 분류기 요청을 추가하지 않습니다. 분류기는 [명령이 명명하는 호스트](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)를 명령과 함께 한 번의 검토로 판단하고, Claude Code는 분류기를 다시 호출하지 않고 승인된 목록에 대해 각 연결을 확인합니다.551 샌드박스된 네트워크 액세스는 명령별 분류기 요청을 추가하지 않습니다. 분류기는 [명령이 이름을 지정하는 호스트](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)를 명령과 함께 한 번의 검토로 판단하고, Claude Code는 분류기를 다시 호출하지 않고 각 연결을 승인된 목록에 대해 검사합니다.

542 </Accordion>552 </Accordion>

543</AccordionGroup>553</AccordionGroup>

544 554 


566 576 

567`bypassPermissions` 모드는 권한 프롬프트와 안전 확인을 비활성화하여 [보호된 경로](#protected-paths)에 대한 쓰기를 포함한 도구 호출이 즉시 실행되도록 합니다.577`bypassPermissions` 모드는 권한 프롬프트와 안전 확인을 비활성화하여 [보호된 경로](#protected-paths)에 대한 쓰기를 포함한 도구 호출이 즉시 실행되도록 합니다.

568 578 

569[작업 없음 모드가 자동 승인하는 작업](#actions-no-mode-auto-approves)은 이 모드에서도 계속 프롬프트를 표시합니다.579[작업 없음 모드가 자동 승인하는 작업](#actions-no-mode-auto-approves)은 이 모드에서도 계속 프롬프트를 표시합니다. [PowerShell의 Remove-Item](#remove-item-in-powershell) 거부도 이 모드에서 적용됩니다.

570 580 

571두 가지 [세션 간 메시징](/docs/ko/cross-session-messaging) 보안 조치는 이 모드에서, 그리고 권한 우회가 가능한 계획 모드 세션에서도 계속 적용됩니다:581두 가지 [세션 간 메시징](/docs/ko/cross-session-messaging) 보안 조치는 이 모드에서, 그리고 권한 우회가 가능한 대화형 터미널 계획 모드 세션에서도 계속 적용됩니다:

572 582 

573* 이 머신을 넘어 다른 세션으로의 메시지에 대한 [`isolatePeerMachines`](/docs/ko/settings-reference#isolatepeermachines) 승인 프롬프트는 계속 나타납니다.583* 이 머신을 넘어 다른 세션으로의 메시지에 대한 [`isolatePeerMachines`](/docs/ko/settings-reference#isolatepeermachines) 승인 프롬프트는 계속 나타납니다.

574* [`crossSessionInbound`](/docs/ko/cross-session-messaging#control-inbound-messages) 값이 적용되지 않을 때, Claude Code는 다른 세션에서의 인바운드 메시지를 승인 대기 상태로 유지하며, 송신 세션이 권한 프롬프트도 우회 중임을 식별할 때만 묻지 않고 전달합니다. 메시지가 대기 중인 상태에서 권한 모드를 종료하면, Claude Code는 인바운드 규칙을 다시 적용하고 현재 수락하는 대기 중인 메시지를 전달합니다.584* [`crossSessionInbound`](/docs/ko/cross-session-messaging#control-inbound-messages) 값이 적용되지 않을 때, Claude Code는 다른 세션에서의 인바운드 메시지를 승인 대기 상태로 유지하며, 송신 세션이 권한 프롬프트도 우회 중임을 식별할 때만 묻지 않고 전달합니다. 메시지가 대기 중인 상태에서 권한 모드를 종료하면, Claude Code는 인바운드 규칙을 다시 적용하고 현재 수락하는 대기 중인 메시지를 전달합니다.


623 633 

624[`--restricted`](/docs/ko/cli-reference#cli-flags)로 시작된 세션에서(Claude Code v2.1.248 이상 필요) 분류기는 보호된 경로 쓰기를 승인할 수 없습니다.634[`--restricted`](/docs/ko/cli-reference#cli-flags)로 시작된 세션에서(Claude Code v2.1.248 이상 필요) 분류기는 보호된 경로 쓰기를 승인할 수 없습니다.

625 635 

626설정 파일의 [`permissions.allow`](/docs/ko/permissions#manage-permissions) 규칙은 보호된 경로 쓰기를 사전에 승인하지 않습니다. 안전 확인은 Claude Code가 설정에서 allow 규칙을 평가하기 전에 실행되므로, `~/.claude/settings.json` 또는 `.claude/settings.json`의 `Edit(.claude/**)` 같은 항목은 위 표의 모드별 결과를 변경하지 않습니다. 프롬프트를 표시하는 모드에서는 `.claude/` 쓰기에 대한 프롬프트가 **Yes, and allow Claude to edit its own settings for this session**을 제공하며, 이는 해당 세션에서 나중의 `.claude/` 쓰기를 다시 프롬프트하지 않고 승인합니다.636보호된 경로 쓰기를 분류기로 라우팅하는 모드에서는 [symlink check](/docs/ko/permissions#symlinks)가 보호된 경로로 확인하는 쓰기가 Claude가 요청한 경로 자체가 보호되지 않을 때 대신 프롬프트를 표시합니다.

637 

638설정 파일의 [`permissions.allow`](/docs/ko/permissions#manage-permissions) 규칙은 보호된 경로 쓰기를 사전에 승인하지 않습니다. 안전 확인은 Claude Code가 설정에서 allow 규칙을 평가하기 전에 실행되므로, `~/.claude/settings.json` 또는 `.claude/settings.json`의 `Edit(.claude/**)` 같은 항목은 위 표의 모드별 결과를 변경하지 않습니다. 프롬프트를 표시하는 모드에서는 프로젝트의 `.claude/` 폴더 또는 `~/.claude/`에 대한 쓰기 프롬프트가 다음 세션 범위 옵션 중 하나를 제공할 수 있습니다:

639 

640* 프로젝트의 `.claude/` 폴더의 경우: **Yes, and allow Claude to edit files in this project's .claude folder for this session**

641* `~/.claude/`의 경우: **Yes, and allow Claude to edit files in its \~/.claude folder for this session**

627 642 

628보호된 디렉토리:643보호된 디렉토리:

629 644 


661| 모드 | Claude Code가 critical-path 제거로 수행하는 작업 |676| 모드 | Claude Code가 critical-path 제거로 수행하는 작업 |

662| :- | :- |677| :- | :- |

663| `default`, `acceptEdits` | 승인을 요청합니다 |678| `default`, `acceptEdits` | 승인을 요청합니다 |

664| `plan` | 승인을 요청합니다. [계획 중에 auto mode를 사용할 수 있고](#analyze-before-you-edit-with-plan-mode) bypass permissions를 사용할 수 없으면 대신 분류기로 보냅니다 |679| `plan` | 승인을 요청합니다. [계획 중에 분류기가 명령을 검토할 때](#analyze-before-you-edit-with-plan-mode) bypass permissions를 사용할 수 없으면 `auto` mode처럼 처리합니다 |

665| `auto` | [분류기](#eliminate-prompts-with-auto-mode)로 보냅니다 |680| `auto` | 터미널에서 시간 제한과 함께 승인을 요청합니다. 다른 곳에서는 거부합니다 |

666| `dontAsk` | 거부합니다 |681| `dontAsk` | 거부합니다 |

667| `bypassPermissions` | 승인을 요청합니다 |682| `bypassPermissions` | 터미널에서 시간 제한과 함께 승인을 요청합니다 |

683 

684명시적 [ask 규칙](/docs/ko/permissions#manage-permissions)이 명령과 일치하면 Claude Code는 `auto` mode에서도 승인을 요청합니다. 시간 제한 없이 요청합니다. 승인을 요청하는 모드에서 [`PermissionRequest` hook](/docs/ko/hooks#permissionrequest)은 프롬프트에 답할 수 있습니다.

668 685 

669명시적 [ask 규칙](/docs/ko/permissions#manage-permissions)이 명령과 일치하면 Claude Code는 `auto` mode에서도 승인을 요청합니다. 승인을 요청하는 모드에서 [`PermissionRequest` hook](/docs/ko/hooks#permissionrequest)은 다른 프롬프트처럼 프롬프트에 답할 수 있습니다.686`auto` 및 `bypassPermissions` 처리에는 Claude Code v2.1.281 이상이 필요합니다. 이를 끄려면 Claude Code를 시작하는 환경에서 [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT=1`](/docs/ko/env-vars#variables)을 설정합니다. `auto` mode에서 critical-path 제거는 대신 분류기로 이동하고, `bypassPermissions` mode에서 프롬프트는 시간 제한이 없습니다.

687 

688`auto` 및 `bypassPermissions` mode에서 터미널 프롬프트는 2분 카운트다운을 표시합니다:

689 

690* 답변하기 전에 카운트다운이 끝나면 Claude Code는 명령을 거부하고 Claude에게 대신 수행할 작업을 알려주므로 무인 세션이 계속 작동합니다.

691* 프롬프트가 열려 있는 동안 아무 키나 누르면 카운트다운이 중지되고 프롬프트는 답변을 기다립니다.

692* 세션에서 이러한 프롬프트 3개가 답변 없이 끝나면 Claude Code는 더 이상 표시하지 않고 critical-path 제거를 즉시 거부합니다. 새 메시지를 보내면 카운트가 다시 시작됩니다.

693 

694`auto` mode에서 Claude Code가 터미널 프롬프트를 표시할 수 없는 곳에서는 명령을 즉시 거부합니다. 예를 들어 `-p`를 사용한 [non-interactive 실행](/docs/ko/headless), [Agent SDK](/docs/ko/agent-sdk/permissions) 세션, VS Code 확장의 채팅 패널 및 Desktop 앱에서입니다. 거부는 Claude에게 삭제하려던 항목을 보고하고 제거를 사용자에게 맡기도록 알려줍니다.

670 695 

671Claude Code는 `rm` 또는 `rmdir` 대상을 다음 중 하나일 때 critical path로 취급합니다:696Claude Code는 `rm` 또는 `rmdir` 대상을 다음 중 하나일 때 critical path로 취급합니다:

672 697 


684* `$DIR`과 같은 변수의 경우 각 확장을 보호하여 변수가 설정되지 않았거나 비어 있을 때 셸이 오류로 중지되도록 합니다(예: `rm -rf "${DIR:?}"/*`). 또는 리터럴 경로를 사용합니다709* `$DIR`과 같은 변수의 경우 각 확장을 보호하여 변수가 설정되지 않았거나 비어 있을 때 셸이 오류로 중지되도록 합니다(예: `rm -rf "${DIR:?}"/*`). 또는 리터럴 경로를 사용합니다

685* `$HOME`과 같이 일반적으로 설정되는 변수의 경우 리터럴 경로를 사용합니다710* `$HOME`과 같이 일반적으로 설정되는 변수의 경우 리터럴 경로를 사용합니다

686 711 

687이러한 방식으로 모든 확장이 보호되는 제거는 critical-path 제거가 아니므로 `bypassPermissions` mode에서는 프롬프트 없이 실행됩니다.712이러한 방식으로 모든 확장이 보호되는 제거는 이 확인을 통과하므로 `bypassPermissions` mode에서는 이 섹션의 다른 확인이 플래그하지 않는 한 프롬프트 없이 실행됩니다.

713 

714Claude Code는 또한 이러한 대상을 critical path로 취급합니다:

715 

716* **셸 변수 다음에 하나의 최상위 디렉토리 이름**, 예: `rm -rf "$TMPDIR/mnt"`: 변수가 비어 있으면 명령이 `/mnt`를 제거합니다. 이는 `mnt`, `tmp`, `usr`, `Users`와 같은 일반적인 최상위 이름을 포함합니다.

717* **같은 명령이 디렉토리 출력 치환에서 할당하는 변수**, 예: `D=$(pwd); rm -rf "$D"` 또는 `$(git rev-parse --show-toplevel)`에서의 할당: 값은 작업 디렉토리 또는 저장소 루트의 이름을 지정할 수 있습니다. `"${D:?}"` 보호는 이 확인을 통과하지 않습니다. 변수가 비어 있지 않기 때문입니다. 대신 리터럴 경로를 사용합니다.

718* **백슬래시만 있는 대상**, 예: `rm -rf "\\"`: Windows의 Git Bash는 단일 백슬래시를 현재 드라이브의 루트로 읽으므로 확인이 모든 플랫폼에 적용됩니다.

719* **명령 치환의 출력만**, 예: `rm -rf "$(pwd)"`(recursive `rm`일 때): Claude Code는 명령이 실행되기 전에 대상을 확인할 수 없으므로 프롬프트는 Claude에게 치환을 먼저 자체적으로 실행한 다음 인쇄하는 리터럴 경로를 제거하도록 알려줍니다. 이 확인을 끄려면 Claude Code를 시작하는 환경에서 [`CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT=1`](/docs/ko/env-vars#variables)을 설정합니다.

720 

721후행 명령 치환이 비어 있을 수 있을 때(예: `rm -rf ~/$(cmd)`), Claude Code는 남아 있을 경로(이 예에서는 홈 디렉토리)를 확인합니다.

688 722 

689`(...)` 내부의 서브셸, `{ ...; }` 내부의 brace group, `$(...)` 또는 백틱을 사용한 명령 치환, 또는 `<(...)` 내부의 프로세스 치환 내에 제거를 숨기는 것은 확인을 건너뛰지 않습니다. Claude Code는 `(rm -rf ~)` 또는 `echo "$(rm -rf ~)"`처럼 중첩된 형식 내부에 있든 같은 명령의 다른 곳에 있든 critical-path 제거를 찾습니다.723`(...)` 내부의 서브셸, `{ ...; }` 내부의 brace group, `$(...)` 또는 백틱을 사용한 명령 치환, 또는 `<(...)` 내부의 프로세스 치환 내에 제거를 숨기는 것은 확인을 건너뛰지 않습니다. Claude Code는 `(rm -rf ~)` 또는 `echo "$(rm -rf ~)"`처럼 중첩된 형식 내부에 있든 같은 명령의 다른 곳에 있든 critical-path 제거를 찾습니다.

690 724 


692 PowerShell의 Remove-Item726 PowerShell의 Remove-Item

693</h3>727</h3>

694 728 

695[PowerShell tool](/docs/ko/tools-reference#powershell-tool)을 활성화하면 Claude Code는 `Remove-Item`에 `rm` critical-path 목록과 별개의 자체 확인을 제공합니다. 결과는 대상에 따라 달라지며 첫 번째 일치하는 경우가 적용됩니다:729[PowerShell tool](/docs/ko/tools-reference#powershell-tool)을 활성화하면 Claude Code는 `Remove-Item`과 `cmd` 내장 명령 `rd`, `rmdir`, `del`, `erase`에 `rm` critical-path 목록과 별개의 자체 확인을 제공합니다. `Remove-Item`의 경우 결과는 대상에 따라 달라지며 첫 번째 일치하는 경우가 적용됩니다:

696 730 

697* **System paths**: 파일시스템 루트 및 최상위 디렉토리, 드라이브 루트 및 최상위 디렉토리, 홈 디렉토리. Claude Code는 모든 모드에서 묻지 않고 명령을 거부합니다.731* **System paths**: 파일시스템 루트 및 최상위 디렉토리, 드라이브 루트 및 최상위 디렉토리, 홈 디렉토리. Claude Code는 모든 모드에서 묻지 않고 명령을 거부합니다.

698* **Wildcards**: bare `*`, 또는 `/*` 또는 `\*`로 끝나는 모든 대상(예: `$dir/*`과 같은 셸 변수 아래의 glob). Claude Code는 [분류기](#eliminate-prompts-with-auto-mode)가 보기 전에 모든 모드에서 묻지 않고 명령을 거부합니다.732* **Wildcards**: bare `*`, 또는 `/*` 또는 `\*`로 끝나는 모든 대상(예: `$dir/*`과 같은 셸 변수 아래의 glob). Claude Code는 [분류기](#eliminate-prompts-with-auto-mode)가 보기 전에 모든 모드에서 묻지 않고 명령을 거부합니다.

699* **작업 디렉토리 또는 부모, `-Recurse` 포함**: Claude Code는 다른 승인이 필요한 명령처럼 명령을 취급하므로 승인을 요청하는 모드에서 묻고, `auto` mode에서 분류기로 보내고, `dontAsk` mode에서 거부합니다. `bypassPermissions` mode는 이 확인을 건너뜁니다.733* **작업 디렉토리 또는 부모, `-Recurse` 포함**: Claude Code는 다른 승인이 필요한 명령처럼 명령을 취급하므로 승인을 요청하는 모드에서 묻고, `auto` mode에서 분류기로 보내고, `dontAsk` mode에서 거부합니다. `bypassPermissions` mode는 이 확인을 건너뜁니다.

700 734 

735system-paths 경우는 Claude가 `cmd /c rd /s /q C:\Users`와 같이 `cmd`를 통해 실행할 때 `rd`, `rmdir`, `del`, `erase`에도 적용됩니다. 기본적으로 Claude Code는 모든 모드에서 묻지 않고 이러한 명령을 거부합니다. 이 `cmd` 확인에는 Claude Code v2.1.283 이상이 필요합니다.

736 

737`cmd` 대상을 판단할 때 Claude Code는 리터럴 텍스트 다음에 오는 PowerShell 변수를 비어 있는 것으로 취급합니다. 이는 `cmd /c rd /s /q "C:\$name"`을 `C:\`의 제거로 만들므로 역시 거부됩니다. 후행 와일드카드는 비우는 폴더로 계산되므로 `cmd /c del /q C:\*`는 거부되고 프로젝트의 `cmd /c del /q dist\*`는 거부되지 않습니다.

738 

739`cmd` 확인을 끄려면 Claude Code를 시작하는 환경에서 [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY=1`](/docs/ko/env-vars#variables)을 설정합니다. Claude Code는 설정 파일의 `env` 블록에서 이 변수를 무시합니다. system path의 `Remove-Item`은 어느 쪽이든 거부된 상태로 유지됩니다.

740 

701<h2 id="see-also">741<h2 id="see-also">

702 참고 항목742 참고 항목

703</h2>743</h2>

permissions.md +34 −5

Details

457* Claude Code는 `!` 뒤에 `/`, `~/` 또는 `//`가 따라오더라도 `!` 패턴을 현재 디렉토리에 상대적으로 읽으므로 패턴은 이러한 접두사 중 하나로 앵커된 규칙에 도달할 수 없습니다. `Read(!~/notes/public/**)`는 `Read(~/notes/**)`에서 아무것도 제거하지 않습니다.457* Claude Code는 `!` 뒤에 `/`, `~/` 또는 `//`가 따라오더라도 `!` 패턴을 현재 디렉토리에 상대적으로 읽으므로 패턴은 이러한 접두사 중 하나로 앵커된 규칙에 도달할 수 없습니다. `Read(!~/notes/public/**)`는 `Read(~/notes/**)`에서 아무것도 제거하지 않습니다.

458* 제거는 규칙이 전체적으로 차단하는 디렉토리 내의 파일을 다시 열 수 없습니다. `Read(secrets/**)` 및 `Read(!secrets/public/**)`를 사용하면 Claude Code는 여전히 `secrets/public`을 나머지 `secrets`와 함께 차단합니다.458* 제거는 규칙이 전체적으로 차단하는 디렉토리 내의 파일을 다시 열 수 없습니다. `Read(secrets/**)` 및 `Read(!secrets/public/**)`를 사용하면 Claude Code는 여전히 `secrets/public`을 나머지 `secrets`와 함께 차단합니다.

459 459 

460Claude가 심볼릭 링크에 액세스할 때 권한 규칙은 두 경로를 확인합니다: 심볼릭 링크 자체와 이것이 해결되는 파일입니다. Allow 및 deny 규칙은 해당 쌍을 다르게 취급합니다: allow 규칙은 프롬프트로 폴백하고 deny 규칙은 즉시 차단합니다.460<h4 id="symlinks">

461 심볼릭 링크

462</h4>

461 463 

462* **Allow 규칙**: 심볼릭 링크 경로와 해당 대상이 모두 일치할 때만 적용됩니다. 허용된 디렉토리 내의 심볼릭 링크가 외부를 가리키면 여전히 프롬프트합니다.464Claude가 심볼릭 링크를 통해 파일 경로에 액세스할 때 권한 확인은 두 경로를 포함합니다: Claude가 요청한 경로와 이것이 해결되는 파일입니다. 이는 macOS, Linux 및 Windows의 심볼릭 링크와 Windows의 디렉토리 접합에 적용됩니다.

463* **Deny 규칙**: 심볼릭 링크 경로 또는 대상이 일치할 때 적용됩니다. 거부된 파일을 가리키는 심볼릭 링크는 자체적으로 거부됩니다. 예를 들어, `Read(./project/**)` allowed 및 `Read(~/.ssh/**)` denied를 사용하면 `./project/key`의 심볼릭 링크가 `~/.ssh/id_rsa`를 가리킬 때 차단됩니다: 대상이 allow 규칙에 실패하고 deny 규칙과 일치합니다.

464 465 

465macOS 및 Linux에서 심볼릭 링크된 디렉토리를 통해 작성된 deny 또는 ask 규칙은 `//`, `~/` 또는 `/` 패턴을 사용하여 디렉토리의 실제 위치에도 적용됩니다. 예를 들어 macOS에서 `/etc`가 `/private/etc`로 해결되는 경우 `Read(//etc/**)`는 `/private/etc/hosts`도 차단합니다. v2.1.268 이전에는 심볼릭 링크된 디렉토리를 통해 작성된 deny 또는 ask 규칙이 실제 위치로 주어진 경로에 적용되지 않았습니다.466<h5 id="how-rules-match-a-symlinked-path">

467 심볼릭 링크된 경로가 규칙과 일치하는 방법

468</h5>

466 469 

467도구가 승인된 파일을 열 때 Claude Code는 [경로가 여전히 권한 확인이 승인한 위치로 해결되는지 확인합니다](/docs/ko/errors#refusing-after-a-symlink-changed).470Allow 및 deny 규칙은 요청된 경로와 이것이 해결되는 파일을 다르게 취급합니다:

471 

472* **Allow 규칙**: 요청된 경로와 이것이 해결되는 파일이 모두 일치할 때만 적용됩니다. 허용된 디렉토리 내의 심볼릭 링크가 외부를 가리키면 규칙과 일치하지 않습니다.

473* **Deny 규칙**: 요청된 경로 또는 이것이 해결되는 파일이 일치할 때 적용됩니다. 거부된 파일을 가리키는 심볼릭 링크는 자체적으로 거부됩니다. 예를 들어, `Read(./project/**)` allowed 및 `Read(~/.ssh/**)` denied를 사용하면 `./project/key`의 심볼릭 링크가 `~/.ssh/id_rsa`를 가리킬 때 차단됩니다: 대상이 allow 규칙에 실패하고 deny 규칙과 일치합니다.

474 

475macOS 및 Linux에서 심볼릭 링크된 디렉토리를 통해 작성된 deny 또는 ask 규칙은 `//`, `~/` 또는 `/` 패턴을 사용하여 디렉토리의 실제 위치에도 적용됩니다. 예를 들어 macOS에서 `/etc`가 `/private/etc`로 해결되는 경우 `Read(//etc/**)`는 `/private/etc/hosts`도 차단합니다. v2.1.268 이전에는 심볼릭 링크된 디렉토리를 통해 작성된 deny 또는 ask 규칙이 실제 위치로 주어진 경로에 적용되지 않았습니다.

468 476 

469Grep 및 Glob은 `path` 인수가 해결되는 디렉토리를 검색합니다. Claude Code는 해당 디렉토리에 `Read` deny 규칙을 적용합니다.477Grep 및 Glob은 `path` 인수가 해결되는 디렉토리를 검색합니다. Claude Code는 해당 디렉토리에 `Read` deny 규칙을 적용합니다.

470 478 

479<h5 id="writes-through-a-symlink">

480 심볼릭 링크를 통한 쓰기

481</h5>

482 

483Claude가 편집하거나 쓰려고 하는 경로가 자체적으로 심볼릭 링크인 경우 Edit 및 Write 도구는 [쓰기를 거부하고 Claude를 링크의 대상으로 지시합니다](/docs/ko/errors#refusing-after-a-symlink-changed).

484 

485쓰기는 파일로의 경로에 있는 디렉토리가 심볼릭 링크이거나 Bash 또는 PowerShell 명령이 쓰기를 수행할 때 심볼릭 링크를 통과할 수 있습니다. 이러한 쓰기의 경우 쓰기가 해결되는 파일이 [작업 디렉토리](#working-directories) 및 [보호된 경로](/docs/ko/permission-modes#protected-paths)에 상대적으로 어디에 있는지에 따라 달라집니다:

486 

487* **작업 디렉토리 외부로 해결**: 요청된 경로가 작업 디렉토리 내에 있고 이것이 해결되는 파일이 아닐 때 [`acceptEdits` 모드](/docs/ko/permission-modes#auto-approve-file-edits-with-acceptedits-mode)에서 쓰기가 자동 승인되지 않습니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 allow 규칙이 쓰기를 승인하지 않는 한 분류기가 결정하는 대신 프롬프트가 표시됩니다. 프롬프트는 쓰기가 해결되는 경로의 이름을 지정합니다.

488* **요청된 경로가 이름을 지정하지 않는 보호된 경로로 해결**: [보호된 경로 테이블](/docs/ko/permission-modes#protected-paths)은 각 권한 모드에 대한 결과를 제공하지만, 테이블이 쓰기를 분류기로 라우팅하는 경우 이 쓰기는 대신 프롬프트합니다.

489 

490<h5 id="paths-that-can’t-be-resolved-or-that-change">

491 해결할 수 없거나 변경되는 경로

492</h5>

493 

494Claude Code가 경로가 디스크의 어디로 이어지는지 결정할 수 없을 때(예: 경로의 심볼릭 링크가 루프를 형성하는 경우) Read, Edit 및 Write 도구는 [작업을 거부합니다](/docs/ko/errors#refusing-after-a-symlink-changed).

495 

496도구가 승인된 파일을 열 때 [경로가 여전히 권한 확인이 승인한 위치로 해결되는지 확인합니다](/docs/ko/errors#refusing-after-a-symlink-changed).

497 

471<h3 id="webfetch">498<h3 id="webfetch">

472 WebFetch499 WebFetch

473</h3>500</h3>


703 730 

704Claude Code는 대화형 세션에서만 신뢰 대화상자를 표시합니다. `claude -p` 실행이나 SDK 세션은 절대 표시하지 않으며, 상위 폴더를 신뢰해도 이러한 규칙에는 적용되지 않으므로, [폴더를 신뢰하기 전에 실행되는 것](#what-runs-before-you-trust-a-folder)은 이 두 가지 상황 각각에서 Claude Code가 여전히 사용하는 저장소 콘텐츠를 설명합니다.731Claude Code는 대화형 세션에서만 신뢰 대화상자를 표시합니다. `claude -p` 실행이나 SDK 세션은 절대 표시하지 않으며, 상위 폴더를 신뢰해도 이러한 규칙에는 적용되지 않으므로, [폴더를 신뢰하기 전에 실행되는 것](#what-runs-before-you-trust-a-folder)은 이 두 가지 상황 각각에서 Claude Code가 여전히 사용하는 저장소 콘텐츠를 설명합니다.

705 732 

733[배경 세션](/docs/ko/agent-view)을 시작하거나 다시 시작하기 전에, Claude Code는 세션이 실행되는 디렉터리에 대한 워크스페이스 신뢰도 확인합니다. 신뢰하지 않은 디렉터리의 터미널에서 `claude --bg`를 실행하면, 신뢰 대화상자가 먼저 나타나고 수락하면 세션이 시작됩니다. 스크립트와 같이 대화상자가 나타날 수 없는 곳에서는 명령이 대신 [`Workspace not trusted`](/docs/ko/errors#workspace-not-trusted-when-dispatching-a-background-session) 오류로 종료됩니다.

734 

706<h3 id="when-your-local-settings-file-needs-trust">735<h3 id="when-your-local-settings-file-needs-trust">

707 로컬 설정 파일이 신뢰가 필요한 경우736 로컬 설정 파일이 신뢰가 필요한 경우

708</h3>737</h3>

platforms.md +1 −1

Details

53| | 트리거 | Claude 실행 위치 | 설정 | 최적 용도 |53| | 트리거 | Claude 실행 위치 | 설정 | 최적 용도 |

54| :- | :- | :- | :- | :- |54| :- | :- | :- | :- | :- |

55| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | Claude 모바일 앱에서 작업 메시지 전송 | 사용자 머신 (Desktop) | [모바일 앱을 Desktop과 페어링](https://support.claude.com/en/articles/13947068) | 외출 중 작업 위임, 최소 설정 |55| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | Claude 모바일 앱에서 작업 메시지 전송 | 사용자 머신 (Desktop) | [모바일 앱을 Desktop과 페어링](https://support.claude.com/en/articles/13947068) | 외출 중 작업 위임, 최소 설정 |

56| [Remote Control](/docs/ko/remote-control) | [claude.ai/code](https://claude.ai/code) 또는 Claude 모바일 앱에서 실행 중인 세션 제어 | 사용자 머신 (CLI 또는 VS Code) | `claude remote-control` 실행 | 다른 기기에서 진행 중인 작업 조종 |56| [Remote Control](/docs/ko/remote-control) | [claude.ai/code](https://claude.ai/code) 또는 Claude 모바일 앱에서 실행 중인 세션 제어 | 사용자 머신 (CLI, Desktop, 또는 VS Code) | [`claude remote-control` 또는 `/remote-control` 실행](/docs/ko/remote-control#start-a-remote-control-session) | 다른 기기에서 진행 중인 작업 조종 |

57| [Channels](/docs/ko/channels) | Telegram 또는 Discord와 같은 채팅 앱이나 자체 서버에서 이벤트 푸시 | 사용자 머신 (CLI) | [채널 플러그인 설치](/docs/ko/channels#quickstart) 또는 [직접 구축](/docs/ko/channels-reference) | CI 실패 또는 채팅 메시지와 같은 외부 이벤트에 반응 |57| [Channels](/docs/ko/channels) | Telegram 또는 Discord와 같은 채팅 앱이나 자체 서버에서 이벤트 푸시 | 사용자 머신 (CLI) | [채널 플러그인 설치](/docs/ko/channels#quickstart) 또는 [직접 구축](/docs/ko/channels-reference) | CI 실패 또는 채팅 메시지와 같은 외부 이벤트에 반응 |

58| [Slack](/docs/ko/slack) | 팀 채널에서 `@Claude` 언급 | Anthropic 클라우드 | [Claude Code on the web](/docs/ko/claude-code-on-the-web)이 활성화된 상태에서 [Slack 앱 설치](/docs/ko/slack#setting-up-claude-code-in-slack) | 팀 채팅에서 PR 및 리뷰 |58| [Slack](/docs/ko/slack) | 팀 채널에서 `@Claude` 언급 | Anthropic 클라우드 | [Claude Code on the web](/docs/ko/claude-code-on-the-web)이 활성화된 상태에서 [Slack 앱 설치](/docs/ko/slack#setting-up-claude-code-in-slack) | 팀 채팅에서 PR 및 리뷰 |

59| [Self-hosted environments](/docs/ko/self-hosted-environments) | [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작하고 조직의 환경 선택 | 조직의 인프라 | [러너 배포](/docs/ko/self-hosted-environments-quickstart), Team 및 Enterprise 플랜 | 네트워크 내에서 실행해야 하는 클라우드 세션 |59| [Self-hosted environments](/docs/ko/self-hosted-environments) | [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작하고 조직의 환경 선택 | 조직의 인프라 | [러너 배포](/docs/ko/self-hosted-environments-quickstart), Team 및 Enterprise 플랜 | 네트워크 내에서 실행해야 하는 클라우드 세션 |

plugin-evals.md +19 −2

Details

16* 플러그인을 변경하거나 새로운 모델이 출시될 때 회귀를 포착합니다16* 플러그인을 변경하거나 새로운 모델이 출시될 때 회귀를 포착합니다

17* 플러그인이 플러그인 없는 경우와 비교하여 무엇을 기여하는지 확인합니다17* 플러그인이 플러그인 없는 경우와 비교하여 무엇을 기여하는지 확인합니다

18 18 

19이 페이지는 작동하는 플러그인을 가지고 있고 그 동작을 테스트하려는 플러그인 및 스킬 작성자와 CI에서 플러그인 변경을 게이트하는 팀을 위한 것입니다. 케이스 형식은 [스킬 생성자 플러그인](/docs/ko/skills#run-evals-with-skill-creator)이 사용하는 `evals/evals.json` 파일과 별개입니다. 플러그인을 만들려면 [플러그인 만들기](/docs/ko/plugins/create)를 참조하고, 플러그인의 동작이 아닌 구문 및 스키마 오류를 확인하려면 [`claude plugin validate`](/docs/ko/plugins/cli-reference#plugin-validate)를 사용합니다.19이 페이지는 작동하는 플러그인을 가지고 있고 그 동작을 테스트하려는 플러그인 및 스킬 작성자와 CI에서 플러그인 변경을 게이트하는 팀을 위한 것입니다. Claude Code 대화 내에서 하나의 스킬을 반복하려면 [스킬 생성자 플러그인](/docs/ko/skills#run-evals-with-skill-creator)이 자체 `evals/evals.json` 형식으로 유사한 비교를 실행하며, 어느 도구도 다른 도구의 케이스 파일을 읽지 않습니다. 플러그인을 만들려면 [플러그인 만들기](/docs/ko/plugins/create)를 참조하고, 플러그인의 동작이 아닌 구문 및 스키마 오류를 확인하려면 [`claude plugin validate`](/docs/ko/plugins/cli-reference#plugin-validate)를 사용합니다.

20 20 

21<Note>21<Note>

22 모든 eval 실행과 모든 판사 채점자는 계정에 대한 실제 모델 호출이며, 플랜의 사용량 또는 API 청구에 계산되므로 먼저 [요구사항](#requirements)을 확인합니다. 그런 다음 [첫 번째 eval 모음 만들기](#create-your-first-eval-suite)를 진행하거나, 이미 있는 경우 [CI에서 evals 실행](#run-evals-in-ci)으로 이동합니다.22 모든 eval 실행과 모든 판사 채점자는 계정에 대한 실제 모델 호출이며, 플랜의 사용량 또는 API 청구에 계산되므로 먼저 [요구사항](#requirements)을 확인합니다. 그런 다음 [첫 번째 eval 모음 만들기](#create-your-first-eval-suite)를 진행하거나, 이미 있는 경우 [CI에서 evals 실행](#run-evals-in-ci)으로 이동합니다.


29플러그인 evals를 실행하려면 다음이 필요합니다.29플러그인 evals를 실행하려면 다음이 필요합니다.

30 30 

31* Claude Code v2.1.269 이상. `claude --version`으로 확인하고 `claude update`로 업그레이드합니다.31* Claude Code v2.1.269 이상. `claude --version`으로 확인하고 `claude update`로 업그레이드합니다.

32* Git 2.31 이상(git이 설치된 경우). `git --version`으로 확인합니다. 이전 버전의 git을 사용하면 `claude plugin eval`이 [케이스를 실행하기 전에 중지됩니다](#git-is-too-old-for-claude-plugin-eval). git이 없으면 정상적으로 실행됩니다.

32* `plugin.json` 또는 `.claude-plugin/plugin.json` 매니페스트가 있는 플러그인 디렉토리, 또는 [스킬 디렉토리 플러그인](/docs/ko/plugins/loading#plugins-shared-through-a-repository).33* `plugin.json` 또는 `.claude-plugin/plugin.json` 매니페스트가 있는 플러그인 디렉토리, 또는 [스킬 디렉토리 플러그인](/docs/ko/plugins/loading#plugins-shared-through-a-repository).

33* 일반적인 Claude Code 세션에서 사용하는 동일한 인증 및 모델 공급자. Eval 실행, 판사 채점 채점자, `claude plugin eval init`은 자격 증명으로 모델을 호출하므로 플랜의 사용량 제한 또는 API 청구에 계산됩니다. 명령이 비용을 보고할 때, 그 수치는 해당 호출의 [정가 추정](/docs/ko/costs)입니다.34* 일반적인 Claude Code 세션에서 사용하는 동일한 인증 및 모델 공급자. Eval 실행, 판사 채점 채점자, `claude plugin eval init`은 자격 증명으로 모델을 호출하므로 플랜의 사용량 제한 또는 API 청구에 계산됩니다. 명령이 비용을 보고할 때, 그 수치는 해당 호출의 [정가 추정](/docs/ko/costs)입니다.

34 35 


426| 130 | 중단됨. 부분 결과가 작성됨 |427| 130 | 중단됨. 부분 결과가 작성됨 |

427| 143 | 종료됨(예: CI 시간 초과) |428| 143 | 종료됨(예: CI 시간 초과) |

428 429 

429HTML 보고서를 작성하거나 게시하는 문제는 종료 코드를 변경하지 않습니다. 케이스가 낮은 점수를 받은 이유를 보려면 `--json` 없이 로컬에서 실행하여 실행당 진행 및 채점자 줄이 인쇄되도록 합니다.430with-minus-without 델타는 보고되지만 종료 코드를 변경하지 않으며, HTML 보고서를 작성하거나 게시하는 문제도 마찬가지입니다.

431 

432케이스가 낮은 점수를 받은 이유를 보려면 `--json` 없이 로컬에서 실행하여 실행당 진행 및 채점자 줄이 인쇄되도록 합니다.

430 433 

431CI 러너는 또한 다음이 필요합니다:434CI 러너는 또한 다음이 필요합니다:

432 435 


668 671 

669이는 Claude Code가 아직 신뢰하지 않는 디렉토리에 대한 첫 번째 실행이며, stdin 또는 stdout이 터미널이 아니거나 `--json`을 전달했거나 `CI` 환경 변수가 `true`와 같은 참 값으로 설정되어 있기 때문에 물어볼 수 없습니다. 터미널에서 `claude plugin eval <dir>`을 한 번 실행하고 프롬프트에 답하거나, 플러그인의 코드와 스위트를 신뢰한다면 `--trust-plugin`을 전달하세요. [실행이 접근할 수 있는 것](#security)을 참조하세요.672이는 Claude Code가 아직 신뢰하지 않는 디렉토리에 대한 첫 번째 실행이며, stdin 또는 stdout이 터미널이 아니거나 `--json`을 전달했거나 `CI` 환경 변수가 `true`와 같은 참 값으로 설정되어 있기 때문에 물어볼 수 없습니다. 터미널에서 `claude plugin eval <dir>`을 한 번 실행하고 프롬프트에 답하거나, 플러그인의 코드와 스위트를 신뢰한다면 `--trust-plugin`을 전달하세요. [실행이 접근할 수 있는 것](#security)을 참조하세요.

670 673 

674<h3 id="git-is-too-old-for-claude-plugin-eval">

675 "is too old for claude plugin eval"

676</h3>

677 

678`PATH`의 `git`이 2.31보다 오래되었으므로, `claude plugin eval`은 어떤 케이스도 실행하기 전에 중지되고 버전을 이름 지으며 1로 종료됩니다:

679 

680```text theme={null}

681git 2.30 is too old for claude plugin eval: it ignores the environment configuration (GIT_CONFIG_COUNT, added in git 2.31) that switches off the repository's git hooks and helper programs for the run. Install git 2.31 or newer.

682```

683 

684각 실행에 대해 Claude Code는 git 훅, 자격 증명 도우미 및 저장소의 git 구성이 시작할 수 있는 다른 프로그램을 비활성화합니다. 이는 git이 버전 2.31에서만 읽는 환경 구성을 통해 수행됩니다. 더 오래된 git은 해당 구성을 무시하므로, 스위트는 해당 프로그램이 실행될 수 있는 실행을 점수 매기는 것보다 중지합니다. git 2.31 이상을 설치하고 스위트를 다시 실행하세요.

685 

686v2.1.283 이전에는 `claude plugin eval`이 git 버전을 확인하지 않았으며, 더 오래된 git에서 스위트는 해당 프로그램이 켜진 상태로 실행되었습니다.

687 

671<h3 id="no-eval-cases-found">688<h3 id="no-eval-cases-found">

672 "No eval cases found"689 "No eval cases found"

673</h3>690</h3>

Details

37| 포함 내용 | Anthropic이 유지 관리하는 플러그인, 파트너 및 기타 작성자의 플러그인 | 작성자가 Anthropic에 제출한 타사 플러그인 | 플러그인이 포함할 수 있는 것을 보여주는 작은 예제 플러그인 세트 |37| 포함 내용 | Anthropic이 유지 관리하는 플러그인, 파트너 및 기타 작성자의 플러그인 | 작성자가 Anthropic에 제출한 타사 플러그인 | 플러그인이 포함할 수 있는 것을 보여주는 작은 예제 플러그인 세트 |

38| 얻는 방법 | Claude Code는 [관리 정책](/docs/ko/plugins/org#allow-the-official-marketplace-and-your-own)이나 `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`이 차단하지 않는 한 대화형 터미널 세션을 처음 시작할 때 추가합니다. 누락된 경우 [마켓플레이스 `claude-plugins-official` 찾을 수 없음](/docs/ko/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) 참조 | Claude Code 세션에서 `/plugin marketplace add anthropics/claude-plugins-community`로 추가합니다 | Claude Code 세션에서 `/plugin marketplace add anthropics/claude-code`로 추가합니다 |38| 얻는 방법 | Claude Code는 [관리 정책](/docs/ko/plugins/org#allow-the-official-marketplace-and-your-own)이나 `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`이 차단하지 않는 한 대화형 터미널 세션을 처음 시작할 때 추가합니다. 누락된 경우 [마켓플레이스 `claude-plugins-official` 찾을 수 없음](/docs/ko/plugins/troubleshooting#marketplace-claude-plugins-official-not-found) 참조 | Claude Code 세션에서 `/plugin marketplace add anthropics/claude-plugins-community`로 추가합니다 | Claude Code 세션에서 `/plugin marketplace add anthropics/claude-code`로 추가합니다 |

39 39 

40플러그인을 작성했고 다른 사람들이 설치하도록 하려면 [플러그인 발행](/docs/ko/plugins/publish)을 참조하십시오. 이는 자신의 마켓플레이스와 커뮤니티 마켓플레이스에 제출하는 것을 다룹니다.40플러그인을 작성했고 다른 사람들이 설치하도록 하려면 [플러그인 발행](/docs/ko/plugins/publish)을 참조하십시오. 이는 자신의 마켓플레이스와 Anthropic의 디렉토리에 제출하는 것을 다룹니다.

41 41 

42<h3 id="the-demo-marketplace-in-anthropics/claude-code">42<h3 id="the-demo-marketplace-in-anthropics/claude-code">

43 `anthropics/claude-code`의 데모 마켓플레이스43 `anthropics/claude-code`의 데모 마켓플레이스


66* **웹에서**: [Claude 마켓플레이스](https://claude.com/marketplace/plugins)에서 전체 카탈로그를 검색하면, 설치 수를 표시하고 일부 플러그인을 **Anthropic 검증됨**으로 표시합니다.66* **웹에서**: [Claude 마켓플레이스](https://claude.com/marketplace/plugins)에서 전체 카탈로그를 검색하면, 설치 수를 표시하고 일부 플러그인을 **Anthropic 검증됨**으로 표시합니다.

67* **GitHub에서**: [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official)과 같은 마켓플레이스의 저장소에서 `.claude-plugin/marketplace.json`을 엽니다. 해당 파일이 카탈로그 자체입니다.67* **GitHub에서**: [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official)과 같은 마켓플레이스의 저장소에서 `.claude-plugin/marketplace.json`을 엽니다. 해당 파일이 카탈로그 자체입니다.

68 68 

69Anthropic의 디렉토리는 이러한 마켓플레이스와 별개입니다. 디렉토리는 claude.ai의 카탈로그이며, `/plugin`은 이를 나열하지 않습니다. claude.ai의 디렉토리에서 추가한 플러그인은 [계정 동기화](/docs/ko/plugins/loading#synced-plugins)를 통해 Claude Code에 도달합니다. 플러그인을 Anthropic의 디렉토리에 나열하려면 [Anthropic의 디렉토리에 제출](/docs/ko/plugins/publish#submit-to-anthropics-directory)을 참조합니다.

70 

69데스크톱 앱에서 또는 스크립트에서 설치하거나 클라우드 세션이 로드하는 것을 보려면 [플러그인 설치](/docs/ko/plugins/install)를 참조합니다.71데스크톱 앱에서 또는 스크립트에서 설치하거나 클라우드 세션이 로드하는 것을 보려면 [플러그인 설치](/docs/ko/plugins/install)를 참조합니다.

70 72 

71<h3 id="add-the-community-or-demo-marketplace">73<h3 id="add-the-community-or-demo-marketplace">

Details

132 다음 단계132 다음 단계

133</h2>133</h2>

134 134 

135* [플러그인 게시 및 배포](/docs/ko/plugins/publish): 힌트가 필요한 공식 마켓플레이스를 포함한 각 마켓플레이스로의 경로135* [플러그인 게시 및 배포](/docs/ko/plugins/publish): 힌트가 필요한 공식 마켓플레이스를 포함한 플러그인 배포 경로

136* [플러그인 명령 참조](/docs/ko/plugins/cli-reference#plugin-install): 세션 외부에서 동일한 플러그인을 설치하는 셸 명령136* [플러그인 명령 참조](/docs/ko/plugins/cli-reference#plugin-install): 세션 외부에서 동일한 플러그인을 설치하는 셸 명령

Details

165 165 

166Claude Code는 `Successfully uninstalled plugin: formatter (scope: project)`를 출력합니다. 플러그인이 해당 범위에 설치되지 않으면 명령어는 `Failed to uninstall plugin "formatter@my-marketplace":`로 시작하는 줄을 출력하고 `1`로 종료합니다.166Claude Code는 `Successfully uninstalled plugin: formatter (scope: project)`를 출력합니다. 플러그인이 해당 범위에 설치되지 않으면 명령어는 `Failed to uninstall plugin "formatter@my-marketplace":`로 시작하는 줄을 출력하고 `1`로 종료합니다.

167 167 

168실패 줄이 `"formatter" was not uninstalled:`로 계속되면 Claude Code는 범위의 설정이 더 이상 플러그인을 켜지 않는지 확인할 수 없어서 플러그인이 저장한 모든 것과 함께 설치된 상태로 유지됩니다. `--json`을 사용하면 결과는 `failureCode: "settings_still_on"`을 포함합니다. 이 설정 확인에는 Claude Code v2.1.282 이상이 필요합니다.

169 

170<h4 id="what-an-uninstall-deletes-and-keeps">

171 제거가 삭제하고 유지하는 것

172</h4>

173 

174마지막으로 설치된 범위에서 플러그인을 제거하면 Claude Code는 플러그인의 저장된 [옵션 및 비밀](/docs/ko/plugins/manifest-reference#user-configuration)과 데이터 디렉토리 `~/.claude/plugins/data/<id>/`도 삭제합니다. 세 가지 예외가 있습니다:

175 

176* `--keep-data`를 사용하면 데이터 디렉토리가 유지됩니다

177* 다른 설치된 플러그인이 같은 폴더를 사용할 때(예: 이 플러그인과 대문자만 다른 ID를 가진 플러그인), 데이터 디렉토리가 유지됩니다

178* Claude Code가 해당 범위에서 플러그인을 제거한 후 설치된 플러그인 목록을 다시 읽을 수 없을 때, 옵션, 비밀 및 데이터 디렉토리 모두 유지됩니다. 플러그인이 다른 범위에 여전히 설치되어 있을 수 있기 때문입니다. 제거는 여전히 성공합니다. 메시지는 유지된 것과 삭제 방법을 나열하고, `--json`을 사용하면 결과는 `savedKept: "install_records_unreadable"`을 포함합니다

179 

180`--json`을 사용하면 `keptData`는 디렉토리가 유지되었는지 보고하고, `/plugin`은 유지되었을 때 `· data preserved`를 표시합니다. 유지된 디렉토리에 대한 이 보고에는 Claude Code v2.1.281 이상이 필요합니다. `savedKept` 필드에는 Claude Code v2.1.282 이상이 필요합니다.

181 

168<h3 id="plugin-enable">182<h3 id="plugin-enable">

169 plugin enable183 plugin enable

170</h3>184</h3>


248 262 

249| 플래그 | 설명 |263| 플래그 | 설명 |

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

251| `-s, --scope <scope>` | 업데이트할 범위: `user`, `project`, `local` 또는 `managed`. 기본값은 플러그인이 설치된 범위입니다 |265| `-s, --scope <scope>` | 업데이트할 범위: `user`, `project`, `local` 또는 `managed`. 생략하면 자동 감지됩니다 |

252| `-y, --yes` | [명령어 소스](/docs/ko/plugins/host-marketplace) 플러그인에서 변경된 설치 명령어를 프롬프트 없이 수락합니다. stdin 또는 stdout이 TTY가 아닐 때 필요합니다. `--accept-command`를 전달하지 않는 한 필요합니다. Claude Code v2.1.229 이상 필요 |266| `-y, --yes` | [명령어 소스](/docs/ko/plugins/host-marketplace) 플러그인에서 변경된 설치 명령어를 프롬프트 없이 수락합니다. stdin 또는 stdout이 TTY가 아닐 때 필요합니다. `--accept-command`를 전달하지 않는 한 필요합니다. Claude Code v2.1.229 이상 필요 |

253| `--accept-command <sha256>` | 이전 [`--json` 실행](#plugin-json-result)이 `shownCommand`에서 보고한 `sha256`을 가진 마켓플레이스에서 선언한 명령어를 수락합니다. `-y` 대신 사용합니다. `-y`와 결합할 수 없습니다. Claude Code v2.1.271 이상 필요 |267| `--accept-command <sha256>` | 이전 [`--json` 실행](#plugin-json-result)이 `shownCommand`에서 보고한 `sha256`을 가진 마켓플레이스에서 선언한 명령어를 수락합니다. `-y` 대신 사용합니다. `-y`와 결합할 수 없습니다. Claude Code v2.1.271 이상 필요 |

254| `--json` | stdout의 마지막 줄에 하나의 JSON 객체로 결과를 출력합니다. [`plugin install --json`](#plugin-json-result)과 동일한 형식입니다. Claude Code v2.1.268 이상 필요 |268| `--json` | stdout의 마지막 줄에 하나의 JSON 객체로 결과를 출력합니다. [`plugin install --json`](#plugin-json-result)과 동일한 형식입니다. Claude Code v2.1.268 이상 필요 |

255 269 

270`--scope`를 생략하면 명령어는 현재 프로젝트에 대해 설치된 가장 구체적인 범위에서 플러그인을 업데이트하고, local, project, user, managed를 확인합니다.

271 

272v2.1.281 이전에는 `--scope`를 생략할 때 명령어가 `user`를 사용했으므로 project 또는 local 범위에만 설치된 플러그인을 업데이트하면 `Plugin "<name>" is not installed at scope user`로 실패했습니다. 이러한 버전에서는 `--scope`를 전달하세요.

273 

256`managed`는 업데이트할 수 있지만 설치할 수 없는 유일한 범위입니다. 관리자가 설치한 플러그인의 경우 [조직을 위한 플러그인 관리](/docs/ko/plugins/org)를 참조하세요.274`managed`는 업데이트할 수 있지만 설치할 수 없는 유일한 범위입니다. 관리자가 설치한 플러그인의 경우 [조직을 위한 플러그인 관리](/docs/ko/plugins/org)를 참조하세요.

257 275 

258플러그인을 업데이트합니다:276플러그인을 업데이트합니다:

Details

413 413 

414 * **첫 번째 플러그인 구축**: [플러그인 생성](/docs/ko/plugins/create)으로 시작합니다414 * **첫 번째 플러그인 구축**: [플러그인 생성](/docs/ko/plugins/create)으로 시작합니다

415 * **다른 사람의 플러그인 설치**: [플러그인 설치](/docs/ko/plugins/install)를 참조합니다415 * **다른 사람의 플러그인 설치**: [플러그인 설치](/docs/ko/plugins/install)를 참조합니다

416 * **플러그인의 사용자가 claude.ai 또는 Cowork에 있음**: 다른 컴포넌트 세트가 로드됩니다. [claude.ai 및 Cowork의 플러그인](https://claude.com/docs/plugins/overview)을 참조합니다416 * **플러그인의 사용자가 claude.ai 또는 Cowork에 있음**: 다른 컴포넌트 세트가 로드됩니다. [플러그인 구조 및 테스트](https://claude.com/docs/plugins/build) 및 [컴포넌트 지원 테이블](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app)을 참조합니다

417</Note>417</Note>

418 418 

419<h2 id="explore-the-plugin-directory">419<h2 id="explore-the-plugin-directory">

420 플러그인 디렉토리 탐색420 플러그인 디렉토리 탐색

421</h2>421</h2>

422 422 

423탐색기는 기본 위치에 모든 종류의 컴포넌트 하나씩을 가진 예제 플러그인 `my-plugin`을 보여줍니다:423탐색기는 기본 위치에 모든 종류의 구성 요소 중 하나씩 포함하는 예제 플러그인 `my-plugin`을 보여줍니다:

424 424 

425* review skill과 `about` 명령425* 검토 스킬과 `about` 명령

426* security-review 서브에이전트426* 보안 검토 서브에이전트

427* Claude가 파일을 편집한 후 파일을 포맷하는 hook, 그리고 이를 호출하는 `scripts/` 폴더427* Claude가 파일을 편집한 후 파일을 포맷하는 훅과 이를 호출하는 `scripts/` 폴더

428* 로그 모니터428* 로그 모니터

429* 출력 스타일과 색상 테마429* 출력 스타일과 색상 테마

430* route-audit 워크플로우430* 경로 감사 워크플로우

431* `hello-plugin` 실행 파일431* `hello-plugin` 실행 파일

432* 기본 설정432* 기본 설정

433* 로컬 MCP 서버와 Go 언어 서버433* 로컬 MCP 서버와 Go 언어 서버

434 434 

435각 파일은 유용하기보다는 형태를 보여주기 위한 형식의 최소 유효 예제입니다: 실제 skill이나 agent는 전체 지침을 포함하고 종종 지원 파일을 가지며, 실제 hook이나 모니터는 실제 작업을 수행합니다. 탐색기 이후의 섹션은 예제로 동일한 파일을 사용하고 더 완전한 파일로 연결됩니다. 파일이나 폴더를 선택하여 그것이 무엇인지 읽고, 그 안에 무엇이 들어가는지 보고, 그것을 다루는 섹션을 찾습니다.435각 파일은 해당 형식의 가장 작은 유효한 예제이며, 유용하기보다는 형태를 보여주기 위한 것입니다: 실제 스킬이나 에이전트는 전체 지침을 포함하고 종종 지원 파일을 포함하며, 실제 훅이나 모니터는 실제 작업을 수행합니다. 탐색기 이후의 섹션은 동일한 파일을 예제로 사용하고 더 완전한 파일로 연결됩니다. 파일이나 폴더를 선택하여 그 용도를 읽고, 그 안에 무엇이 들어가는지 확인하고, 그것을 다루는 섹션을 찾습니다.

436 436 

437<PluginExplorer>437<PluginExplorer>

438 <Piece id="manifest">438 <Piece id="manifest">

439 [manifest](/docs/ko/plugins/manifest-reference)는 플러그인의 `.claude-plugin/` 디렉토리에 있는 `plugin.json` 파일입니다. 플러그인의 메타데이터와 Claude Code가 사용자에게 프롬프트하는 `userConfig` 값을 포함합니다. `name`만 필수입니다. 이 파일에서 `description`은 사용자가 `/plugin`에서 플러그인에 대해 보는 텍스트이고, `version`은 변경할 때까지 사용자를 해당 버전에 유지합니다:439 [매니페스트](/docs/ko/plugins/manifest-reference)는 플러그인의 `.claude-plugin/` 디렉토리에 있는 `plugin.json` 파일입니다. 플러그인의 메타데이터와 Claude Code가 사용자에게 요청하는 `userConfig` 값을 포함합니다. Claude Code는 매니페스트 없이도 플러그인을 로드하지만, [Anthropic의 디렉토리](/docs/ko/plugins/publish#submit-to-anthropics-directory)에서는 이를 요구합니다. 파일 내에서 `name`만 필수입니다. 이 파일에서 `description`은 `/plugin`의 플러그인에 대해 사용자가 보는 텍스트이고, `version`은 변경할 때까지 사용자를 해당 버전에 유지합니다:

440 440 

441 ```json theme={null}441 ```json theme={null}

442 {442 {


448 </Piece>448 </Piece>

449 449 

450 <Piece id="skills">450 <Piece id="skills">

451 [skill](/docs/ko/skills)은 `SKILL.md` 파일입니다. 각 skill을 `skills/` 아래의 자신의 디렉토리에 저장합니다. Claude는 모든 skill의 `description`을 읽고, 사용자가 요청하는 것이 이를 일치할 때(예: 여기서 pull request를 검토하도록 Claude에 요청), Claude는 skill의 지침을 로드하고 따릅니다. 사용자는 또한 `/my-plugin:review`로 직접 실행할 수 있습니다:451 [스킬](/docs/ko/skills)은 `SKILL.md` 파일입니다. 각 스킬을 `skills/` 아래의 자체 디렉토리에 저장합니다. Claude는 모든 스킬의 `description`을 읽고, 사용자가 요청한 내용이 설명과 일치할 때(예: 여기서 Claude에게 풀 요청을 검토하도록 요청할 때), Claude는 스킬의 지침을 로드하고 따릅니다. 사용자는 `/my-plugin:review`로 직접 실행할 수도 있습니다:

452 452 

453 ```markdown theme={null}453 ```markdown theme={null}

454 ---454 ---


460 </Piece>460 </Piece>

461 461 

462 <Piece id="commands">462 <Piece id="commands">

463 명령은 사용자가 이름으로 실행하는 단일 Markdown 파일입니다. 명령은 이전 형식입니다: skill은 같은 방식으로 이름으로 실행되고 자신의 디렉토리에 지원 파일을 포함할 수도 있으므로, 새로운 것은 skill로 작성하고 이미 가진 파일에 대해 `commands/`를 유지합니다. 이 파일은 `/my-plugin:about`이 되고 skill과 동일한 frontmatter를 사용합니다:463 명령은 사용자가 이름으로 실행하는 단일 Markdown 파일입니다. 명령은 이전 형식입니다: 스킬은 같은 방식으로 이름으로 실행되며 자체 디렉토리에 지원 파일을 포함할 수도 있으므로 새로운 것은 스킬로 작성하고 이미 있는 파일은 `commands/`에 유지합니다. 이 파일은 `/my-plugin:about`이 되고 스킬과 동일한 프론트매터를 사용합니다:

464 464 

465 ```markdown theme={null}465 ```markdown theme={null}

466 ---466 ---


472 </Piece>472 </Piece>

473 473 

474 <Piece id="agents">474 <Piece id="agents">

475 [서브에이전트](/docs/ko/sub-agents)는 자신의 지침과 자신의 컨텍스트 윈도우를 가진 별도의 어시스턴트로, Claude가 작업을 위임하고 결과를 다시 받을 수 있습니다. `agents/` 아래의 각 Markdown 파일은 하나를 정의합니다: frontmatter는 이를 이름 지정하고 사용 시기를 말하고, 본문은 시스템 프롬프트입니다. 이 파일은 `my-plugin:security-reviewer`로 이름 지정되고, 사용자는 `@agent-my-plugin:security-reviewer`로 호출할 수 있습니다:475 [서브에이전트](/docs/ko/sub-agents)는 자체 지침과 자체 컨텍스트 윈도우를 가진 별도의 어시스턴트이며, Claude가 작업을 위임하고 결과를 다시 받을 수 있습니다. `agents/` 아래의 각 Markdown 파일은 하나를 정의합니다: 프론트매터는 이름을 지정하고 사용 시기를 말하며, 본문은 시스템 프롬프트입니다. 이 파일은 `my-plugin:security-reviewer`로 명명되며, 사용자는 `@agent-my-plugin:security-reviewer`로 호출할 수 있습니다:

476 476 

477 ```markdown theme={null}477 ```markdown theme={null}

478 ---478 ---


486 </Piece>486 </Piece>

487 487 

488 <Piece id="hooks">488 <Piece id="hooks">

489 [hook](/docs/ko/hooks-guide)은 Claude Code의 라이프사이클의 한 지점(예: 모든 파일 편집 후)에서 자동으로 무언가를 실행합니다: 셸 명령, HTTP 요청, MCP 도구 호출, 모델에 대한 프롬프트, 또는 서브에이전트. 플러그인의 hooks를 플러그인 루트의 `hooks/hooks.json`에 저장합니다. 이 파일은 Claude가 파일을 쓰거나 편집한 후 플러그인의 `scripts/format.sh`를 실행합니다:489 [훅](/docs/ko/hooks-guide)은 파일 편집 후와 같이 Claude Code의 라이프사이클의 특정 지점에서 자동으로 무언가를 실행합니다: 셸 명령, HTTP 요청, MCP 도구 호출, 모델에 대한 프롬프트, 또는 서브에이전트. 플러그인의 훅을 플러그인 루트의 `hooks/hooks.json`에 저장합니다. 이 파일은 Claude가 파일을 작성하거나 편집한 후 플러그인의 `scripts/format.sh`를 실행합니다:

490 490 

491 ```json theme={null}491 ```json theme={null}

492 {492 {


508 </Piece>508 </Piece>

509 509 

510 <Piece id="monitors">510 <Piece id="monitors">

511 모니터는 Claude Code가 세션 시작 시 백그라운드에서 시작하고 끝날 때까지 계속 실행하는 셸 명령으로, [Monitor 도구](/docs/ko/tools-reference#monitor-tool)를 사용합니다. 이것이 인쇄하는 것은 Claude에 알림으로 도달합니다. `when` 필드는 대신 명명된 skill이 처음 실행될 때 시작할 수 있습니다. 이 파일은 오류 로그를 추적합니다:511 모니터는 세션이 시작될 때 Claude Code가 백그라운드에서 시작하고 세션이 끝날 때까지 계속 실행하는 셸 명령이며, [Monitor 도구](/docs/ko/tools-reference#monitor-tool)를 사용합니다. 출력하는 내용은 Claude에게 알림으로 전달됩니다. `when` 필드는 대신 명명된 스킬이 처음 실행될 때 시작할 수 있습니다. 이 파일은 오류 로그를 추적합니다:

512 512 

513 ```json theme={null}513 ```json theme={null}

514 [514 [


536 </Piece>536 </Piece>

537 537 

538 <Piece id="themes">538 <Piece id="themes">

539 플러그인은 Claude Code 인터페이스의 [색상 테마](/docs/ko/terminal-config#create-a-custom-theme)를 포함할 수 있습니다. 각 테마를 `themes/<slug>.json`으로 저장합니다. 이 파일은 `/theme`에 `Dracula`로 나타나고, `my-plugin`에서 표시됩니다:539 플러그인은 Claude Code 인터페이스용 [색상 테마](/docs/ko/terminal-config#create-a-custom-theme)를 포함할 수 있습니다. 각 테마를 `themes/<slug>.json`으로 저장합니다. 이 파일은 `/theme`에 `Dracula`로 나타나며, `my-plugin`에서 온 것으로 표시됩니다:

540 540 

541 ```json theme={null}541 ```json theme={null}

542 {542 {


572 </Piece>572 </Piece>

573 573 

574 <Piece id="bin">574 <Piece id="bin">

575 `bin/`은 플러그인이 명령줄 도구를 제공하는 방법입니다. 플러그인이 활성화되어 있는 동안, Claude Code는 이 폴더를 실행하는 셸의 `PATH`에 넣으므로, Claude 또는 skill의 지침이 사용자가 아무것도 설치하지 않고도 이름으로 도구를 실행할 수 있습니다. 이 [실행 파일](#executables)이 있으면, `hello-plugin`은 Claude가 실행할 수 있는 명령입니다:575 `bin/`은 플러그인이 명령줄 도구를 제공하는 방법입니다. 플러그인이 활성화되어 있는 동안 Claude Code는 이 폴더를 실행하는 셸의 `PATH`에 넣으므로 Claude 또는 스킬의 지침이 사용자가 아무것도 설치하지 않고도 이름으로 도구를 실행할 수 있습니다. 이 [실행 파일](#executables)이 있으면 `hello-plugin`은 Claude가 실행할 수 있는 명령입니다:

576 576 

577 ```bash theme={null}577 ```bash theme={null}

578 #!/bin/bash578 #!/bin/bash


581 </Piece>581 </Piece>

582 582 

583 <Piece id="scripts">583 <Piece id="scripts">

584 `hooks/hooks.json`의 hook은 스크립트를 실행하고, 이 폴더는 예제가 이를 유지하는 곳입니다. `scripts/` 이름은 관례이지 Claude Code가 찾는 것이 아닙니다: hook은 파일을 경로로 가리킵니다, `${CLAUDE_PLUGIN_ROOT}/scripts/format.sh`. 포매터 스크립트는 다음과 같을 수 있습니다:584 `hooks/hooks.json`의 훅은 스크립트를 실행하고, 이 폴더는 예제가 이를 유지하는 곳입니다. `scripts/` 이름은 관례이지 Claude Code가 찾는 것이 아닙니다: 훅은 파일을 경로 `${CLAUDE_PLUGIN_ROOT}/scripts/format.sh`로 가리킵니다. 포매터 스크립트는 다음과 같을 수 있습니다:

585 585 

586 ```bash theme={null}586 ```bash theme={null}

587 #!/bin/bash587 #!/bin/bash


590 </Piece>590 </Piece>

591 591 

592 <Piece id="settings">592 <Piece id="settings">

593 플러그인 루트의 `settings.json`은 플러그인이 활성화되어 있는 동안 적용되는 [설정](/docs/ko/settings-reference)을 보유하므로, 플러그인은 세션의 동작 방식을 변경할 수 있고 컴포넌트만 추가하는 것이 아닙니다. 플러그인에서 효과를 발휘하는 두 개의 키만 있습니다, [`agent`](/docs/ko/settings-reference#agent)와 [`subagentStatusLine`](/docs/ko/settings-reference#subagentstatusline); 다른 모든 키는 삭제됩니다. [기본 설정](#default-settings)을 참조합니다.593 플러그인 루트의 `settings.json`은 플러그인이 활성화되어 있는 동안 적용되는 [설정](/docs/ko/settings-reference)을 보유하므로 플러그인은 세션의 동작 방식을 변경할 수 있고 구성 요소만 추가하는 것이 아닙니다. 플러그인에서 적용되는 키는 [`agent`](/docs/ko/settings-reference#agent)와 [`subagentStatusLine`](/docs/ko/settings-reference#subagentstatusline) 두 개뿐입니다; 다른 모든 키는 삭제됩니다. [기본 설정](#default-settings)을 참조합니다.

594 594 

595 이 파일은 `agent`를 설정하여, 세션의 주 스레드를 플러그인의 자신의 `security-reviewer` 에이전트로 실행하므로, 해당 에이전트의 시스템 프롬프트, 도구 제한, 모델이 전체 세션에 적용됩니다:595 이 파일은 `agent`를 설정하며, 이는 세션의 주 스레드를 플러그인 자체의 `security-reviewer` 에이전트로 실행하므로 해당 에이전트의 시스템 프롬프트, 도구 제한 및 모델이 전체 세션에 적용됩니다:

596 596 

597 ```json theme={null}597 ```json theme={null}

598 {598 {


602 </Piece>602 </Piece>

603 603 

604 <Piece id="mcp">604 <Piece id="mcp">

605 [MCP 서버](/docs/ko/mcp)는 Claude에 외부 시스템의 도구를 제공합니다. 플러그인 루트의 `.mcp.json`에서 선언합니다. 이 파일은 플러그인 내부의 스크립트에서 로컬 서버를 시작하고, `/mcp`에 `plugin:my-plugin:db`로 나타납니다:605 [MCP 서버](/docs/ko/mcp)는 Claude에게 외부 시스템의 도구를 제공합니다. 플러그인 루트의 `.mcp.json`에서 선언합니다. 이 파일은 플러그인 내부의 스크립트에서 로컬 서버를 시작하며, `/mcp`에 `plugin:my-plugin:db`로 나타납니다:

606 606 

607 ```json theme={null}607 ```json theme={null}

608 {608 {


617 </Piece>617 </Piece>

618 618 

619 <Piece id="lsp">619 <Piece id="lsp">

620 LSP 서버는 Claude에 언어에 대한 [진단 및 코드 네비게이션](/docs/ko/plugins/code-intelligence)을 제공합니다. 플러그인 루트의 `.lsp.json`에서 서버를 선언합니다. 이 파일은 `.go` 파일에 대해 Go 언어 서버를 연결합니다:620 LSP 서버는 Claude에게 언어에 대한 [진단 및 코드 네비게이션](/docs/ko/plugins/code-intelligence)을 제공합니다. 플러그인 루트의 `.lsp.json`에서 서버를 선언합니다. 이 파일은 `.go` 파일에 대해 Go 언어 서버를 연결합니다:

621 621 

622 ```json theme={null}622 ```json theme={null}

623 {623 {


838 claude.ai 및 Cowork의 사용자에게 도달838 claude.ai 및 Cowork의 사용자에게 도달

839</h4>839</h4>

840 840 

841`db` 서버 아래의 [MCP 서버](#mcp-servers)와 같은 로컬 stdio 서버는 Claude Code에서 실행되고 Claude Desktop 앱에서 머신에서 실행되는 Cowork 세션에서 실행되지만, claude.ai에서는 실행되지 않습니다. 거기에도 사용자에게 도달하려면, `https://` URL로 원격 서버를 참조하십시오, 이는 claude.ai와 Cowork이 사용자에게 커넥터로 제공합니다.841`db` 서버 아래의 [MCP 서버](#mcp-servers)와 같은 로컬 stdio 서버는 Claude Code에서 실행되고 Claude Desktop 앱에서 머신에서 실행되는 Cowork 세션에서 실행되지만, claude.ai에서는 실행되지 않습니다. 거기에도 사용자에게 도달하려면, `https://` URL로 원격 서버를 참조하십시오, 이는 claude.ai와 Cowork이 사용자에게 커넥터로 제공합니다. [MCP 커넥터를 skill과 함께 번들](/docs/ko/plugins/build#bundle-an-mcp-connector-with-its-skill)에서 보여주는 대로입니다.

842 842 

843<h4 id="server-names-tool-names-and-reloads">843<h4 id="server-names-tool-names-and-reloads">

844 서버 이름, 도구 이름, 재로드844 서버 이름, 도구 이름, 재로드

Details

15 15 

16 * **다른 사람의 플러그인 설치**: [플러그인 설치](/docs/ko/plugins/install) 참조16 * **다른 사람의 플러그인 설치**: [플러그인 설치](/docs/ko/plugins/install) 참조

17 * **플러그인이 필요한지 확실하지 않음**: 개요의 [플러그인이 필요한지 결정](/docs/ko/plugins/overview#decide-whether-you-need-a-plugin) 참조17 * **플러그인이 필요한지 확실하지 않음**: 개요의 [플러그인이 필요한지 결정](/docs/ko/plugins/overview#decide-whether-you-need-a-plugin) 참조

18 * **플러그인의 사용자가 claude.ai 또는 Cowork에 있음**: 동일한 폴더가 다른 구성 요소 부분 집합으로 설치됩니다. [claude.ai 및 Cowork의 플러그인](https://claude.com/docs/plugins/overview) 참조18 * **플러그인의 사용자가 claude.ai 또는 Cowork에 있음**: 동일한 폴더가 다른 구성 요소 부분 집합으로 설치됩니다. [Plugin structure and testing](https://claude.com/docs/plugins/build) 및 [component support table](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app) 참조

19</Note>19</Note>

20 20 

21이미 가지고 있는 것과 일치하는 섹션에서 시작하세요:21이미 가지고 있는 것과 일치하는 섹션에서 시작하세요:


132 132 

133플러그인은 `--plugin-dir`으로 시작하는 세션에서만 로드됩니다. 플래그 없이 계속 작업하거나 `.zip` 빌드를 테스트하려면 [마켓플레이스 없이 개발](#develop-without-a-marketplace)을 참조하세요.133플러그인은 `--plugin-dir`으로 시작하는 세션에서만 로드됩니다. 플래그 없이 계속 작업하거나 `.zip` 빌드를 테스트하려면 [마켓플레이스 없이 개발](#develop-without-a-marketplace)을 참조하세요.

134 134 

135Claude가 더 큰 플러그인을 스캐폴드하고 확인하도록 하려면 `claude-plugins-official` 마켓플레이스에서 Anthropic의 `plugin-dev` 플러그인을 [설치](/docs/ko/plugins/install#install-a-plugin)하세요. 이는 스킬, 훅 및 MCP 서버와 같은 구성 요소를 작성하고 완성된 플러그인을 검증하기 위한 스킬 및 에이전트를 추가합니다. 설치되면 `/plugin-dev:create-plugin`을 실행한 후 원하는 플러그인에 대한 설명을 입력하면 Claude가 설계, 생성 및 검증 과정을 안내합니다.

136 

135<h3 id="share-the-plugin">137<h3 id="share-the-plugin">

136 플러그인 공유138 플러그인 공유

137</h3>139</h3>


140 142 

141* **몇 사람에게 직접 보내기**: 플러그인의 디렉토리 또는 `.zip`을 제공하면 아무것도 게시할 필요가 없습니다. [마켓플레이스 없이 플러그인 공유](/docs/ko/plugins/publish#share-a-plugin-without-a-marketplace)를 참조하세요.143* **몇 사람에게 직접 보내기**: 플러그인의 디렉토리 또는 `.zip`을 제공하면 아무것도 게시할 필요가 없습니다. [마켓플레이스 없이 플러그인 공유](/docs/ko/plugins/publish#share-a-plugin-without-a-marketplace)를 참조하세요.

142* **자신의 마켓플레이스에 나열**: 팀원이 마켓플레이스를 한 번 추가하고 이름으로 플러그인을 설치하면 업데이트를 받습니다. [자신의 마켓플레이스를 통해 게시](/docs/ko/plugins/publish#publish-through-your-own-marketplace)를 참조하세요.144* **자신의 마켓플레이스에 나열**: 팀원이 마켓플레이스를 한 번 추가하고 이름으로 플러그인을 설치하면 업데이트를 받습니다. [자신의 마켓플레이스를 통해 게시](/docs/ko/plugins/publish#publish-through-your-own-marketplace)를 참조하세요.

143* **Anthropic의 커뮤니티 마켓플레이스에 제출**: 나열되면 해당 마켓플레이스를 추가하는 모든 사람이 설치할 수 있습니다. [커뮤니티 마켓플레이스에 제출](/docs/ko/plugins/publish#submit-to-the-community-marketplace)을 참조하세요.145* **Anthropic의 디렉토리에 제출**: 검토를 통과한 후 사람들은 claude.ai 및 Cowork에서 이를 추가할 수 있으며, Claude Code를 통해 계정에 도달합니다. [Anthropic의 디렉토리에 제출](/docs/ko/plugins/publish#submit-to-anthropics-directory)을 참조하세요.

144 146 

145<h3 id="plugin-layout">147<h3 id="plugin-layout">

146 플러그인 레이아웃148 플러그인 레이아웃


201 203 

202폴더에 `.claude-plugin/` 디렉토리가 없고 최상위 수준에 플러그인 구성 요소가 없으면 Claude Code는 이를 플러그인 폴더로 취급합니다. `.claude-plugin/plugin.json` 매니페스트가 있는 각 직접 하위 폴더는 별도의 플러그인으로 로드됩니다. 폴더의 다른 모든 것은 매니페스트가 없는 하위 폴더를 포함하여 오류 없이 건너뜁니다. 폴더의 플러그인이 로드되지 않으면 하위 폴더에 `.claude-plugin/plugin.json`이 있는지 확인하세요.204폴더에 `.claude-plugin/` 디렉토리가 없고 최상위 수준에 플러그인 구성 요소가 없으면 Claude Code는 이를 플러그인 폴더로 취급합니다. `.claude-plugin/plugin.json` 매니페스트가 있는 각 직접 하위 폴더는 별도의 플러그인으로 로드됩니다. 폴더의 다른 모든 것은 매니페스트가 없는 하위 폴더를 포함하여 오류 없이 건너뜁니다. 폴더의 플러그인이 로드되지 않으면 하위 폴더에 `.claude-plugin/plugin.json`이 있는지 확인하세요.

203 205 

206플러그인 폴더 옆에 `.claude-plugin/marketplace.json`을 보관하는 폴더를 전달할 수도 있습니다. 해당 `.claude-plugin/` 디렉토리에 `plugin.json`이 없으면 플러그인 폴더가 계속 로드됩니다. Claude Code가 마켓플레이스 파일을 읽지 않기 때문에 마켓플레이스 파일에서 아무것도 설치되거나 활성화되지 않습니다. 이러한 폴더에서 플러그인을 로드하려면 Claude Code v2.1.281 이상이 필요합니다.

207 

204대화형 세션에서 시작 후 폴더의 플러그인을 추가 및 제거할 수도 있습니다:208대화형 세션에서 시작 후 폴더의 플러그인을 추가 및 제거할 수도 있습니다:

205 209 

206* 추가하는 하위 폴더는 매니페스트가 존재하면 새 플러그인으로 로드됩니다.210* 추가하는 하위 폴더는 매니페스트가 존재하면 새 플러그인으로 로드됩니다.


417 421 

418* [플러그인 구성 요소](/docs/ko/plugins/components): 에이전트, 훅, MCP 서버, LSP 서버 및 사용자 구성을 플러그인에 추가합니다422* [플러그인 구성 요소](/docs/ko/plugins/components): 에이전트, 훅, MCP 서버, LSP 서버 및 사용자 구성을 플러그인에 추가합니다

419* [플러그인으로 evals 테스트](/docs/ko/plugin-evals): eval 사례를 작성하고 `claude plugin eval`로 실행하여 플러그인이 Claude의 동작을 얼마나 안정적으로 안내하는지 확인합니다423* [플러그인으로 evals 테스트](/docs/ko/plugin-evals): eval 사례를 작성하고 `claude plugin eval`로 실행하여 플러그인이 Claude의 동작을 얼마나 안정적으로 안내하는지 확인합니다

420* [플러그인 게시](/docs/ko/plugins/publish): 버전을 지정하고, 마켓플레이스에 넣고, 커뮤니티 마켓플레이스에 제출합니다424* [플러그인 게시](/docs/ko/plugins/publish): 버전을 지정하고, 마켓플레이스에 넣고, 검토를 위해 제출합니다

421* [claude.ai 및 Cowork의 플러그인](https://claude.com/docs/plugins/overview): 동일한 플러그인 폴더가 claude.ai 및 Cowork에 설치됩니다. 일부 구성 요소는 Claude Code 전용입니다425* [플러그인 구조 및 테스트](https://claude.com/docs/plugins/build): 동일한 플러그인 폴더가 claude.ai 및 Cowork에 설치됩니다. 일부 구성 요소는 Claude Code 전용이며, [구성 요소 지원 표](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app)에서 각 표면에 로드되는 항목을 나열합니다

422* [플러그인 매니페스트 참조](/docs/ko/plugins/manifest-reference): 모든 `plugin.json` 필드, 경로 규칙 및 디렉토리426* [플러그인 매니페스트 참조](/docs/ko/plugins/manifest-reference): 모든 `plugin.json` 필드, 경로 규칙 및 디렉토리

423* [스킬](/docs/ko/skills): 플러그인이 제공하는 스킬을 작성합니다427* [스킬](/docs/ko/skills): 플러그인이 제공하는 스킬을 작성합니다

424* [Anthropic의 claude-code 저장소의 플러그인](https://github.com/anthropics/claude-code/tree/main/plugins): `feature-dev` 및 `code-review`와 같은 이 페이지의 레이아웃의 완전한 작업 예제428* [Anthropic의 claude-code 저장소의 플러그인](https://github.com/anthropics/claude-code/tree/main/plugins): `feature-dev` 및 `code-review`와 같은 이 페이지의 레이아웃의 완전한 작업 예제

Details

14 다음 경우는 다른 페이지에서 다룹니다:14 다음 경우는 다른 페이지에서 다룹니다:

15 15 

16 * **한 플러그인을 몇 명과 공유**: 플러그인의 디렉터리 또는 `.zip` 파일을 보냅니다. [마켓플레이스 없이 플러그인 공유](/docs/ko/plugins/publish#share-a-plugin-without-a-marketplace)를 참조하세요.16 * **한 플러그인을 몇 명과 공유**: 플러그인의 디렉터리 또는 `.zip` 파일을 보냅니다. [마켓플레이스 없이 플러그인 공유](/docs/ko/plugins/publish#share-a-plugin-without-a-marketplace)를 참조하세요.

17 * **모든 사람에게 플러그인 제공**: Anthropic의 커뮤니티 마켓플레이스에 제출합니다. [커뮤니티 마켓플레이스에 제출](/docs/ko/plugins/publish#submit-to-the-community-marketplace)을 참조하세요.17 * **모든 사람에게 플러그인 제공**: Anthropic의 디렉터리에 제출합니다. [Anthropic의 디렉터리에 제출](/docs/ko/plugins/publish#submit-to-anthropics-directory)을 참조하세요.

18 * **플러그인을 직접 사용**: `--plugin-dir`로 로드하거나 skills 디렉터리에 저장합니다. [마켓플레이스 없이 개발](/docs/ko/plugins/create#develop-without-a-marketplace)을 참조하세요.18 * **플러그인을 직접 사용**: `--plugin-dir`로 로드하거나 skills 디렉터리에 저장합니다. [마켓플레이스 없이 개발](/docs/ko/plugins/create#develop-without-a-marketplace)을 참조하세요.

19</Note>19</Note>

20 20 

Details

89조직 동기화는 `/plugin marketplace add`보다 저장소에 대해 더 엄격합니다:89조직 동기화는 `/plugin marketplace add`보다 저장소에 대해 더 엄격합니다:

90 90 

91* **마켓플레이스 저장소**: github.com 및 gitlab.com에서 비공개 또는 내부여야 합니다91* **마켓플레이스 저장소**: github.com 및 gitlab.com에서 비공개 또는 내부여야 합니다

92* **플러그인 소스**: 각 플러그인 소스는 `github`, `url` 또는 `git-subdir` 유형이거나 `./`로 시작하는 [상대 경로](/docs/ko/plugins/marketplace-reference#relative-path-plugin-source)여야 합니다92* **플러그인 소스**: 조직 동기화는 일부 [소스 유형](/docs/ko/plugins/marketplace-reference#plugin-sources)만 허용합니다

93* **최상위 `bin/` 디렉터리**: claude.ai는 이를 가진 플러그인을 거부하고 마켓플레이스의 나머지를 동기화합니다. 오류 메시지는 `Plugin contains a top-level bin/ directory`로 시작합니다. 실행 파일을 `scripts/`와 같은 다른 디렉터리에 유지하고 훅 또는 MCP 서버 구성에서 `${CLAUDE_PLUGIN_ROOT}/scripts/<name>`으로 참조하세요93* **최상위 `bin/` 디렉터리**: claude.ai는 이를 가진 플러그인을 거부하고 마켓플레이스의 나머지를 동기화합니다. 오류 메시지는 `Plugin contains a top-level bin/ directory`로 시작합니다. 실행 파일을 `scripts/`와 같은 다른 디렉터리에 유지하고 훅 또는 MCP 서버 구성에서 `${CLAUDE_PLUGIN_ROOT}/scripts/<name>`으로 참조하세요

94 94 

95관리자 워크플로우는 [조직을 위한 플러그인 관리](https://support.claude.com/en/articles/13837433)를 참조하세요.95[저장소에서 조직의 플러그인 동기화](https://claude.com/docs/plugins/org-sync)는 claude.com에서 허용되는 소스, GitLab 설정 및 `bin/` 오류를 나열하며, [조직을 위한 플러그인 관리](https://claude.com/docs/plugins/admin)는 관리자 워크플로우를 다룹니다.

96 96 

97<h2 id="grant-access-to-a-private-marketplace">97<h2 id="grant-access-to-a-private-marketplace">

98 비공개 마켓플레이스에 대한 액세스 부여98 비공개 마켓플레이스에 대한 액세스 부여


113 113 

114GitHub Enterprise Server 호스트의 경우 사용자는 머신에서 해당 호스트에 대한 git 액세스가 필요합니다. [GHES의 플러그인 마켓플레이스](/docs/ko/github-enterprise-server#plugin-marketplaces-on-ghes)에서 각 Claude Code 표면이 GHES 호스팅 마켓플레이스에 도달하는 데 필요한 것을 참조하세요.114GitHub Enterprise Server 호스트의 경우 사용자는 머신에서 해당 호스트에 대한 git 액세스가 필요합니다. [GHES의 플러그인 마켓플레이스](/docs/ko/github-enterprise-server#plugin-marketplaces-on-ghes)에서 각 Claude Code 표면이 GHES 호스팅 마켓플레이스에 도달하는 데 필요한 것을 참조하세요.

115 115 

116대신 claude.ai의 **조직 설정 > 플러그인 및 스킬**을 통해 배포하는 경우 사용자의 git 자격 증명이 관련되지 않습니다. 비공개일 수 있는 플러그인 소스는 [조직 설정을 통해 배포](#distribute-through-organization-settings)를 참조하세요.116대신 claude.ai의 **조직 설정 > 플러그인 및 스킬**을 통해 배포하는 경우 사용자의 git 자격 증명이 관련되지 않습니다. [조직 설정을 통해 배포](#distribute-through-organization-settings)를 참조하세요.

117 117 

118<h3 id="serve-users-who-have-no-git-host-account">118<h3 id="serve-users-who-have-no-git-host-account">

119 git 호스트 계정이 없는 사용자 제공119 git 호스트 계정이 없는 사용자 제공

Details

143플러그인의 설치 범위는 누가 플러그인을 얻는지, 어느 설정 파일에 활성화된 것으로 기록되는지를 결정합니다:143플러그인의 설치 범위는 누가 플러그인을 얻는지, 어느 설정 파일에 활성화된 것으로 기록되는지를 결정합니다:

144 144 

145* **User scope**: 플러그인이 이 머신의 모든 프로젝트에서 사용자에게 활성화됩니다. 항목은 `~/.claude/settings.json`의 `enabledPlugins`에 들어갑니다.145* **User scope**: 플러그인이 이 머신의 모든 프로젝트에서 사용자에게 활성화됩니다. 항목은 `~/.claude/settings.json`의 `enabledPlugins`에 들어갑니다.

146* **Project scope**: 플러그인이 이 저장소에서 작업하는 모든 사람에게 활성화됩니다. 항목은 커밋하는 `.claude/settings.json`에 들어갑니다.146* **Project scope**: 플러그인이 이 저장소에서 작업하는 모든 사람에게 활성화됩니다. 항목은 커밋하는 `.claude/settings.json`에 들어갑니다. 해당 항목을 커밋하면 협력자에게 플러그인이 켜지지만 머신에 다운로드되지 않으므로, 각 협력자는 한 번 `claude plugin install <name>@<marketplace> --scope project`를 실행해야 합니다. [프로젝트 설정에서 활성화되었지만 설치되지 않음](/docs/ko/plugins/loading#enabled-in-project-settings-but-not-installed)을 참조하세요.

147* **Local scope**: 플러그인이 이 저장소에서만 사용자에게 활성화됩니다. 항목은 `.claude/settings.local.json`에 들어갑니다.147* **Local scope**: 플러그인이 이 저장소에서만 사용자에게 활성화됩니다. 항목은 `.claude/settings.local.json`에 들어갑니다.

148 148 

149일부 플러그인은 [`defaultEnabled`](/docs/ko/plugins/manifest-reference#defaultenabled) 필드를 통해 작성자가 꺼진 상태로 시작하도록 설정합니다. 이러한 플러그인은 설치되지만 셸에서 `claude plugin enable <name>`을 사용하거나 세션의 `/plugin`의 **Installed** 탭에서 켤 때까지 꺼진 상태로 유지됩니다.149일부 플러그인은 [`defaultEnabled`](/docs/ko/plugins/manifest-reference#defaultenabled) 필드를 통해 작성자가 꺼진 상태로 시작하도록 설정합니다. 이러한 플러그인은 설치되지만 셸에서 `claude plugin enable <name>`을 사용하거나 세션의 `/plugin`의 **Installed** 탭에서 켤 때까지 꺼진 상태로 유지됩니다.

Details

100 100 

101터미널 세션에서 동기화된 플러그인의 기술, 에이전트, 훅, MCP 서버 및 LSP 서버는 모두 마켓플레이스 플러그인을 설치한 것과 동일한 신뢰로 로드됩니다.101터미널 세션에서 동기화된 플러그인의 기술, 에이전트, 훅, MCP 서버 및 LSP 서버는 모두 마켓플레이스 플러그인을 설치한 것과 동일한 신뢰로 로드됩니다.

102 102 

103Cowork가 로드하는 구성 요소는 claude.com의 [claude.ai 및 Cowork의 플러그인](https://claude.com/docs/plugins/overview)을 참조합니다.103Cowork가 로드하는 구성 요소는 claude.com의 [구성 요소 지원 표](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app)를 참조합니다.

104 104 

105동기화된 플러그인은 Cowork 세션 및 claude.ai 계정으로 로그인하는 터미널 세션에 로드됩니다:105동기화된 플러그인은 Cowork 세션 및 claude.ai 계정으로 로그인하는 터미널 세션에 로드됩니다:

106 106 


184| 경로 | 보유 내용 |184| 경로 | 보유 내용 |

185| :- | :- |185| :- | :- |

186| `cache/<marketplace>/<plugin>/<version>/` | 마켓플레이스 플러그인의 설치된 각 버전당 하나의 디렉토리. `<plugin>`은 마켓플레이스 항목 이름이고 `<version>`은 [해결된 버전](#versions-and-updates)입니다. `${CLAUDE_PLUGIN_ROOT}`는 이 디렉토리를 가리킵니다 |186| `cache/<marketplace>/<plugin>/<version>/` | 마켓플레이스 플러그인의 설치된 각 버전당 하나의 디렉토리. `<plugin>`은 마켓플레이스 항목 이름이고 `<version>`은 [해결된 버전](#versions-and-updates)입니다. `${CLAUDE_PLUGIN_ROOT}`는 이 디렉토리를 가리킵니다 |

187| `data/<plugin-id>/` | 플러그인의 영구 디렉토리, `${CLAUDE_PLUGIN_DATA}`로 노출됩니다. `<plugin-id>`가 형성되는 방식은 [경로 변수 및 영구 데이터](/docs/ko/plugins/components#path-variables-and-persistent-data)를 참조합니다. Claude Code는 플러그인 구성 요소가 처음 사용할 때 생성하고 업데이트 전체에서 유지합니다. Claude Code는 마지막 범위에서 플러그인을 제거할 때 삭제하며, `--keep-data`를 전달하지 않는 한 |187| `data/<plugin-id>/` | 플러그인의 영구 디렉토리, `${CLAUDE_PLUGIN_DATA}`로 노출됩니다. `<plugin-id>`가 형성되는 방식은 [경로 변수 및 영구 데이터](/docs/ko/plugins/components#path-variables-and-persistent-data)를 참조합니다. Claude Code는 플러그인 구성 요소가 처음 사용할 때 생성하고 업데이트 전체에서 유지합니다. 기본적으로 Claude Code는 마지막 범위에서 플러그인을 제거할 때 삭제합니다. `--keep-data` 및 유지되는 다른 경우는 [플러그인 제거](/docs/ko/plugins/cli-reference#plugin-uninstall)를 참조합니다 |

188| `marketplaces/<name>/` | GitHub, 다른 Git 호스트 또는 URL에서 추가한 마켓플레이스의 복제 또는 다운로드. 로컬 `file` 또는 `directory` 소스에서 추가한 마켓플레이스는 여기에 복사본이 없으며, `known_marketplaces.json`의 `installLocation`은 제공한 경로입니다 |188| `marketplaces/<name>/` | GitHub, 다른 Git 호스트 또는 URL에서 추가한 마켓플레이스의 복제 또는 다운로드. 로컬 `file` 또는 `directory` 소스에서 추가한 마켓플레이스는 여기에 복사본이 없으며, `known_marketplaces.json`의 `installLocation`은 제공한 경로입니다 |

189| `synced/` | Claude Code가 [claude.ai 계정에서 동기화한](#synced-plugins) 플러그인 |189| `synced/` | Claude Code가 [claude.ai 계정에서 동기화한](#synced-plugins) 플러그인 |

190| `.trash/` | claude.ai 동기화가 제거한 플러그인, 예를 들어 claude.ai에서 하나를 끈 후 또는 동기화를 중지한 후 |190| `.trash/` | claude.ai 동기화가 제거한 플러그인, 예를 들어 claude.ai에서 하나를 끈 후 또는 동기화를 중지한 후 |

Details

116* **`Validation passed with warnings`**: 매니페스트가 로드되지만 유효성 검사기가 수정할 사항을 발견했습니다. 예를 들어 Claude Code가 제거하는 알 수 없는 최상위 필드, kebab-case가 아닌 `name`, 누락된 `version`, `description` 또는 `author`입니다. CI에서 경고를 실패로 바꾸려면 `--strict`를 전달하세요116* **`Validation passed with warnings`**: 매니페스트가 로드되지만 유효성 검사기가 수정할 사항을 발견했습니다. 예를 들어 Claude Code가 제거하는 알 수 없는 최상위 필드, kebab-case가 아닌 `name`, 누락된 `version`, `description` 또는 `author`입니다. CI에서 경고를 실패로 바꾸려면 `--strict`를 전달하세요

117* **`Validation failed`**: 매니페스트에 타입 불일치, 누락되었거나 플러그인 루트를 벗어나는 경로, 또는 `userConfig` 옵션, `channels` 항목, `lspServers` 구성 또는 `monitors` 항목 내의 알 수 없는 키가 있습니다. Claude Code는 플러그인을 로드할 때 동일한 문제를 보고합니다117* **`Validation failed`**: 매니페스트에 타입 불일치, 누락되었거나 플러그인 루트를 벗어나는 경로, 또는 `userConfig` 옵션, `channels` 항목, `lspServers` 구성 또는 `monitors` 항목 내의 알 수 없는 키가 있습니다. Claude Code는 플러그인을 로드할 때 동일한 문제를 보고합니다

118 118 

119명령은 또한 플러그인이 `.mcp.json`에서 선언하는 각 MCP 서버 항목, [`mcpServers`](#mcpservers)가 이름을 지정하는 `.json` 파일에서, 또는 `plugin.json`에 인라인으로 선언하는 항목을 확인합니다. 이러한 MCP 검사에는 Claude Code v2.1.281 이상이 필요하며 다음을 포함합니다:

120 

121* **오류**: Claude Code가 플러그인을 로드할 때 삭제할 항목, 매니페스트가 선언하지 않는 옵션에 대한 `${user_config.KEY}` 참조, 그리고 유효한 절대 URL이 아닌 원격 `url`

122* **경고**: 비루프백 호스트에 대한 `http://` 또는 `ws://` URL, 그리고 리터럴 자격 증명처럼 보이는 헤더 값

123 

119<h2 id="fields">124<h2 id="fields">

120 필드125 필드

121</h2>126</h2>


387 포함 및 존재392 포함 및 존재

388</h3>393</h3>

389 394 

390모든 컴포넌트 경로는 플러그인 루트 내부로 해결되어야 하며 존재해야 합니다. `claude plugin validate`는 `outputStyles`, `lspServers`, `monitors` 또는 `themes` 경로를 검사하지 않으므로 이러한 필드의 잘못된 경로는 플러그인이 로드될 때만 실패합니다:395모든 컴포넌트 경로는 플러그인 루트 내부로 해결되어야 하며 존재해야 합니다. `claude plugin validate`는 모든 컴포넌트 키 아래의 경로를 확인합니다:

391 396 

392* **포함**: 플러그인 루트 외부로 해결되는 경로는 로드되지 않으며 `/plugin` **Errors** 탭에 `<component> path escapes plugin directory: <path>`가 표시됩니다. `..`를 포함하는 경로가 일반적인 경우이며 `claude plugin validate`는 이를 `Path contains ".." which could be a path traversal attempt`로 보고합니다397* **포함**: 플러그인 루트 외부로 해결되는 경로는 로드되지 않으며 `/plugin` **Errors** 탭에 `<component> path escapes plugin directory: <path>`가 표시됩니다. `..`를 포함하는 경로가 일반적인 경우이며 `claude plugin validate`는 오류 `Path contains ".." which could be a path traversal attempt`를 보고합니다

393* **존재**: 존재하지 않는 경로는 로드되지 않으며 `/plugin` **Errors** 탭에 `<component> path not found: <path>`가 표시됩니다. `claude plugin validate`는 이를 `Path not found`로 보고합니다398* **존재**: 존재하지 않는 경로는 로드되지 않으며 `/plugin` **Errors** 탭에 `<component> path not found: <path>`가 표시됩니다. `claude plugin validate`는 오류 `Path not found`를 보고합니다

399 

400`outputStyles`, `lspServers`, `monitors` 및 `themes` 경로의 경우 `claude plugin validate` 확인에는 Claude Code v2.1.283 이상이 필요합니다.

394 401 

395<h3 id="how-each-key-combines-with-its-default-location">402<h3 id="how-each-key-combines-with-its-default-location">

396 각 키가 기본 위치와 결합되는 방식403 각 키가 기본 위치와 결합되는 방식


561 568 

562`${CLAUDE_PLUGIN_ROOT}`는 플러그인이 업데이트될 때 변경되므로 상태를 거기에 쓰지 마세요. 루트가 이동하는 위치와 이전 디렉토리가 정리되는 시기는 [로딩 페이지](/docs/ko/plugins/loading)를 참조하세요.569`${CLAUDE_PLUGIN_ROOT}`는 플러그인이 업데이트될 때 변경되므로 상태를 거기에 쓰지 마세요. 루트가 이동하는 위치와 이전 디렉토리가 정리되는 시기는 [로딩 페이지](/docs/ko/plugins/loading)를 참조하세요.

563 570 

564마지막으로 플러그인을 설치한 곳에서 플러그인을 제거하면 [`--keep-data`](/docs/ko/plugins/cli-reference)를 전달하지 않는 한 `${CLAUDE_PLUGIN_DATA}` 디렉토리가 삭제됩니다.571기본적으로 Claude Code는 마지막으로 플러그인을 설치한 곳에서 플러그인을 제거할 때 `${CLAUDE_PLUGIN_DATA}` 디렉토리를 삭제합니다. `--keep-data` 및 이것이 유지되는 다른 경우는 [플러그인 제거](/docs/ko/plugins/cli-reference#plugin-uninstall)를 참조하세요.

565 572 

566<h3 id="where-each-variable-resolves">573<h3 id="where-each-variable-resolves">

567 각 변수가 해결되는 위치574 각 변수가 해결되는 위치


571 578 

572| 플러그인 컴포넌트 | `${...}`이 해결되는 필드 | 프로세스로 내보내짐 |579| 플러그인 컴포넌트 | `${...}`이 해결되는 필드 | 프로세스로 내보내짐 |

573| :- | :- | :- |580| :- | :- | :- |

574| 훅 명령 | `command` 및 `args`의 어디든지 | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` 및 `CLAUDE_PLUGIN_OPTION_<KEY>` |581| Hook 명령 | `command` 및 `args`의 어디든지 | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` 및 `CLAUDE_PLUGIN_OPTION_<KEY>` |

575| 모니터 명령 | `command`의 어디든지 | 내보내지지 않음 |582| Monitor 명령 | `command`의 어디든지 | 내보내지지 않음 |

576| MCP `stdio` 서버 | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |583| MCP `stdio` 서버 | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |

577| MCP `http`, `sse`, `ws` 서버 | `url`, `headers`, `headersHelper` | 해당 없음 |584| MCP `http`, `sse`, `ws` 서버 | `url`, `headers`, `headersHelper` | 해당 없음 |

578| LSP 서버 | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |585| LSP 서버 | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |

579| 스킬, 명령 및 에이전트 콘텐츠 | Markdown 본문의 어디든지 | 해당 없음 |586| Skill, command, 및 agent 콘텐츠 | Markdown 본문의 어디든지 | 해당 없음 |

580 587 

581변수는 Bash 도구를 통해 Claude가 실행하는 명령의 환경에 없으며, 주 세션이나 서브에이전트에도 없습니다. 스킬, 명령 및 에이전트 콘텐츠에서 Markdown 본문에 `${...}` 참조를 작성하고 Claude Code는 콘텐츠를 로드할 때 경로를 인라인으로 대체합니다.588변수는 Bash 도구를 통해 Claude가 실행하는 명령의 환경에 없으며, 주 세션이나 서브에이전트에도 없습니다. Skill, command, 및 agent 콘텐츠에서 Markdown 본문에 `${...}` 참조를 작성하고 Claude Code는 콘텐츠를 로드할 때 경로를 인라인으로 대체합니다.

582 589 

583<h3 id="quoting-and-path-separators">590<h3 id="quoting-and-path-separators">

584 인용 및 경로 구분자591 인용 및 경로 구분자


586 593 

587각 대체된 경로를 단일 인수로 유지하세요:594각 대체된 경로를 단일 인수로 유지하세요:

588 595 

589* **훅 명령**: [exec form](/docs/ko/hooks#exec-form-and-shell-form)을 `args`와 함께 사용하여 각 경로가 인용 없이 하나의 인수가 되도록 합니다596* **Hook 명령**: [exec form](/docs/ko/hooks#exec-form-and-shell-form)을 `args`와 함께 사용하여 각 경로가 인용 없이 하나의 인수가 되도록 합니다

590* **셸 형식 훅 및 모니터 명령**: 변수를 큰따옴표로 감싸서 공백이 있는 경로가 한 단어로 유지되도록 합니다597* **Shell 형식 Hook 및 Monitor 명령**: 변수를 큰따옴표로 감싸서 공백이 있는 경로가 한 단어로 유지되도록 합니다

598 

599Hook 파일의 Shell 형식 명령에서 이 변수 중 하나를 따옴표 외부에 두면 Hook이 [`shell`](/docs/ko/hooks#command-hook-fields)을 `"powershell"`로 설정하지 않는 한 `claude plugin validate`가 경고합니다.

591 600 

592이 셸 형식 훅은 플러그인과 함께 번들된 스크립트를 실행합니다:601이 Shell 형식 Hook은 플러그인과 함께 번들된 스크립트를 실행합니다:

593 602 

594```json theme={null}603```json theme={null}

595{604{


608}617}

609```618```

610 619 

611Windows에서 대체된 경로는 앞으로 슬래시를 사용하므로 셸이 백슬래시를 이스케이프로 읽지 않습니다.620Windows에서 대체된 경로는 앞으로 슬래시를 사용하므로 Shell이 백슬래시를 이스케이프로 읽지 않습니다.

612 621 

613<h2 id="standard-layout">622<h2 id="standard-layout">

614 표준 레이아웃623 표준 레이아웃


629| 워크플로우 | `workflows/` | 워크플로우 `.js` 파일 |638| 워크플로우 | `workflows/` | 워크플로우 `.js` 파일 |

630| 테마 | `themes/` | 테마 JSON 파일 |639| 테마 | `themes/` | 테마 JSON 파일 |

631| 모니터 | `monitors/monitors.json` | 모니터 배열 |640| 모니터 | `monitors/monitors.json` | 모니터 배열 |

632| 실행 파일 | `bin/` | 여기의 파일은 플러그인이 활성화된 동안 Bash 도구의 `PATH`에 있으므로 Claude는 이들을 베어 명령으로 실행합니다. claude.ai 및 Cowork는 이 디렉토리가 있는 플러그인을 설치하지 않습니다. 여기에는 [claude.ai 조직 설정을 통해 배포](/docs/ko/plugins/host-marketplace#distribute-through-organization-settings)하는 플러그인도 포함됩니다 |641| 실행 파일 | `bin/` | 여기의 파일은 플러그인이 활성화된 동안 Bash 도구의 `PATH`에 있으므로 Claude는 이들을 베어 명령으로 실행합니다. claude.ai 및 Cowork는 이 디렉토리가 있는 플러그인을 설치하지 않습니다. 여기에는 [claude.ai 조직 설정을 통해 배포](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory)하는 플러그인도 포함됩니다 |

633| 설정 | `settings.json` | 플러그인이 활성화된 동안 적용되는 `agent` 및 `subagentStatusLine` 기본값 |642| 설정 | `settings.json` | 플러그인이 활성화된 동안 적용되는 `agent` 및 `subagentStatusLine` 기본값 |

634 643 

635모든 기본 위치를 사용하는 플러그인과 훅이 호출하는 `scripts/` 폴더는 다음과 같이 배치됩니다:644모든 기본 위치를 사용하는 플러그인과 훅이 호출하는 `scripts/` 폴더는 다음과 같이 배치됩니다:

Details

47* **공식 마켓플레이스 이름**: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `life-sciences`, `knowledge-work-plugins`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `claude-tag-plugins`. `github.com/anthropics/` 아래의 `github` 또는 `git` [마켓플레이스 소스](#marketplace-sources)에서 오는 마켓플레이스가 아닌 한 예약됨.47* **공식 마켓플레이스 이름**: `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `life-sciences`, `knowledge-work-plugins`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `claude-tag-plugins`. `github.com/anthropics/` 아래의 `github` 또는 `git` [마켓플레이스 소스](#marketplace-sources)에서 오는 마켓플레이스가 아닌 한 예약됨.

48* **커뮤니티 마켓플레이스 이름**: `claude-community`, `claude-plugins-community`, `healthcare`. 공식 이름과 동일한 규칙 아래 예약됨.48* **커뮤니티 마켓플레이스 이름**: `claude-community`, `claude-plugins-community`, `healthcare`. 공식 이름과 동일한 규칙 아래 예약됨.

49* **플러그인 디렉토리 이름**: `anthropic-plugin-directory`, `claude-plugin-directory`. 공식 이름과 동일한 규칙 아래 예약됨.49* **플러그인 디렉토리 이름**: `anthropic-plugin-directory`, `claude-plugin-directory`. 공식 이름과 동일한 규칙 아래 예약됨.

50* **공식 마켓플레이스를 사칭하는 이름**: `official-claude-plugins` 또는 `claude-plugins-v2`와 같은 이름, 그리고 비ASCII 문자를 포함하는 모든 이름. 오류는 `Marketplace name impersonates an official Anthropic/Claude marketplace`입니다. 이름의 제어 또는 양방향 서식 문자도 `Marketplace name cannot contain control or bidirectional-formatting characters`를 보고합니다.50* **공식 마켓플레이스를 사칭하는 이름**: `official-claude-plugins` 또는 `claude-plugins-v2`와 같은 이름, 그리고 비ASCII 문자를 포함하는 모든 이름. 오류는 `Marketplace name impersonates an official Anthropic/Claude marketplace`입니다. 이름의 제어 또는 양방향 서식 문자도 `Marketplace name cannot contain control or bidirectional-formatting characters`를 보고합니다. 이러한 이름으로 이미 등록된 마켓플레이스는 해당 플러그인과 함께 로드를 중지합니다.

51* <span id="reserved-name-spellings" />**예약된 이름의 다른 철자**: 예약된 이름과 후행 점으로만 다르거나 하이픈 대신 다른 기호를 사용하는 이름이므로 `claude.code.plugins`는 `claude-code-plugins`로 계산됩니다. `claude plugin validate`는 이러한 이름을 수락합니다. 마켓플레이스 추가는 [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/ko/errors#marketplace-name-is-another-spelling-of-a-reserved-name)으로 실패하고, 하나 아래에 등록된 마켓플레이스는 로드를 중지합니다. 이 확인에는 Claude Code v2.1.280 이상이 필요합니다.51* <span id="reserved-name-spellings" />**예약된 이름의 다른 철자**: 예약된 이름과 후행 점으로만 다르거나 하이픈 대신 다른 기호를 사용하는 이름이므로 `claude.code.plugins`는 `claude-code-plugins`로 계산됩니다. `claude plugin validate`는 이러한 이름을 수락합니다. 마켓플레이스 추가는 [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/ko/errors#marketplace-name-is-another-spelling-of-a-reserved-name)으로 실패하고, 하나 아래에 등록된 마켓플레이스는 로드를 중지합니다. 이 확인에는 Claude Code v2.1.280 이상이 필요합니다.

52* **Claude Code가 마켓플레이스에서 오지 않는 플러그인에 사용하는 이름**: [`--plugin-dir`](/docs/ko/cli-reference)로 로드된 플러그인의 경우 `inline`, 기본 제공 플러그인의 경우 `builtin`, [`.claude/skills/`](/docs/ko/skills)에서 자동 로드되는 플러그인의 경우 `skills-dir`, claude.ai 계정에서 동기화된 플러그인의 경우 `synced`. `claude-plugin-test`도 예약됩니다. `skills-dir`은 `{"source": "skills-dir"}`로도 `strictKnownMarketplaces` 및 `blockedMarketplaces`에 나타나며, [소스 값이 정책 목록에서만 유효함](#source-values-valid-only-in-policy-lists)에서 설명합니다.52* **Claude Code가 마켓플레이스에서 오지 않는 플러그인에 사용하는 이름**: [`--plugin-dir`](/docs/ko/cli-reference)로 로드된 플러그인의 경우 `inline`, 기본 제공 플러그인의 경우 `builtin`, [`.claude/skills/`](/docs/ko/skills)에서 자동 로드되는 플러그인의 경우 `skills-dir`, claude.ai 계정에서 동기화된 플러그인의 경우 `synced`. `claude-plugin-test`도 예약됩니다. `skills-dir`은 `{"source": "skills-dir"}`로도 `strictKnownMarketplaces` 및 `blockedMarketplaces`에 나타나며, [소스 값이 정책 목록에서만 유효함](#source-values-valid-only-in-policy-lists)에서 설명합니다.

53* **`npm`, `pip`, `uv`, `cargo`, `github`, `gh`**: 모든 대소문자로 예약됨. 이 확인에는 Claude Code v2.1.275 이상이 필요합니다.53* **`npm`, `pip`, `uv`, `cargo`, `github`, `gh`**: 모든 대소문자로 예약됨. 이 확인에는 Claude Code v2.1.275 이상이 필요합니다.

54* **`claudeai-`로 시작하는 이름**: claude.ai에서 호스팅되는 마켓플레이스를 위해 예약됨. `claude plugin marketplace add`는 `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`로 이를 사용하는 다른 마켓플레이스를 거부합니다.54* **`claudeai-`로 시작하는 이름**: claude.ai에서 호스팅되는 마켓플레이스를 위해 예약됨. `claude plugin marketplace add`는 `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`로 이를 사용하는 다른 마켓플레이스를 거부합니다.

55 55 

56등록된 마켓플레이스가 공식 이름을 모방하기 때문에 로드를 중지할 때, `claude plugin list`와 `/plugin`은 `Claude Code refuses the marketplace name "<name>"`을 보고합니다. 메시지는 마켓플레이스를 제거하도록 지시합니다. 제거하면 해당 플러그인도 제거되고 저장된 데이터가 삭제됩니다. 이 명명된 거부 메시지에는 Claude Code v2.1.282 이상이 필요합니다.

57 

56<h2 id="top-level-fields">58<h2 id="top-level-fields">

57 최상위 필드59 최상위 필드

58</h2>60</h2>

Details

96* **물어볼 수 있는 팀원입니다**: 각 사용자의 자신의 Claude Code는 네 곳에서 플러그인을 여전히 사용하는지 보여줍니다: [`/plugin` 패널](#not-used-recently-in-/plugin), [`/skill-doctor`](#find-skills-that-never-run), [`/doctor`](#unused-plugins-in-/doctor), 및 [`/usage`](#usage-share-in-/usage). 네 가지 모두 사용자가 자신의 머신의 세션에서 Claude Code 프롬프트에서 실행하는 명령입니다.96* **물어볼 수 있는 팀원입니다**: 각 사용자의 자신의 Claude Code는 네 곳에서 플러그인을 여전히 사용하는지 보여줍니다: [`/plugin` 패널](#not-used-recently-in-/plugin), [`/skill-doctor`](#find-skills-that-never-run), [`/doctor`](#unused-plugins-in-/doctor), 및 [`/usage`](#usage-share-in-/usage). 네 가지 모두 사용자가 자신의 머신의 세션에서 Claude Code 프롬프트에서 실행하는 명령입니다.

97* **둘 다 아닙니다**: 해당 플러그인에 대해 Claude Code에서 사용량 신호가 없습니다.97* **둘 다 아닙니다**: 해당 플러그인에 대해 Claude Code에서 사용량 신호가 없습니다.

98 98 

99Anthropic의 디렉토리에 나열된 플러그인의 사용량은 claude.com의 [게시된 플러그인 사용량 추적](https://claude.com/docs/connectors/building/after-publishing#track-published-plugin-usage)을 참조합니다.

100 

99<h3 id="not-used-recently-in-/plugin">101<h3 id="not-used-recently-in-/plugin">

100 `/plugin`에서 최근에 사용되지 않음102 `/plugin`에서 최근에 사용되지 않음

101</h3>103</h3>

plugins/org.md +2 −1

Details

14 다음 경우는 다른 페이지에서 다룹니다:14 다음 경우는 다른 페이지에서 다룹니다:

15 15 

16 * **자신을 위한 플러그인 설치**: [플러그인 설치](/docs/ko/plugins/install)에서 시작하세요16 * **자신을 위한 플러그인 설치**: [플러그인 설치](/docs/ko/plugins/install)에서 시작하세요

17 * **claude.ai 및 Cowork에서 멤버가 사용할 수 있는 플러그인 제어**: 도움말 센터의 [조직을 위한 플러그인 관리](https://support.claude.com/en/articles/13837433)를 참조하세요17 * **claude.ai 및 Cowork에서 멤버가 사용할 수 있는 플러그인 제어**: claude.com의 [조직을 위한 플러그인 관리](https://claude.com/docs/plugins/admin)를 참조하세요

18 * **claude.ai, Cowork 및 Claude Code에 함께 하나의 플러그인을 롤아웃하기**: claude.com의 [롤아웃 경로 선택](https://claude.com/docs/plugins/org-rollout#choose-a-rollout-route)을 참조하세요

18 * **claude.ai의 관리자 설정에 있는 플러그인 페이지**: [**조직 설정 > 플러그인 및 스킬**](https://claude.ai/admin-settings/skills?tab=inventory)은 멤버의 claude.ai 계정에 대해 플러그인을 켜고, 이는 Claude Code에 [동기화된 플러그인](/docs/ko/plugins/loading#synced-plugins)으로 도달합니다. 이 페이지의 키를 설정하지 않습니다19 * **claude.ai의 관리자 설정에 있는 플러그인 페이지**: [**조직 설정 > 플러그인 및 스킬**](https://claude.ai/admin-settings/skills?tab=inventory)은 멤버의 claude.ai 계정에 대해 플러그인을 켜고, 이는 Claude Code에 [동기화된 플러그인](/docs/ko/plugins/loading#synced-plugins)으로 도달합니다. 이 페이지의 키를 설정하지 않습니다

19</Note>20</Note>

20 21 

Details

9Claude Code 플러그인은 Claude Code가 하나의 단위로 설치하고 로드하는 스킬, 에이전트, 훅, MCP 서버 또는 기타 구성 요소의 디렉토리입니다. 대부분의 플러그인은 마켓플레이스에서 제공되며, 마켓플레이스는 플러그인을 나열하고 각 플러그인을 가져올 위치를 표시하는 카탈로그입니다. 누군가가 제공한 폴더에서 플러그인을 로드하거나 [자신만의 플러그인을 만들](/docs/ko/plugins/create) 수도 있습니다.9Claude Code 플러그인은 Claude Code가 하나의 단위로 설치하고 로드하는 스킬, 에이전트, 훅, MCP 서버 또는 기타 구성 요소의 디렉토리입니다. 대부분의 플러그인은 마켓플레이스에서 제공되며, 마켓플레이스는 플러그인을 나열하고 각 플러그인을 가져올 위치를 표시하는 카탈로그입니다. 누군가가 제공한 폴더에서 플러그인을 로드하거나 [자신만의 플러그인을 만들](/docs/ko/plugins/create) 수도 있습니다.

10 10 

11<Note>11<Note>

12 claude.ai 채팅이나 Cowork를 사용하고 Claude Code를 사용하지 않는 경우 [claude.ai 및 Cowork의 플러그인](https://claude.com/docs/plugins/overview)을 참조하세요.12 다음 중 하나에 해당하는 경우 claude.com에서 시작하세요:

13 

14 * **Claude Code를 사용하지 않고 claude.ai 채팅이나 Cowork를 사용하는 경우**: [claude.ai 및 Cowork의 플러그인](https://claude.com/docs/plugins/overview)을 참조하세요

15 * **MCP 서버를 구축했고 Anthropic의 디렉토리에 포함시키려는 경우**: [디렉토리에 게시](https://claude.com/docs/directory/publish)를 참조하세요

13</Note>16</Note>

14 17 

15지금 플러그인을 시도하려면 Claude Code 터미널 세션에서 `/plugin`을 실행하고 **Discover** 탭에서 플러그인을 설치합니다. **Discover** 탭에는 Anthropic의 공식 마켓플레이스와 추가한 마켓플레이스의 플러그인이 나열됩니다. 여기서:18지금 플러그인을 시도하려면 Claude Code 터미널 세션에서 `/plugin`을 실행하고 **Discover** 탭에서 플러그인을 설치합니다. **Discover** 탭에는 Anthropic의 공식 마켓플레이스와 추가한 마켓플레이스의 플러그인이 나열됩니다. 여기서:


122claude.ai/code의 브라우저를 포함한 클라우드 세션은 로컬 설정의 플러그인을 로드하지 않습니다. 터미널, VS Code 및 데스크톱 앱의 설치 단계와 클라우드 세션이 로드하는 것은 [플러그인 설치](/docs/ko/plugins/install#install-a-plugin)를 참조하세요.125claude.ai/code의 브라우저를 포함한 클라우드 세션은 로컬 설정의 플러그인을 로드하지 않습니다. 터미널, VS Code 및 데스크톱 앱의 설치 단계와 클라우드 세션이 로드하는 것은 [플러그인 설치](/docs/ko/plugins/install#install-a-plugin)를 참조하세요.

123 126 

124<Note>127<Note>

125 동일한 플러그인 형식은 claude.ai 및 Cowork에도 설치되며, 다른 구성 요소 집합이 로드됩니다. 이러한 표면의 경우 claude.com의 [claude.ai 및 Cowork의 플러그인](https://claude.com/docs/plugins/overview)을 참조하세요.128 동일한 플러그인 형식은 claude.ai 및 Cowork에도 설치되며, 다른 구성 요소 집합이 로드됩니다. 이러한 표면의 경우 claude.com의 [claude.ai 및 Cowork의 플러그인](https://claude.com/docs/plugins/overview)을 참조하고 해당 [구성 요소 지원 표](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app)를 확인하세요.

126</Note>129</Note>

127 130 

128<h2 id="next-steps">131<h2 id="next-steps">


135 138 

136플러그인을 설치하거나 만든 후 다음 페이지는 다음에 올 것을 다룹니다:139플러그인을 설치하거나 만든 후 다음 페이지는 다음에 올 것을 다룹니다:

137 140 

138* **만든 것 공유**: [플러그인 게시 및 배포](/docs/ko/plugins/publish)141* **만든 것 공유**: [플러그인 게시 및 배포](/docs/ko/plugins/publish), 자신의 마켓플레이스를 통하거나 [Anthropic의 디렉토리](/docs/ko/plugins/publish#submit-to-anthropics-directory)

139* **작동 여부 및 사용 여부 확인**: [평가로 플러그인 테스트](/docs/ko/plugin-evals) 및 [플러그인 비용 및 사용 측정](/docs/ko/plugins/measure)142* **작동 여부 및 사용 여부 확인**: [평가로 플러그인 테스트](/docs/ko/plugin-evals) 및 [플러그인 비용 및 사용 측정](/docs/ko/plugins/measure)

140* **팀을 위한 마켓플레이스 실행**: [마켓플레이스 만들기](/docs/ko/plugins/create-marketplace), 그 다음 [마켓플레이스 호스팅 및 유지 관리](/docs/ko/plugins/host-marketplace)143* **팀을 위한 마켓플레이스 실행**: [마켓플레이스 만들기](/docs/ko/plugins/create-marketplace), 그 다음 [마켓플레이스 호스팅 및 유지 관리](/docs/ko/plugins/host-marketplace)

141* **조직의 플러그인 정책 설정**: [조직의 플러그인 관리](/docs/ko/plugins/org)144* **조직의 플러그인 정책 설정**: [조직의 플러그인 관리](/docs/ko/plugins/org)

plugins/publish.md +21 −18

Details

4 4 

5# 플러그인 게시 및 배포5# 플러그인 게시 및 배포

6 6 

7> Claude Code 플러그인을 자신의 마켓플레이스 또는 Anthropic의 커뮤니티 마켓플레이스를 통해 게시하고, 사전 릴리스 체크리스트 및 사용자가 업데이트를 받는 방법을 알아봅니다.7> Claude Code 플러그인을 자신의 마켓플레이스 또는 Anthropic의 디렉터리를 통해 게시하고, 사전 릴리스 체크리스트 및 사용자가 업데이트를 받는 방법을 알아봅니다.

8 8 

9Claude Code 플러그인을 게시한다는 것은 플러그인을 나열하는 마켓플레이스(플러그인을 나열하고 각 플러그인을 가져올 위치를 지정하는 JSON 카탈로그)에 플러그인을 등록하는 것을 의미하므로, 다른 사람들이 이름으로 플러그인을 설치하고 업데이트를 받을 수 있습니다. 자신의 마켓플레이스를 운영하거나 플러그인을 Anthropic의 커뮤니티 마켓플레이스에 제출할 수 있습니다. 플러그인을 게시하지 않고 공유하려면 플러그인의 디렉터리 또는 `.zip` 파일을 사람들에게 보내서 직접 로드하도록 하면 됩니다.9Claude Code 플러그인을 게시한다는 것은 플러그인을 나열하는 마켓플레이스(플러그인을 나열하고 각 플러그인을 가져올 위치를 지정하는 JSON 카탈로그)에 플러그인을 등록하는 것을 의미하므로, 다른 사람들이 이름으로 플러그인을 설치하고 업데이트를 받을 수 있습니다. 자신의 마켓플레이스를 운영하거나 플러그인을 Anthropic의 디렉터리에 제출할 수 있습니다. 플러그인을 게시하지 않고 공유하려면 플러그인의 디렉터리 또는 `.zip` 파일을 사람들에게 보내서 직접 로드하도록 하면 됩니다.

10 10 

11이 페이지는 작동하는 플러그인을 작성한 저자가 이를 공유할 준비가 되었을 때를 위한 것입니다.11이 페이지는 작동하는 플러그인을 작성한 저자가 이를 공유할 준비가 되었을 때를 위한 것입니다.

12 12 


29| :- | :- | :- | :- |29| :- | :- | :- | :- |

30| [마켓플레이스 없음](#share-a-plugin-without-a-marketplace) | 플러그인 폴더 또는 `.zip` 파일을 받은 사람 | 플러그인의 폴더 | 없음. 보낸 복사본을 로드합니다 |30| [마켓플레이스 없음](#share-a-plugin-without-a-marketplace) | 플러그인 폴더 또는 `.zip` 파일을 받은 사람 | 플러그인의 폴더 | 없음. 보낸 복사본을 로드합니다 |

31| [자신의 마켓플레이스](#publish-through-your-own-marketplace) | 저장소에 접근할 수 있는 모든 사람(팀이 복제할 수 있는 비공개 저장소일 수 있음) | `.claude-plugin/marketplace.json`이 있는 git 저장소 또는 기타 호스트(플러그인을 나열함) | 꺼짐 |31| [자신의 마켓플레이스](#publish-through-your-own-marketplace) | 저장소에 접근할 수 있는 모든 사람(팀이 복제할 수 있는 비공개 저장소일 수 있음) | `.claude-plugin/marketplace.json`이 있는 git 저장소 또는 기타 호스트(플러그인을 나열함) | 꺼짐 |

32| [Anthropic의 커뮤니티 마켓플레이스](#submit-to-the-community-marketplace) | `anthropics/claude-plugins-community`를 추가하는 모든 사람 | 플러그인 디렉터리 제출 양식을 통한 제출 | 꺼짐 |32| [Anthropic의 디렉터리](#submit-to-anthropics-directory) | claude.ai 또는 Cowork에서 추가하는 사람. [계정 동기화](/docs/ko/plugins/loading#synced-plugins)를 통해 Claude Code 세션에도 로드됩니다 | 플러그인을 보유한 GitHub 저장소 및 제출할 유료 claude.ai 플랜 | 예, 푸시한 버전이 게시된 후 |

33 33 

34자동 업데이트는 사용자 측의 마켓플레이스별 설정으로, 백그라운드에서 새 버전을 가져옵니다.34자동 업데이트는 사용자 측의 마켓플레이스별 설정으로, 백그라운드에서 새 버전을 가져옵니다.

35 35 


141 141 

142[플러그인 설치](/docs/ko/plugins/install)는 사용자 측 명령을 다루고, [자동 업데이트가 실행되는 시기](/docs/ko/plugins/loading#when-auto-update-runs)는 타이밍을 다룹니다.142[플러그인 설치](/docs/ko/plugins/install)는 사용자 측 명령을 다루고, [자동 업데이트가 실행되는 시기](/docs/ko/plugins/loading#when-auto-update-runs)는 타이밍을 다룹니다.

143 143 

144<h2 id="submit-to-the-community-marketplace">144<h2 id="submit-to-anthropics-directory">

145 커뮤니티 마켓플레이스에 제출145 Anthropic의 디렉터리에 제출

146</h2>146</h2>

147 147 

148Anthropic의 커뮤니티 마켓플레이스인 `claude-community`는 플러그인 디렉터리 제출 양식을 통해 제출된 플러그인을 나열하는 공개 마켓플레이스입니다.148Anthropic의 디렉터리는 사람들이 claude.ai와 Cowork에서 플러그인과 커넥터를 추가하기 위해 탐색하는 카탈로그입니다. 여기에 하나의 목록이 있으면 claude.ai, Cowork, Claude Code의 사용자에게 도달합니다. [claude.ai/directory/manage](https://claude.ai/directory/manage)의 개발자 포털에서 제출하며, claude.com의 [검토 준비](https://claude.com/docs/directory/publish#prepare-for-review)에서는 각 버전이 게시되기 전에 어떤 일이 발생하는지 설명합니다.

149 149 

150사용자는 Claude Code 세션에서 `/plugin marketplace add anthropics/claude-plugins-community`로 커뮤니티 마켓플레이스를 추가하고 `@claude-community`로 설치합니다.150제출하려면 유료 claude.ai 플랜이 필요합니다. Pro와 Max에서는 자신의 계정에서 제출합니다. Team과 Enterprise에서는 소유자가 제출할 수 있으며, Enterprise에서는 소유자가 **Organization settings > Roles** 아래의 사용자 정의 역할을 통해 다른 멤버에게 **Directory** 권한을 부여할 수도 있습니다. [디렉터리에 제출할 수 있는지 확인](https://claude.com/docs/directory/publish#confirm-you-can-submit-to-the-directory)을 참조하세요.

151 151 

152커뮤니티 마켓플레이스가 공식 마켓플레이스와 어떻게 다른지는 [Anthropic의 마켓플레이스](/docs/ko/plugins/anthropic-marketplaces)를 참조하세요.152제출 단계, 각 버전이 통과해야 하는 검사, 게시 후 발생하는 일은 claude.com에 문서화되어 있습니다. 사용자가 어느 서피스에 있든 동일하기 때문입니다:

153 153 

154플러그인을 커뮤니티 마켓플레이스에 제출하려면 다음 앱 내 양식 중 하나를 사용하세요:154* [디렉터리에 게시](https://claude.com/docs/directory/publish#before-you-submit-to-the-directory): 제출할 수 있는 것과 누가 제출할 수 있는지

155* [플러그인 제출](https://claude.com/docs/plugins/submit#submit-a-plugin): 포털 단계 및 [게시된 플러그인 업데이트](https://claude.com/docs/plugins/submit#update-a-published-plugin)

156* [플러그인 제출 전 체크리스트](https://claude.com/docs/plugins/pre-submission-checklist#run-the-checks-before-you-submit): 제출 전에 실행하고 수정할 검사

157* [이전 제출을 개발자 포털로 이동](https://claude.com/docs/directory/publish#move-an-earlier-submission-to-the-developer-portal): 포털이 존재하기 전에 이전 제출 양식 중 하나를 통해 플러그인을 제출한 경우 수행할 작업

155 158 

156* **claude.ai**: [claude.ai/admin-settings/directory/submissions/plugins/new](https://claude.ai/admin-settings/directory/submissions/plugins/new)159포털을 열기 전에 로컬에서 유효성을 검사하고 Claude Code 외부에서 로드되는 구성 요소를 확인하세요:

157* **Console**: [platform.claude.com/plugins/submit](https://platform.claude.com/plugins/submit)

158 160 

159claude.ai 양식에는 Team 또는 Enterprise 조직과 Directory 권한(기본적으로 소유자가 보유)이 필요합니다. Team 또는 Enterprise 조직에 속하지 않은 개별 저자는 Console 양식을 대신 사용할 수 있습니다.161* **셸에서 `claude plugin validate ./your-plugin --strict` 실행**: `./your-plugin`을 플러그인 디렉터리의 경로로 바꾸세요. 이 명령은 로컬에서 매니페스트 오류를 포착합니다. [plugin validate](/docs/ko/plugins/cli-reference#plugin-validate)는 각 실행이 읽는 파일을 나열합니다. 포털은 CLI가 확인하지 않는 추가 디렉터리 규칙을 적용하므로, 깨끗한 로컬 실행이 깨끗한 포털 유효성 검사를 보장하지는 않습니다.

162* **어디에 로드되는지 확인**: 일부 플러그인 구성 요소는 Claude Code 전용이며 claude.ai 또는 Cowork에서 로드되지 않습니다. [구성 요소 지원 표](https://claude.com/docs/plugins/platform-support#compare-component-support-by-app)는 각 앱별로 각 구성 요소를 나열하므로 Claude Code 외부의 사용자가 무엇을 얻을지 알 수 있습니다.

160 163 

161셸에서 제출하기 전에 `claude plugin validate ./your-plugin`을 로컬로 실행하고, `./your-plugin`을 플러그인 디렉터리의 경로로 바꾸세요. 유효성 검사가 통과하면 Claude Code는 `✔ Validation passed` 또는 경고가 있으면 `✔ Validation passed with warnings`를 출력합니다. 경고는 유효성 검사를 실패하지 않습니다. `--strict`를 추가하여 경고를 오류로 취급하세요.164Anthropic의 공식 마켓플레이스인 `claude-plugins-official`은 디렉터리 포털을 통한 제출을 받지 않습니다. Anthropic 파트너 담당자와 함께 일하면 공식 마켓플레이스 목록에 대해 물어보세요.

162 165 

163나열된 플러그인은 [`anthropics/claude-plugins-community`](https://github.com/anthropics/claude-plugins-community) 카탈로그에 나타나며, 거의 모든 경우 특정 커밋 SHA에 고정됩니다.166<h3 id="how-a-listed-plugin-reaches-claude-code-users">

164 167 나열된 플러그인이 Claude Code 사용자에게 도달하는 방식

165제출과 플러그인이 `marketplace.json`에 나타나는 사이에 지연이 있을 수 있습니다. 플러그인이 아직 설치 가능한지 확인하려면 [커뮤니티 카탈로그](https://github.com/anthropics/claude-plugins-community/blob/main/.claude-plugin/marketplace.json)에서 이름을 검색하세요.168</h3>

166 169 

167공식 마켓플레이스인 `claude-plugins-official`은 이러한 양식을 통한 제출을 받지 않습니다. Anthropic 파트너 담당자와 함께 일하면 공식 마켓플레이스 목록에 대해 물어보세요.170claude.ai의 디렉터리에서 플러그인을 설치한 사람은 자신의 계정에 플러그인이 있으며, Claude Code는 이를 `<name>@synced`로 로드합니다. [claude.ai에서 동기화된 플러그인](/docs/ko/plugins/loading#synced-plugins)은 사용자가 보는 것과 이를 끄는 방법을 다룹니다.

168 171 

169<h2 id="ship-updates-renames-and-removals">172<h2 id="ship-updates-renames-and-removals">

170 업데이트, 이름 바꾸기 및 제거 배포173 업데이트, 이름 바꾸기 및 제거 배포


174 새 버전 릴리스177 새 버전 릴리스

175</h3>178</h3>

176 179 

177자신의 마켓플레이스를 통해 게시하고 `plugin.json`이 `version`을 설정하면 증가시키고 푸시하세요. `claude plugin update`를 실행하거나 자동 업데이트가 켜져 있는 사용자는 [사용자에게 업데이트 배포](#ship-updates-to-users)에서 설명한 대로 새 버전을 받습니다.180자신의 마켓플레이스를 통해 게시하고 `plugin.json`이 `version`을 설정하면 증가시키고 푸시하세요. `claude plugin update`를 실행하거나 자동 업데이트가 켜져 있는 사용자는 [사용자에게 업데이트 배포](#ship-updates-to-users)에서 설명한 대로 새 버전을 받습니다. 디렉터리 목록은 [게시된 플러그인 업데이트](https://claude.com/docs/plugins/submit#update-a-published-plugin)를 참조하세요.

178 181 

179<h3 id="tag-a-release">182<h3 id="tag-a-release">

180 릴리스 태그 지정183 릴리스 태그 지정

Details

118 118 

119셸에서 설치한 `--scope`와 함께 [`claude plugin uninstall <plugin>`](/docs/ko/plugins/cli-reference#plugin-uninstall)을 실행합니다. 그런 다음 제거된 내용과 남겨진 내용을 확인합니다:119셸에서 설치한 `--scope`와 함께 [`claude plugin uninstall <plugin>`](/docs/ko/plugins/cli-reference#plugin-uninstall)을 실행합니다. 그런 다음 제거된 내용과 남겨진 내용을 확인합니다:

120 120 

121* **지속적인 데이터**: 이것이 플러그인이 설치된 마지막 범위인 경우, 제거하면 플러그인의 지속적인 데이터 디렉토리도 삭제됩니다. `--keep-data`를 전달하지 않는 한입니다.121* **지속적인 데이터**: 기본적으로 이것이 플러그인이 설치된 마지막 범위인 경우, 제거하면 플러그인의 지속적인 데이터 디렉토리도 삭제됩니다. `--keep-data` 및 남아 있는 다른 경우들에 대해서는 [플러그인 제거](/docs/ko/plugins/cli-reference#plugin-uninstall)를 참조하세요.

122* **캐시된 파일**: 플러그인의 파일은 `~/.claude/plugins/cache/` 아래 디스크에 남아 있으며, [백그라운드 스윕이 제거하기](/docs/ko/plugins/loading#cleanup-of-previous-versions) 전에 14일 동안 남아 있습니다. 마지막 플러그인을 제거한 후, 고아 디렉토리는 다른 플러그인을 설치할 때까지 남아 있습니다. 지금 파일을 삭제하려면, `~/.claude/plugins/cache/<marketplace>/<plugin>/` 아래의 플러그인 디렉토리를 직접 제거하세요.122* **캐시된 파일**: 플러그인의 파일은 `~/.claude/plugins/cache/` 아래 디스크에 남아 있으며, [백그라운드 스윕이 제거하기](/docs/ko/plugins/loading#cleanup-of-previous-versions) 전에 14일 동안 남아 있습니다. 마지막 플러그인을 제거한 후, 고아 디렉토리는 다른 플러그인을 설치할 때까지 남아 있습니다. 지금 파일을 삭제하려면, `~/.claude/plugins/cache/<marketplace>/<plugin>/` 아래의 플러그인 디렉토리를 직접 제거하세요.

123* **마켓플레이스**: 마켓플레이스의 소유자도 신뢰하지 않으면, [마켓플레이스도 제거하세요](/docs/ko/plugins/install#manage-marketplaces). 이렇게 하면 해당 마켓플레이스에서 설치한 모든 플러그인이 제거됩니다.123* **마켓플레이스**: 마켓플레이스의 소유자도 신뢰하지 않으면, [마켓플레이스도 제거하세요](/docs/ko/plugins/install#manage-marketplaces). 이렇게 하면 해당 마켓플레이스에서 설치한 모든 플러그인이 제거됩니다.

124 124 

plugins/troubleshooting.md +1074 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# 플러그인 문제 해결

6 

7> Claude Code에서 플러그인 오류를 수정합니다. /plugin이 실행되는 단계부터 설치 및 조직 정책까지 단계별로 그룹화된 정확한 메시지를 찾습니다.

8 

9이 페이지는 Claude Code 플러그인 및 마켓플레이스(Claude Code가 플러그인을 설치하는 카탈로그)의 오류 메시지 및 증상을 나열합니다. 각 항목은 원인, 한 가지 해결 방법, 그리고 해결 방법이 작동한 후 표시되는 내용을 제공합니다.

10 

11메시지가 플러그인 또는 마켓플레이스의 이름을 지정하는 경우, 항목은 `<name>` 같은 자리 표시자를 표시합니다.

12 

13플러그인을 설치하거나, 빌드하거나, 마켓플레이스를 호스팅하거나, 조직의 플러그인을 관리하는지 여부에 관계없이 이 페이지를 사용합니다.

14 

15<Note>

16 이러한 경우는 다른 페이지에서 다룹니다:

17 

18 * **범위, 캐시 및 우선순위가 작동하는 방식**: [플러그인 로딩 참조](/docs/ko/plugins/loading)를 읽습니다.

19 * **플래그, 필드 또는 명령 조회**: [플러그인 명령 참조](/docs/ko/plugins/cli-reference), [매니페스트 참조](/docs/ko/plugins/manifest-reference) 또는 [마켓플레이스 참조](/docs/ko/plugins/marketplace-reference)를 사용합니다.

20</Note>

21 

22본 페이지에서 본 정확한 메시지를 검색합니다. 각 메시지는 이를 생성하는 단계 아래에 나열되며, 이는 항상 실행한 명령이 아닙니다. 예를 들어, 마켓플레이스가 누락되어 설치가 실패할 수 있으므로 해당 메시지는 [마켓플레이스 추가](#add-a-marketplace) 아래에 있습니다.

23 

24<h2 id="find-where-/plugin-runs">

25 `/plugin`이 실행되는 위치 찾기

26</h2>

27 

28`/plugin`은 실행 중인 Claude Code 터미널 세션 내에서 입력하는 명령이며, 대화형 패널을 엽니다. 이 섹션의 항목은 입력할 수 있지만 실행할 수 없는 위치와 존재하지 않는 명령 철자를 다룹니다.

29 

30<h3 id="plugin-isnt-available-in-this-environment">

31 `/plugin isn't available in this environment`

32</h3>

33 

34Claude Code 터미널 세션이 아닌 다른 곳에서 `/plugin`을 입력했고, Claude가 아무것도 열지 않고 이 줄로 응답했습니다.

35 

36`/plugin` 패널을 그릴 터미널이 없는 세션에서 이 응답을 받습니다: `claude -p`를 사용한 [비대화형 모드](/docs/ko/headless), Agent SDK, Claude 데스크톱 앱의 Code 탭, VS Code 확장 패널, 그리고 claude.ai/code의 브라우저.

37 

38VS Code 확장 패널에서는 `/plugin install <plugin>@<marketplace>`와 같이 그 뒤에 무언가가 있는 `/plugin` 줄만 이 응답을 받습니다. 혼자 입력한 `/plugin` 또는 `/plugins`는 **플러그인 관리** 대화상자를 엽니다.

39 

40대신 사용 중인 표면에서 플러그인을 설치합니다:

41 

42* **Claude 데스크톱 앱, 로컬 또는 SSH 세션**: 프롬프트 옆의 **+** 버튼을 클릭한 다음 **플러그인**, **플러그인 추가**를 클릭하여 [플러그인 브라우저](/docs/ko/desktop#install-plugins)를 엽니다.

43* **VS Code 확장**: [플러그인 설치](/docs/ko/plugins/install#install-a-plugin) 아래의 **VS Code** 탭을 사용합니다.

44* **웹의 Claude Code 또는 데스크톱 클라우드 세션**: 클라우드 세션에는 플러그인 브라우저가 없습니다. 클라우드 세션이 로드하는 내용은 [플러그인 설치](/docs/ko/plugins/install#install-a-plugin)의 **클라우드 세션** 탭을 참조합니다.

45* **액세스 권한이 있는 터미널**: `claude`를 실행하고 거기서 `/plugin`을 입력하거나, 세션을 시작하지 않고 셸에서 `claude plugin install <plugin>@<marketplace>`를 실행합니다.

46 

47터미널 설치가 작동하면 `/plugin`은 `✓ Installed <plugin>.`로 시작하는 설치 요약을 인쇄하고 `claude plugin install`은 `Successfully installed plugin: <plugin>@<marketplace>`를 인쇄합니다.

48 

49<h3 id="zsh-no-such-file-or-directory-plugin">

50 `zsh: no such file or directory: /plugin`

51</h3>

52 

53셸 프롬프트에서 `/plugin ...`을 입력했고, 셸이 `/plugin`이라는 파일이 없다고 보고했습니다. Bash는 `bash: /plugin: No such file or directory`를 보고합니다.

54 

55`/plugin`은 셸 프롬프트가 아닌 Claude Code 세션 내에서 입력하는 명령입니다. 세션을 시작하고 거기서 동일한 명령을 입력합니다:

56 

57```shell theme={null}

58claude

59```

60 

61그런 다음 Claude Code 프롬프트에서:

62 

63```text theme={null}

64/plugin install <plugin>@<marketplace>

65```

66 

67성공적인 설치는 `✓ Installed <plugin>.`로 시작하는 요약을 인쇄합니다. 설치 자체가 실패하면 해당 메시지는 [마켓플레이스 추가](#add-a-marketplace) 또는 [플러그인 설치](#install-a-plugin) 아래에 있습니다.

68 

69세션을 시작하지 않고 셸에서 설치하려면 대신 `claude plugin install <plugin>@<marketplace>`를 실행합니다.

70 

71<h3 id="the-term-plugin-is-not-recognized-as-the-name-of-a-cmdlet">

72 `The term '/plugin' is not recognized as the name of a cmdlet`

73</h3>

74 

75PowerShell 프롬프트에서 `/plugin ...`을 입력했고, `/plugin`은 프로그램이 아닌 Claude Code 명령입니다. Bash와 Zsh는 [자신의 형태의 이 오류](#zsh-no-such-file-or-directory-plugin)를 보고합니다.

76 

77대신 다음 중 하나를 사용합니다:

78 

79* `claude`를 실행한 다음 Claude Code 프롬프트에서 `/plugin`을 입력합니다.

80* 세션을 시작하지 않고 PowerShell에서 `claude plugin install <plugin>@<marketplace>`를 실행합니다.

81 

82<h3 id="claude-command-not-found-after-claude-plugin">

83 `claude: command not found` after `claude plugin ...`

84</h3>

85 

86셸에서 `claude plugin install ...`을 실행했고, 셸이 `claude`를 전혀 찾을 수 없습니다. Windows에서 메시지는 `'claude' is not recognized as the name of a cmdlet` 또는 `'claude' is not recognized as an internal or external command`입니다.

87 

88원인은 플러그인 명령이 아닙니다. Claude Code가 설치되지 않았거나 설치 디렉토리가 이 셸의 `PATH`에 없습니다. [설치 후 `command not found: claude`](/docs/ko/troubleshoot-install#command-not-found-claude-after-installation)를 따르고 플러그인 명령을 다시 시도합니다.

89 

90<h3 id="unknown-command-and-command-spellings-that-dont-exist">

91 `Unknown command` 및 존재하지 않는 명령 철자

92</h3>

93 

94어딘가에서 본 플러그인 명령을 입력했고 세션에서 `Unknown command: /<name>`을 받았거나, 셸의 `claude` 바이너리에서 `error: unknown command '<name>'` 또는 `error: unknown option '<flag>'`를 받았습니다.

95 

96Claude Code가 없는 여러 명령 철자가 사용 중입니다. 아래 표는 각각을 실제 명령에 매핑합니다. [플러그인 명령 참조](/docs/ko/plugins/cli-reference)는 모든 하위 명령과 플래그를 나열합니다.

97 

98| 입력한 내용 | Claude Code가 말하는 내용 | 대신 사용 |

99| :- | :- | :- |

100| `claude plugin add <source>` | `error: unknown command 'add'` | 마켓플레이스를 추가하려면 `claude plugin marketplace add <source>` 또는 플러그인을 설치하려면 `claude plugin install <plugin>@<marketplace>` |

101| `claude plugin install <plugin> --project` | `error: unknown option '--project'` | `claude plugin install <plugin>@<marketplace> --scope project` |

102| `/install <plugin>` | `Unknown command: /install` | `/plugin install <plugin>@<marketplace>` |

103| `/plugin add <source>` | `/plugin` 패널이 **Discover** 탭에서 열립니다. | `/plugin marketplace add <source>` |

104| `marketplace.anthropic.com` (소스로) | `Invalid marketplace source format. Try: owner/repo, https://..., or ./path` | 공식 마켓플레이스의 경우 `anthropics/claude-plugins-official` |

105 

106이러한 철자는 잘못되어 보이지만 작동합니다:

107 

108* `claude plugins`는 `claude plugin`의 별칭입니다.

109* `claude plugin remove`는 `claude plugin uninstall`의 별칭입니다.

110* 세션의 `/plugins` 및 `/marketplace`는 `/plugin`과 동일한 패널을 엽니다.

111 

112<h2 id="add-a-marketplace">

113 마켓플레이스 추가

114</h2>

115 

116마켓플레이스는 git 저장소, URL 또는 로컬 경로에서 Claude Code에 추가하는 카탈로그입니다. 이러한 항목은 추가 실패 또는 나중에 새로고침 실패 시 받는 메시지를 다룹니다.

117 

118<h3 id="marketplace-claude-plugins-official-not-found">

119 `Marketplace "claude-plugins-official" not found`

120</h3>

121 

122세션에서 `/plugin install <plugin>@claude-plugins-official`을 실행했고, Claude Code가 해당 이름의 마켓플레이스가 없다고 보고했습니다.

123 

124공식 마켓플레이스가 이 머신에 아직 등록되지 않았습니다. Claude Code는 일반적으로 대화형 터미널 세션을 처음 시작할 때 자동으로 등록합니다. VS Code 확장을 통해서만 Claude Code를 사용했거나 해당 단계를 건너뛰거나 연기한 경우 아직 실행되지 않았습니다:

125 

126* 정책이 소스를 차단할 때

127* `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`이 설정되어 있을 때

128* 재시도를 기다리는 실패한 시도 후

129 

130`claude plugin` 셸 명령은 절대 등록하지 않습니다.

131 

132추가한 다음 설치를 다시 시도합니다:

133 

134```text theme={null}

135/plugin marketplace add anthropics/claude-plugins-official

136```

137 

138Claude Code는 `Successfully added marketplace: claude-plugins-official`을 인쇄하고, `/plugin marketplace list`는 소스와 함께 마켓플레이스를 표시합니다.

139 

140이 메시지의 다른 마켓플레이스 이름의 경우 [`Marketplace "<name>" not found`](#marketplace-not-found)를 참조합니다.

141 

142동일한 문자열은 `/plugin` **Errors** 탭, 로드 실패 목록인 패널에도 나타나며, 설정에 나열된 플러그인이 추가하지 않은 마켓플레이스의 이름을 지정할 때입니다.

143 

144<h3 id="marketplace-not-found">

145 `Marketplace "<name>" not found`

146</h3>

147 

148세션에서 `/plugin install <plugin>@<name>`을 실행했으며, 종종 누군가가 보낸 설치 줄에서 Claude Code가 해당 이름의 마켓플레이스가 없다고 보고했습니다.

149 

150이름이 `claudeai-`로 시작하면 마켓플레이스가 claude.ai에서 호스팅되며, 셸에서 `claude plugin marketplace add --claudeai <name>`으로 이름으로 추가합니다. [claude.ai에서 마켓플레이스 추가](/docs/ko/plugins/install#add-from-claude-ai)를 참조합니다.

151 

152다른 이름의 경우, 설치 줄은 마켓플레이스의 이름을 지정하지만 마켓플레이스가 호스팅되는 위치를 말하지 않으며, Claude Code는 마켓플레이스 이름을 조회할 인덱스가 없습니다. 줄을 보낸 사람에게 마켓플레이스의 소스(GitHub `owner/repo`, git URL 또는 경로)를 요청합니다. 그런 다음 [마켓플레이스를 추가](/docs/ko/plugins/install#add-a-marketplace)하고 설치 줄을 다시 실행합니다.

153 

154누군가가 보낸 마켓플레이스는 타사이므로 [설치하기 전에 플러그인을 검토](/docs/ko/plugins/security#review-a-plugin-before-you-install)합니다.

155 

156이미 마켓플레이스를 추가한 경우 `/plugin marketplace list`에 대해 철자를 확인합니다.

157 

158<h3 id="invalid-marketplace-source-format">

159 `Invalid marketplace source format`

160</h3>

161 

162`/plugin marketplace add <source>` 또는 `claude plugin marketplace add <source>`를 실행했고, Claude Code가 `Invalid marketplace source format. Try: owner/repo, https://..., or ./path`로 응답했습니다.

163 

164Claude Code는 다음 형식 중 하나의 소스를 허용합니다:

165 

166* GitHub `owner/repo` 단축형

167* `https://` 또는 `http://` URL

168* `user@host:path` SSH URL

169* `./`, `../`, `/` 또는 `~`로 시작하는 로컬 경로

170 

171`claude-plugins-official`과 같은 단순 이름은 이 중 어느 것도 일치하지 않습니다. `marketplace.anthropic.com`과 같은 단순 호스트명도 마찬가지입니다.

172 

173소스를 허용된 형식 중 하나로 다시 입력합니다:

174 

175```text theme={null}

176/plugin marketplace add anthropics/claude-plugins-official

177```

178 

179추가가 작동하면 Claude Code는 `Successfully added marketplace: <name>`을 인쇄합니다.

180 

181<h3 id="is-not-a-valid-github-owner-repo-shorthand">

182 `'<source>' is not a valid GitHub owner/repo shorthand`

183</h3>

184 

185`github.com/owner/repo` 또는 `gitlab.example.com/group/project` 경로와 같이 `owner/repo`가 아닌 슬래시가 있는 소스를 전달했습니다. Claude Code는 이 메시지와 허용된 형식 목록으로 거부했습니다.

186 

187`owner/repo` 단축형은 GitHub 전용이며 GitHub의 명명 규칙을 따라야 하므로 호스트명 또는 추가 경로 세그먼트가 실패합니다. 마켓플레이스가 호스팅되는 위치와 일치하는 형식으로 소스를 전달합니다:

188 

189* **모든 호스트의 저장소**: 전체 클론 URL

190* **호스팅된 `marketplace.json`**: 해당 `https://` URL

191* **로컬 체크아웃**: `./path` 또는 절대 경로

192 

193예를 들어, 공식 마켓플레이스를 클론 URL로 추가하려면 세션에서:

194 

195```text theme={null}

196/plugin marketplace add https://github.com/anthropics/claude-plugins-official.git

197```

198 

199성공적인 추가는 `Successfully added marketplace: <name>`을 인쇄합니다.

200 

201<h3 id="path-does-not-exist">

202 `Path does not exist: <path>`

203</h3>

204 

205`marketplace add`에 로컬 경로를 전달했고 해당 경로에 아무것도 없습니다. 상대 경로는 현재 디렉토리에 대해 확인됩니다.

206 

207메시지에서 확인된 경로를 확인합니다. 그런 다음 상대 경로가 시작되는 디렉토리에서 명령을 실행하거나 마켓플레이스 디렉토리에 절대 경로를 전달합니다. 성공적인 추가는 `Successfully added marketplace: <name>`을 인쇄합니다.

208 

209Claude Code는 `.claude-plugin/marketplace.json`을 포함하는 디렉토리 또는 `.json` 파일에 대한 경로를 허용합니다. 다른 파일에 대한 경로는 `File path must point to a .json file (marketplace.json)`으로 실패합니다.

210 

211<h3 id="marketplace-file-not-found-at-claude-plugin-marketplace-json">

212 `Marketplace file not found at <path>/.claude-plugin/marketplace.json`

213</h3>

214 

215Claude Code가 마켓플레이스를 클론하거나 다운로드했지만 내부의 예상 경로에서 `marketplace.json`을 찾지 못했습니다. 추가 명령은 `Failed to add marketplace: Marketplace file not found at ...`로 보고합니다.

216 

217기본 위치는 저장소 루트의 `.claude-plugin/marketplace.json`이며, [마켓플레이스 참조](/docs/ko/plugins/marketplace-reference)는 허용된 위치를 나열합니다.

218 

219수정은 소유자와 다른 모든 사람에게 다릅니다:

220 

221* **마켓플레이스를 소유한 경우**: 파일을 해당 위치에 놓고 마켓플레이스를 다시 추가합니다.

222* **다른 사람이 호스팅하는 경우**: 정확한 소스를 게시하는 소유자에게 요청합니다.

223 

224<h3 id="ssh-authentication-failed-or-https-authentication-failed">

225 `SSH authentication failed` 또는 `HTTPS authentication failed`

226</h3>

227 

228git 저장소에서 마켓플레이스를 추가하거나 업데이트했고, 클론이 `Failed to clone marketplace repository:`로 실패했으며 다음 줄 중 하나가 뒤따릅니다.

229 

230먼저 저장소 자체를 확인합니다: 철자가 잘못된 `owner/repo`, 존재하지 않는 저장소 또는 볼 수 없는 비공개 저장소도 이 메시지로 끝납니다. 브라우저에서 저장소 URL을 열거나 터미널에서 `git ls-remote <url>`을 실행하여 존재하고 액세스 권한이 있는지 확인합니다.

231 

232저장소가 맞으면 원인은 자격 증명입니다. Claude Code는 대화형 프롬프트를 비활성화하여 git을 실행하므로 터미널이 하는 방식으로 암호, 키 암호 또는 자격 증명을 요청할 수 없습니다. git이 프롬프트해야 하면 `fatal: Cannot prompt because user interactivity has been disabled` 또는 `terminal prompts disabled`가 원본 오류에 표시됩니다. 이미 비대화형으로 작동하는 자격 증명만 성공합니다:

233 

234* **SSH**: `ssh -T git@<host>`는 암호 프롬프트 없이 성공해야 하며, 호스트는 이미 `known_hosts`에 있어야 합니다.

235* **HTTPS**: 자격 증명 도우미가 호스트에 대한 토큰을 보유해야 합니다. GitHub의 경우 `gh auth login` 및 `gh auth setup-git`을 실행합니다. 다른 호스트의 경우 git 자격 증명 도우미에 개인 액세스 토큰을 저장합니다. `git ls-remote <url>`로 테스트합니다.

236 

237터미널에서 프롬프트 없이 `git ls-remote`가 성공하면 추가 또는 업데이트를 다시 실행합니다. 성공적인 추가는 `Successfully added marketplace: <name>`을 인쇄합니다. 성공적인 업데이트는 셸에서 `Successfully updated marketplace: <name>`을 인쇄하거나 세션에서 `✔ Updated 1 marketplace`을 인쇄합니다.

238 

239Claude Code가 GitHub `owner/repo` 소스에 대해 SSH를 건너뛰도록 하려면 `CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`을 설정합니다. 없으면 Claude Code는 `github.com`에 대한 SSH 키가 구성된 것처럼 보일 때 SSH를 통해 해당 소스를 클론하고 SSH 클론이 실패할 때 HTTPS로 폴백합니다.

240 

241백그라운드 자동 업데이트가 자격 증명으로 수행할 수 있는 작업과 수행할 수 없는 작업은 [백그라운드 자동 업데이트가 자격 증명으로 수행하는 작업](/docs/ko/plugins/host-marketplace#what-background-auto-update-does-with-credentials)을 참조합니다.

242 

243<h3 id="ssh-host-key-is-not-in-your-known-hosts-file">

244 `SSH host key is not in your known_hosts file`

245</h3>

246 

247이전에 연결하지 않은 호스트에서 SSH를 통해 마켓플레이스를 추가했고, 클론이 이 줄과 `ssh -T git@<host>` 힌트로 실패했습니다. 키가 변경된 호스트의 경우 메시지는 `SSH host key has changed`이며 대신 `ssh-keygen -R <host>` 힌트입니다.

248 

249Claude Code는 `StrictHostKeyChecking=yes`로 클론하므로 키를 자동으로 수락하는 대신 아직 수락하지 않은 호스트를 거부합니다. 터미널에서 한 번 연결하여 지문을 수락한 다음 다시 시도합니다:

250 

251```shell theme={null}

252ssh -T git@github.com

253```

254 

255공개 저장소의 경우 SSH를 완전히 피하기 위해 마켓플레이스를 `https://` URL로 추가합니다.

256 

257<h3 id="command-git-not-found-or-is-in-an-unsafe-location">

258 `Command 'git' not found or is in an unsafe location`

259</h3>

260 

261Windows에서 마켓플레이스를 추가했고 Claude Code가 `Failed to clone marketplace repository: Command 'git' not found or is in an unsafe location (current directory)`를 보고했습니다.

262 

263Claude Code는 `PATH`에서 `git`을 찾고 현재 디렉토리에서만 찾은 것을 실행하기를 거부합니다. 수정하려면 Git을 설치하고 다시 시도합니다:

264 

265<Steps>

266 <Step title="Windows용 Git 설치">

267 Windows용 Git을 설치하여 `git`이 `PATH`에 있도록 합니다.

268 </Step>

269 

270 <Step title="새 터미널 열기">

271 업데이트된 `PATH`가 적용되도록 새 터미널을 엽니다.

272 </Step>

273 

274 <Step title="git이 실행되는지 확인">

275 `git --version`이 버전을 인쇄하는지 확인합니다.

276 </Step>

277 

278 <Step title="추가 다시 시도">

279 `marketplace add` 명령을 다시 실행합니다.

280 </Step>

281</Steps>

282 

283<h3 id="git-clone-timed-out-after-120s">

284 `Git clone timed out after 120s`

285</h3>

286 

287마켓플레이스를 추가하거나 업데이트했고 `Git clone timed out after 120s`로 실패했으며, `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`를 설정하는 힌트가 뒤따릅니다.

288 

289마켓플레이스 클론 및 업데이트를 위해 다시 클론하면 기본적으로 120초가 소요됩니다. 큰 저장소 또는 느린 연결의 경우 제한을 높입니다. 값은 밀리초 단위입니다:

290 

291<Tabs>

292 <Tab title="Bash 또는 Zsh">

293 ```bash theme={null}

294 export CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS=300000

295 ```

296 </Tab>

297 

298 <Tab title="PowerShell">

299 ```powershell theme={null}

300 $env:CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS = "300000"

301 ```

302 </Tab>

303</Tabs>

304 

305그런 다음 동일한 셸에서 다시 시도합니다.

306 

307저장소가 모노레포인 경우 `claude plugin marketplace add <source> --sparse <paths>`로 이름을 지정하는 디렉토리로 체크아웃을 제한합니다.

308 

309<h3 id="marketplace-updates-keep-failing-offline">

310 마켓플레이스 업데이트가 오프라인에서 계속 실패

311</h3>

312 

313마켓플레이스의 git 호스트에 도달할 수 없는 환경에서 작업하고 있으며, 모든 세션이 백그라운드에서 실패한 새로고침을 반복합니다. 마켓플레이스의 기존 체크아웃은 제자리에 남아 있고 시작이 지연되지 않습니다.

314 

315각 세션에서 [자동 업데이트가 켜진](/docs/ko/plugins/loading#which-marketplaces-and-plugins-auto-update) 마켓플레이스의 경우 Claude Code는 백그라운드에서 마켓플레이스의 git 호스트에서 새 커밋을 확인합니다. 해당 확인이 호스트에 도달할 수 없으면 마켓플레이스를 다시 클론하려고 시도하고 오프라인에서 해당 클론도 실패합니다.

316 

317호스트에 도달할 수 없을 때 다시 클론 시도를 건너뛰고 기존 체크아웃을 계속 사용하려면 이 변수를 설정합니다:

318 

319<Tabs>

320 <Tab title="Bash 또는 Zsh">

321 ```bash theme={null}

322 export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1

323 ```

324 </Tab>

325 

326 <Tab title="PowerShell">

327 ```powershell theme={null}

328 $env:CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE = "1"

329 ```

330 </Tab>

331</Tabs>

332 

333변수가 설정되면 Claude Code는 이미 `.claude-plugin/marketplace.json`을 포함하는 체크아웃에 대해서만 다시 클론을 건너뜁니다. 클론되지 않았거나 클론이 중간에 중단된 마켓플레이스는 여전히 클론 시도를 받으므로 온라인 상태에서 한 번 추가합니다.

334 

335완전히 오프라인 배포의 경우 [컨테이너 및 CI 시드](/docs/ko/plugins/org#seed-containers-and-ci)를 따르는 `CLAUDE_CODE_PLUGIN_SEED_DIR`을 사용하여 이미지 빌드 시간에 플러그인 디렉토리를 미리 채웁니다.

336 

337<h3 id="marketplace-add-fails-on-a-github-enterprise-server-host">

338 GitHub Enterprise Server 호스트에서 마켓플레이스 추가 실패

339</h3>

340 

341GitHub Enterprise Server (GHES) URL에서 마켓플레이스를 추가했고 정책 오류를 받았거나, claude.ai에서 추가했고 GitHub 액세스 오류를 받았습니다.

342 

343두 경우 모두 GHES 페이지에 있습니다:

344 

345* [정책 오류](/docs/ko/github-enterprise-server#marketplace-add-fails-with-a-policy-error)는 조직이 마켓플레이스 소스를 제한했고 관리자가 호스트에 대한 `hostPattern`을 추가해야 함을 의미합니다.

346* [claude.ai의 GitHub 액세스 오류](/docs/ko/github-enterprise-server#marketplace-add-on-claude-ai-fails-with-a-github-access-error)는 자신의 GitHub Enterprise 계정이 아직 연결되지 않았음을 의미합니다.

347 

348<h2 id="install-a-plugin">

349 플러그인 설치

350</h2>

351 

352마켓플레이스를 추가하고 설치를 실행했으며, 설치가 아무것도 설치하지 않고 메시지로 중단되었습니다. 이러한 항목은 해당 메시지를 다룹니다. 또한 나중에 `/plugin` **Errors** 탭에 나타나거나 플러그인 또는 마켓플레이스를 찾을 수 없거나 읽거나 신뢰할 수 없을 때 빈 **Discover** 탭으로 나타나는 관련 메시지를 다룹니다.

353 

354<h3 id="plugin-not-found-in-marketplace">

355 `Plugin "<name>" not found in marketplace "<marketplace>"`

356</h3>

357 

358`/plugin install <name>@<marketplace>` 또는 `claude plugin install <name>@<marketplace>`를 실행했고, 플러그인 이름이 머신의 해당 마켓플레이스 카탈로그 사본에 없습니다.

359 

360셸의 `claude plugin install`은 마켓플레이스를 전혀 추가하지 않았을 때 동일한 메시지를 인쇄합니다. `claude plugin marketplace update <marketplace>`가 `Marketplace '<marketplace>' not found`로 응답하면 먼저 [마켓플레이스를 추가](#add-a-marketplace)합니다.

361 

362<h4 id="the-message-ends-with-a-refresh-hint">

363 새로고침 힌트가 있는 `not found in marketplace`

364</h4>

365 

366힌트는 `Your local copy may be out of date — try claude plugin marketplace update <marketplace>` 또는 `The marketplace couldn't be refreshed (...)`를 읽습니다. Claude Code가 조회 전에 마켓플레이스를 새로고침하지 않았습니다(예: 오프라인 상태일 때). 카탈로그 사본이 오래되었을 수 있습니다. 마켓플레이스 이름으로 새로고침한 다음 다시 설치합니다:

367 

368```text theme={null}

369/plugin marketplace update <marketplace>

370```

371 

372`claude plugin marketplace update`는 `Successfully updated marketplace: <name>`을 인쇄하고, `/plugin marketplace update`는 `✔ Updated 1 marketplace`을 표시합니다. 재시도된 설치가 동일한 메시지를 인쇄하면 [`not found in marketplace` (힌트 없음)](#the-message-has-no-hint)에서 설명하는 대로 이름을 확인합니다. [Claude Code가 설치 전에 마켓플레이스를 새로고침할 때](/docs/ko/plugins/loading#when-claude-code-refreshes-a-marketplace-before-an-install)는 새로고침이 실행되지 않는 다른 경우를 나열합니다.

373 

374<h4 id="the-message-has-no-hint">

375 힌트가 없는 `not found in marketplace`

376</h4>

377 

378이름이 가장 가능성 있는 문제입니다. `/plugin`을 열고 **Discover**로 이동한 다음 목록에서 이름을 복사합니다.

379 

380v2.1.232 이전에는 Claude Code가 조회 후에만 명명된 마켓플레이스를 새로고침했으며 자동 업데이트가 켜져 있을 때만 그렇게 했습니다.

381 

382<h3 id="plugin-not-found-in-any-marketplace">

383 `Plugin "<name>" not found in any marketplace`

384</h3>

385 

386`@marketplace` 없이 `/plugin install <name>`을 실행했고, 등록된 마켓플레이스에 해당 플러그인이 없습니다. `claude plugin install <name>`은 `Plugin "<name>" not found in any configured marketplace`를 보고합니다.

387 

388마켓플레이스 이름 없이 `claude plugin install`은 이미 있는 카탈로그를 검색하고 먼저 새로고침하지 않으며, `/plugin install`은 자동 업데이트가 켜진 마켓플레이스만 새로고침합니다. 마켓플레이스의 이름을 지정하면 Claude Code가 조회 전에 새로고침합니다:

389 

390```text theme={null}

391/plugin install <name>@<marketplace>

392```

393 

394설치가 작동하면 세션에서 `✓ Installed <plugin>.`을 보거나 `claude plugin install`에서 `Successfully installed plugin: <plugin>@<marketplace>`를 봅니다.

395 

396플러그인을 나열하는 마켓플레이스를 모르면 `/plugin marketplace list`를 실행하여 있는 마켓플레이스를 확인하고 `/plugin`의 **Discover**를 탐색하여 플러그인 이름을 찾습니다.

397 

398<h3 id="plugin-is-already-installed-globally">

399 `Plugin '<name>@<marketplace>' is already installed globally`

400</h3>

401 

402이미 사용자 범위 또는 관리 설정으로 설치된 플러그인에 대해 `/plugin install`을 실행했고, Claude Code가 `Use '/plugin' to manage existing plugins.`로 거부했습니다. 플러그인 이름을 `@<marketplace>` 없이 입력한 경우 메시지는 `globally`를 생략합니다.

403 

404플러그인은 이미 모든 프로젝트에서 사용 가능하므로 추가할 것이 없습니다. [범위](/docs/ko/plugins/install)를 변경하거나 활성화 또는 비활성화하거나 구성하려면 `/plugin`을 열고 **Installed**로 이동합니다.

405 

406프로젝트 또는 로컬 범위에만 설치된 플러그인은 이 메시지를 트리거하지 않습니다. Claude Code를 사용하면 사용자 범위에서도 설치할 수 있으므로 다른 프로젝트에서 사용할 수 있습니다.

407 

408셸의 `claude plugin install`은 다른 메시지를 인쇄합니다. 대상 범위에 이미 설치된 플러그인의 경우 `Plugin "<name>@<marketplace>" is already installed (scope: user)`를 인쇄하고 종료 코드 0으로 종료합니다. 캐시 디렉토리가 누락된 경우 동일한 명령이 다시 다운로드합니다.

409 

410<h3 id="this-plugin-uses-a-source-type-your-claude-code-version-does-not-suppo">

411 `This plugin uses a source type your Claude Code version does not support`

412</h3>

413 

414마켓플레이스 항목이 이 버전의 Claude Code가 가져올 수 없는 소스 유형을 사용하는 플러그인을 설치했고, Claude Code가 이 메시지와 `Update Claude Code and try again.`으로 중단되었습니다.

415 

416Claude Code를 업데이트한 다음 설치를 다시 시도합니다. 소스 유형은 [마켓플레이스 참조](/docs/ko/plugins/marketplace-reference)에 있습니다.

417 

418<h3 id="plugin-archive-integrity-check-failed">

419 `Plugin archive integrity check failed`

420</h3>

421 

422zip 아카이브로 배포되는 플러그인을 설치했고, Claude Code가 이 줄과 `The archive was not installed.`로 거부했습니다. 플러그인의 마켓플레이스 항목은 `sha256` 핀이 있는 [`archive` 소스](/docs/ko/plugins/marketplace-reference)를 사용하고, 다운로드된 파일의 다이제스트가 핀과 일치하지 않습니다.

423 

424전체 메시지는 다음과 같습니다:

425 

426```text theme={null}

427Plugin archive integrity check failed for https://artifacts.example.com/claude-plugins/my-plugin.zip: expected sha256 6bfa50e3d2e00c052b46abe51fff89346ac803e45771f76dcf6df1ab74cca5e1, got ac52220c0914ef8ca6a602e4a7362f88d30fb021110f72a6d15b68c3fe7df2b7. The archive was not installed. Verify the sha256 in the marketplace entry, or that the URL serves the intended file.

428```

429 

430수정은 게시자와 설치자에게 다릅니다:

431 

432* **플러그인을 게시하는 경우**: URL이 제공하는 정확한 파일의 다이제스트를 다시 계산하고 마켓플레이스 항목의 `sha256`을 업데이트합니다. `shasum -a 256 my-plugin.zip`을 사용하거나 PowerShell에서 `Get-FileHash -Algorithm SHA256 my-plugin.zip`을 사용합니다.

433* **플러그인을 설치하는 경우**: 세션에서 `/plugin marketplace update <name>`을 실행하여 항목이 수정된 경우 카탈로그를 새로고침한 다음 설치를 다시 시도합니다. 새로고침 후에도 다이제스트가 계속 불일치하면 설치하기 전에 마켓플레이스 소유자에게 어떤 파일을 핀했는지 물어봅니다.

434 

435<h3 id="marketplace-is-registered-from-an-untrusted-source">

436 `Marketplace "<name>" is registered from an untrusted source`

437</h3>

438 

439이전에 추가한 마켓플레이스가 로드를 중단했고 해당 플러그인도 마찬가지입니다. 이 줄은 `/plugin` **Errors** 탭 또는 다음 새로고침에 나타납니다.

440 

441마켓플레이스는 [공식 Anthropic 마켓플레이스용으로 예약된](/docs/ko/plugins/marketplace-reference) 이름으로 등록되어 있지만 등록된 소스는 `anthropics` GitHub 저장소가 아닙니다. 예약된 이름은 마켓플레이스가 로드되거나 새로고침될 때마다 다시 확인되므로 마켓플레이스와 설치된 플러그인이 로드를 중단합니다.

442 

443전체 메시지는 예약된 이름과 수정을 지정합니다:

444 

445```text theme={null}

446Marketplace "claude-community" is registered from an untrusted source: The name 'claude-community' is reserved for official Anthropic marketplaces. Only repositories from 'github.com/anthropics/' can use this name. To fix it, remove the marketplace and re-add it from the official source.

447```

448 

449수정은 사용자와 게시자에게 다릅니다:

450 

451* **마켓플레이스를 사용하는 경우**: 셸에서 `claude plugin marketplace remove <name>`을 실행한 다음 공식 `github.com/anthropics` 저장소에서 마켓플레이스를 다시 추가합니다.

452* **이름이 예약되기 전에 이름을 사용한 타사 마켓플레이스를 게시하는 경우**: 이름을 바꾸고 사용자에게 소스에서 다시 추가하도록 요청합니다.

453 

454v2.1.205 이전에는 Claude Code가 마켓플레이스를 추가할 때만 이름을 확인했으므로 이름이 예약되기 전에 등록된 항목이 계속 로드되었습니다.

455 

456<h3 id="plugin-has-a-corrupt-manifest-file-or-has-an-invalid-manifest-file">

457 `Plugin <name> has a corrupt manifest file` 또는 `has an invalid manifest file`

458</h3>

459 

460Claude Code가 플러그인을 가져왔다가 `.claude-plugin/plugin.json`을 읽지 못했습니다. 셸에서 이 줄의 `<name>`은 임시 디렉토리 이름일 수 있습니다. `Failed to install plugin "<name>@<marketplace>"` 접두사는 플러그인의 실제 이름을 전달합니다. 표현은 어떤 확인이 실패했는지 나타냅니다:

461 

462* **`corrupt manifest file`, 뒤에 `JSON parse error:`**: 파일이 유효한 JSON이 아닙니다.

463* **`invalid manifest file`, 뒤에 `Validation errors:`**: 파일이 구문 분석되지만 스키마가 실패합니다(예: 필수 필드가 누락된 경우 `name: Invalid input`).

464 

465`claude plugin install`은 `Failed to install plugin "<name>@<marketplace>":`로 보고하고 종료 코드 1로 종료합니다.

466 

467플러그인 작성자가 파일을 수정해야 하며 그때까지 플러그인을 설치할 수 없습니다:

468 

469* **그것이 당신인 경우**: 셸에서 `claude plugin validate <plugin-directory>`를 실행하여 위반하는 경로와 함께 동일한 오류를 보고 파일을 수정합니다.

470* **그렇지 않은 경우**: 메시지를 마켓플레이스 소유자에게 보고합니다.

471 

472<h3 id="plugin-directory-not-found-at-path">

473 `Plugin directory not found at path: <path>`

474</h3>

475 

476`/plugin`의 **Errors** 탭은 마켓플레이스가 `./plugins/my-plugin`과 같은 상대 경로로 나열하는 활성화된 플러그인에 대해 이를 표시하며, 마켓플레이스 내부의 해당 경로에 디렉토리가 없습니다. 마켓플레이스를 유지 관리하는 경우 항목의 `source` 경로를 수정하거나 폴더를 복원합니다. 그렇지 않으면 메시지를 마켓플레이스 소유자에게 보고합니다.

477 

478`Marketplace directory not found at path: <path>`는 마켓플레이스 자체의 디렉토리가 누락되었음을 의미합니다. 로컬 경로에서 추가한 마켓플레이스의 경우 해당 디렉토리가 이동되었거나 삭제되었습니다. 복원하거나 마켓플레이스를 제거하고 새 위치에서 다시 추가합니다.

479 

480<h3 id="no-plugins-available-or-no-marketplaces-configured">

481 `No plugins available` 또는 `No marketplaces configured`

482</h3>

483 

484`/plugin`을 열었고 **Discover** 탭이 비어 있거나 `claude plugin marketplace list`가 `No marketplaces configured`를 인쇄했습니다.

485 

486등록된 마켓플레이스가 없으므로 표시할 카탈로그가 없습니다. 세션에서 공식 마켓플레이스 `anthropics/claude-plugins-official`을 추가합니다:

487 

488```text theme={null}

489/plugin marketplace add anthropics/claude-plugins-official

490```

491 

492Claude Code는 `Successfully added marketplace: claude-plugins-official`을 인쇄하고 **Discover**는 해당 플러그인을 나열합니다. [Anthropic 마켓플레이스](/docs/ko/plugins/anthropic-marketplaces) 페이지는 추가할 수 있는 다른 마켓플레이스를 나열합니다.

493 

494<h3 id="marketplace-is-already-added-from-a-different-source">

495 `Marketplace "<name>" is already added from a different source`

496</h3>

497 

498[`/plugin install <plugin> --marketplace <source>`](/docs/ko/plugins/install#add-a-marketplace-and-install-in-one-command)를 통해 마켓플레이스 추가를 확인했고, Claude Code가 해당 소스에서 가져온 카탈로그가 다른 소스에서 이미 추가한 마켓플레이스와 동일한 이름을 가지고 있습니다. Claude Code는 기존 마켓플레이스를 유지하고 플러그인을 대체하지 않으며 플러그인이 설치되지 않습니다.

499 

500전체 메시지는 다음과 같습니다:

501 

502```text theme={null}

503Marketplace "acme-tools" is already added from a different source (github:acme/plugins). To use this source instead, remove that marketplace first with /plugin marketplace remove acme-tools.

504```

505 

506어떤 소스를 원하는지 선택합니다:

507 

508* **이미 추가한 마켓플레이스**: `/plugin install <plugin>@<name>`으로 이름으로 설치합니다.

509* **새 소스**: `/plugin marketplace remove <name>`을 실행한 다음 설치를 다시 시도합니다.

510 

511<h3 id="cannot-add-marketplace-its-network-source-differs">

512 `Cannot add marketplace "<name>": its network source differs from the one declared for it in settings`

513</h3>

514 

515`marketplace add`를 실행했고, 해당 소스의 카탈로그가 설정 파일이 [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces) 아래에서 다른 소스로 선언한 마켓플레이스와 동일한 이름을 가지고 있습니다. Claude Code는 추가를 거부하고 아무것도 등록하지 않습니다.

516 

517메시지는 수정으로 끝납니다: 소스는 설정에서 이 이름에 대해 선언된 소스와 일치해야 하거나 선언을 변경합니다. 전달한 소스를 해당 이름의 `extraKnownMarketplaces` 항목과 비교합니다(해당 `ref`, `path` 및 `headers` 포함). 그런 다음 다음 중 하나를 수행합니다:

518 

519* **선언된 소스 사용**: 설정 항목이 이름을 지정하는 소스에서 마켓플레이스를 추가합니다.

520* **새 소스 사용**: `extraKnownMarketplaces` 항목을 편집하거나 제거한 다음 마켓플레이스를 다시 추가합니다. 관리 설정이 선언하면 관리자에게 문의합니다.

521 

522<h3 id="failed-to-install-from-the-plugin-menu">

523 `Failed to install: <plugin> (<reason>)`

524</h3>

525 

526`/plugin` 메뉴에서 설치할 플러그인을 선택했고, 아무것도 설치되지 않았으며, 메뉴가 실패한 내용의 요약으로 닫혔습니다.

527 

528git의 출력과 같은 일부 이유는 첫 번째 줄만 표시합니다. 그러한 이유가 단축되면 요약은 `Installing a plugin from its details (Enter) in /plugin shows its full error.`로 끝납니다.

529 

530수행할 작업은 요약이 이유를 단축했는지 여부에 따라 다릅니다:

531 

532* 괄호의 이유가 이름을 지정하는 것을 수정합니다.

533* 이유가 단축되면 `/plugin`을 실행하고 **Discover** 탭에서 플러그인을 선택한 다음 **Enter**를 눌러 세부 정보에서 설치합니다. 설치가 거기서 실패하면 세부 정보 보기에 전체 오류가 표시됩니다.

534 

535<h3 id="could-not-move-the-new-copy-of-this-plugin-version">

536 `Could not move the new copy of this plugin version into <path>`

537</h3>

538 

539플러그인을 설치할 때 Claude Code는 파일의 새 사본을 다운로드하고 [플러그인 캐시](/docs/ko/plugins/loading#find-plugins-on-disk)의 해당 버전 폴더로 이동합니다. 이 메시지는 이동이 실패했음을 의미하며, 일반적으로 설치가 실행되는 동안 다른 프로그램이 폴더를 사용하고 있기 때문입니다. 파일 시스템 코드는 괄호에 나타납니다:

540 

541```text theme={null}

542Could not move the new copy of this plugin version into /home/user/.claude/plugins/cache/acme-tools/formatter/1.2.0: the new copy or the version folder stayed busy while the install ran (ENOTEMPTY) — usually a scanner still reading the freshly downloaded files, another program using that folder, or another process re-creating it. The previously installed copy was moved back. Run the install again once other Claude Code sessions or programs using that folder have finished.

543```

544 

545메시지는 설치 전에 설치된 사본에 어떤 일이 일어났는지 말하며, 이는 플러그인이 여전히 작동하는지 여부를 알려줍니다:

546 

547* `The previously installed copy was moved back`: 있던 버전이 여전히 설치되어 있습니다.

548* `had to be removed first`, `was not moved back` 또는 `could not be moved back`: 설치가 성공할 때까지 해당 플러그인 버전이 설치되지 않습니다.

549* 그러한 문장 없음: 이전 사본이 없었으므로 버전이 아직 설치되지 않았습니다.

550 

551Windows에서 다른 프로그램이 설치된 사본 자체를 보유할 때 메시지는 대신 해당 사본을 `could not be replaced`할 수 없다고 말하고 `It was not replaced and the new copy was discarded`라고 말하므로 있던 버전이 여전히 설치되어 있습니다.

552 

553`Left on disk` 목록은 캐시 내의 별도 폴더의 이름을 지정합니다. 나중에 해당 버전을 설치하거나 플러그인 캐시 정리가 제거하므로 수동으로 삭제할 필요가 없습니다.

554 

555설치를 수정하려면:

556 

557* `~/.claude/plugins/cache` 아래의 플러그인 폴더를 사용하는 다른 Claude Code 세션, 편집기 및 터미널을 닫은 다음 설치를 다시 실행합니다.

558* 메시지가 플러그인 캐시 폴더의 권한을 확인하도록 말할 때 이름을 지정하는 폴더에 대한 쓰기 권한을 복원하고 디스크 공간을 확보한 다음 설치를 다시 실행합니다.

559 

560<h3 id="dependency-errors">

561 종속성 오류

562</h3>

563 

564종속성을 선언하는 플러그인은 종속성을 충족할 수 없을 때 설치하지 못하거나 설치되고 비활성화된 상태로 유지될 수 있습니다. 메시지는 설치 시간 또는 로드 시간에 도달합니다:

565 

566* **설치 중**: 거부는 설치의 오류 메시지로 돌아옵니다.

567* **플러그인이 로드될 때**: 문제는 `claude plugin list` 및 `/plugin` **Errors** 탭에 나타나며, Claude Code는 영향을 받는 플러그인을 비활성화된 상태로 유지합니다.

568 

569표는 각 메시지와 수정을 나열합니다. 작성자로서 종속성을 선언하려면 [플러그인 종속성](/docs/ko/plugins/dependencies)을 참조합니다.

570 

571| 메시지 | 의미 | 해결 방법 |

572| :- | :- | :- |

573| `Dependency "<dep>" is not installed` | 선언된 종속성이 설치되지 않았습니다. | 셸에서 `claude plugin install <dep>@<marketplace>`로 설치하거나 플러그인을 제거합니다. 종속성의 마켓플레이스가 아직 등록되지 않았으면 추가하고 세션에서 `/reload-plugins`를 실행합니다. 이는 해결할 수 있는 누락된 종속성을 설치합니다. |

574| `Dependency "<dep>" is disabled` | 종속성이 설치되었지만 꺼져 있습니다. | 종속성을 활성화하거나 필요한 플러그인을 제거합니다. |

575| `Requires "<dep>" <range>, installed <version>` | 설치된 종속성의 버전이 플러그인의 선언된 범위를 벗어났습니다. | 종속성을 범위 내의 버전으로 업데이트하거나 플러그인을 제거합니다. |

576| `<Plugin or Dependency> "<name>" has conflicting version requirements` | 모든 범위를 만족하는 버전이 없습니다. 메시지는 범위를 나열합니다. | 충돌하는 플러그인 중 하나를 제거하거나 업데이트하거나 업스트림 작성자에게 제약을 넓히도록 요청합니다. |

577| `... has version requirements too complex to intersect` 또는 `has an invalid version requirement` | 범위가 유효한 semver가 아니거나 결합된 범위를 교차할 수 없습니다. | 유효하지 않은 범위를 수정하거나 긴 `\|\|` 체인을 단순화합니다. |

578| `... has no git tag satisfying <range>` | 종속성의 저장소에 범위의 `<name>--v*` 태그가 없습니다. | 업스트림이 해당 규칙으로 릴리스를 태그하는지 확인하거나 범위를 완화합니다. |

579| `Dependency "<dep>" (required by <plugin>) is in <marketplace>, which is not in the allowlist` | 종속성이 다른 마켓플레이스에 있고 교차 마켓플레이스 해결이 기본적으로 꺼져 있습니다. | 동일한 범위에서 종속성을 직접 설치합니다. 셸에서 `claude plugin install <dep>@<marketplace>` 및 플러그인을 설치하는 `--scope`를 사용한 다음 다시 시도합니다. |

580 

581이를 프로그래밍 방식으로 보려면 셸에서 `claude plugin list --json`을 실행합니다. 문제가 있는 플러그인은 메시지가 있는 `errors` 필드와 각각에 대한 `type`이 있는 `errorDetails` 필드를 전달합니다: 처음 두 행은 `dependency-unsatisfied`이고 세 번째는 `dependency-version-unsatisfied`입니다.

582 

583<h2 id="plugin-installed-but-not-working">

584 플러그인이 설치되었지만 작동하지 않음

585</h2>

586 

587설치가 성공했지만 플러그인의 스킬, 훅 또는 서버가 아무것도 하지 않습니다. [플러그인이 나타나지 않거나 스킬이 표시되지 않음](#plugin-doesnt-appear-or-its-skills-dont-show-up)으로 시작합니다. 이는 Claude Code가 로드한 내용을 보고하는 위치를 알려주고 메시지와 일치합니다.

588 

589<h3 id="plugin-doesnt-appear-or-its-skills-dont-show-up">

590 플러그인이 나타나지 않거나 스킬이 표시되지 않음

591</h3>

592 

593플러그인을 설치했고 `/`를 입력하여 스킬을 기대했거나 Claude에게 사용하도록 요청했으며 아무것도 일어나지 않았습니다.

594 

595변경하기 전에 플러그인의 상태를 확인합니다:

596 

597<Steps>

598 <Step title="플러그인이 설치되고 활성화되었는지 확인">

599 `/plugin`을 실행하고 **Installed**를 엽니다. 플러그인이 나열되고 활성화되었는지 확인합니다. 셸의 `claude plugin list`는 각 플러그인의 버전, 범위 및 `Status: ✔ enabled`와 함께 동일한 목록을 인쇄합니다.

600 </Step>

601 

602 <Step title="Errors 탭 읽기">

603 동일한 패널에서 **Errors** 탭을 엽니다. 각 항목은 메시지를 지침 줄과 쌍으로 만듭니다. 이 섹션의 나머지 부분의 대부분의 메시지는 해당 탭에서 나옵니다.

604 </Step>

605 

606 <Step title="이 세션 중에 설치한 경우 다시 로드">

607 플러그인이 설치되고 오류가 없지만 이 세션 중에 설치한 경우 `/reload-plugins`를 실행합니다. 플러그인, 스킬, 에이전트, 훅 및 서버의 개수와 함께 `Reloaded:`를 인쇄합니다. 무언가가 실패하면 `N errors during load. Run /plugin for details.`를 추가합니다.

608 </Step>

609</Steps>

610 

611플러그인이 오류 없이 로드되지만 스킬이 여전히 나타나지 않으면 다음 단계는 자신의 플러그인과 다른 사람의 플러그인에 따라 다릅니다:

612 

613* **빌드 중인 플러그인**: [플러그인이 로드되지만 스킬이 누락됨](#plugin-loads-but-its-skills-are-missing)을 참조합니다.

614* **다른 사람이 게시한 플러그인**: `/plugin`에서 **Installed**를 열고 플러그인의 세부 정보 창을 열어 플러그인에 포함된 내용을 나열합니다. 거기에 스킬이 나열되지 않은 플러그인은 `/`를 입력할 때 제공할 스킬이 없습니다.

615 

616<h3 id="run-reload-plugins-to-activate">

617 `Run /reload-plugins to activate.`

618</h3>

619 

620`/plugin`의 설치 요약이 `Plugin is now active.` 대신 `Run /reload-plugins to activate.`로 끝났습니다.

621 

622Claude Code가 설치 중에 플러그인을 활성화하지 않았습니다. 활성화하면 [프롬프트 캐시가 무효화](/docs/ko/prompt-caching#enabling-or-disabling-a-plugin)되거나 활성화 시도가 실패했기 때문입니다.

623 

624명령을 입력할 필요가 없습니다. 패널이 닫히고 Claude Code가 `/reload-plugins`를 실행하거나 스트리밍 중인 응답이 완료될 때까지 대기열에 넣습니다.

625 

626해당 다시 로드가 인쇄하는 내용을 읽습니다:

627 

628* **플러그인, 스킬, 에이전트, 훅 및 서버의 개수와 함께 `Reloaded:`**: 플러그인이 이제 활성화되었습니다. 무언가가 로드되지 못하면 줄이 `N errors during load. Run /plugin for details.`를 추가합니다.

629* **`This reload changes MCP tools (...) — your next message will re-read the whole conversation instead of using the cache. Run /reload-plugins --force to apply.`**: 다시 로드가 플러그인 MCP 서버를 추가하거나 제거하거나 `LSP` 도구를 추가하거나 제거하며 프롬프트 캐시를 무효화합니다. LSP 경우 줄이 `This reload adds the LSP tool` 또는 `This reload removes the LSP tool`로 시작합니다. `--force`로 실행하여 플러그인을 활성화하거나 새 세션을 시작합니다.

630 

631v2.1.268 이전에는 설치 중에 활성화되지 않은 설치가 직접 `/reload-plugins`를 실행할 때까지 대기 중이었습니다.

632 

633v2.1.246 이전에는 해당 요약의 스킬 개수가 플러그인의 `commands/` 항목만 포함했으므로 다시 로드가 플러그인의 `SKILL.md` 스킬을 로드하고 여전히 `0 skills`를 보고할 수 있었습니다.

634 

635<h3 id="plugin-not-cached-at">

636 `Plugin "<name>" not cached at <path>`

637</h3>

638 

639**Errors** 탭은 이 줄을 `Run /plugin to refresh the plugin cache`의 지침과 함께 표시합니다. Claude Code는 플러그인에 대한 설치 기록을 가지고 있지만 기록이 가리키는 디렉토리가 누락되었습니다(예: 캐시를 지운 후).

640 

641셸에서 플러그인을 다시 설치합니다. `claude plugin install <name>@<marketplace>`는 설치 디렉토리가 누락되었지만 기록이 존재하는 플러그인을 다시 다운로드합니다:

642 

643```shell theme={null}

644claude plugin install <name>@<marketplace>

645```

646 

647그런 다음 세션에서 `/reload-plugins`를 실행합니다. **Errors** 탭 항목이 사라지고 플러그인이 **Installed** 아래로 돌아옵니다.

648 

649<h3 id="a-plugin-you-disabled-still-loads">

650 `Disabled in ~/.claude/settings.json but still loads`

651</h3>

652 

653`~/.claude/settings.json`에서 플러그인을 `false`로 설정했고, `claude plugin list` 또는 `/plugin`의 행이 `— project settings enable it, which overrides your user setting`과 같은 소스를 따르는 이 메시지를 표시합니다. 더 높은 우선순위 소스의 `true`가 사용자 설정을 재정의하고 있습니다.

654 

655머신에서 프로젝트 활성화 플러그인을 거부하려면 id를 `.claude/settings.local.json`에서 `false`로 설정합니다. 이는 프로젝트 파일보다 우선순위가 높습니다. 메시지가 이름을 지정할 수 있는 다른 소스의 경우 [사용자 설정에서 비활성화되었지만 여전히 로드됨](/docs/ko/plugins/loading#disabled-in-user-settings-but-still-loads)을 참조합니다.

656 

657`claude plugin list`가 대신 플러그인을 `required by your org`로 표시하면 설정 파일이 관련되지 않습니다: 조직이 claude.ai에서 동기화된 플러그인을 필수로 표시하고 이전에 비활성화했더라도 로드됩니다. [claude.ai에서 동기화된 플러그인](/docs/ko/plugins/loading#synced-plugins)을 참조합니다.

658 

659<h3 id="plugin-is-enabled-in-project-settings-but-isnt-installed-here">

660 `Plugin "<name>" is enabled in project settings but isn't installed here`

661</h3>

662 

663**Errors** 탭은 프로젝트의 `.claude/settings.json`이 활성화하는 플러그인에 대해 이 줄을 `Run claude plugin install <name>@<marketplace> --scope project to install it for this project`의 지침과 함께 표시합니다.

664 

665저장소의 설정은 모든 사람이 플러그인을 활성화할 수 있지만 설치하지는 않습니다. 플러그인이 GitHub 저장소 또는 npm 패키지와 같은 외부 소스에서 나올 때 Claude Code는 직접 설치할 때까지 다운로드하지 않습니다. 지침 줄의 명령을 셸에서 실행한 다음 다시 로드합니다:

666 

667```shell theme={null}

668claude plugin install <name>@<marketplace> --scope project

669```

670 

671세션에서 `/reload-plugins`를 실행한 후 **Errors** 탭 항목이 사라지고 플러그인이 **Installed** 아래에 나열됩니다.

672 

673조직이 플러그인을 미리 설치하면 대신 관리 설정을 통해 그렇게 합니다. [플러그인 사전 설치 및 필수](/docs/ko/plugins/org#pre-install-and-require-plugins)를 참조합니다.

674 

675<h3 id="failed-to-load-hooks-from-and-hooks-that-dont-fire">

676 `Failed to load hooks from <path>` 및 발화하지 않는 훅

677</h3>

678 

679플러그인의 훅이 실행되지 않거나 하나가 작업을 차단합니다. **Errors** 탭이 로드 실패를 표시하거나, 훅이 로드되고 트랜스크립트에서 `<Event> hook error` 공지를 보거나, 훅이 오류 없이 로드되고 절대 발화하지 않습니다.

680 

681<h4 id="hooks-fail-to-load">

682 훅이 로드되지 못함

683</h4>

684 

685**Errors** 탭은 다음 메시지 중 하나를 표시합니다:

686 

687* **`Failed to load hooks from <path>: <reason>`**: `hooks/hooks.json`이 유효한 JSON이 아니거나 훅 스키마가 실패합니다. 이유는 구문 분석 또는 유효성 검사 오류의 이름을 지정합니다. 파일을 수정합니다. 플러그인을 게시하기 전에 `hooks/hooks.json`의 JSON 구문 문제를 포착하려면 셸에서 `claude plugin validate <plugin-directory>`를 실행합니다.

688* **`hooks path not found: <path>`**: 매니페스트의 `hooks` 필드가 플러그인 루트에 상대적으로 해당 경로에 존재하지 않는 파일의 이름을 지정합니다. 경로를 수정하거나 파일을 추가합니다.

689 

690<h4 id="hook-error-notices-in-the-transcript">

691 트랜스크립트의 `hook error` 공지

692</h4>

693 

694`... hook error: Failed with non-blocking status code: <stderr>` 형식의 공지는 훅이 실행되고 명령이 실패했음을 의미합니다. 예를 들어 `Stop hook error: Failed with non-blocking status code: /bin/sh: node: command not found`는 Claude Code가 생성한 셸이 `node`를 찾을 수 없음을 의미합니다. 설치하거나 `claude`를 시작하는 터미널의 `PATH`에 있는지 확인합니다.

695 

696stderr이 플러그인의 경로를 공백에서 자르면 훅의 셸 형식 명령이 `${CLAUDE_PLUGIN_ROOT}`를 따옴표 외부에서 사용하고 설치 경로에 공백이 포함되어 있습니다. 변수를 큰따옴표로 감싸거나 [exec 형식](/docs/ko/hooks#exec-form-and-shell-form)을 사용합니다. 따옴표 없는 변수를 찾으려면 플러그인 디렉토리에서 `claude plugin validate`를 실행하고 [따옴표 경고](/docs/ko/plugins/manifest-reference#quoting-and-path-separators)를 찾습니다.

697 

698다른 오류의 경우 플러그인 디렉토리에서 훅의 명령을 직접 실행하여 전체 출력을 보거나 [디버그 로깅](/docs/ko/hooks#debug-hooks)으로 전체 stderr을 캡처합니다.

699 

700<h4 id="a-plugin-hook-blocks-a-tool-call-or-prompt">

701 플러그인 훅이 도구 호출 또는 프롬프트를 차단

702</h4>

703 

704종료 코드 2로 종료하는 훅은 [실행한 작업을 차단](/docs/ko/hooks#exit-code-2)합니다. 플러그인의 훅이 이런 방식으로 차단하고 stderr이 차단 메시지일 때 오류는 `This hook comes from the <plugin> plugin.`으로 끝나므로 비활성화하거나 수정할 플러그인을 알 수 있습니다. v2.1.281 이전에는 오류가 플러그인의 이름을 지정하지 않았습니다.

705 

706해당 메시지가 플러그인의 경로를 공백에서 자르면 [따옴표 없는 `${CLAUDE_PLUGIN_ROOT}` 수정](#hook-error-notices-in-the-transcript)을 적용합니다.

707 

708<h4 id="hook-loads-but-never-fires">

709 훅이 로드되지만 절대 발화하지 않음

710</h4>

711 

712훅이 오류 없이 로드되지만 절대 발화하지 않으면 정의와 실행을 확인합니다:

713 

714<Steps>

715 <Step title="이벤트 이름 확인">

716 이벤트 이름은 대소문자를 구분하므로 정확히 일치하는지 확인합니다(예: `PostToolUse`).

717 </Step>

718 

719 <Step title="매처 확인">

720 훅의 `matcher`가 도구 이름과 일치하는지 확인합니다.

721 </Step>

722 

723 <Step title="의도적으로 이벤트 트리거">

724 `PostToolUse` 훅의 경우 Claude에게 파일을 편집하도록 요청합니다.

725 </Step>

726 

727 <Step title="디버그 로그 읽기">

728 [디버그 로그](/docs/ko/hooks#debug-hooks)를 열어 어떤 훅이 일치했는지 기록합니다. 실행된 훅은 종료 코드와 함께 거기에 나타납니다.

729 </Step>

730</Steps>

731 

732<h3 id="invalid-mcp-server-config-for-and-mcp-servers-that-dont-start">

733 `Invalid MCP server config for "<server>"` 및 시작하지 않는 MCP 서버

734</h3>

735 

736플러그인이 MCP 서버를 번들로 제공하고 **Errors** 탭이 `Invalid MCP server config for "<server>": <error>`를 표시하거나 서버가 나열되지만 `/mcp`가 연결된 것을 절대 표시하지 않습니다.

737 

738<h4 id="invalid-mcp-server-config-for-server-error">

739 `Invalid MCP server config for "<server>": <error>`

740</h4>

741 

742서버의 구성이 스키마 확인을 통과하지만 Claude Code가 이 세션에 대해 해결할 수 없습니다. 콜론 뒤의 텍스트는 원인의 이름을 지정하고 수정을 결정합니다:

743 

744* **`Missing environment variables: <names>`**: Claude Code를 시작하는 셸에서 해당 변수를 설정한 다음 새 세션을 시작합니다.

745* **`URL is unset or invalid`**: URL이 사용하는 `${user_config.*}` 옵션이 설정되지 않았습니다. `/plugin configure <plugin>`을 실행하여 설정합니다.

746* **`has an invalid MCP url`** 또는 **`headersHelper for MCP server '<server>' references ${user_config.*}`**: 플러그인 자체의 구성이 잘못되었습니다. 플러그인의 MCP 구성에서 `url` 또는 `headersHelper`를 수정하거나 플러그인이 당신의 것이 아니면 플러그인 작성자에게 보고합니다. `headersHelper` 경우는 [플러그인 명령이 user\_config를 참조](/docs/ko/errors#plugin-command-references-user_config) 아래에 자체 항목이 있습니다.

747 

748<h4 id="server-is-configured-but-never-connects">

749 서버가 구성되었지만 절대 연결되지 않음

750</h4>

751 

752`/mcp`를 실행하여 서버의 상태를 확인합니다. 서버가 정상이면 `/mcp`는 연결된 것으로 나열합니다.

753 

754서버가 시작되는 동안 인쇄한 오류를 읽으려면 `claude --debug`를 실행하고 `~/.claude/debug/<session-id>.txt`에서 로그를 엽니다. `--debug` 플래그는 터미널에 인쇄하지 않습니다.

755 

756`.mcp.json`의 서버 항목이 스키마가 실패하면 **Errors** 탭에 나타나지 않습니다. Claude Code는 해당 서버를 삭제하고 `Invalid MCP server config for <server> in <path>`만 해당 디버그 로그에 기록합니다. 플러그인을 로드하지 않고 항목을 찾으려면 플러그인 디렉토리에서 셸에서 `claude plugin validate`를 실행합니다. 이는 오류로 보고합니다.

757 

758v2.1.281 이전에는 `claude plugin validate`가 `.mcp.json`을 확인하지 않았습니다.

759 

760<h4 id="server-works-with-plugin-dir-but-fails-after-install">

761 서버가 `--plugin-dir`로 작동하지만 설치 후 실패

762</h4>

763 

764플러그인의 작성자이고 서버가 `--plugin-dir`로 소스 디렉토리에서 플러그인을 로드할 때 시작되지만 설치 후 실패합니다.

765 

766Claude Code는 설치된 플러그인을 캐시로 복사하므로 소스 디렉토리에서만 작동하는 경로가 중단됩니다. `${CLAUDE_PLUGIN_ROOT}`로 플러그인 내부의 경로를 작성합니다.

767 

768플러그인 디렉토리 외부에 도달하는 경로의 경우 [플러그인이 참조하는 파일이 디렉토리 외부에서 찾을 수 없음](#files-the-plugin-references-outside-its-directory-arent-found)을 참조합니다.

769 

770<h3 id="language-server-doesnt-start">

771 언어 서버가 시작되지 않거나 너무 많은 메모리를 사용하거나 잘못된 진단을 보고

772</h3>

773 

774[코드 인텔리전스 플러그인](/docs/ko/plugins/code-intelligence)을 설치했고 Claude가 진단을 보지 못하거나 언어 서버가 너무 많은 메모리를 사용하거나 실제가 아닌 오류를 보고합니다.

775 

776<h4 id="language-server-doesn’t-start">

777 언어 서버가 시작되지 않음

778</h4>

779 

780플러그인은 별도로 설치하는 언어 서버 바이너리에 연결되고 Claude Code는 `PATH`에서 명령 이름으로 생성합니다.

781 

782`/plugin` **Errors** 탭은 `Executable not found in $PATH: "<binary>"`와 같은 이유와 함께 실패를 표시하고 `claude --debug`는 `LSP server <name> failed to start: <reason>`으로 로그합니다.

783 

784바이너리를 설치하고 `claude`를 시작하는 터미널의 `PATH`에 있는지 확인합니다(예: `which typescript-language-server`). 그런 다음 새 세션을 시작합니다.

785 

786<h4 id="language-server-uses-too-much-memory">

787 언어 서버가 너무 많은 메모리를 사용

788</h4>

789 

790`rust-analyzer` 및 `pyright`와 같은 언어 서버는 전체 프로젝트를 인덱싱합니다. 세션에서 `/plugin disable <plugin>`으로 플러그인을 비활성화하고 대신 Claude의 기본 제공 검색 도구에 의존합니다.

791 

792<h4 id="false-positive-diagnostics-in-a-monorepo">

793 모노레포의 거짓 양성 진단

794</h4>

795 

796작업 공간에 대해 구성되지 않은 언어 서버는 내부 패키지에 대해 확인되지 않은 가져오기를 보고할 수 있습니다. Claude Code 측에서 수정할 것이 없으며 진단이 Claude가 코드를 편집하는 것을 중단하지 않습니다.

797 

798<h2 id="build-a-plugin">

799 플러그인 빌드

800</h2>

801 

802플러그인을 개발 중이고 `--plugin-dir`로 로드하거나 로컬 마켓플레이스에서 설치합니다. 이러한 항목은 플러그인을 개발하는 동안 발생하는 실패를 다룹니다. 각 변경 후 확인을 실행하려면 [테스트 및 디버그](/docs/ko/plugins/create#test-and-debug)를 참조합니다.

803 

804플러그인의 사용자에게도 도달하는 두 가지 실패는 [플러그인이 설치되었지만 작동하지 않음](#plugin-installed-but-not-working) 아래에 항목이 있습니다:

805 

806* **발화하지 않는 훅**: [발화하지 않는 훅](#failed-to-load-hooks-from-and-hooks-that-dont-fire)을 참조합니다.

807* **시작하지 않는 MCP 서버**: [시작하지 않는 MCP 서버](#invalid-mcp-server-config-for-and-mcp-servers-that-dont-start)를 참조합니다.

808 

809<h3 id="commands-path-not-found">

810 `commands path not found: <path>`

811</h3>

812 

813**Errors** 탭은 `commands path not found: <absolute path>`를 `Check that the path in your manifest or marketplace config is correct`의 지침과 함께 표시합니다. 동일한 메시지는 `skills`, `agents` 및 `hooks`에 대해 나타납니다.

814 

815Claude Code는 `plugin.json` 또는 마켓플레이스 항목의 경로를 플러그인 루트에 대해 확인했고 거기에 아무것도 찾지 못했습니다. 메시지의 경로는 확인한 절대 경로이므로 디스크의 내용과 비교합니다. 경로를 수정하거나 디렉토리를 만든 다음 `/reload-plugins`를 실행합니다.

816 

817매니페스트의 경로는 플러그인 루트에 상대적이고 `./`로 시작합니다. 플러그인 루트 외부로 확인되는 경로는 대신 `<component> path escapes plugin directory`로 보고되고 삭제됩니다.

818 

819<h3 id="plugin-dir-loads-a-plugin-with-no-components">

820 `--plugin-dir` (마켓플레이스 루트에서 `plugins/` 아래의 플러그인을 로드하지 않음)

821</h3>

822 

823`claude --plugin-dir <path>`를 시작했고 오류가 없지만 플러그인의 스킬, 에이전트 및 훅이 없습니다.

824 

825`--plugin-dir`은 플러그인의 루트 디렉토리, `.claude-plugin/plugin.json`을 포함하는 디렉토리 및 `skills/`와 같은 구성 요소 디렉토리를 사용합니다. 대신 마켓플레이스 루트를 가리키면 Claude Code가 `marketplace.json`을 읽지 않으므로 `plugins/` 아래의 플러그인이 로드되지 않으며 오류가 없습니다. v2.1.281 이전에는 Claude Code가 마켓플레이스 루트를 해당 디렉토리의 이름을 따서 명명한 하나의 빈 플러그인으로 로드했습니다. 플래그를 플러그인 디렉토리 자체로 가리킵니다:

826 

827```shell theme={null}

828claude --plugin-dir ./my-marketplace/plugins/my-plugin

829```

830 

831그런 다음 `/plugin`에서 **Installed**를 열어 플러그인의 세부 정보 창이 구성 요소를 나열합니다.

832 

833<h3 id="files-the-plugin-references-outside-its-directory-arent-found">

834 플러그인이 디렉토리 외부에서 참조하는 파일을 찾을 수 없음

835</h3>

836 

837플러그인은 `--plugin-dir`로 소스 디렉토리에서 작동하지만 설치 후 `../shared-utils`와 같은 경로에 대한 오류로 실패합니다.

838 

839Claude Code는 설치된 플러그인을 캐시로 복사하고 거기서 로드하므로 플러그인 자체의 디렉토리 외부에 도달하는 경로는 캐시에서 아무것도 가리키지 않습니다. 공유 파일을 플러그인 디렉토리 내부로 이동하거나 내부의 심볼릭 링크를 통해 참조합니다. 캐시가 있는 위치와 경로가 확인되는 방식은 [디스크에서 플러그인 찾기](/docs/ko/plugins/loading#find-plugins-on-disk)를 참조합니다.

840 

841<h3 id="claude-plugin-root-shows-forward-slashes-on-windows">

842 `${CLAUDE_PLUGIN_ROOT}`가 Windows에서 정방향 슬래시를 표시

843</h3>

844 

845Windows에서 플러그인 훅은 `C:\Users\you\...` 대신 `C:/Users/you/...`로 `${CLAUDE_PLUGIN_ROOT}`를 수신하고 백슬래시를 기대한 스크립트가 중단됩니다.

846 

847Claude Code는 Windows에서 Git Bash를 통해 셸 형식 훅을 실행하고 의도적으로 정방향 슬래시 Win32 형식으로 플러그인 루트를 대체합니다. Bash 내장, MSYS 도구 및 기본 Windows 바이너리는 모두 해당 형식을 허용합니다.

848 

849스크립트에 백슬래시가 필요하면 [exec 형식 및 셸 형식](/docs/ko/hooks#exec-form-and-shell-form) 아래에 설명된 기본 경로를 유지하는 형식 중 하나로 훅을 전환합니다:

850 

851* `args` 배열로 프로세스를 직접 생성하는 exec 형식 훅

852* `"shell": "powershell"`이 있는 훅

853 

854<h3 id="plugin-loads-but-its-skills-are-missing">

855 플러그인이 로드되지만 스킬이 누락됨

856</h3>

857 

858플러그인이 **Installed** 아래에 오류 없이 나열되지만 `/`를 입력할 때 스킬이 제공되지 않습니다.

859 

860스킬은 플러그인 루트의 `skills/`에서 로드되고 명령은 플러그인 루트의 `commands/`에서 로드됩니다. `.claude-plugin/` 내부에만 `plugin.json`이 속하고 `.claude-plugin/` 내부의 `skills/` 디렉토리는 스캔되지 않습니다. 디렉토리를 플러그인 루트로 이동하고 `/reload-plugins`를 실행합니다. 그 후 `/plugin`의 플러그인 세부 정보 창이 스킬을 나열하고 `/`를 입력하면 제공됩니다.

861 

862각 스킬은 `SKILL.md`를 포함하는 디렉토리입니다. `SKILL.md` 파일이 아닌 `SKILL.md` 파일을 가리키는 매니페스트의 `skills` 항목은 `path is a file; skills entries must be directories containing SKILL.md`로 보고됩니다.

863 

864<h3 id="skill-loads-but-claude-never-invokes-the-skill">

865 스킬이 로드되지만 Claude가 절대 스킬을 호출하지 않음

866</h3>

867 

868플러그인의 스킬은 `/<plugin>:<skill>` 명령을 입력할 때 실행되지만 Claude는 일반 요청에 응답하여 절대 호출하지 않습니다.

869 

870이 순서대로 이러한 원인을 확인합니다:

871 

872* **스킬이 `disable-model-invocation: true`를 설정**: 해당 필드가 설정되면 당신만 스킬을 호출할 수 있습니다. [첫 번째 플러그인 만들기](/docs/ko/plugins/create#create-your-first-plugin)의 템플릿 스킬이 설정합니다. Claude가 호출하기를 원하는 스킬에서 줄을 제거합니다. [스킬을 호출할 수 있는 사람 제어](/docs/ko/skills#control-who-invokes-a-skill)는 필드를 다룹니다.

873* **설명이 사람들이 요청하는 방식과 일치하지 않음**: [스킬이 트리거되지 않음](/docs/ko/skills#skill-not-triggering)의 확인을 진행합니다.

874* **설명이 잘림**: 많은 스킬이 설치되면 Claude Code가 설명을 단축하여 목록의 문자 예산에 맞추고 Claude가 요청과 일치하는 데 필요한 키워드를 제거할 수 있습니다. [스킬 설명이 짧게 잘림](/docs/ko/skills#skill-descriptions-are-cut-short)을 참조합니다.

875 

876현실적인 프롬프트 전체에서 스킬이 얼마나 자주 트리거되는지 측정하려면 한 번에 하나씩 확인하는 대신 [`tool_used: Skill` 채점자](/docs/ko/plugin-evals#create-your-first-eval-suite)로 eval 경우를 작성하고 각 설명 변경 후 `claude plugin eval`로 실행합니다.

877 

878<h3 id="is-not-a-plugin-or-skill-folder">

879 `<directory> is not a plugin or skill folder` from `claude plugin eval init`

880</h3>

881 

882플러그인의 루트가 아닌 디렉토리(예: 홈 디렉토리 또는 플러그인을 하위 디렉토리에 유지하는 저장소의 루트)에서 `claude plugin eval init`을 실행했습니다. `init`은 작업 디렉토리 아래에 제품군을 작성하므로 플러그인이 절대 볼 수 없는 `evals/` 디렉토리를 만드는 대신 중단됩니다.

883 

884플러그인의 루트(`.claude-plugin/plugin.json` 또는 스킬의 `SKILL.md`를 보유하는 디렉토리)로 변경하고 명령을 다시 실행합니다. 의도적으로 다른 곳에 제품군을 스캐폴드하려면 `--eval-dir`을 전달합니다. [eval로 플러그인 테스트](/docs/ko/plugin-evals)를 참조합니다.

885 

886<h3 id="the-userconfig-dialog-never-appears">

887 `userConfig` 대화상자가 절대 나타나지 않음

888</h3>

889 

890플러그인이 `userConfig` 옵션을 선언하지만 설치할 때 구성 대화상자가 나타나지 않습니다.

891 

892대화형 설치는 대화상자를 표시하고 셸 명령은 대신 값을 플래그로 사용합니다:

893 

894* **세션의 `/plugin install` 또는 `/plugin`의 Discover 탭**: 대화상자는 이 대화형 설치의 일부입니다.

895* **셸의 `claude plugin install`**: 절대 `userConfig` 값을 묻지 않습니다. 전달하는 `--config KEY=VALUE` 값을 저장하고 옵션이 설정되지 않으면 `N userConfig options not yet set — run /plugin configure <plugin>@<marketplace> in Claude Code, or pass --config KEY=VALUE.`를 인쇄합니다. 설정되지 않은 옵션이 필수이면 `(M required)`가 `not yet set`을 따릅니다.

896 

897셸에서 설치한 경우 `--config`로 값을 전달합니다. 옵션당 하나의 플래그:

898 

899```shell theme={null}

900claude plugin install my-plugin@my-marketplace --config api_url=https://example.com

901```

902 

903모든 옵션이 설정되면 설치 출력에 `not yet set` 줄이 없습니다. 대신 나중에 대화상자를 열려면 세션에서 `/plugin configure my-plugin@my-marketplace`를 실행합니다.

904 

905매니페스트가 선언하지 않는 `--config` 키를 전달하면 플러그인이 여전히 설치되고 명령이 `⚠ Installed, but --config not applied: --config key "<key>" isn't declared in this plugin's userConfig.`를 인쇄합니다. 플러그인이 선언하는 키를 따릅니다.

906 

907<h3 id="claude-plugin-validate-reports-errors">

908 `claude plugin validate`가 오류를 보고

909</h3>

910 

911`claude plugin validate <path>`를 실행했거나 세션에서 `/plugin validate <path>`를 실행했고 `Found N errors` 및 `Validation failed`를 인쇄한 다음 종료 코드 1로 종료했습니다.

912 

913검증자는 제공한 경로에서 매니페스트를 읽습니다: 플러그인 디렉토리의 `.claude-plugin/plugin.json` 또는 마켓플레이스 디렉토리의 `.claude-plugin/marketplace.json`. 마켓플레이스의 경우 항목 자체의 매니페스트의 문제를 항목 인덱스로 접두사로 붙입니다(예: `plugins[1] plugin.json → json: ...`).

914 

915표는 유효성 검사를 중단하는 메시지와 두 가지 경고(`No frontmatter block found` 및 `Unknown field '<key>'`)를 다룹니다. `--strict`를 전달할 때만 중단됩니다. 누락된 설명과 같은 다른 경고는 나열되지 않습니다.

916 

917| 메시지 | 원인 | 수정 |

918| :- | :- | :- |

919| `File not found: <path>` | 경로에 매니페스트가 없거나 존재하지 않습니다. | 플러그인 또는 마켓플레이스 루트(`.claude-plugin/`을 포함하는 디렉토리)에 대해 명령을 실행합니다. |

920| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | 디렉토리에 `.claude-plugin/` 매니페스트가 없습니다. | 매니페스트를 만들거나 올바른 디렉토리를 가리킵니다. |

921| `Invalid JSON syntax: <parse error>` | 매니페스트 또는 `hooks/hooks.json`이 유효한 JSON이 아닙니다. | JSON을 수정합니다. `hooks/hooks.json`을 수정할 때까지 세션이 해당 파일의 훅 없이 플러그인을 로드합니다. |

922| `Path not found: <path>. The runtime loader will report this as a load failure.` | 매니페스트의 구성 요소 경로가 존재하지 않습니다. | 경로를 수정하거나 디렉토리를 만듭니다. |

923| `Path contains ".." which could be a path traversal attempt: <path>` | 구성 요소 경로가 플러그인 디렉토리를 벗어납니다. | 플러그인 루트 내부의 경로를 사용합니다. |

924| `Path is a file; skills entries must be directories containing SKILL.md` | `skills` 항목이 디렉토리 대신 `SKILL.md`를 가리킵니다. | 부모 디렉토리를 가리키거나 루트 수준 `SKILL.md`의 경우 `.`를 가리킵니다. |

925| `No frontmatter block found` 또는 `YAML frontmatter failed to parse: <error>` | 스킬, 에이전트 또는 명령 파일에 누락되거나 유효하지 않은 YAML frontmatter가 있습니다. | `---` 구분 기호 사이에 frontmatter를 추가하거나 수정합니다. 플러그인 디렉토리를 검증할 때 보고됩니다. |

926| `Unknown field '<key>'` | 매니페스트에 스키마가 정의하지 않는 필드가 있습니다. | 제거하거나 메시지가 제안하는 이름을 사용합니다. Claude Code는 로드 시간에 알려지지 않은 필드를 무시합니다. |

927 

928각 수정 후 오류가 없을 때까지 명령을 다시 실행합니다.

929 

930`plugin.json` 필드는 [매니페스트 참조](/docs/ko/plugins/manifest-reference)에 있고 마켓플레이스 수준 메시지는 [마켓플레이스 유효성 검사 오류](#marketplace-validation-errors) 아래에 있습니다.

931 

932<h3 id="plugin-has-conflicting-manifests">

933 `Plugin <name> has conflicting manifests`

934</h3>

935 

936플러그인이 `Plugin <name> has conflicting manifests: both plugin.json and marketplace entry specify components.`로 로드되지 못합니다.

937 

938플러그인에는 자체 `plugin.json`이 있고 마켓플레이스 항목이 `strict: false`를 설정하면서 `commands`, `agents`, `skills`, `hooks`, `outputStyles` 또는 `themes` 중 하나를 선언합니다. 항목에서 해당 필드를 제거하거나 항목에서 `strict: true`를 설정하여 Claude Code가 `plugin.json`에 추가하도록 합니다. [엄격한 모드](/docs/ko/plugins/marketplace-reference#strict-mode)를 참조합니다.

939 

940<h3 id="warning-no-commands-found-in-plugin-custom-directory">

941 `Warning: No commands found in plugin <name> custom directory`

942</h3>

943 

944플러그인이 로드될 때 `claude --debug` 로그는 `~/.claude/debug/<session-id>.txt`에서 `Warning: No commands found in plugin <name> custom directory: <path>. Expected .md files or SKILL.md in subdirectories.`를 기록합니다. 세션 또는 **Errors** 탭에 아무것도 나타나지 않습니다.

945 

946매니페스트의 `commands` 경로가 존재하지만 `.md` 파일을 보유하지 않으며 하위 디렉토리에 `SKILL.md`가 없습니다. 명령 파일을 추가하거나 매니페스트에서 경로를 제거합니다.

947 

948<h2 id="host-a-marketplace">

949 마켓플레이스 호스팅

950</h2>

951 

952마켓플레이스를 게시하고 사용자가 오류를 보고하거나 자신의 유효성 검사가 실패합니다. 이러한 항목은 마켓플레이스 소유자용입니다.

953 

954<h3 id="plugins-with-relative-paths-fail-in-url-based-marketplaces">

955 상대 경로가 있는 플러그인이 URL 기반 마켓플레이스에서 실패

956</h3>

957 

958사용자가 `https://example.com/marketplace.json` URL로 마켓플레이스를 추가했습니다. `./plugins/my-plugin`과 같은 상대 경로인 `source`가 있는 플러그인의 설치가 `its marketplace entry path does not stay inside the marketplace directory`로 실패합니다. 이미 설치된 플러그인이 `Plugin source path refused`로 로드되지 못합니다. 두 메시지 모두 [오류 참조 항목](/docs/ko/errors#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory)이 있습니다.

959 

960사용자가 URL 기반 마켓플레이스를 추가하면 Claude Code는 `marketplace.json` 파일 자체만 다운로드합니다. 해당 서버에서 상대 경로로 플러그인 파일을 가져오지 않으므로 항목의 상대 경로는 절대 가져오지 않은 디렉토리를 가리킵니다. 각 항목에 Claude Code가 자체적으로 가져올 수 있는 소스(예: GitHub 저장소)를 제공합니다:

961 

962```json theme={null}

963{ "name": "my-plugin", "source": { "source": "github", "repo": "owner/repo" } }

964```

965 

966또는 git 저장소에서 마켓플레이스를 호스팅하고 사용자에게 저장소 URL로 추가하도록 알립니다. git 소스의 경우 Claude Code가 전체 저장소를 클론하므로 상대 경로가 확인됩니다. 소스 유형은 [마켓플레이스 참조](/docs/ko/plugins/marketplace-reference)에 있습니다.

967 

968<h3 id="marketplace-validation-errors">

969 마켓플레이스 유효성 검사 오류

970</h3>

971 

972마켓플레이스 디렉토리에서 `claude plugin validate .`를 실행했고 마켓플레이스 파일 자체에 오류 또는 경고를 보고했습니다.

973 

974`claude plugin validate`는 또한 `source`가 로컬 경로인 각 항목을 검증하고 항목의 `version`이 플러그인 자체의 매니페스트와 불일치할 때 경고합니다.

975 

976표는 마켓플레이스 수준 메시지를 나열합니다. 항목 수준 메시지는 [`claude plugin validate` 오류를 보고](#claude-plugin-validate-reports-errors) 아래의 플러그인 메시지이며 `plugins[N] plugin.json →`으로 접두사가 붙습니다.

977 

978| 메시지 | 종류 | 수정 |

979| :- | :- | :- |

980| `Duplicate plugin name "<name>" found in marketplace` | 오류 | 각 플러그인에 고유한 `name`을 제공합니다. |

981| `Path contains "..": <path>` (under `plugins[N].source`) | 오류 | `..` 세그먼트 없이 마켓플레이스 루트에 상대적인 경로를 사용합니다. |

982| `Marketplace name cannot contain control or bidirectional-formatting characters` | 오류 | 이름에서 문자(예: 이스케이프 또는 줄 바꿈)를 제거합니다. |

983| `Plugin name cannot contain control or bidirectional-formatting characters` | 오류 | 플러그인 `name`에서 문자를 제거합니다. |

984| `Marketplace has no plugins defined` | 경고 | `plugins`에 최소 하나의 항목을 추가합니다. |

985| `No marketplace description provided` | 경고 | 최상위 수준 `description`을 추가합니다. |

986| `Plugin name "<name>" is not kebab-case` (under `plugins[N] plugin.json → name`) | 경고 | 소문자, 숫자 및 하이픈으로 이름을 바꿉니다. Claude Code는 다른 형식을 허용하지만 claude.ai 마켓플레이스 동기화는 거부합니다. |

987| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | 경고 | 항목을 `plugin.json`과 일치하도록 업데이트합니다. 이는 설치 시간에 권위 있습니다. |

988| `Marketplace name "<name>" is reserved in Claude Desktop` | 경고 | 마켓플레이스의 이름을 바꿉니다. Claude Desktop의 관리 마켓플레이스 동기화는 모든 대소문자에서 `org`, `org-provisioned` 및 `unknown`을 거부합니다. |

989| `Marketplace name "<name>" is not accepted by Claude Desktop` 또는 `Plugin name "<name>" is not accepted by Claude Desktop` | 경고 | 최대 128자의 문자, 숫자, `.`, `_` 및 `-`로 이름을 바꾸고 문자 또는 숫자로 시작합니다. |

990 

991v2.1.247 이전에는 제어 또는 양방향 형식 문자를 포함하는 마켓플레이스 이름이 `Marketplace name impersonates an official Anthropic/Claude marketplace`로만 보고되었습니다.

992 

993<h2 id="blocked-by-your-organization">

994 조직에서 차단됨

995</h2>

996 

997조직에서 플러그인을 제한하는 관리 설정을 배포했으며, 명령이 정책 메시지와 함께 거부되었습니다. 이 항목들은 각 거부 뒤의 설정 이름을 지정하므로 관리자에게 무엇을 요청해야 하는지 알 수 있습니다. 관리자 측의 경우 [조직을 위한 플러그인 관리](/docs/ko/plugins/org)를 참조하십시오.

998 

999<h3 id="marketplace-source-is-blocked-by-enterprise-policy">

1000 `Marketplace source '<source>' is blocked by enterprise policy`

1001</h3>

1002 

1003`/plugin marketplace add`, `update`를 실행했거나 설치했으며, Claude Code가 이 줄로 거부했습니다. GitHub 또는 git 소스의 경우, 호스트는 `'github:owner/repo' (github.com)`과 같이 괄호 안의 소스를 따릅니다.

1004 

1005관리자가 관리 설정에서 `blockedMarketplaces` 또는 `strictKnownMarketplaces`를 설정했으며, 이 소스는 허용되지 않습니다. 관리자에게 소스를 허용하도록 요청하거나, 메시지가 나열하는 허용된 소스 중 하나를 추가하십시오.

1006 

1007메시지의 나머지 부분을 일치시켜 어떤 종류의 정책이 소스를 차단했는지 확인하십시오:

1008 

1009* **`Allowed sources: <list>`**: 차단은 `blockedMarketplaces` 차단 목록이 아닌 `strictKnownMarketplaces` 허용 목록에서 비롯됩니다

1010* **`No external marketplaces are allowed.`**: `strictKnownMarketplaces` 허용 목록이 비어 있습니다

1011* **shorthand가 github.com을 가정한다는 `Tip:`**: 허용 목록이 호스트 이름으로 git 호스트를 허용하며, 전달한 `owner/repo` shorthand는 github.com을 가리킵니다. 저장소가 내부 호스트에 있는 경우, `git@your-git-host.com:owner/repo.git`과 같은 전체 URL로 다시 추가하십시오.

1012 

1013정책이 더 제한적이 되기 전에 추가한 마켓플레이스는 정책이 모든 새로고침에 적용되기 때문에 새로고침도 중단됩니다.

1014 

1015<h3 id="marketplace-is-not-in-the-allowed-marketplace-list">

1016 `Marketplace "<name>" is not in the allowed marketplace list`

1017</h3>

1018 

1019**Errors** 탭에 이 줄이 표시되거나, 이미 등록한 마켓플레이스에 대해 `Marketplace "<name>" is blocked by enterprise policy`가 표시됩니다.

1020 

1021[마켓플레이스 소스](#marketplace-source-is-blocked-by-enterprise-policy)를 차단하는 동일한 관리 설정이 로드 시간에 적용됩니다. `strictKnownMarketplaces`에 이 마켓플레이스가 포함되지 않거나 `blockedMarketplaces`가 이를 지정하므로, Claude Code는 이를 및 해당 플러그인을 로드하는 것을 중단합니다. 허용 목록 변형의 경우, 지침 줄에 허용된 소스가 표시되거나 `Contact your administrator to configure allowed marketplace sources`가 표시됩니다. 차단 목록 변형의 경우 `This marketplace source is explicitly blocked by your administrator`로 읽힙니다.

1022 

1023<h3 id="plugin-is-blocked-by-your-organizations-policy-and-cannot-be-installed">

1024 `Plugin "<name>" is blocked by your organization's policy and cannot be installed`

1025</h3>

1026 

1027설치가 이 줄로 거부되었거나, 동일한 줄로 끝나는 `cannot be enabled`로 활성화되었거나, 이유를 지정하는 설치 또는 업데이트가 있었습니다: `Plugin "<name>" is from marketplace "<marketplace>", which is blocked by your organization's policy` 또는 `Plugin "<name>" depends on "<dep>", which is blocked by your organization's policy`.

1028 

1029관리 설정이 이 플러그인, 해당 마켓플레이스 또는 필요한 종속성을 차단합니다. 관리자에게 어떤 항목이 적용되는지 물어보십시오. 차단된 종속성은 종속성의 마켓플레이스가 허용될 때까지 플러그인을 설치할 수 없음을 의미합니다.

1030 

1031<h3 id="plugin-dir-is-disabled-by-your-organizations-managed-settings-disables">

1032 `--plugin-dir is disabled by your organization's managed settings (disableSideloadFlags)`

1033</h3>

1034 

1035`--plugin-dir`, `--plugin-url`, `--agents` 또는 `--mcp-config`로 `claude`를 시작했습니다. Claude Code가 이 메시지와 `Plugins, custom agents, and MCP servers can only be loaded from sources your administrator has approved.`로 종료되었습니다.

1036 

1037관리자가 관리 설정에서 `disableSideloadFlags`를 설정했으며, 이는 임의의 경로에서 플러그인, 에이전트 및 서버를 로드하는 플래그를 끕니다. 승인된 마켓플레이스에서 플러그인을 로드하거나, 관리자에게 설정을 제거하도록 요청하십시오.

1038 

1039`/plugin` **Errors** 탭의 관련 메시지는 `--plugin-dir copy of "<name>" ignored: plugin is locked by managed settings`입니다. 관리 설정이 해당 플러그인을 이름으로 활성화 또는 비활성화하며, Claude Code는 플래그가 정책을 재정의할 수 없도록 `--plugin-dir` 복사본을 무시합니다.

1040 

1041<h3 id="plugins-from-claude-skills-are-blocked-by-your-organizations-managed-s">

1042 `Plugins from ~/.claude/skills/ are blocked by your organization's managed settings`

1043</h3>

1044 

1045`claude plugin init` 또는 `claude plugin enable`을 실행했으며, 이 줄로 중단되었습니다. 메시지는 `strictKnownMarketplaces or blockedMarketplaces`를 지정하고 관리자에게 `{"source":"skills-dir"}`을 `strictKnownMarketplaces`에 추가하거나 `blockedMarketplaces`에서 제거하도록 요청합니다.

1046 

1047`skills-dir` 소스는 Claude Code가 `~/.claude/skills/` 디렉토리에서 로드하는 플러그인을 나타냅니다. 관리자에게 메시지가 지정하는 변경을 수행하도록 요청하십시오.

1048 

1049<h3 id="command-sourced-plugins-are-disabled-by-your-organizations-managed-set">

1050 `Command-sourced plugins are disabled by your organization's managed settings`

1051</h3>

1052 

1053`command` 소스로 플러그인을 설치 또는 업데이트했으며, 이 줄과 `The plugin was not installed or updated and its command was not run.`로 중단되었습니다.

1054 

1055관리자가 `disableCommandPluginSources`를 설정했으므로, Claude Code는 플러그인을 생성하는 마켓플레이스 선언 명령을 실행하기를 거부합니다. `disableCommandPluginSources`가 설정되지 않은 경우 `allowManagedHooksOnly`만 설정하면 동일한 효과가 있습니다. 관리자에게 플러그인을 정책이 허용하는 소스 유형에서 게시할 수 있는지 물어보십시오.

1056 

1057<h3 id="marketplace-is-seed-managed">

1058 `Marketplace '<name>' is seed-managed`

1059</h3>

1060 

1061`claude plugin marketplace update <name>`을 실행했으며, `Marketplace '<name>' is seed-managed (<dir>)`로 실패했으며 관리자에게 문의하라는 힌트가 있습니다.

1062 

1063운영자가 `CLAUDE_CODE_PLUGIN_SEED_DIR`을 통해 이 마켓플레이스를 미리 채웠으며, Claude Code는 seed-managed 마켓플레이스를 읽기 전용으로 취급합니다. 대량 `marketplace update`는 이를 건너뛰고 다른 것들을 업데이트합니다.

1064 

1065마켓플레이스의 콘텐츠를 변경하려면, seed 이미지를 유지하는 사람에게 업데이트하도록 요청하십시오. 절차는 [Seed 컨테이너 및 CI](/docs/ko/plugins/org#seed-containers-and-ci)를 참조하십시오.

1066 

1067<h2 id="next-steps">

1068 다음 단계

1069</h2>

1070 

1071* [플러그인 로딩 참조](/docs/ko/plugins/loading): 범위, 캐시 및 우선순위가 작동하는 방식

1072* [플러그인 명령 참조](/docs/ko/plugins/cli-reference): `claude plugin` 명령의 플래그, 기본값, 출력 및 종료 코드

1073* [플러그인 설치 및 관리](/docs/ko/plugins/install): 시작부터 설치 단계

1074* [조직의 플러그인 관리](/docs/ko/plugins/org#troubleshoot-policy): 관리자를 위한 정책 측 문제 해결

prompt-caching.md +57 −45

Details

37두 가지 설정은 계층 표에 나타나지 않지만 여전히 캐시된 상태에 영향을 미칩니다:37두 가지 설정은 계층 표에 나타나지 않지만 여전히 캐시된 상태에 영향을 미칩니다:

38 38 

39* **모델**: 각 모델은 자체 캐시를 가집니다. 모델을 전환하면 콘텐츠가 동일한 경우에도 전체 요청이 다시 계산됩니다. 아래의 [모델 전환](#switching-models)을 참조하세요.39* **모델**: 각 모델은 자체 캐시를 가집니다. 모델을 전환하면 콘텐츠가 동일한 경우에도 전체 요청이 다시 계산됩니다. 아래의 [모델 전환](#switching-models)을 참조하세요.

40* **노력 수준**: 대부분의 모델에서 각 노력 수준은 자체 캐시를 가지므로 세션 중에 노력을 변경하면 전체 요청이 다시 계산됩니다. API 키 또는 Claude 구독이 있는 Opus 5.5 및 Fable 5.1에서는 기본적으로 캐시가 그대로 유지됩니다. 아래의 [노력 수준 변경](#changing-effort-level)을 참조하세요.40* **노력 수준**: 대부분의 모델에서 각 노력 수준은 자체 캐시를 가지므로 세션 중에 노력을 변경하면 전체 요청이 다시 계산됩니다. API 키 또는 Claude 구독이 있는 Opus 5.5, Sonnet 5.5 및 Fable 5.1에서는 기본적으로 캐시가 그대로 유지됩니다. 아래의 [노력 수준 변경](#changing-effort-level)을 참조하세요.

41 41 

42<Tip>42<Tip>

43 세션 시작 시 모델과 노력 수준을 선택한 다음 작업 간의 자연스러운 중단점을 위해 `/compact`를 저장하세요. 작업 중에 변경을 적게 할수록 캐시 히트율이 높아집니다.43 세션 시작 시 모델과 노력 수준을 선택한 다음 작업 간의 자연스러운 중단점을 위해 `/compact`를 저장하세요. 작업 중에 변경을 적게 할수록 캐시 히트율이 높아집니다.


70 캐시를 무효화하는 작업70 캐시를 무효화하는 작업

71</h2>71</h2>

72 72 

73이러한 작업들은 다음 요청이 캐시의 일부 또는 전체를 놓치게 합니다. 한 번 느리고 더 비싼 턴을 보게 되며, 그 후 새로운 접두사가 캐시됩니다. 대부분은 작업 중에 비용이 있다는 것을 알면 피할 수 있습니다. 모델 전환은 뒤따르는 느린 턴을 알아차릴 때까지 자유로워 보일 수 있습니다.73다음 작업들은 다음 요청이 캐시의 일부 또는 전부를 놓치게 할 수 있습니다. 한 번 느리고 비용이 더 많이 드는 턴을 보게 되며, 그 후 새로운 접두사가 캐시됩니다. 대부분은 작업 중간에 비용이 있다는 것을 알면 피할 수 있습니다. 모델 전환은 뒤따르는 느린 턴을 알아차릴 때까지 자유로워 보일 수 있습니다.

74 74 

75* [모델 전환](#switching-models)75* [모델 전환](#switching-models)

76* [노력 수준 변경](#changing-effort-level)76* [노력 수준 변경](#changing-effort-level)

77* [빠른 모드 켜기](#turning-on-fast-mode)77* [빠른 모드 켜기](#turning-on-fast-mode)

78* [MCP 서버 연결 또는 연결 해제](#connecting-or-disconnecting-an-mcp-server)78* [MCP 서버 연결 또는 제거](#connecting-or-removing-an-mcp-server)

79* [플러그인 활성화 또는 비활성화](#enabling-or-disabling-a-plugin)79* [플러그인 활성화 또는 비활성화](#enabling-or-disabling-a-plugin)

80* [전체 도구 거부](#denying-an-entire-tool)80* [전체 도구 거부](#denying-an-entire-tool)

81* [대화 압축](#compacting-the-conversation)81* [대화 압축](#compacting-the-conversation)


86 모델 전환86 모델 전환

87</h3>87</h3>

88 88 

89각 모델에는 자체 캐시가 있습니다. [`/model`](/docs/ko/model-config#setting-your-model)로 전환하면 내용이 동일하더라도 다음 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다.89각 모델은 자체 캐시를 가집니다. [`/model`](/docs/ko/model-config#setting-your-model)로 전환하면 내용이 동일하더라도 다음 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다.

90 90 

91터미널에서 `/model`을 실행하면 캐시가 여전히 따뜻한 동안에만 Claude Code가 전환을 확인하도록 요청합니다. 캐시는 Claude Code가 이 대화에서 마지막으로 요청을 보낸 후 또는 Claude가 마지막으로 응답한 후 한 [캐시 TTL](#cache-lifetime) 동안 따뜻하게 유지됩니다. 그 시간이 지나면 캐시가 만료되므로 Claude Code는 묻지 않고 전환합니다.91터미널에서 `/model`을 실행하면 Claude Code는 캐시가 여전히 따뜻하고 새 모델이 마지막 응답을 생성한 모델이 아닐 때만 전환을 확인하도록 요청합니다. 캐시는 Claude Code가 이 대화에서 마지막으로 요청을 보낸 후 또는 Claude가 마지막으로 응답한 후 한 번의 [캐시 TTL](#cache-lifetime) 동안 따뜻하게 유지됩니다. 그 시간이 지나면 캐시가 만료되므로 Claude Code는 묻지 않고 전환합니다.

92 92 

93v2.1.238 이전에는 Claude Code가 캐시 TTL을 확인하지 않았고 캐시가 만료된 후에도 물었습니다.93v2.1.238 이전에는 Claude Code가 캐시 TTL을 확인하지 않았고 캐시가 만료된 후에도 물었습니다.

94 94 

95[PreModelSwitch hook](/docs/ko/hooks#premodelswitch-decision-control)으로 이 확인을 요구하거나 건너뛸 수도 있습니다.95[PreModelSwitch 훅](/docs/ko/hooks#premodelswitch-decision-control)으로 이 확인을 요구하거나 건너뛸 수도 있습니다.

96 96 

97[`opusplan` 모델 설정](/docs/ko/model-config#opusplan-model-setting)은 계획 모드 중에는 Opus로, 실행 중에는 Sonnet으로 확인되므로 각 계획 모드 토글은 모델 전환이며 새로운 캐시를 시작합니다.97[`opusplan` 모델 설정](/docs/ko/model-config#opusplan-model-setting)은 계획 모드 중에는 Opus로, 실행 중에는 Sonnet으로 확인되므로 각 계획 모드 토글은 모델 전환이며 새로운 캐시를 시작합니다.

98 98 

99Fable 모델, Opus 5.5, Opus 5의 [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)도 모델 전환입니다. 안전 분류기가 폴백 모델이 있는 카테고리의 요청에 플래그를 지정하면 Claude Code는 해당 모델에서 요청을 다시 실행하고 세션이 계속됩니다.99Fable 모델, Opus 5.5, Sonnet 5.5, Opus 5의 [자동 모델 폴백](/docs/ko/model-config#automatic-model-fallback)도 모델 전환입니다. 안전 분류기가 폴백 모델이 있는 카테고리의 요청에 플래그를 지정하면 Claude Code는 해당 모델에서 요청을 다시 실행하고 세션이 계속됩니다.

100 100 

101스킬 또는 명령의 frontmatter가 세션의 현재 모델이 아닌 [`model`](/docs/ko/skills#frontmatter-reference)을 지정하면 해당 턴도 모델 전환입니다. 다음 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다. 세션 모델은 다음 프롬프트에서 재개됩니다. `context: fork` 스킬은 [포크된 서브에이전트의 모델](/docs/ko/skills#run-skills-in-a-subagent)을 대신 설정합니다.101스킬 또는 명령의 프론트매터가 세션의 현재 모델이 아닌 다른 [`model`](/docs/ko/skills#frontmatter-reference)을 지정하면 해당 턴도 모델 전환입니다. 다음 요청은 캐시 히트 없이 전체 대화 기록을 읽습니다. 세션 모델은 다음 프롬프트에서 재개됩니다. `context: fork` 스킬은 [포크된 서브에이전트의 모델](/docs/ko/skills#run-skills-in-a-subagent)을 대신 설정합니다.

102 102 

103<h3 id="changing-effort-level">103<h3 id="changing-effort-level">

104 노력 수준 변경104 노력 수준 변경

105</h3>105</h3>

106 106 

107대부분의 모델에서 세션 중에 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 변경하면 다음 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다. 캐시가 여전히 따뜻한 동안 Claude Code는 먼저 변경을 확인하도록 요청합니다.107대부분의 모델에서 세션 중간에 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 변경하면 다음 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다. 캐시가 여전히 따뜻한 동안 Claude Code는 먼저 변경을 확인하도록 요청합니다.

108 108 

109API 키 또는 Claude 구독이 있는 Opus 5.5 및 Fable 5.1에서 노력을 변경하면 캐시가 유지되고 Claude Code는 묻지 않고 새 수준을 적용합니다. 이는 Amazon Bedrock, Google Cloud의 Agent Platform, [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)에는 적용되지 않으며, [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ko/llm-gateway-protocol#disable-pre-release-capabilities)를 설정하거나 조직에 HIPAA 구성이 있을 때도 적용되지 않습니다.109API 키 또는 Claude 구독이 있는 Opus 5.5, Sonnet 5.5, Fable 5.1에서는 노력 수준을 변경해도 캐시가 유지되며 Claude Code는 묻지 않고 새 수준을 적용합니다. 이는 Amazon Bedrock, Google Cloud의 Agent Platform, [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway)에는 적용되지 않으며, [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/ko/llm-gateway-protocol#disable-pre-release-capabilities)를 설정했거나 조직에 HIPAA 구성이 있을 때도 적용되지 않습니다.

110 110 

111v2.1.260 이전에는 API 키 또는 Claude 구독이 있는 Fable 5.1에서 노력을 변경해도 캐시가 무효화되었습니다.111v2.1.260 이전에는 API 키 또는 Claude 구독이 있는 Fable 5.1에서 노력 수준을 변경해도 캐시가 무효화되었습니다.

112 112 

113<h3 id="turning-on-fast-mode">113<h3 id="turning-on-fast-mode">

114 빠른 모드 켜기114 빠른 모드 켜기

115</h3>115</h3>

116 116 

117[빠른 모드](/docs/ko/fast-mode)를 활성화하면 캐시 키의 일부인 요청 헤더가 추가되므로 Claude Code가 빠른 모드를 켜고 보내는 첫 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다. Claude Code는 턴이 시작될 때 해당 헤더를 한 번 설정하고 전체 턴 동안 유지하므로 Claude가 작업 중일 때 빠른 모드를 켜면 헤더의 캐시 미스가 다음 턴의 첫 요청에서 발생합니다. 캐시되지 않은 입력 토큰은 [빠른 모드 요금](/docs/ko/fast-mode#understand-the-cost-tradeoff)으로 청구되므로 세션 시작 시 켜는 것이 긴 세션 깊숙이 켜는 것보다 비용이 적습니다. 현재 모델이 빠른 모드를 지원하지 않으면 빠른 모드를 활성화하면 [모델도 전환](#switching-models)되며, 그 전환은 실행 중인 턴의 다음 요청부터 자체적으로 새로운 캐시를 시작합니다.117[빠른 모드](/docs/ko/fast-mode)를 활성화하면 캐시 키의 일부인 요청 헤더가 추가되므로 Claude Code가 빠른 모드를 켜고 보내는 첫 번째 요청은 캐시 히트 없이 전체 대화 기록을 읽습니다. Claude Code는 턴이 시작될 때 해당 헤더를 한 번 설정하고 전체 턴 동안 유지하므로 Claude가 작업 중일 때 빠른 모드를 켜면 헤더로 인한 캐시 미스가 다음 턴의 첫 번째 요청에서 발생합니다. 캐시되지 않은 입력 토큰은 [빠른 모드 요금](/docs/ko/fast-mode#understand-the-cost-tradeoff)으로 청구되므로 세션 시작 시 켜는 것이 긴 세션 깊숙이 켜는 것보다 비용이 적습니다. 현재 모델이 빠른 모드를 지원하지 않으면 빠른 모드를 활성화하면 [모델도 전환](#switching-models)되며, 그 전환은 실행 중인 턴의 다음 요청부터 자체적으로 새로운 캐시를 시작합니다.

118 118 

119비용은 대화당 한 번 적용됩니다. 첫 번째 빠른 모드 턴 후 Claude Code는 계속 헤더를 보내고 캐시 키의 일부가 아닌 요청의 속도 설정만 변합니다. 빠른 모드를 끄기, 속도 제한 후 [표준 속도로의 자동 폴백](/docs/ko/fast-mode#handle-rate-limits), 나중에 다시 켜기는 모두 캐시를 유지합니다. [사용 크레딧이 부족](/docs/ko/fast-mode#handle-rate-limits)하면 Claude Code는 거부된 각 빠른 모드 요청을 같은 방식으로 표준 속도로 재시도하므로 이 폴백도 캐시를 유지합니다. `/clear`와 `/compact`는 이를 재설정합니다. 어쨌든 그 지점에서 캐시를 다시 빌드하기 때문입니다.119비용은 대화당 한 번 적용됩니다. 첫 번째 빠른 모드 턴 후 Claude Code는 계속 헤더를 보내고 캐시 키의 일부가 아닌 요청의 속도 설정만 변합니다. 빠른 모드를 끄기, [속도 제한 후 표준 속도로 자동 폴백](/docs/ko/fast-mode#handle-rate-limits), 나중에 다시 켜기는 모두 캐시를 유지합니다. [사용 크레딧이 부족](/docs/ko/fast-mode#handle-rate-limits)하면 Claude Code는 거부된 각 빠른 모드 요청을 같은 방식으로 표준 속도에서 다시 시도하므로 이 폴백도 캐시를 유지합니다. `/clear`와 `/compact`는 어쨌든 그 지점에서 캐시를 다시 빌드하므로 이를 재설정합니다.

120 120 

121<h3 id="connecting-or-disconnecting-an-mcp-server">121<h3 id="connecting-or-removing-an-mcp-server">

122 MCP 서버 연결 또는 연결 해제122 MCP 서버 연결 또는 제거

123</h3>123</h3>

124 124 

125도구 정의는 시스템 프롬프트 레이어에 있으므로 턴 간에 요청의 도구 정의 집합이 변경되면 캐시가 무효화됩니다. [advisor 도구](/docs/ko/advisor)를 토글하는 것은 예외입니다. 그 정의는 캐시 breakpoint 후에 있으므로 `/advisor`를 활성화하거나 비활성화하면 캐시된 접두사가 그대로 유지됩니다. [MCP 서버](/docs/ko/mcp) 변경이 이를 수행하는지 여부는 해당 도구가 [도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)으로 연기되는지 또는 접두사에 로드되는지에 따라 달라집니다.125도구 정의는 시스템 프롬프트 레이어에 있으므로 요청의 도구 정의 집합이 턴 사이에 변경되면 캐시가 무효화됩니다. [어드바이저 도구](/docs/ko/advisor)를 토글하는 것은 예외입니다. 그 정의는 캐시 중단점 이후에 있으므로 `/advisor`를 활성화하거나 비활성화해도 캐시된 접두사가 그대로 유지됩니다. [MCP 서버](/docs/ko/mcp) 변경이 이를 수행하는지 여부는 [도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)이 세션의 MCP 도구를 지연하는지에 따라 달라집니다. 지원되는 모델의 기본값입니다.

126 126 

127* **연기된 도구**, 지원되는 모델의 기본값: 서버 연결, 연결 해제 또는 도구 목록 변경은 새 콘텐츠만 추가하고 이미 캐시된 것을 방해하지 않습니다.127* **도구 지연됨**: Claude Code는 대화의 첫 번째 요청에서 도구 목록을 유지하므로 세션 중간에 서버가 연결되거나 연결 해제되어도 이미 캐시된 것을 방해하지 않습니다. 첫 번째 요청 후 연결을 마치는 서버는 Claude가 필요에 따라 로드하는 지연된 정의로 해당 도구를 제공합니다.

128* **접두사에 로드된 도구**: 이들에 대한 모든 변경이 캐시를 무효화합니다. 이는 [도구 검색을 사용할 수 없거나 비활성화](/docs/ko/mcp#configure-tool-search)된 경우에 발생합니다. 예를 들어 Claude 4.5 세대보다 이전의 Google Cloud의 Agent Platform 모델, 사용자 정의 `ANTHROPIC_BASE_URL` 게이트웨이, 또는 Claude Code가 배포가 도구 검색을 거부한다는 것을 감지하면 Microsoft Foundry [Azure에서 호스팅되는 배포](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)에서 발생합니다. 또한 [`alwaysLoad`](/docs/ko/mcp#exempt-a-server-from-deferral)로 표시된 서버 또는 도구에 대해, 그리고 [임계값 기반 로딩](/docs/ko/mcp#configure-tool-search)으로 유지되는 정의에 대해 발생합니다.128* **도구 접두사에 로드됨**: 정의 추가는 캐시를 무효화하며, 의도적으로 제거하는 것도 마찬가지입니다. 이는 [도구 검색을 사용할 수 없거나 비활성화](/docs/ko/mcp#configure-tool-search)된 경우입니다. 예를 들어 Claude 4.5 세대보다 이전의 Google Cloud의 Agent Platform 모델, 사용자 정의 `ANTHROPIC_BASE_URL` 게이트웨이, 또는 Claude Code가 배포가 도구 검색을 거부한다는 것을 감지한 Microsoft Foundry [Azure에서 호스팅되는 배포](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)에서입니다.

129 129 

130도구가 접두사에 로드될 때 무효화의 가장 일반적인 원인은 세션 중에 서버가 연결되거나 연결 해제되는 것입니다. 이는 사용자의 조치 없이 발생할 수 있습니다. stdio 서버의 프로세스가 종료되거나, HTTP 세션이 만료되거나, 서버가 [일시적 오류 후 자동으로 다시 연결](/docs/ko/mcp#automatic-reconnection)됩니다. 연결된 서버는 또한 도구 목록을 변경하는 [동적 도구 업데이트](/docs/ko/mcp#dynamic-tool-updates)를 푸시할 수 있습니다.130도구 검색 없이 세션 중간 서버 변경이 캐시를 무효화하는지 여부는 변경된 내용에 따라 달라집니다. 각 변경에 대해 이 표는 캐시가 유지되는지 여부와 다음 요청에서 도구 정의에 어떤 일이 발생하는지를 나타냅니다.

131 131 

132MCP 구성을 편집해도 캐시가 변경되지 않습니다. 새 구성은 재시작 후에만 적용되며, 이때 서버가 연결되거나 연결 해제됩니다.132| 세션 중간 변경 | 캐시 | 다음 요청의 도구 정의 |

133| - | - | - |

134| 서버가 연결되거나 [동적 도구 업데이트](/docs/ko/mcp#dynamic-tool-updates)가 도구를 추가함 | 무효화됨 | 새 정의가 추가됨 |

135| 서버가 사용자의 조치 없이 중단됨. 예: stdio 서버의 프로세스 종료 | 유지됨 | 서버의 정의는 변경되지 않음. 해당 도구 중 하나에 대한 호출은 실행되는 대신 오류를 반환함 |

136| 원격 서버가 연결 끊김 후 [자동으로 다시 연결](/docs/ko/mcp#automatic-reconnection) | 유지됨. 서버가 다시 연결되는 동안 보낸 요청이 `WaitForMcpServers` 도구를 추가하면 한 번 무효화됨 | 서버의 정의는 변경되지 않음. 서버가 다시 연결되는 동안 보낸 요청은 대화가 아직 나열하지 않았을 때 `WaitForMcpServers`를 추가할 수 있으며, 도구는 나머지 대화 동안 나열된 상태로 유지됨 |

137| 의도적으로 도구를 제거함. 예: [거부 규칙](#denying-an-entire-tool)을 사용하거나 `/mcp`에서 서버를 비활성화함 | 무효화됨 | 정의가 제거됨 |

138 

139도구가 접두사에 로드되는 대화를 재개할 때 해당 MCP 서버 중 하나는 첫 번째 요청이 나갈 때 여전히 연결 중일 수 있습니다. 트랜스크립트가 해당 서버의 도구 정의를 기록했다면 해당 요청은 기록된 대로 포함되므로 서버가 같은 도구로 연결을 마칠 때 변경되지 않습니다.

140 

141MCP 구성을 편집하는 것 자체로는 캐시를 변경하지 않습니다. 새 구성은 재시작 후에만 적용되며, 이때 서버가 연결되거나 연결 해제됩니다.

133 142 

134<h3 id="enabling-or-disabling-a-plugin">143<h3 id="enabling-or-disabling-a-plugin">

135 플러그인 활성화 또는 비활성화144 플러그인 활성화 또는 비활성화

136</h3>145</h3>

137 146 

138[플러그인](/docs/ko/plugins/overview)을 활성화하거나 비활성화할 때 변경 비용은 플러그인이 제공하는 구성 요소 유형에 따라 달라집니다. 아래 경우는 각 구성 요소 유형, Claude Code가 변경을 적용하는 시기, 같은 세션에서 플러그인을 다시 비활성화할 때 발생하는 상황을 다룹니다.147[플러그인](/docs/ko/plugins/overview)을 활성화하거나 비활성화할 때 변경 비용은 플러그인이 제공하는 구성 요소 유형에 따라 달라집니다. 아래 경우는 각 구성 요소 유형, Claude Code가 변경을 적용하는 시기, 같은 세션에서 플러그인을 다시 비활성화할 때 어떤 일이 발생하는지를 다룹니다.

139 148 

140<h4 id="plugin-components-that-keep-the-cache">149<h4 id="plugin-components-that-keep-the-cache">

141 캐시를 유지하는 플러그인 구성 요소150 캐시를 유지하는 플러그인 구성 요소

142</h4>151</h4>

143 152 

144Claude Code는 플러그인의 스킬, 명령, 에이전트, hook, 모니터 또는 테마에 대해 캐시를 무효화하지 않습니다. 기존 대화 후에 콘텐츠를 추가하므로 다음 요청이 해당 콘텐츠에 대해 비용을 지불하고 여전히 캐시에서 그 전의 모든 것을 읽습니다.153Claude Code는 플러그인의 스킬, 명령, 에이전트, 훅, 모니터 또는 테마에 대해 캐시를 무효화하지 않습니다. 기존 대화 후에 해당 콘텐츠를 추가하므로 다음 요청은 해당 콘텐츠에 대해 비용을 지불하고 여전히 캐시에서 그 이전의 모든 것을 읽습니다.

145 154 

146<h4 id="plugins-that-provide-mcp-servers">155<h4 id="plugins-that-provide-mcp-servers">

147 MCP 서버를 제공하는 플러그인156 MCP 서버를 제공하는 플러그인

148</h4>157</h4>

149 158 

150[MCP 서버](/docs/ko/plugins/components#mcp-servers)를 제공하는 플러그인을 활성화하거나 비활성화할 때 Claude Code는 [MCP 서버를 연결하거나 연결 해제](#connecting-or-disconnecting-an-mcp-server)할 때와 동일한 규칙을 따릅니다.159[MCP 서버](/docs/ko/plugins/components#mcp-servers)를 제공하는 플러그인을 활성화하거나 비활성화할 때 Claude Code는 [MCP 서버를 연결하거나 제거](#connecting-or-removing-an-mcp-server)할 때와 같은 규칙을 따릅니다.

151 

152* Claude Code가 서버의 도구를 연기하면 캐시를 유지합니다.

153* Claude Code가 도구를 접두사에 로드하면 다음 요청이 전체 대화를 다시 읽습니다.

154 160 

155<h4 id="code-intelligence-plugins">161<h4 id="code-intelligence-plugins">

156 코드 인텔리전스 플러그인162 코드 인텔리전스 플러그인


166 172 

167* `command` 소스가 있는 플러그인의 경우 Claude Code는 [플러그인 자체를 다시 로드](/docs/ko/plugins/loading#when-a-command-source-re-runs)할 수 있습니다.173* `command` 소스가 있는 플러그인의 경우 Claude Code는 [플러그인 자체를 다시 로드](/docs/ko/plugins/loading#when-a-command-source-re-runs)할 수 있습니다.

168* [`/plugin` 인터페이스에서 플러그인을 설치](/docs/ko/plugins/install#install-a-plugin)할 때 Claude Code는 설치 중에 활성화할 수 있습니다. 설치 요약은 활성화했는지 여부를 알려줍니다.174* [`/plugin` 인터페이스에서 플러그인을 설치](/docs/ko/plugins/install#install-a-plugin)할 때 Claude Code는 설치 중에 활성화할 수 있습니다. 설치 요약은 활성화했는지 여부를 알려줍니다.

169* v2.1.246 이상에서 [`/cd`로 세션을 이동](/docs/ko/permissions#move-the-session-to-another-directory)할 때 Claude Code는 새 디렉토리의 설정이 활성화하는 플러그인을 이동의 일부로 적용하며, `/reload-plugins`를 보류시키는 전체 다시 읽기 경고는 표시하지 않습니다.175* v2.1.246 이상에서 [`/cd`로 세션을 이동](/docs/ko/permissions#move-the-session-to-another-directory)할 때 Claude Code는 새 디렉토리의 설정이 활성화하는 플러그인을 이동의 일부로 적용하며, `/reload-plugins`를 보유하는 전체 다시 읽기 경고 없이 적용합니다.

170* 대화형 세션에서 `--plugin-dir`으로 전달한 [플러그인 폴더](/docs/ko/plugins/create#load-a-directory-or-archive-for-one-session)에서 플러그인을 추가하거나 제거할 때 변경이 즉시 적용됩니다. 적용할 경우 전체 다시 읽기가 트리거된다면 Claude Code는 대신 변경을 보류하고 `/reload-plugins`를 실행하라는 공지를 표시합니다. Claude Code v2.1.265 이상이 필요합니다.176* 대화형 세션에서 `--plugin-dir`으로 전달한 [플러그인 폴더](/docs/ko/plugins/create#load-a-directory-or-archive-for-one-session)에서 플러그인을 추가하거나 제거할 때 변경이 즉시 적용됩니다. 적용하면 전체 다시 읽기가 트리거되면 Claude Code는 변경을 대신 보유하고 `/reload-plugins`를 실행하라는 공지를 표시합니다. Claude Code v2.1.265 이상이 필요합니다.

171 177 

172`/reload-plugins`가 실행되고 다시 로드가 전체 다시 읽기를 트리거하면 Claude Code는 경고를 표시하고 다시 로드를 적용하지 않습니다. `/reload-plugins --force`를 실행하여 어쨌든 적용합니다.178`/reload-plugins`가 실행되고 다시 로드가 전체 다시 읽기를 트리거하면 Claude Code는 경고를 표시하고 다시 로드를 적용하지 않습니다. `/reload-plugins --force`를 실행하여 어쨌든 적용합니다.

173 179 

174`/reload-plugins`는 또한 데스크톱 앱, Agent SDK, [비대화형 모드](/docs/ko/headless)(`-p` 포함)와 같이 대화형 터미널이 없는 세션에서 실행되며, 세션에 직접 입력할 때 실행됩니다. Claude Code v2.1.260 이상이 필요합니다.180`/reload-plugins`는 또한 데스크톱 앱, Agent SDK, [비대화형 모드](/docs/ko/headless)와 `-p`를 포함한 대화형 터미널이 없는 세션에서 실행되며, 세션에 직접 입력할 때 실행됩니다. Claude Code v2.1.260 이상이 필요합니다.

175 181 

176이러한 세션에서 다시 로드는 플러그인 MCP 서버 변경을 제외한 모든 것을 적용하며, [다음 세션에서 적용](/docs/ko/plugins/cli-reference#reload-plugins)되므로 세션 중에 전체 다시 읽기 비용이 발생하지 않습니다.182이러한 세션에서 다시 로드는 플러그인 MCP 서버 변경을 제외한 모든 것을 적용하며, [다음 세션에서 적용](/docs/ko/plugins/cli-reference#reload-plugins)되므로 세션 중간에 전체 다시 읽기 비용이 발생하지 않습니다.

177 183 

178<h4 id="plugins-you-enable-and-then-disable-in-one-session">184<h4 id="plugins-you-enable-and-then-disable-in-one-session">

179 한 세션에서 활성화한 후 비활성화하는 플러그인185 한 세션에서 활성화한 후 비활성화하는 플러그인

180</h4>186</h4>

181 187 

182세션 초반에 활성화한 플러그인을 비활성화할 때 Claude Code는 이전 요청 형태를 복원합니다. 해당 접두사가 여전히 [캐시 수명](#cache-lifetime) 내에 있으면 다음 요청이 다시 빌드하는 대신 이전 캐시 항목을 읽습니다.188세션 초반에 활성화한 플러그인을 비활성화할 때 Claude Code는 이전 요청 형태를 복원합니다. 해당 접두사가 여전히 [캐시 수명](#cache-lifetime) 내에 있으면 다음 요청은 다시 빌드하는 대신 이전 캐시 항목을 읽습니다.

183 189 

184<h3 id="denying-an-entire-tool">190<h3 id="denying-an-entire-tool">

185 전체 도구 거부191 전체 도구 거부

186</h3>192</h3>

187 193 

188`Bash` 또는 `WebFetch`와 같은 단순 도구 이름을 [거부 규칙](/docs/ko/permissions#manage-permissions)으로 추가하면 `/permissions`를 통해 규칙을 추가하거나 [설정 파일을 직접 편집](/docs/ko/settings#when-edits-take-effect)하여 다음 요청부터 Claude가 해당 도구를 호출할 수 없습니다. 여기에는 턴 중간에 `/permissions`를 통해 추가하는 규칙이 포함됩니다.194`Bash` 또는 `WebFetch`와 같은 도구 이름을 [거부 규칙](/docs/ko/permissions#manage-permissions)으로 추가하면 Claude는 `/permissions`를 통해 규칙을 추가하든 [설정 파일을 직접 편집](/docs/ko/settings#when-edits-take-effect)하든 다음 요청부터 해당 도구를 호출할 수 없습니다. 여기에는 턴 중간에 `/permissions`를 통해 추가한 규칙도 포함됩니다.

189 195 

190[도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)이 활성화되어 있을 때(지원되는 모델의 기본값), 요청의 도구 정의가 변경되지 않고 캐시된 접두사가 유지됩니다. 도구 검색을 사용할 수 없거나 비활성화되어 있을 때 Claude Code는 다음 요청에서 정의를 제거하므로 캐시가 무효화되며, 나중에 규칙을 제거해도 마찬가지입니다.196[도구 검색](/docs/ko/mcp#scale-with-mcp-tool-search)이 활성화되어 있을 때(지원되는 모델의 기본값), 요청의 도구 정의는 변경되지 않고 캐시된 접두사가 유지됩니다. 도구 검색을 사용할 수 없거나 비활성화되면 Claude Code는 다음 요청에서 정의를 제거하여 캐시를 무효화하며, 나중에 규칙을 제거해도 마찬가지입니다.

191 197 

192도구 이름 위치에서 일치하는 거부 규칙만 이 방식으로 도구를 차단합니다. 단순 도구 이름, 동등한 `Bash(*)` 형식, 또는 `"*"`와 같은 [도구 이름 glob](/docs/ko/permissions#tool-name-wildcards)입니다. `"mcp__*"`와 같이 MCP 도구만 일치하는 glob은 해당 도구를 같은 방식으로 차단합니다. `Bash(rm *)`과 같은 범위 지정 거부 규칙, 그리고 모든 허용 및 요청 규칙은 Claude가 보는 도구를 변경하지 않습니다. Claude Code는 Claude가 호출을 시도할 때 확인하여 접두사를 그대로 유지합니다.198도구 이름 위치에서 일치하는 거부 규칙만 이 방식으로 도구를 차단합니다. 도구 이름, 동등한 `Bash(*)` 형식, 또는 `"*"`와 같은 [도구 이름 글로브](/docs/ko/permissions#tool-name-wildcards). MCP 도구만 일치하는 글로브(예: `"mcp__*"`)는 같은 방식으로 해당 도구를 차단합니다. `Bash(rm *)`와 같은 범위가 지정된 거부 규칙 및 모든 허용 및 요청 규칙은 Claude가 보는 도구를 변경하지 않습니다. Claude Code는 Claude가 호출을 시도할 때 이를 확인하여 접두사를 그대로 유지합니다.

193 199 

194<h3 id="compacting-the-conversation">200<h3 id="compacting-the-conversation">

195 대화 압축201 대화 압축

196</h3>202</h3>

197 203 

198[압축](/docs/ko/context-window#what-survives-compaction)은 메시지 기록을 요약으로 바꿉니다. 설계상 이는 대화 레이어를 무효화합니다. 다음 요청이 이전 것과 접두사를 공유하지 않는 새로운 더 짧은 기록을 가지기 때문입니다. Claude Code는 대화가 [변경될 시스템 프롬프트를 유지하면서 재개](#resuming-a-session)되지 않는 한 시스템 프롬프트 레이어를 재사용합니다. 그 경우 첫 번째 압축이 현재 프롬프트로 전환되고 해당 레이어가 한 번 다시 빌드됩니다. 디스크에서 프로젝트 컨텍스트를 다시 로드하며, 세션 시작 이후 CLAUDE.md 및 메모리가 변경되지 않은 경우에만 캐시 히트합니다.204[압축](/docs/ko/context-window#what-survives-compaction)은 메시지 기록을 요약으로 바꿉니다. 설계상 이는 대화 레이어를 무효화합니다. 다음 요청에는 이전 것과 접두사를 공유하지 않는 새로운 더 짧은 기록이 있기 때문입니다. Claude Code는 대화가 [시스템 프롬프트를 유지하면서 재개되지 않는 한](#resuming-a-session) 시스템 프롬프트 레이어를 재사용합니다. 그 경우 첫 번째 압축은 현재 프롬프트로 전환되고 해당 레이어는 한 번 다시 빌드됩니다. 디스크에서 프로젝트 컨텍스트를 다시 로드하며, 세션 시작 이후 CLAUDE.md 및 메모리가 변경되지 않은 경우에만 캐시 히트합니다.

199 205 

200요약을 생성하기 위해 Claude Code는 대화와 동일한 시스템 프롬프트, 도구, 기록을 가진 별도의 요청을 보내고 최종 사용자 메시지로 요약 지침을 추가합니다. 캐시가 따뜻한 동안 해당 요청이 캐시에서 접두사를 읽으므로 세션 중 `/compact`는 컨텍스트 크기가 제안하는 것의 일부 비용이 들고 대부분의 시간을 요약 생성에 소비합니다.206요약을 생성하기 위해 Claude Code는 대화와 같은 시스템 프롬프트, 도구, 기록을 가진 별도의 요청을 보내고 최종 사용자 메시지로 요약 지침을 추가합니다. 캐시가 따뜻한 동안 해당 요청은 캐시에서 접두사를 읽으므로 세션 중간 `/compact`는 컨텍스트 크기가 제안하는 것의 일부 비용이 들고 대부분의 시간을 요약 생성에 소비합니다.

201 207 

202[캐시 수명](#cache-lifetime)보다 긴 휴식 후에는 읽을 캐시가 남아 있지 않으므로 요약 요청이 캐시되지 않은 입력으로 전체 기록을 다시 처리합니다. 이것이 [이전 세션을 재개](/docs/ko/sessions#resume-from-a-summary)할 때 `/compact`의 비용이 가장 많은 이유입니다. 따뜻한 경우와 차가운 경우 모두에서 압축 후 턴이 훨씬 더 짧은 요약에 대해서만 대화 캐시를 다시 빌드하므로 해당 턴이 느린 부분이 아닙니다.208[캐시 수명](#cache-lifetime)보다 긴 휴식 후에는 읽을 캐시가 남아 있지 않으므로 요약 요청은 전체 기록을 캐시되지 않은 입력으로 다시 처리합니다. 이것이 [이전 세션을 재개](/docs/ko/sessions#resume-from-a-summary)할 때 `/compact`의 비용이 가장 많이 드는 이유입니다. 따뜻한 경우와 차가운 경우 모두에서 압축 후 턴은 훨씬 더 짧은 요약에 대해서만 대화 캐시를 다시 빌드하므로 해당 턴이 느린 부분이 아닙니다.

203 209 

204<Tip>210<Tip>

205 압축은 더 이상 필요하지 않은 컨텍스트를 버릴 때 유리합니다. 오버헤드가 발생하는 시기를 선택하려면 작업 간 또는 작업 간과 같은 자연스러운 휴식 시간에 `/compact`를 실행하고 자동 압축이 작업 중에 트리거될 때까지 기다리지 마세요. 완전히 포기하고 싶은 경로를 따라가면 대신 [이전 턴으로 되감기](#rewinding-the-conversation)하세요. 되감기는 압축이 수행하는 새로운 것을 빌드하는 대신 이미 캐시된 접두사로 다시 자릅니다.211 압축은 더 이상 필요하지 않은 콘텐츠를 버릴 때 유리합니다. 오버헤드가 발생하는 시기를 선택하려면 작업 중간에 자동 압축이 트리거되기를 기다리는 대신 작업 간 자연스러운 휴식 시간에 `/compact`를 실행합니다. 완전히 포기하고 싶은 경로를 따라가면 대신 [이전 턴으로 `rewinding`](#rewinding-the-conversation)합니다. 되감기는 압축이 수행하는 것처럼 새로운 것을 빌드하는 대신 이미 캐시된 접두사로 다시 자릅니다.

206</Tip>212</Tip>

207 213 

208<h3 id="accumulating-many-images">214<h3 id="accumulating-many-images">


211 217 

212API는 각 요청이 수행할 수 있는 이미지 및 PDF의 수를 제한합니다. 현재 숫자는 API 문서의 [요청 제한](https://platform.claude.com/docs/en/build-with-claude/vision#request-limits)을 참조하세요. Claude Code는 또한 요청의 이미지 및 PDF의 총 크기를 제한하므로 큰 스크린샷은 작은 것보다 더 적은 이미지로 제한에 도달합니다.218API는 각 요청이 수행할 수 있는 이미지 및 PDF의 수를 제한합니다. 현재 숫자는 API 문서의 [요청 제한](https://platform.claude.com/docs/en/build-with-claude/vision#request-limits)을 참조하세요. Claude Code는 또한 요청의 이미지 및 PDF의 총 크기를 제한하므로 큰 스크린샷은 작은 것보다 더 적은 이미지로 제한에 도달합니다.

213 219 

214다음 요청이 제한을 초과하면 Claude Code는 보내는 것에서 가장 오래된 이미지 및 PDF의 배치를 제거하여 다시 제거해야 하기 전에 더 많은 공간을 확보합니다. Claude는 더 이상 제거된 이미지를 볼 수 없습니다. Claude가 다시 필요하면 다시 공유하세요.220다음 요청이 어느 제한이든 통과하면 Claude Code는 보내는 것에서 가장 오래된 이미지 및 PDF의 배치를 제거하여 다시 제거해야 하기 전에 더 많은 공간을 확보합니다. Claude는 더 이상 제거된 이미지를 볼 수 없습니다. Claude가 다시 필요하면 다시 공유합니다.

215 221 

216이미지를 제거하면 이를 보유한 메시지가 변경되므로 다음 요청이 해당 메시지 중 가장 이른 것부터 대화를 다시 처리합니다. Claude Code가 한 번에 배치를 제거하기 때문에 각 새 스크린샷마다 하나씩이 아니라 배치당 한 번의 느린 턴을 봅니다.222이미지를 제거하면 해당 이미지를 보유한 메시지가 변경되므로 다음 요청은 해당 메시지 중 가장 이른 것부터 대화를 다시 처리합니다. Claude Code가 한 번에 배치를 제거하므로 각 새 스크린샷마다 하나씩이 아니라 배치당 한 번의 느린 턴을 봅니다.

217 223 

218<h3 id="upgrading-claude-code">224<h3 id="upgrading-claude-code">

219 Claude Code 업그레이드225 Claude Code 업그레이드

220</h3>226</h3>

221 227 

222새로운 Claude Code 버전은 일반적으로 시스템 프롬프트 또는 도구 정의를 업데이트하므로 업그레이드 후 시작하는 첫 번째 대화는 맨 위에서 캐시를 빌드합니다. [자동 업데이트](/docs/ko/setup#auto-updates)는 백그라운드에서 새 버전을 다운로드하지만 다음 시작 시에만 적용하며 세션 중에는 절대 적용하지 않으므로 세션 중 놀라움이 아니라 재시작 후 캐시되지 않은 첫 턴으로 표시됩니다. `DISABLE_AUTOUPDATER=1`을 설정하여 업그레이드가 적용되는 시기를 제어합니다.228새로운 Claude Code 버전은 일반적으로 시스템 프롬프트 또는 도구 정의를 업데이트하므로 업그레이드 후 시작하는 첫 번째 대화는 맨 위에서 캐시를 빌드합니다. [자동 업데이트](/docs/ko/setup#auto-updates)는 백그라운드에서 새 버전을 다운로드하지만 다음 시작 시 적용하며 세션 중간에는 절대 적용하지 않으므로 세션 중간의 놀라움이 아니라 다시 시작한 후 캐시되지 않은 첫 턴으로 표시됩니다. `DISABLE_AUTOUPDATER=1`을 설정하여 업그레이드가 적용되는 시기를 제어합니다.

223 229 

224<Note>230<Note>

225 업그레이드 전에 시작한 대화를 재개하는 비용은 [세션 재개](#resuming-a-session)를 참조하세요.231 업그레이드 전에 시작한 대화를 재개하는 비용은 [세션 재개](#resuming-a-session)를 참조하세요.


244 저장소의 파일 편집250 저장소의 파일 편집

245</h3>251</h3>

246 252 

247파일 내용은 Claude가 파일을 읽을 때만 컨텍스트에 들어가며, 읽기는 대화에 추가됩니다. Claude가 이전에 읽은 파일을 편집해도 기록의 이전 읽기를 소급하여 변경하지 않습니다. 대신 Claude Code는 파일이 변경되었음을 나타내는 `<system-reminder>`를 추가하고, 필요한 경우 Claude가 다시 읽습니다.253파일 내용은 Claude가 파일을 읽을 때만 컨텍스트에 들어가며, 읽기는 대화에 추가됩니다. Claude가 이전에 읽은 파일을 편집해도 기록의 이전 읽기를 소급하여 변경하지 않습니다. 대신 Claude Code는 파일이 변경되었음을 나타내는 [`<system-reminder>`](/docs/ko/glossary#system-reminder)를 추가하고, 필요한 경우 Claude가 다시 읽습니다.

248 254 

249<h3 id="editing-claude-md-mid-session">255<h3 id="editing-claude-md-mid-session">

250 세션 중 CLAUDE.md 편집256 세션 중 CLAUDE.md 편집


354 캐시 범위360 캐시 범위

355</h2>361</h2>

356 362 

357Claude Code에서 캐시는 효과적으로 하나의 머신과 디렉토리로 범위가 지정됩니다. 각 대화는 작업 디렉토리, 플랫폼, 셸 및 OS 버전을 포함하며, 시스템 프롬프트는 자동 메모리 경로의 이름을 지정하므로 서로 다른 디렉토리의 두 세션은 서로 다른 접두사를 구축하고 서로의 캐시를 놓칩니다. 여기에는 각 worktree가 자신의 작업 디렉토리를 가지고 있으므로 동일한 저장소의 worktrees도 포함됩니다.363Claude Code에서 캐시는 효과적으로 하나의 머신과 디렉토리로 범위가 지정됩니다. 시스템 프롬프트는 자동 메모리 경로를 포함하며, 대화는 작업 디렉토리, 플랫폼, 셸 및 OS 버전의 공지로 시작됩니다. 따라서 서로 다른 디렉토리의 두 세션은 서로 다른 접두사를 구축하고 서로의 캐시를 놓칩니다.

358 364 

359동일한 디렉토리에서 병렬로 실행하는 세션은 일치하는 접두사를 구축하고 서로의 캐시를 읽습니다. 순차 세션은 시작 시 촬영한 git 상태 스냅샷이 일치할 때만 접두사를 공유합니다. 각 대화는 해당 스냅샷의 분기 및 최근 커밋도 포함하기 때문입니다.365동일한 디렉토리에서 병렬로 실행하는 세션은 일치하는 접두사를 구축하고 서로의 캐시를 읽습니다. 순차 세션은 시작 시 촬영한 git 상태 스냅샷이 일치할 때만 접두사를 공유합니다. 각 대화는 해당 스냅샷의 분기 및 최근 커밋도 포함하기 때문입니다.

360 366 

361기본 API 캐시는 더 광범위합니다. 캐시는 조직 간에 격리되며, 일부 제공자의 경우 [조직 내 워크스페이스 간에 격리됩니다](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-storage-and-sharing). 이러한 경계 내에서 동일한 모델과 접두사를 가진 두 요청은 동일한 캐시를 읽습니다. 자동화된 프로세스의 플릿을 실행하는 Agent SDK 호출자의 경우, [사용자 및 머신 간 프롬프트 캐싱 개선](/docs/ko/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines)을 참조하여 시스템 프롬프트의 머신별 섹션을 억제하고 머신 간 캐시를 공유합니다.367기본 API 캐시는 더 광범위합니다. 캐시는 조직 간에 격리되며, 일부 제공자의 경우 [조직 내 워크스페이스 간에 격리됩니다](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#cache-storage-and-sharing). 이러한 경계 내에서 동일한 모델과 접두사를 가진 두 요청은 동일한 캐시를 읽습니다. Agent SDK 호출자가 자동화된 프로세스의 플릿을 실행하는 경우, [사용자 및 머신 간 프롬프트 캐싱 개선](/docs/ko/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines)을 참조하여 자동 메모리 위치를 시스템 프롬프트 밖으로 이동하고 시스템 프롬프트의 캐시 항목을 사용자 및 머신 간에 공유합니다.

362 368 

363<h2 id="check-cache-performance">369<h2 id="check-cache-performance">

364 캐시 성능 확인370 캐시 성능 확인


405| 변수 | 효과 |411| 변수 | 효과 |

406| - | - |412| - | - |

407| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 비활성화 |413| `DISABLE_PROMPT_CACHING` | 모든 모델에 대해 비활성화 |

408| `DISABLE_PROMPT_CACHING_HAIKU` | Haiku만 비활성화 |414| `DISABLE_PROMPT_CACHING_HAIKU` | 기본 Haiku 모델에 대해 비활성화 |

409| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet만 비활성화 |415| `DISABLE_PROMPT_CACHING_SONNET` | Sonnet만 비활성화 |

410| `DISABLE_PROMPT_CACHING_OPUS` | Opus만 비활성화 |416| `DISABLE_PROMPT_CACHING_OPUS` | Opus만 비활성화 |

411| `DISABLE_PROMPT_CACHING_FABLE` | Fable만 비활성화 |417| `DISABLE_PROMPT_CACHING_FABLE` | Fable만 비활성화 |

412 418 

419`DISABLE_PROMPT_CACHING_HAIKU`는 기본 Haiku 모델, 즉 `haiku` 별칭이 확인되는 모델에 적용됩니다. 이는 해당 모델이 실행되는 모든 곳에서 caching을 비활성화하며, 이것이 사용자의 주 모델일 때 주 대화도 포함됩니다. 주 대화를 포함하려면 Claude Code v2.1.283 이상이 필요합니다.

420 

421이 변수는 또한 더 이상 사용되지 않는 `ANTHROPIC_SMALL_FAST_MODEL` 변수로 설정한 백그라운드 모델도 포함하며, 해당 모델이 주 모델과 다를 때 적용됩니다.

422 

423주 모델로 고정한 다른 Haiku 버전은 caching을 유지합니다. 이에 대해 caching을 비활성화하려면 `DISABLE_PROMPT_CACHING`을 설정합니다.

424 

413조직 전체에서 caching 정책을 설정하려면 이러한 변수 중 하나 또는 [TTL 변수](#cache-lifetime)를 [관리되는 설정](/docs/ko/managed-settings)의 `env` 블록에 넣습니다. 일반적인 사용을 위해서는 caching을 활성화된 상태로 두십시오.425조직 전체에서 caching 정책을 설정하려면 이러한 변수 중 하나 또는 [TTL 변수](#cache-lifetime)를 [관리되는 설정](/docs/ko/managed-settings)의 `env` 블록에 넣습니다. 일반적인 사용을 위해서는 caching을 활성화된 상태로 두십시오.

414 426 

415<h2 id="related-resources">427<h2 id="related-resources">

quickstart.md +4 −2

Details

27 단계 1: Claude Code 설치27 단계 1: Claude Code 설치

28</h2>28</h2>

29 29 

30Claude Code를 설치하려면 다음 방법 중 하나를 사용하십시오:30Claude Code를 설치하려면 터미널을 열고 시스템에 맞는 명령을 실행하십시오. 이전에 터미널을 사용해본 적이 없다면 [터미널 가이드](/docs/ko/terminal-guide)에서 터미널을 열고 명령을 붙여넣는 방법을 확인할 수 있습니다.

31 31 

32<Tabs>32<Tabs>

33 <Tab title="기본 설치 (권장)">33 <Tab title="기본 설치 (권장)">


49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd49 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

50 ```50 ```

51 51 

52 설치 프로그램이 완료되면 새 터미널 창을 열고 `claude --version`을 실행하십시오. 설치가 제대로 되었으면 버전 번호가 출력됩니다. 셸에서 `claude`를 찾을 수 없거나 인식되지 않는다고 표시되면 설치 디렉토리가 아직 PATH에 없는 것입니다. [PATH 수정](/docs/ko/troubleshoot-install#command-not-found-claude-after-installation)을 참조하십시오.

53 

52 `The token '&&' is not a valid statement separator` 오류가 표시되면 CMD가 아닌 PowerShell에 있는 것입니다. `'irm' is not recognized as an internal or external command` 오류가 표시되면 PowerShell이 아닌 CMD에 있는 것입니다. PowerShell에 있을 때는 프롬프트에 `PS C:\`가 표시되고, CMD에 있을 때는 `PS` 없이 `C:\`만 표시됩니다.54 `The token '&&' is not a valid statement separator` 오류가 표시되면 CMD가 아닌 PowerShell에 있는 것입니다. `'irm' is not recognized as an internal or external command` 오류가 표시되면 PowerShell이 아닌 CMD에 있는 것입니다. PowerShell에 있을 때는 프롬프트에 `PS C:\`가 표시되고, CMD에 있을 때는 `PS` 없이 `C:\`만 표시됩니다.

53 55 

54 설치 명령이 `syntax error near unexpected token '<'`, `403` 또는 다른 curl 오류로 실패하면 [설치 문제 해결](/docs/ko/troubleshoot-install#find-your-error)을 참조하여 오류를 수정 방법과 일치시키고 대체 설치 방법을 확인하십시오.56 설치 명령이 `syntax error near unexpected token '<'`, `403` 또는 다른 curl 오류로 실패하면 [설치 문제 해결](/docs/ko/troubleshoot-install#find-your-error)을 참조하여 오류를 수정 방법과 일치시키고 대체 설치 방법을 확인하십시오.


187 189 

188Claude Code는 적절한 파일을 찾고 변경 사항을 보여줍니다. 변경하기 전에 묻는 경우 **예**를 선택하여 승인하십시오.190Claude Code는 적절한 파일을 찾고 변경 사항을 보여줍니다. 변경하기 전에 묻는 경우 **예**를 선택하여 승인하십시오.

189 191 

190자동 모드는 Pro, Max 및 Team 플랜의 대화형 터미널 세션에 대한 [기본 제공 시작 권한 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)입니다. 분류기가 사용자 대신 작업을 검토하며, Claude는 대부분의 파일을 편집하고 대부분의 명령을 묻지 않고 실행합니다. 다른 플랜에서는 수동 모드가 기본 제공 시작 권한 모드입니다. 설치 또는 업그레이드 직후에 시작하는 세션의 경우 [설치 또는 업그레이드 후 첫 번째 세션](/docs/ko/env-vars#first-session-after-an-install-or-upgrade)을 참조하십시오.192Claude Code v2.1.283 이상에서는 자동 모드가 대화형 터미널 세션에 대한 [기본 제공 시작 권한 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)입니다. 분류기가 사용자 대신 작업을 검토하며, Claude는 대부분의 파일을 편집하고 대부분의 명령을 묻지 않고 실행합니다. 이전 버전에서는 자동 모드가 Pro, Max 및 Team 플랜에서만 기본 제공 시작 권한 모드입니다. 설치 또는 업그레이드 직후에 시작하는 세션의 경우 [설치 또는 업그레이드 후 첫 번째 세션](/docs/ko/env-vars#first-session-after-an-install-or-upgrade)을 참조하십시오.

191 193 

192<Note>194<Note>

193 사용자의 설정 또는 조직에서 다른 시작 권한 모드를 설정할 수 있습니다. [세션이 시작되는 권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)에서 어떤 모드인지 확인할 수 있습니다. 언제든지 `Shift+Tab`을 눌러 현재 세션의 권한 모드를 전환할 수 있습니다.195 사용자의 설정 또는 조직에서 다른 시작 권한 모드를 설정할 수 있습니다. [세션이 시작되는 권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)에서 어떤 모드인지 확인할 수 있습니다. 언제든지 `Shift+Tab`을 눌러 현재 세션의 권한 모드를 전환할 수 있습니다.

remote-control.md +147 −155

Details

6 6 

7> Remote Control을 사용하여 휴대폰, 태블릿 또는 모든 브라우저에서 로컬 Claude Code 세션을 계속할 수 있습니다. claude.ai/code 및 Claude 모바일 앱과 함께 작동합니다.7> Remote Control을 사용하여 휴대폰, 태블릿 또는 모든 브라우저에서 로컬 Claude Code 세션을 계속할 수 있습니다. claude.ai/code 및 Claude 모바일 앱과 함께 작동합니다.

8 8 

9<Note>9Remote Control은 [claude.ai/code](https://claude.ai/code) 또는 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 및 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude)용 Claude 앱을 사용자의 머신에서 실행 중인 Claude Code 세션에 연결합니다. 책상에서 작업을 시작한 후 소파의 휴대폰이나 다른 컴퓨터의 브라우저에서 계속할 수 있습니다.

10 Remote Control은 모든 요금제에서 사용할 수 있습니다. Team 및 Enterprise의 경우 소유자가 [Claude Code 관리자 설정](https://claude.ai/admin-settings/claude-code)에서 Remote Control 토글을 활성화할 때까지 기본적으로 꺼져 있습니다.

11</Note>

12 

13Remote Control은 [claude.ai/code](https://claude.ai/code) 또는 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 및 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude)용 Claude 앱을 컴퓨터에서 실행 중인 Claude Code 세션에 연결합니다. 책상에서 작업을 시작한 다음 소파의 휴대폰이나 다른 컴퓨터의 브라우저에서 계속할 수 있습니다.

14 

15컴퓨터에서 Remote Control 세션을 시작하면 Claude는 전체 시간 동안 로컬에서 실행되므로 코드 실행 및 파일 시스템 접근이 컴퓨터에 유지됩니다. Remote Control을 사용하면 다음을 수행할 수 있습니다:

16 10 

17* **전체 로컬 환경을 원격으로 사용**: 파일 시스템, [MCP servers](/docs/ko/mcp), 도구 및 프로젝트 구성이 모두 사용 가능하게 유지되며, `@`를 입력하면 로컬 프로젝트의 파일 경로가 자동 완성됩니다.11사용자의 머신에서 Remote Control 세션을 시작하면 Claude는 전체 시간 동안 로컬에서 계속 실행되므로 코드 실행 및 파일시스템 액세스는 사용자의 머신에 유지됩니다. Remote Control을 사용하면 다음을 수행할 수 있습니다:

18* **두 표면에서 동시에 작업**: 대화 및 [subagents](/docs/ko/sub-agents) 및 [dynamic workflows](/docs/ko/workflows)의 진행 상황이 모든 연결된 기기에서 동기화되므로 터미널, 브라우저 및 휴대폰에서 메시지를 교대로 보낼 수 있습니다.

19* **휴대폰 또는 브라우저에서 이미지 및 파일 전송**: Claude 앱 또는 claude.ai/code에서 사진 또는 파일을 첨부하면 Claude는 첨부된 사진을 메시지의 일부로 직접 봅니다. Claude Code는 다른 파일을 컴퓨터에 다운로드하고 `@` 파일 참조로 Claude에 전달합니다.

20* **중단 극복**: 노트북이 절전 모드로 전환되거나 네트워크가 끊어지면 컴퓨터가 다시 온라인 상태가 될 때 Claude Code가 자동으로 다시 연결됩니다. 연결이 재구축되는 동안 Claude Code는 메시지, 권한 프롬프트 및 subagents 및 workflows의 상태 업데이트를 대기열에 넣고 연결이 복구되면 전달합니다.

21 12 

22클라우드 인프라에서 실행되는 [웹의 Claude Code](/docs/ko/claude-code-on-the-web)와 달리 Remote Control 세션은 컴퓨터에서 직접 실행되며 로컬 파일 시스템과 상호 작용합니다. 웹 및 모바일 인터페이스는 단지 해당 로컬 세션의 창일 뿐입니다.13* **전체 로컬 환경을 원격으로 사용**: 파일시스템, [MCP 서버](/docs/ko/mcp), 도구 및 프로젝트 구성이 모두 사용 가능하게 유지되며, `@`를 입력하면 로컬 프로젝트의 파일 경로가 자동 완성됩니다.

14* **두 개의 표면에서 동시에 작업**: 대화 및 [서브에이전트](/docs/ko/sub-agents) 및 [동적 워크플로우](/docs/ko/workflows)의 진행 상황이 모든 연결된 기기에서 동기화되므로 터미널, 브라우저 및 휴대폰에서 상호 교환 가능하게 메시지를 보낼 수 있습니다.

15* **휴대폰 또는 브라우저에서 이미지 및 파일 전송**: Claude 앱 또는 claude.ai/code에서 캡션 포함 여부와 관계없이 사진 또는 파일을 첨부합니다. Claude는 첨부된 사진을 메시지의 일부로 직접 봅니다. Claude Code는 다른 파일을 사용자의 머신에 다운로드하고 `@` 파일 참조로 Claude에 전달합니다.

16* **중단에서 복구**: 노트북이 절전 모드로 전환되거나 네트워크가 끊어지면 머신이 다시 온라인 상태가 될 때 Claude Code가 자동으로 다시 연결됩니다.

23 17 

24이 페이지에서는 설정, 세션을 시작하고 연결하는 방법, Remote Control과 웹의 Claude Code를 비교하는 방법을 다룹니다.18[클라우드 세션](/docs/ko/claude-code-on-the-web)은 클라우드 인프라에서 실행되는 것과 달리, Remote Control 세션은 사용자의 머신에서 직접 실행되며 로컬 파일시스템과 상호 작용합니다. 웹 및 모바일 인터페이스는 해당 로컬 세션으로의 창이므로 컴퓨터는 계속 켜져 있어야 하고 `claude` 프로세스는 계속 실행되어야 합니다.

25 19 

26<h2 id="requirements">20<h2 id="requirements">

27 요구 사항21 요구 사항


33* **인증**: `claude`를 실행하고 아직 로그인하지 않았다면 `/login`을 사용하여 claude.ai를 통해 로그인하세요. 적격 로그인이 없으면 `claude remote-control`은 오류로 종료되고, `claude --remote-control`은 여전히 대화형 세션을 시작하며 시작 직후 Remote Control 실패 알림을 표시합니다.27* **인증**: `claude`를 실행하고 아직 로그인하지 않았다면 `/login`을 사용하여 claude.ai를 통해 로그인하세요. 적격 로그인이 없으면 `claude remote-control`은 오류로 종료되고, `claude --remote-control`은 여전히 대화형 세션을 시작하며 시작 직후 Remote Control 실패 알림을 표시합니다.

34* **API 엔드포인트**: 다음 구성 중 어느 것도 사용할 수 없습니다:28* **API 엔드포인트**: 다음 구성 중 어느 것도 사용할 수 없습니다:

35 * Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry를 사용합니다.29 * Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry를 사용합니다.

36 * [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 `api.anthropic.com` 이외의 호스트(예: [LLM gateway](/docs/ko/llm-gateway) 또는 프록시)를 가리킵니다. Remote Control을 사용하려면 변수를 설정 해제하세요. v2.1.196 이전에는 Claude Code가 사용자 정의 `ANTHROPIC_BASE_URL`로 Remote Control을 허용했습니다.30 * [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 `api.anthropic.com` 이외의 호스트(예: [LLM gateway](/docs/ko/llm-gateway) 또는 프록시)를 가리킵니다. Remote Control을 사용하려면 변수를 설정 해제하세요.

37 * enterprise [Claude apps gateway](/docs/ko/claude-apps-gateway)를 통해 로그인합니다.31 * enterprise [Claude apps gateway](/docs/ko/claude-apps-gateway)를 통해 로그인합니다.

38* **기능 플래그 평가**: [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 및 `DISABLE_GROWTHBOOK`](/docs/ko/env-vars)은 각각 Remote Control 가용성이 의존하는 기능 플래그 평가를 비활성화합니다. Remote Control을 사용하려면 셸 환경이나 [`settings.json` 파일](/docs/ko/settings-reference#all-settings)의 `env` 블록에서 변수가 설정된 곳 어디든 설정 해제하세요.32* **기능 플래그 평가**: [환경 변수를 설정하여 기능 플래그 평가를 비활성화](/docs/ko/env-vars#features-that-need-feature-flag-fetching)하는 경우, Remote Control의 가용성은 어느 것을 설정했는지에 따라 달라집니다:

39* **작업 공간 신뢰**: 작업 공간 신뢰 대화를 수락하려면 프로젝트 디렉토리에서 최소한 한 번 `claude`를 실행하세요. 시작 신뢰 대화는 홈 디렉토리에 대한 신뢰를 저장하지 않으므로 프로젝트 디렉토리에서 Remote Control을 시작하세요.33 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 또는 `DISABLE_GROWTHBOOK`을 설정하면 Remote Control을 사용할 수 없습니다. Remote Control을 사용하려면 셸 환경이나 [`settings.json` 파일](/docs/ko/settings-reference#all-settings)의 `env` 블록에서 변수가 설정된 곳 어디든 설정 해제하세요.

34 * 만약 `DISABLE_TELEMETRY` 또는 `DO_NOT_TRACK`만 설정하면, 조직에서 [신뢰할 수 있는 디바이스](#trusted-devices)를 요구하지 않는 한 Remote Control은 계속 사용 가능합니다. 요구하는 경우 Remote Control을 사용하려면 변수를 설정 해제하세요. 두 변수 중 하나를 설정한 상태에서 Remote Control을 사용하려면 Claude Code v2.1.283 이상이 필요합니다.

35* **작업 공간 신뢰**: 아직 신뢰하지 않은 디렉토리에서 `claude remote-control`은 신뢰하면 어떤 기능이 활성화되는지 출력하고 시작하기 전에 `Trust <directory>? [y/N]`을 묻습니다. `y`로 답하면 선택 사항이 저장되지만, 홈 디렉토리에서는 신뢰가 절대 저장되지 않으며 매번 실행할 때마다 질문이 반복됩니다. 표준 입력 또는 출력이 터미널이 아닐 때, 명령은 질문할 수 없으며 [`Workspace not trusted`](/docs/ko/errors#workspace-not-trusted-when-starting-remote-control) 오류로 종료됩니다.

40 36 

41<h2 id="start-a-remote-control-session">37<h2 id="start-a-remote-control-session">

42 Remote Control 세션 시작38 Remote Control 세션 시작

43</h2>39</h2>

44 40 

45CLI 또는 VS Code 확장에서 Remote Control 세션을 시작할 수 있습니다. CLI는 세 가지 호출 모드를 제공하며, VS Code는 `/remote-control` 명령을 사용합니다.41CLI, [Claude Desktop 앱](/docs/ko/desktop) 또는 VS Code 확장에서 Remote Control 세션을 시작할 수 있습니다. CLI는 세 가지 호출 모드를 제공하며, Desktop 앱과 VS Code는 `/remote-control` 명령을 사용합니다.

46 42 

47<Tabs>43<Tabs>

48 <Tab title="서버 모드">44 <Tab title="서버 모드">


62 | - | - |58 | - | - |

63 | `--name "My Project"` | claude.ai/code의 세션 목록에 표시되는 사용자 정의 세션 제목을 설정합니다. |59 | `--name "My Project"` | claude.ai/code의 세션 목록에 표시되는 사용자 정의 세션 제목을 설정합니다. |

64 | `--remote-control-session-name-prefix <prefix>` | 명시적 이름이 설정되지 않았을 때 자동 생성된 세션 이름의 접두사입니다. 기본값은 컴퓨터의 호스트 이름이며, `myhost-graceful-unicorn`과 같은 이름을 생성합니다. 동일한 효과를 위해 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX`를 설정하세요. |60 | `--remote-control-session-name-prefix <prefix>` | 명시적 이름이 설정되지 않았을 때 자동 생성된 세션 이름의 접두사입니다. 기본값은 컴퓨터의 호스트 이름이며, `myhost-graceful-unicorn`과 같은 이름을 생성합니다. 동일한 효과를 위해 `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX`를 설정하세요. |

65 | `-c`, `--continue` | 이 디렉토리에서 마지막 서버가 시작한 세션을 다시 가져오며, 새로운 세션을 만드는 대신 사용합니다. [서버를 중지한 후 세션 재개](#resume-sessions-after-stopping-the-server)를 참조하세요. `--session-id`, `--spawn`, `--capacity` 또는 `--create-session-in-dir`과 함께 사용할 수 없습니다. Claude Code v2.1.200 이상이 필요하며, 이전 버전은 이 플래그를 알 수 없는 인수로 거부합니다. |61 | `-c`, `--continue` | 이 디렉토리에서 마지막 서버가 시작한 세션을 다시 가져오며, 새로운 세션을 만드는 대신 사용합니다. [서버를 중지한 후 세션 재개](#resume-sessions-after-stopping-the-server)를 참조하세요. `--session-id`, `--spawn`, `--capacity` 또는 `--create-session-in-dir`과 함께 사용할 수 없습니다. Claude Code v2.1.200 이상이 필요합니다. |

66 | `--session-id <id>` | ID로 특정 세션을 다시 가져옵니다. [서버를 중지한 후 세션 재개](#resume-sessions-after-stopping-the-server)를 참조하세요. `--continue`, `--spawn`, `--capacity` 또는 `--create-session-in-dir`과 함께 사용할 수 없습니다. Claude Code v2.1.200 이상이 필요하며, 이전 버전은 이 플래그를 알 수 없는 인수로 거부합니다. |62 | `--session-id <id>` | ID로 특정 세션을 다시 가져옵니다. [서버를 중지한 후 세션 재개](#resume-sessions-after-stopping-the-server)를 참조하세요. `--continue`, `--spawn`, `--capacity` 또는 `--create-session-in-dir`과 함께 사용할 수 없습니다. Claude Code v2.1.200 이상이 필요합니다. |

67 | `--spawn <mode>` | 서버가 세션을 생성하는 방식입니다.<br />• `same-dir` (기본값): 모든 세션이 현재 작업 디렉토리를 공유하므로 동일한 파일을 편집할 때 충돌할 수 있습니다.<br />• `worktree`: 각 온디맨드 세션은 자체 [git worktree](/docs/ko/worktrees)를 가져옵니다. git 저장소가 필요합니다.<br />• `session`: 단일 세션 모드입니다. 정확히 하나의 세션을 제공하고 추가 연결을 거부합니다. 시작 시에만 설정합니다.<br />런타임에 `w`를 눌러 `same-dir`과 `worktree` 사이를 전환하세요. |63 | `--spawn <mode>` | 서버가 세션을 생성하는 방식입니다.<br />• `same-dir` (기본값): 모든 세션이 현재 작업 디렉토리를 공유하므로 동일한 파일을 편집할 때 충돌할 수 있습니다.<br />• `worktree`: 각 온디맨드 세션은 자체 [git worktree](/docs/ko/worktrees)를 가져옵니다. git 저장소가 필요합니다.<br />• `session`: 단일 세션 모드입니다. 정확히 하나의 세션을 제공하고 추가 연결을 거부합니다. 시작 시에만 설정합니다.<br />런타임에 `w`를 눌러 `same-dir`과 `worktree` 사이를 전환하세요. |

68 | `--capacity <N>` | 최대 동시 세션 수입니다. 기본값은 32입니다. `--spawn=session`과 함께 사용할 수 없습니다. |64 | `--capacity <N>` | 최대 동시 세션 수입니다. 기본값은 32입니다. `--spawn=session`과 함께 사용할 수 없습니다. |

69 | `--[no-]create-session-in-dir` | 서버가 시작할 때 현재 디렉토리에 하나의 세션을 미리 생성하여 즉시 입력할 수 있는 위치를 제공합니다. `worktree` 모드에서 이 세션은 현재 디렉토리에 유지되고 온디맨드 세션은 격리된 worktree를 가져옵니다. 기본적으로 켜져 있습니다. `--no-create-session-in-dir`을 전달하여 아무것도 없이 시작하면 Claude Code는 서버의 세션을 보관하므로 [재개](#resume-sessions-after-stopping-the-server)할 것이 없습니다. |65 | `--[no-]create-session-in-dir` | 서버가 시작할 때 현재 디렉토리에 하나의 세션을 미리 생성하여 즉시 입력할 수 있는 위치를 제공합니다. `worktree` 모드에서 이 세션은 현재 디렉토리에 유지되고 온디맨드 세션은 격리된 worktree를 가져옵니다. 기본적으로 켜져 있습니다. `--no-create-session-in-dir`을 전달하여 아무것도 없이 시작하면 Claude Code는 서버의 세션을 보관하므로 [재개](#resume-sessions-after-stopping-the-server)할 것이 없습니다. |

70 | `--permission-mode <mode>` | 서버의 세션에 대한 시작 [권한 모드](/docs/ko/permission-modes)를 설정합니다(예: `acceptEdits`). `manual`을 `default`의 별칭으로 허용합니다. 인식되지 않는 모드는 시작 시 서버를 중지하고 유효한 모드를 나열합니다. |66 | `--permission-mode <mode>` | 서버의 세션에 대한 시작 [권한 모드](/docs/ko/permission-modes)를 설정합니다(예: `acceptEdits`). `manual`을 `default`의 별칭으로 허용합니다. 인식되지 않는 모드는 시작 시 서버를 중지하고 유효한 모드를 나열합니다. |

67 | `-d`, `--debug[=<filter>]` | 서버에 대한 디버그 로깅을 켜며, 선택적으로 카테고리별로 필터링합니다. 필터는 `--debug=api,hooks`와 같은 `=` 형식으로만 전달하세요. Claude Code v2.1.282 이상이 필요합니다. |

71 | `--debug-file <path>` | 주어진 파일에 디버그 로그를 작성합니다. |68 | `--debug-file <path>` | 주어진 파일에 디버그 로그를 작성합니다. |

72 | `--verbose` | 자세한 연결 및 세션 로그를 표시합니다. |69 | `--verbose` | 자세한 연결 및 세션 로그를 표시합니다. |

73 | `--sandbox` / `--no-sandbox` | 파일 시스템 및 네트워크 격리를 위해 [샌드박싱](/docs/ko/sandboxing)을 활성화하거나 비활성화합니다. 기본적으로 꺼져 있습니다. |70 | `--sandbox` / `--no-sandbox` | 파일 시스템 및 네트워크 격리를 위해 [샌드박싱](/docs/ko/sandboxing)을 활성화하거나 비활성화합니다. 기본적으로 꺼져 있습니다. |

74 71 

75 `remote-control` 뒤에 이 플래그들을 입력하세요.72 `remote-control` 뒤에 이 플래그들을 입력하세요.

76 73 

77 `remote-control` 앞에 전역 `claude` 플래그를 전달하거나 래퍼 스크립트가 하나를 추가하면 Claude Code는 서버가 생성하는 세션으로 플래그를 이월하지 않습니다. Claude Code는 `--verbose` 또는 `--model`과 같이 플래그를 삭제해도 해당 세션이 수행할 수 있는 작업이 변경되지 않는 경우에만 플래그를 통과시킵니다. 다른 플래그(예: `--settings`)의 경우 Claude Code는 [시작을 거부](/docs/ko/errors#not-carried-over-to-the-sessions-remote-control-starts)하고 제거할 플래그를 이름으로 지정합니다. v2.1.248 이전에는 `remote-control` 앞의 모든 옵션이 Claude Code가 그 뒤의 플래그를 `unknown option` 오류로 거부하게 했습니다.74 `remote-control` 앞에 전역 `claude` 플래그를 전달하거나 래퍼 스크립트가 하나를 추가하면 Claude Code는 서버가 생성하는 세션으로 플래그를 이월하지 않습니다. Claude Code는 `--verbose` 또는 `--model`과 같이 플래그를 삭제해도 해당 세션이 수행할 수 있는 작업이 변경되지 않는 경우에만 플래그를 통과시킵니다. 다른 플래그(예: `--settings`)의 경우 Claude Code는 [시작을 거부](/docs/ko/errors#not-carried-over-to-the-sessions-remote-control-starts)하고 제거할 플래그를 이름으로 지정합니다.

78 75 

79 Claude Code는 도움말을 인쇄하기 전에 Remote Control 적격성을 확인하므로 적격 계정으로 로그인하지 않았을 때 `claude remote-control --help`는 이 플래그 목록 대신 오류를 반환합니다.76 Claude Code는 도움말을 인쇄하기 전에 Remote Control 적격성을 확인하므로 적격 계정으로 로그인하지 않았을 때 `claude remote-control --help`는 이 플래그 목록 대신 오류를 반환합니다.

80 </Tab>77 </Tab>


126 123 

127 CLI와 달리 VS Code 명령은 이름 인수를 허용하지 않으며 QR 코드를 표시하지 않습니다. 세션 제목은 대화 기록 또는 첫 번째 프롬프트에서 파생됩니다.124 CLI와 달리 VS Code 명령은 이름 인수를 허용하지 않으며 QR 코드를 표시하지 않습니다. 세션 제목은 대화 기록 또는 첫 번째 프롬프트에서 파생됩니다.

128 </Tab>125 </Tab>

126 

127 <Tab title="Desktop 앱">

128 [Claude Desktop 앱](/docs/ko/desktop)의 Code 탭에서 프롬프트 상자에 `/remote-control` 또는 `/rc`를 입력하세요.

129 

130 ```text theme={null}

131 /remote-control

132 ```

133 

134 세션이 연결되면 [claude.ai/code](https://claude.ai/code)의 세션 목록에서 찾으세요. 연결을 끊으려면 `/remote-control`을 다시 실행하세요.

135 

136 모든 세션에 대해 기본적으로 Remote Control을 켜려면 [모든 세션에 대해 Remote Control 활성화](#enable-remote-control-for-all-sessions)를 참조하세요.

137 </Tab>

129</Tabs>138</Tabs>

130 139 

131<h3 id="check-connection-status">140<h3 id="check-connection-status">


140* **이 세션이 다른 기기 또는 앱에서 종료되거나 보관되었습니다**: 세션을 다시 원하는 경우에만 `/remote-control`을 실행하세요. Claude Code는 보관된 세션을 다시 엽니다.149* **이 세션이 다른 기기 또는 앱에서 종료되거나 보관되었습니다**: 세션을 다시 원하는 경우에만 `/remote-control`을 실행하세요. Claude Code는 보관된 세션을 다시 엽니다.

141* **서버가 더 이상 이 세션을 보고하지 않습니다**: 다른 기기 또는 앱에서 삭제되었을 수 있습니다.150* **서버가 더 이상 이 세션을 보고하지 않습니다**: 다른 기기 또는 앱에서 삭제되었을 수 있습니다.

142 151 

143<h3 id="session-url-reminders">

144 세션 URL 미리 알림

145</h3>

146 

147Remote Control이 연결되어 있는 동안 Claude Code는 휴대폰 또는 브라우저로 전환하는 것이 가장 도움이 될 때 세션 URL을 상기시켜 주므로 `/remote-control`에서 링크를 찾을 필요가 없습니다. 다음 중 하나의 순간에 프롬프트 상자 위에 미리 알림이 나타납니다:

148 

149* **긴 턴**: 턴이 서버 조정 임계값보다 오래 실행될 때 Claude Code는 **Still working** 알림과 **Check in from your phone** 링크를 표시하므로 터미널에서 기다리는 대신 휴대폰 또는 브라우저에서 턴을 따를 수 있습니다. Claude Code는 턴이 끝나면 이를 제거합니다.

150* **반복된 권한 프롬프트**: 세션에서 여러 [권한 프롬프트](/docs/ko/permissions)에 답한 후 **Approve tool calls from your phone** 알림이 세션 URL을 표시합니다. Claude Code는 다음 턴이 시작되면 이를 제거합니다.

151 

152미리 알림은 Remote Control이 [자동으로 연결](#enable-remote-control-for-all-sessions)되는 세션을 포함하여 연결된 모든 세션에 나타날 수 있습니다. 이러한 조건이 발생할 때마다 나타나지는 않으며 각각은 세션 전체에서 몇 번만 나타납니다. 이를 구성하거나 끌 수 없습니다. 각각은 자체적으로 지워집니다.

153 

154<h3 id="connect-from-another-device">152<h3 id="connect-from-another-device">

155 다른 기기에서 연결153 다른 기기에서 연결

156</h3>154</h3>


1703. 기존 대화 기록의 마지막 의미 있는 메시지1683. 기존 대화 기록의 마지막 의미 있는 메시지

1714. `myhost-graceful-unicorn`과 같은 자동 생성된 이름입니다. 여기서 `myhost`는 컴퓨터의 호스트 이름 또는 `--remote-control-session-name-prefix`로 설정한 접두사입니다.1694. `myhost-graceful-unicorn`과 같은 자동 생성된 이름입니다. 여기서 `myhost`는 컴퓨터의 호스트 이름 또는 `--remote-control-session-name-prefix`로 설정한 접두사입니다.

172 170 

173명시적 이름을 설정하지 않았다면 메시지를 보낸 후 제목이 프롬프트를 반영하도록 업데이트됩니다. Claude Code는 자동 생성된 제목을 대화의 언어 또는 구성된 [`language`](/docs/ko/settings-reference#language) 설정과 일치시킵니다.171명시적 이름을 설정하지 않았다면 메시지를 보낸 후 제목이 프롬프트를 반영하도록 업데이트됩니다. claude.ai 또는 Claude 앱에서 세션의 이름을 바꾸면 `claude --resume`에 표시되는 로컬 제목도 업데이트됩니다.

174 

175claude.ai 또는 Claude 앱에서 세션의 이름을 바꾸면 `claude --resume`에 표시되는 로컬 제목도 업데이트됩니다. Claude Code는 동일한 이름 바꾸기를 프롬프트 바에 표시된 세션 이름과 세션이 [백그라운드에서 실행](/docs/ko/agent-view)될 때 `claude agents` 목록에 적용합니다. v2.1.221 이전에는 claude.ai의 세션 목록 또는 Claude 앱에서 이름을 바꾸면 제목만 업데이트되었고 CLI는 이전 세션 이름을 유지했습니다. CLI 자체에서 실행되는 `/rename`은 모든 버전에서 이름을 설정합니다.

176 172 

177Claude 앱이 아직 없으면 Claude Code 내에서 `/mobile`을 실행하여 [claude.ai/mobile](https://claude.ai/mobile)에 대한 QR 코드를 표시하세요. 이는 휴대폰에 맞는 앱 스토어를 엽니다.173Claude 앱이 아직 없으면 Claude Code 내에서 `/mobile`을 실행하여 [claude.ai/mobile](https://claude.ai/mobile)에 대한 QR 코드를 표시하세요. 이는 휴대폰에 맞는 앱 스토어를 엽니다.

178 174 


184 180 

185* **압축 및 `/clear`**: Claude Code가 [대화를 압축](/docs/ko/context-window#what-survives-compaction)하는 동안 연결된 기기는 진행 상황을 표시한 다음 대화가 압축된 위치를 표시합니다. `/clear`를 실행하면 연결된 기기에서도 대화가 재설정됩니다.181* **압축 및 `/clear`**: Claude Code가 [대화를 압축](/docs/ko/context-window#what-survives-compaction)하는 동안 연결된 기기는 진행 상황을 표시한 다음 대화가 압축된 위치를 표시합니다. `/clear`를 실행하면 연결된 기기에서도 대화가 재설정됩니다.

186* **`/resume`으로 대화 전환**: 연결된 기기는 전환된 대화의 제목 또는 이전 기록을 받지 않지만 양방향의 새 메시지는 터미널에서 열려 있는 대화로 이동합니다. 기기에서 원래 대화로 다시 작업하려면 터미널에서 `/resume`을 실행하고 다시 전환하세요.182* **`/resume`으로 대화 전환**: 연결된 기기는 전환된 대화의 제목 또는 이전 기록을 받지 않지만 양방향의 새 메시지는 터미널에서 열려 있는 대화로 이동합니다. 기기에서 원래 대화로 다시 작업하려면 터미널에서 `/resume`을 실행하고 다시 전환하세요.

187* **`/teleport`로 세션 끌어오기**: [Claude Code on the web 세션](/docs/ko/claude-code-on-the-web#from-cloud-to-terminal)을 `/teleport`로 터미널로 끌어올 때 연결된 기기는 끌어온 대화의 이전 기록을 받지 않습니다. 양방향의 새 메시지는 이제 터미널에서 열려 있는 끌어온 대화로 이동합니다.183* **`/teleport`로 세션 끌어오기**: [클라우드 세션](/docs/ko/claude-code-on-the-web#from-cloud-to-terminal)을 `/teleport`로 터미널로 끌어올 때 연결된 기기는 끌어온 대화의 이전 기록을 받지 않습니다. 양방향의 새 메시지는 이제 터미널에서 열려 있는 끌어온 대화로 이동합니다.

188* **다른 세션의 메시지**: [교차 세션 메시징](/docs/ko/cross-session-messaging)을 사용하면 동일한 연결이 다른 컴퓨터의 자신의 세션 간 메시지와 [Claude Code on the web](/docs/ko/claude-code-on-the-web) 세션에서 Anthropic 서버를 통해 Remote Control 트래픽의 나머지와 같이 메시지를 전달합니다. [다른 컴퓨터의 메시지 세션](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)은 전달 규칙을 다루고 [인바운드 메시지 제어](/docs/ko/cross-session-messaging#control-inbound-messages)는 인바운드 제어를 다룹니다. Claude Code v2.1.224 이상이 필요합니다.184* **다른 세션의 메시지**: [교차 세션 메시징](/docs/ko/cross-session-messaging)을 사용하면 동일한 연결이 다른 컴퓨터의 자신의 세션 간 메시지와 [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 메시지를 전달합니다.

189* **턴 중간에 보낸 프롬프트**: 연결된 기기에서 현재 턴이 끝나기 전에 프롬프트를 보내면 Claude Code는 이를 큐에 넣고 해당 턴이 끝난 후 기기의 기록에 유지합니다.185* **변경 사항의 diff**: 세션의 디렉토리가 git 저장소에 있을 때 연결된 기기의 diff 창은 변경 사항을 표시합니다. 저장소의 기본 분기보다 앞에 있는 커밋이 있는 분기에서 창은 분기가 분기한 이후의 분기 변경 사항을 표시하며, 커밋되지 않은 편집을 포함합니다. 기본 분기 자체에서 또는 앞에 있지 않은 분기에서 창은 커밋되지 않은 변경 사항만 표시합니다.

190* **변경 사항의 diff**: 세션의 디렉토리가 git 저장소에 있을 때 연결된 기기의 diff 창은 변경 사항을 표시합니다. 기기는 연결을 통해 diff를 요청하고 Claude Code는 컴퓨터에서 이를 계산합니다. 저장소의 기본 분기보다 앞에 있는 커밋이 있는 분기에서 창은 분기가 분기한 이후의 분기 변경 사항을 표시하며, 커밋되지 않은 편집을 포함합니다. 기본 분기 자체에서 또는 앞에 있지 않은 분기에서 창은 커밋되지 않은 변경 사항만 표시합니다. v2.1.247 이전에는 Claude Code가 `claude remote-control`로 제공되는 세션의 연결된 기기에만 diff를 보고했습니다.186* **모델**: 연결된 기기에서 [모델](/docs/ko/model-config)을 선택하면 Claude Code는 해당 모델에서 세션을 실행합니다. Claude Code v2.1.238 이상이 필요합니다. 기기의 모델 제어에서 선택한 모델은 현재 세션에만 적용됩니다. 기기에서 대화형 세션으로 `/model <name>`을 보내면 Claude Code는 새 세션의 기본값도 설정합니다.

191* **모델**: 연결된 기기에서 [모델](/docs/ko/model-config)을 선택하면 Claude Code는 해당 모델에서 세션을 실행합니다. 터미널의 `/model` 선택기, `/status` 및 `/config`는 해당 모델을 표시합니다. Claude Code v2.1.238 이상이 필요합니다.187* **노력 수준**: 연결된 기기에서 `/effort` 또는 기기의 노력 제어로 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정하면 Claude Code는 이를 컴퓨터의 세션에 적용합니다. `CLAUDE_CODE_EFFORT_LEVEL`로 수준을 고정했으면 세션은 해당 수준을 유지하고 Claude Code는 노력 제어에서 다른 선택을 거부합니다. 노력 제어에서 수준을 선택하려면 컴퓨터에 Claude Code v2.1.234 이상이 필요합니다.

192 * 기기의 모델 제어에서 선택한 모델은 현재 세션에만 적용됩니다. 기기에서 대화형 세션으로 `/model <name>`을 보내면 Claude Code는 새 세션의 기본값도 설정합니다.188* **연결 실패 후 다시 연결**: `/remote-control`을 실행하여 다시 연결하세요. 압축이 대화를 다시 작성했거나 그 사이에 `/resume`으로 대화를 전환했으면 Claude Code는 사용 중이던 서버 세션을 세션 목록에 남겨두는 대신 보관합니다. [보관된 세션 필터링](/docs/ko/claude-code-on-the-web#archive-sessions)으로 여전히 찾을 수 있습니다. 기기가 여전히 연결되어 있는 동안 대화를 전환해도 세션이 보관되지 않습니다.

193 * 모델 ID가 필요한 곳에 표시 이름과 같이 Claude Code가 인식하지 못하는 이름을 보내면 Claude Code는 [선택을 거부](/docs/ko/errors#model-is-not-a-recognized-model-id)하고 세션은 현재 모델을 유지합니다. v2.1.260 이전에는 Claude Code가 기기의 모델 제어에서 인식되지 않는 선택을 저장했고 다음 메시지가 실패했습니다.

194* **노력 수준**: 연결된 기기에서 `/effort` 또는 기기의 노력 제어로 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정하면 Claude Code는 이를 컴퓨터의 세션에 적용하고 claude.ai/code는 세션이 사용 중인 수준을 표시합니다. `CLAUDE_CODE_EFFORT_LEVEL`로 수준을 고정했으면 세션은 해당 수준을 유지하고 Claude Code는 노력 제어에서 다른 선택을 거부합니다. 노력 제어에서 수준을 선택하려면 컴퓨터에 Claude Code v2.1.234 이상이 필요합니다.

195* **연결 실패 후 다시 연결**: 다시 연결하려면 `/remote-control`을 실행하세요. 압축이 대화를 다시 작성했거나 그 사이에 `/resume`으로 대화를 전환했으면 Claude Code는 사용 중이던 서버 세션을 세션 목록에 남겨두는 대신 보관합니다. [보관된 세션 필터링](/docs/ko/claude-code-on-the-web#archive-sessions)으로 여전히 찾을 수 있습니다. 기기가 여전히 연결되어 있는 동안 대화를 전환해도 세션이 보관되지 않습니다.

196 189 

197<h3 id="enable-remote-control-for-all-sessions">190<h3 id="enable-remote-control-for-all-sessions">

198 모든 세션에 대해 Remote Control 활성화191 모든 세션에 대해 Remote Control 활성화


207동일한 토글은 CLI 외부에도 나타납니다:200동일한 토글은 CLI 외부에도 나타납니다:

208 201 

209* **Desktop 앱**: **설정 > Claude Code > 기본적으로 원격 제어 활성화**.202* **Desktop 앱**: **설정 > Claude Code > 기본적으로 원격 제어 활성화**.

210* **VS Code 확장**: [명령 메뉴](/docs/ko/vs-code#use-the-prompt-box)의 설정 섹션에서 **모든 세션에 대해 Remote Control 활성화**. Claude Code v2.1.203 이상이 필요합니다.203* **VS Code 확장**: [명령 메뉴](/docs/ko/vs-code#use-the-prompt-box)의 설정 섹션에서 **모든 세션에 대해 Remote Control 활성화**.

211 204 

212설정 파일에서 자동 연결을 켜려면 사용자 `~/.claude/settings.json` 또는 [관리 설정](/docs/ko/managed-settings)에서 [`remoteControlAtStartup`](/docs/ko/settings-reference#remotecontrolatstartup)을 `true`로 설정하세요. 프로젝트 또는 로컬 설정(`.claude/settings.json`, `.claude/settings.local.json`)에서 Claude Code는 `false`를 준수하고 해당 저장소에 대해 자동 연결을 끕니다. 하지만 `true`는 무시하므로 체크인된 파일이 저장소를 여는 모든 사람에 대해 Remote Control을 켤 수 없습니다.205설정 파일에서 자동 연결을 켜려면 사용자 `~/.claude/settings.json` 또는 [관리 설정](/docs/ko/managed-settings)에서 [`remoteControlAtStartup`](/docs/ko/settings-reference#remotecontrolatstartup)을 `true`로 설정하세요. 프로젝트 또는 로컬 설정(`.claude/settings.json`, `.claude/settings.local.json`)에서 Claude Code는 `false`를 준수하고 해당 저장소에 대해 자동 연결을 끕니다. 하지만 `true`는 무시하므로 체크인된 파일이 저장소를 여는 모든 사람에 대해 Remote Control을 켤 수 없습니다.

213 206 


227 220 

228이 명령들은 서버가 중지된 후 약 4시간 동안 작동합니다. 그 후에는 `claude remote-control`을 실행하여 새 세션을 시작하세요. 그 사이에 세션을 보관했으면 `--continue` 및 `--session-id`는 Claude Code v2.1.228 이상에서 이를 보관 해제합니다.221이 명령들은 서버가 중지된 후 약 4시간 동안 작동합니다. 그 후에는 `claude remote-control`을 실행하여 새 세션을 시작하세요. 그 사이에 세션을 보관했으면 `--continue` 및 `--session-id`는 Claude Code v2.1.228 이상에서 이를 보관 해제합니다.

229 222 

230`claude --remote-control` 또는 `/remote-control`로 시작한 세션을 다시 가져오려면 `claude --continue` 또는 `claude --resume`으로 대화를 재개하세요. Claude Code가 다시 연결하는지 여부와 어느 세션으로 연결하는지는 대화의 [재개 결과](#resume-outcomes)에 따라 달라집니다.223`claude --remote-control` 또는 `/remote-control`로 시작한 세션을 다시 가져오려면 `claude --continue` 또는 `claude --resume`으로 대화를 재개하세요. Remote Control이 다시 연결되지 않으면 [Remote Control 세션에 다시 연결할 수 없음](#couldnt-reconnect-to-your-remote-control-session)을 참조하세요.

231 224 

232첫 번째 터미널이 여전히 Remote Control이 켜져 있는 동안 두 번째 터미널에서 대화를 재개하면 Claude Code는 두 번째 터미널에 알림을 인쇄하고 세션을 첫 번째에서 가져가는 대신 Remote Control을 끕니다. Remote Control이 거기서 꺼져 있는 동안 해당 터미널의 Claude는 [다른 컴퓨터의 세션](/docs/ko/cross-session-messaging#see-which-sessions-claude-can-reach)을 보지 못하고 이들은 이에 도달할 수 없습니다. 두 번째 터미널에서 `/remote-control`을 실행하여 Remote Control을 이동하세요.225첫 번째 터미널이 여전히 Remote Control이 켜져 있는 동안 두 번째 터미널에서 대화를 재개하면 Claude Code는 두 번째 터미널에 `Remote Control not started here` 알림을 인쇄하고 세션을 첫 번째에서 가져가는 대신 Remote Control을 끕니다. 두 번째 터미널에서 `/remote-control`을 실행하여 Remote Control을 이동하세요.

233 226 

234Remote Control이 켜져 있던 Claude Desktop 또는 IDE 확장에서 대화를 재개하면 Claude Code는 세션 목록에 새로운 것을 추가하는 대신 기존 claude.ai 세션에 다시 연결합니다.227Remote Control이 켜져 있던 Claude Desktop 또는 IDE 확장에서 대화를 재개하면 Claude Code는 세션 목록에 새로운 것을 추가하는 대신 기존 claude.ai 세션에 다시 연결합니다.

235 228 


239 232 

240로컬 Claude Code 세션은 아웃바운드 HTTPS 요청만 수행하며 컴퓨터에서 인바운드 포트를 열지 않습니다. Remote Control을 시작하면 Anthropic API에 등록되고 작업을 폴링합니다. 다른 기기에서 연결하면 서버는 웹 또는 모바일 클라이언트와 로컬 세션 간의 메시지를 스트리밍 연결을 통해 라우팅합니다.233로컬 Claude Code 세션은 아웃바운드 HTTPS 요청만 수행하며 컴퓨터에서 인바운드 포트를 열지 않습니다. Remote Control을 시작하면 Anthropic API에 등록되고 작업을 폴링합니다. 다른 기기에서 연결하면 서버는 웹 또는 모바일 클라이언트와 로컬 세션 간의 메시지를 스트리밍 연결을 통해 라우팅합니다.

241 234 

242모든 트래픽은 TLS를 통해 Anthropic API를 통해 이동하며, 이는 모든 Claude Code 세션과 동일한 전송 보안입니다. 연결은 각각 단일 목적으로 범위가 지정되고 독립적으로 만료되는 여러 단기 자격 증명을 사용합니다. `claude remote-control` 서버의 등록 자격 증명이 만료되면 서버는 Anthropic API에 다시 등록하고 세션을 계속 제공합니다.235모든 트래픽은 TLS를 통해 Anthropic API를 통해 이동하며, 이는 모든 Claude Code 세션과 동일한 전송 보안입니다. 연결은 각각 단일 목적으로 범위가 지정되고 독립적으로 만료되는 여러 단기 자격 증명을 사용합니다.

243 236 

244Remote Control이 연결되어 있는 동안 메시지, Claude의 응답 및 도구 활동을 포함한 세션 기록이 Anthropic 서버에 저장됩니다. 저장된 기록은 기기 간에 대화를 동기화 상태로 유지하고 네트워크 중단 후 세션을 다시 연결할 수 있게 합니다. 실행 및 파일 시스템 액세스는 컴퓨터에 유지되며, 저장된 기록은 [데이터 사용](/docs/ko/data-usage) 정책에 따라 보관됩니다.237Remote Control이 연결되어 있는 동안 메시지, Claude의 응답 및 도구 활동을 포함한 세션 기록이 Anthropic 서버에 저장됩니다. 저장된 기록은 기기 간에 대화를 동기화 상태로 유지하고 네트워크 중단 후 세션을 다시 연결할 수 있게 합니다. 실행 및 파일 시스템 액세스는 컴퓨터에 유지되며, 저장된 기록은 [데이터 사용](/docs/ko/data-usage) 정책에 따라 보관됩니다.

245 238 


309분실하거나 도난당한 기기의 경우 구성원이 이 페이지에서 제거합니다. 구성원이 로그인할 수 없으면 관리자는 관리자 콘솔에서 **모든 곳에서 로그아웃**을 사용하여 해당 구성원의 모든 세션 및 등록된 기기를 취소한 후 구성원이 여전히 보유한 기기를 다시 등록합니다.302분실하거나 도난당한 기기의 경우 구성원이 이 페이지에서 제거합니다. 구성원이 로그인할 수 없으면 관리자는 관리자 콘솔에서 **모든 곳에서 로그아웃**을 사용하여 해당 구성원의 모든 세션 및 등록된 기기를 취소한 후 구성원이 여전히 보유한 기기를 다시 등록합니다.

310 303 

311<h2 id="remote-control-vs-cloud-sessions">304<h2 id="remote-control-vs-cloud-sessions">

312 Remote Control과 클라우드 세션 비교305 원격 제어 vs 클라우드 세션

313</h2>306</h2>

314 307 

315Remote Control과 [클라우드 세션](/docs/ko/claude-code-on-the-web)은 모두 claude.ai/code 인터페이스를 사용합니다. 주요 차이점은 세션이 실행되는 위치입니다: Remote Control은 사용자의 컴퓨터에서 실행되므로 로컬 MCP 서버, 도구 및 프로젝트 구성이 사용 가능하게 유지됩니다. 클라우드 세션은 클라우드 인프라에서 실행되며, 기본적으로 Anthropic에서 관리합니다.308원격 제어와 [클라우드 세션](/docs/ko/claude-code-on-the-web)은 모두 claude.ai/code 인터페이스를 사용합니다. 주요 차이점은 세션이 실행되는 위치입니다. 원격 제어는 사용자의 컴퓨터에서 실행되므로 로컬 MCP 서버, 도구 및 프로젝트 구성이 계속 사용 가능합니다. 클라우드 세션은 클라우드 인프라에서 실행되며, 기본적으로 Anthropic에서 관리합니다.

309 

310로컬 작업 중에 있으면서 다른 기기에서 계속 진행하고 싶을 때는 원격 제어를 사용하세요. 로컬 설정 없이 작업을 시작하거나, 복제하지 않은 저장소에서 작업하거나, 여러 작업을 병렬로 실행하고 싶을 때는 클라우드 세션을 사용하세요. [프로젝트](/docs/ko/claude-projects)는 두 가지를 결합합니다. 프로젝트의 스레드는 클라우드에서 실행되며, 사용자가 요청할 때 원격 제어를 사용하여 [컴퓨터에서 스레드를 실행](/docs/ko/claude-projects#run-a-thread-on-your-own-computer)합니다.

311 

312Claude Code는 터미널에 있지 않을 때 작업할 수 있는 여러 방법을 제공합니다. 이들은 작업을 트리거하는 것, Claude가 실행되는 위치, 그리고 설정해야 할 양이 다릅니다.

316 313 

317로컬 작업 중간에 있고 다른 기기에서 계속하려고 할 때 Remote Control을 사용하세요. 로컬 설정 없이 작업을 시작하거나, 복제하지 않은 저장소에서 작업하거나, 여러 작업을 병렬로 실행하려고 할 때 클라우드 세션을 사용하세요.314| | 트리거 | Claude 실행 위치 | 설정 | 최적 용도 |

315| :- | :- | :- | :- | :- |

316| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | Claude 모바일 앱에서 작업 메시지 전송 | 사용자 머신 (Desktop) | [모바일 앱을 Desktop과 페어링](https://support.claude.com/en/articles/13947068) | 외출 중 작업 위임, 최소 설정 |

317| [Remote Control](/docs/ko/remote-control) | [claude.ai/code](https://claude.ai/code) 또는 Claude 모바일 앱에서 실행 중인 세션 제어 | 사용자 머신 (CLI, Desktop, 또는 VS Code) | [`claude remote-control` 또는 `/remote-control` 실행](/docs/ko/remote-control#start-a-remote-control-session) | 다른 기기에서 진행 중인 작업 조종 |

318| [Channels](/docs/ko/channels) | Telegram 또는 Discord와 같은 채팅 앱이나 자체 서버에서 이벤트 푸시 | 사용자 머신 (CLI) | [채널 플러그인 설치](/docs/ko/channels#quickstart) 또는 [직접 구축](/docs/ko/channels-reference) | CI 실패 또는 채팅 메시지와 같은 외부 이벤트에 반응 |

319| [Slack](/docs/ko/slack) | 팀 채널에서 `@Claude` 언급 | Anthropic 클라우드 | [Claude Code on the web](/docs/ko/claude-code-on-the-web)이 활성화된 상태에서 [Slack 앱 설치](/docs/ko/slack#setting-up-claude-code-in-slack) | 팀 채팅에서 PR 및 리뷰 |

320| [Self-hosted environments](/docs/ko/self-hosted-environments) | [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작하고 조직의 환경 선택 | 조직의 인프라 | [러너 배포](/docs/ko/self-hosted-environments-quickstart), Team 및 Enterprise 플랜 | 네트워크 내에서 실행해야 하는 클라우드 세션 |

321| [Scheduled tasks](/docs/ko/scheduled-tasks) | 일정 설정 | [CLI](/docs/ko/scheduled-tasks), [Desktop](/docs/ko/desktop-scheduled-tasks), 또는 [클라우드](/docs/ko/routines) | 빈도 선택 | 일일 검토와 같은 반복 자동화 |

318 322 

319<h2 id="mobile-push-notifications">323<h2 id="mobile-push-notifications">

320 모바일 푸시 알림324 모바일 푸시 알림

321</h2>325</h2>

322 326 

323Remote Control이 활성화되면 Claude는 휴대폰으로 푸시 알림을 보낼 수 있습니다.327Remote Control이 활성화되어 있으면 Claude가 휴대폰으로 푸시 알림을 보낼 수 있습니다.

324 328 

325Claude는 언제 푸시할지 결정합니다. 일반적으로 오래 실행되는 작업이 완료되거나 계속하기 위해 사용자의 결정이 필요할 때 하나를 보냅니다. 프롬프트에서 푸시를 요청할 수도 있습니다. 예를 들어 `테스트가 완료되면 알려주세요`. 아래의 켜기/끄기 토글 외에는 이벤트별 구성이 없습니다.329Claude가 푸시를 보낼 시기를 결정합니다. 일반적으로 오래 실행되는 작업이 완료되거나 계속 진행하기 위해 사용자의 결정이 필요할 때 알림을 보냅니다. 프롬프트에서 푸시를 요청할 수도 있습니다. 예를 들어 `notify me when the tests finish`와 같이 입력할 수 있습니다. 아래의 두 가지 켜기/끄기 토글 외에는 이벤트별 구성이 없습니다.

326 330 

327모바일 푸시 알림을 설정하려면:331모바일 푸시 알림을 설정하려면:

328 332 

329<Steps>333<Steps>

330 <Step title="Claude 모바일 앱 설치">334 <Step title="Claude 모바일 앱 설치">

331 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 또는 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude)용 Claude 앱을 다운로드하세요.335 [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) 또는 [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude)용 Claude 앱을 다운로드합니다.

332 </Step>336 </Step>

333 337 

334 <Step title="Claude Code 계정으로 로그인">338 <Step title="Claude Code 계정으로 로그인">

335 터미널에서 Claude Code에 사용하는 동일한 계정 및 조직을 사용하세요.339 터미널에서 Claude Code에 사용하는 동일한 계정 및 조직을 사용합니다.

336 </Step>340 </Step>

337 341 

338 <Step title="알림 허용">342 <Step title="알림 허용">

339 운영 체제의 알림 권한 프롬프트를 수락하세요.343 운영 체제의 알림 권한 프롬프트를 수락합니다.

340 </Step>344 </Step>

341 345 

342 <Step title="Claude Code에서 푸시 활성화">346 <Step title="Claude Code에서 푸시 활성화">

343 터미널에서 `/config`를 실행하고 사전 알림을 위해 **Claude가 결정할 때 푸시**를 활성화하거나, 권한 프롬프트 및 질문을 위해 **작업이 필요할 때 푸시**를 활성화하거나, 둘 다 활성화하세요.347 터미널에서 `/config`를 실행하고 사전 알림을 위해 **Push when Claude decides**를 활성화하거나, 권한 프롬프트 및 질문을 위해 **Push when actions required**를 활성화하거나, 둘 다 활성화합니다.

344 </Step>348 </Step>

345</Steps>349</Steps>

346 350 

347알림이 도착하지 않으면:351알림이 도착하지 않는 경우:

348 352 

349* `/config`에 **등록된 모바일 없음**이 표시되면 휴대폰에서 Claude 앱을 열어 푸시 토큰을 새로 고칠 수 있습니다. Remote Control이 다음에 연결할 때 경고가 지워집니다.353* `/config`에 **No mobile registered**가 표시되면 휴대폰에서 Claude 앱을 열어 푸시 토큰을 새로 고칠 수 있도록 합니다. Remote Control이 다음에 연결될 때 경고가 해제됩니다.

350* iOS에서 포커스 모드 및 알림 요약이 푸시를 억제하거나 지연시킬 수 있습니다. 설정 → 알림 → Claude를 확인하세요.354* iOS에서는 포커스 모드 및 알림 요약이 푸시를 억제하거나 지연시킬 수 있습니다. 설정 → 알림 → Claude를 확인합니다.

351* Android에서 적극적인 배터리 최적화가 전달을 지연시킬 수 있습니다. 시스템 설정에서 Claude 앱을 배터리 최적화에서 제외하세요.355* Android에서는 적극적인 배터리 최적화로 인해 전달이 지연될 수 있습니다. 시스템 설정에서 Claude 앱을 배터리 최적화에서 제외합니다.

352 356 

353Claude Code는 터미널에 입력하거나 연결된 터미널에 집중하는 동안 모바일 푸시 알림을 건너뜁니다. v2.1.181부터 [`CLAUDE_CLIENT_PRESENCE_FILE`](/docs/ko/env-vars)을 마커 파일 경로로 설정하여 다른 창에 있더라도 기계에 있는 모든 시간으로 확장할 수 있습니다. 파일이 존재하는 동안 알림이 건너뛰어집니다. 화면 잠금 해제 시 파일을 생성하고 화면이 잠길 때 파일을 삭제하도록 화면 잠금 리스너 또는 유사한 도구를 구성하세요.357Claude Code는 사용자가 연결된 터미널에 입력하거나 포커스할 때 모바일 푸시 알림을 건너뜁니다. 이를 다른 창에 있더라도 기계에 있는 모든 시간으로 확장하려면 [`CLAUDE_CLIENT_PRESENCE_FILE`](/docs/ko/env-vars)을 마커 파일 경로로 설정합니다. 파일이 존재하는 동안 알림이 건너뜁니다. 화면이 잠금 해제될 때 파일을 생성하고 화면이 잠금될 때 파일을 삭제하도록 화면 잠금 수신기 또는 유사한 도구를 구성합니다.

354 358 

355<h2 id="limitations">359<h2 id="limitations">

356 제한 사항360 제한 사항

357</h2>361</h2>

358 362 

359* **대화형 프로세스당 하나의 원격 세션**: 서버 모드 외부에서 각 Claude Code 인스턴스는 한 번에 하나의 원격 세션을 지원합니다. 단일 프로세스에서 여러 동시 세션을 실행하려면 [서버 모드](#start-a-remote-control-session)를 사용하세요.363* **대화형 프로세스당 하나의 원격 세션**: 서버 모드 외에는 각 Claude Code 인스턴스가 한 번에 하나의 원격 세션을 지원합니다. [서버 모드](#start-a-remote-control-session)를 사용하여 단일 프로세스에서 여러 개의 동시 세션을 실행하십시오.

360* **로컬 프로세스는 계속 실행되어야 함**: Remote Control은 로컬 프로세스로 실행됩니다. 터미널을 닫거나, VS Code를 종료하거나, 다른 방식으로 `claude` 프로세스를 중지하면 세션이 오프라인 상태가 됩니다([다시 시작](#resume-sessions-after-stopping-the-server)할 때까지). Claude가 작업 중이 아닌 경우, claude.ai 및 Claude 앱은 프로세스가 종료된 후 몇 초 내에 세션을 오프라인으로 표시합니다. SSH에서 연결을 해제한 후 원격 머신에서 세션을 계속 실행하려면 `tmux` 또는 `screen` 내에서 시작하세요.364* **로컬 프로세스는 계속 실행되어야 함**: Remote Control은 로컬 프로세스로 실행됩니다. 터미널을 닫거나, Desktop 앱 또는 VS Code를 종료하거나, 그 외 다른 방식으로 `claude` 프로세스를 중지하면 [다시 시작](#resume-sessions-after-stopping-the-server)할 때까지 세션이 오프라인 상태가 됩니다. SSH에서 연결을 해제한 후 원격 머신에서 세션을 계속 실행하려면 `tmux` 또는 `screen` 내에서 시작하십시오.

361* **서버 모드에서 충돌한 세션**: `claude remote-control`로 제공되는 세션이 충돌하면 연결된 디바이스에서 메시지를 보내세요. Claude Code가 다시 제공합니다. 서버를 다시 시작할 필요가 없습니다. Claude Code v2.1.238 이상이 필요합니다.365* **서버 모드에서 충돌한 세션**: `claude remote-control`로 제공되는 세션이 충돌하면 연결된 디바이스에서 메시지를 보내십시오. Claude Code가 다시 제공합니다. 서버를 다시 시작할 필요가 없습니다. Claude Code v2.1.238 이상이 필요합니다.

362* **연결된 세션에서 HTTP 403 거부**: 대화형 세션이 연결되면, VPN 또는 네트워크 변경 후 발생할 수 있는 것처럼 컴퓨터와 Anthropic 서버 사이의 무언가가 HTTP 403으로 응답할 때 Claude Code는 최대 3분 동안 재시도합니다. 거부가 더 오래 지속되면 Claude Code는 연결을 해제하고 거부한 대상을 표시합니다: 네트워크 엣지 또는 자신의 네트워크의 프록시, VPN 또는 방화벽.366* **연결된 세션에서 HTTP 403 거부**: 대화형 세션이 연결되면 Claude Code는 VPN 또는 네트워크 변경 후 발생할 수 있는 것처럼 머신과 Anthropic의 서버 사이의 무언가가 HTTP 403으로 응답할 때 최대 3분 동안 재시도를 계속합니다. 거부가 더 오래 지속되면 Claude Code는 연결을 해제하고 거부한 대상을 명시합니다: 네트워크 엣지 또는 자신의 네트워크의 프록시, VPN 또는 방화벽.

363* **장시간 네트워크 중단**: 컴퓨터가 켜져 있지만 네트워크에 도달할 수 없으면 다음 단계는 모드에 따라 달라집니다:367* **확장된 네트워크 중단**: 머신이 켜져 있지만 네트워크에 도달할 수 없는 경우 다음 작업은 모드에 따라 달라집니다:

364 * **서버 모드**: Claude Code는 약 10분 후에 포기하고 `claude remote-control` 프로세스가 종료됩니다. `claude remote-control`을 다시 실행하여 새 세션을 시작하세요.368 * **서버 모드**: Claude Code는 약 10분 후에 포기하고 `claude remote-control` 프로세스가 종료됩니다. 새 세션을 시작하려면 `claude remote-control`을 다시 실행하십시오.

365 * **대화형 세션**: 로컬에서 계속 작업하세요. Claude Code는 중단이 지속되는 동안 재시도하고 네트워크가 복구되면 자동으로 다시 연결됩니다.369 * **대화형 세션**: 로컬에서 계속 작업하십시오. Claude Code는 중단이 지속되는 동안 재시도를 계속하고 네트워크가 복구되면 자동으로 다시 연결됩니다.

366* **현재 상태 하트비트 실패**: 대화형 세션이 `could not reach the Remote Control server for about 30 minutes`로 연결 해제되면 `/remote-control`을 실행하여 다시 연결하세요. Claude Code는 세션의 현재 상태 하트비트가 실패했지만 나머지 연결은 유지되었을 때만 이 메시지를 표시합니다. 약 30분 동안 세션을 다시 등록한 후 연결을 해제합니다.370* **현재 상태 하트비트 실패**: 대화형 세션이 `could not reach the Remote Control server for about 30 minutes`로 연결이 끊어지면 `/remote-control`을 실행하여 다시 연결하십시오.

367* **전달된 대화 상자 만료**: Claude Code는 권한 프롬프트와 `AskUserQuestion` 질문을 답변할 때까지 열어 둡니다. Claude Code가 다른 종류의 대화 상자를 원격 세션으로 전달할 때(예: 안전 거부 후 표시되는 모델 선택 프롬프트), 기본적으로 5분을 기다린 후 대화 상자를 닫고 대화 상자의 작업 없음 기본값으로 계속합니다. [`dialogExpiry`](/docs/ko/settings-reference#dialogexpiry)를 설정하여 기한을 조정하거나 비활성화하세요. Claude Code v2.1.224 이상이 필요합니다.371* **전달된 대화 상자 만료**: Claude Code는 권한 프롬프트와 `AskUserQuestion` 질문을 답변할 때까지 열어 둡니다. Claude Code가 안전 거부 후 표시되는 모델 선택 프롬프트와 같은 다른 종류의 대화 상자를 원격 세션으로 전달할 때 기본적으로 5분을 기다린 후 대화 상자를 닫고 대화 상자의 작업 없음 기본값으로 계속합니다. [`dialogExpiry`](/docs/ko/settings-reference#dialogexpiry)를 설정하여 기한을 조정하거나 비활성화하십시오. Claude Code v2.1.224 이상이 필요합니다.

368* **Fable 사용 크레딧 동의 프롬프트는 전달되지 않음**: Claude Code는 중간 세션 [Fable 사용 크레딧 동의 프롬프트](/docs/ko/model-config#fable-and-usage-credits)를 세션이 실행되는 위치에만 표시하고 사용자의 디바이스에는 표시하지 않습니다. 세션이 터미널에서 실행되고 Claude Code가 프롬프트를 닫기 전에 아무도 답변하지 않으면 턴이 요청을 보내지 않고 종료됩니다. [프롬프트 확인이 답변되지 않음](/docs/ko/errors#the-prompt-to-confirm-went-unanswered)을 참조하세요.372* **Fable 사용 크레딧 동의 프롬프트는 전달되지 않음**: Claude Code는 세션이 실행되는 위치에만 중간 세션 [Fable 사용 크레딧 동의 프롬프트](/docs/ko/model-config#fable-and-usage-credits)를 표시하며, 디바이스에는 표시하지 않습니다. 세션이 터미널에서 실행되고 Claude Code가 프롬프트를 닫기 전에 아무도 응답하지 않으면 요청을 보내지 않고 턴이 종료됩니다. [프롬프트 확인이 응답되지 않음](/docs/ko/errors#the-prompt-to-confirm-went-unanswered)을 참조하십시오.

369* **일부 명령은 로컬 전용**: `/plugin` 또는 `/resume`과 같이 터미널 인터페이스에서만 실행되는 명령은 인수를 전달하는지 여부와 관계없이 로컬 CLI에서만 작동합니다. 다음은 모바일 및 웹에서 작동합니다:373* **일부 명령은 로컬 전용**: `/plugin` 또는 `/resume`과 같이 터미널 인터페이스에서만 실행되는 명령은 인수를 전달하는지 여부에 관계없이 로컬 CLI에서만 작동합니다. 다음은 모바일 및 웹에서 작동합니다:

370 * 텍스트 출력 명령: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, `/reload-plugins`. `/usage-credits`는 브라우저를 열지 않고 청구 URL을 인쇄합니다. `/reload-plugins`는 세션이 대화형 터미널에서 실행될 때만 작동합니다. 터미널이 없는 세션은 거부합니다.374 * 텍스트 출력 명령: `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, 및 `/reload-plugins`. `/usage-credits`는 브라우저를 열지 않고 청구 URL을 인쇄합니다. `/reload-plugins`는 세션이 대화형 터미널에서 실행될 때만 작동합니다. 터미널이 없는 세션은 이를 거부합니다.

371 * `/model`, `/effort`, `/fast`, `/color`, `/rename`: 값을 인수로 전달합니다. 예를 들어 `/model sonnet` 또는 `/effort high`입니다. 모바일 및 웹에서 `/model`과 `/effort`는 터미널 선택기 또는 슬라이더 대신 인수를 사용합니다.375 * `/model`, `/effort`, `/fast`, `/color`, 및 `/rename`: 값을 인수로 전달하십시오. 예를 들어 `/model sonnet` 또는 `/effort high`. 모바일 및 웹에서 `/model`과 `/effort`는 터미널 선택기 또는 슬라이더 대신 인수를 사용합니다.

372 * `/mcp`: 모바일 앱에서는 선택기를 열지 않고 서버 상태의 텍스트 요약을 반환합니다. 웹에서는 `/mcp`만으로 요약을 반환하는 대신 [claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai)의 디렉토리를 엽니다. `reconnect`, `enable`, `disable` [하위 명령](/docs/ko/commands#all-commands)은 둘 다에서 작동합니다. 로컬 CLI와 달리, 서버 이름 없이 `/mcp reconnect`를 실행하면 실패했거나 인증이 필요한 모든 서버를 다시 연결합니다.376 * `/mcp`: 모바일 앱에서는 선택기를 열지 않고 서버 상태의 텍스트 요약을 반환합니다. 웹에서 `/mcp`는 요약을 반환하지 않고 [claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai)의 디렉토리를 엽니다. `reconnect`, `enable`, 및 `disable` [하위 명령](/docs/ko/commands#all-commands)은 둘 다에서 작동합니다. 로컬 CLI와 달리 서버 이름 없이 `/mcp reconnect`는 실패했거나 인증이 필요한 모든 서버를 다시 연결합니다.

373 * `/config`: 모바일 앱에서는 `key=value`를 전달하여 설정을 지정하거나, 인수 없이 실행하여 설정할 수 있는 키를 나열합니다. 웹에서는 `/config`가 설정의 Claude Code 섹션을 열고 명령 뒤의 텍스트는 무시합니다.377 * `/config`: 모바일 앱에서 `key=value`를 전달하여 설정을 지정하거나 인수 없이 실행하여 설정할 수 있는 키를 나열하십시오. 웹에서 `/config`는 대신 설정의 Claude Code 섹션을 열고 명령 뒤의 텍스트를 무시합니다.

374 * Team 및 Enterprise에서 모바일 또는 웹의 `/usage-credits`는 [관리자에게 사용 크레딧 요청을 보내지](/docs/ko/costs#add-usage-credits-to-your-subscription) 않습니다. 전송하려면 대화형 CLI에만 나타나는 확인이 필요하므로 명령은 대신 거기서 실행하도록 지시합니다. v2.1.211 이전에는 텍스트 형식이 확인 없이 요청을 보냈습니다.378 * Team 및 Enterprise에서 모바일 또는 웹의 `/usage-credits`는 [관리자에게 사용 크레딧 요청](/docs/ko/costs#add-usage-credits-to-your-subscription)을 보내지 않습니다. 전송하려면 대화형 CLI에만 나타나는 확인이 필요하므로 명령은 대신 거기서 실행하도록 지시합니다.

375 * `/autocompact`, v2.1.221부터: 창 크기를 인수로 전달합니다. 예를 들어 `/autocompact 500k`입니다. 인수 없이 실행하면 터미널 세션에서 명령이 표시하는 대화 상자를 여는 대신 현재 창 크기를 텍스트로 인쇄합니다.379 * `/autocompact`, v2.1.221부터: 창 크기를 인수로 전달하십시오. 예를 들어 `/autocompact 500k`. 인수 없이 실행하면 터미널 세션에서 명령이 표시하는 대화 상자를 열지 않고 현재 창 크기를 텍스트로 인쇄합니다.

376 * `/advisor`, v2.1.260부터: 모델을 인수로 전달합니다. 예를 들어 `/advisor opus`이거나 advisor를 끄려면 `off`를 전달합니다. 두 형식 모두 현재 세션에만 적용되며 저장된 기본값은 변경하지 않습니다. 인수 없이 실행하면 선택기를 여는 대신 현재 advisor를 텍스트로 인쇄합니다.380 * `/advisor`, v2.1.260부터: 모델을 인수로 전달하십시오. 예를 들어 `/advisor opus` 또는 `off`를 전달하여 어드바이저를 끕니다. 두 형식 모두 현재 세션에만 적용되며 저장된 기본값은 변경하지 않습니다. 인수 없이 실행하면 현재 어드바이저를 텍스트로 인쇄합니다.

377 * `/output-style`, v2.1.269부터: 스타일 이름을 인수로 전달합니다. 예를 들어 `/output-style concise`이거나, 인수 없이 실행하여 스타일을 나열합니다. 모바일 및 웹에서는 [기본 제공 스타일](/docs/ko/output-styles#built-in-output-styles)만 나열하고 선택할 수 있습니다. [사용자 정의 스타일](/docs/ko/output-styles#create-a-custom-output-style)을 사용하려면 세션 자체에서 선택하세요.381 * `/output-style`, v2.1.269부터: 스타일 이름을 인수로 전달하십시오. 예를 들어 `/output-style concise` 또는 인수 없이 실행하여 스타일을 나열하십시오. 모바일 및 웹에서 [기본 제공 스타일](/docs/ko/output-styles#built-in-output-styles)만 나열하고 선택할 수 있습니다. [사용자 정의 스타일](/docs/ko/output-styles#create-a-custom-output-style)을 사용하려면 세션 자체에서 선택하십시오.

382 * `/focus`, v2.1.281부터: 인수로 `on` 또는 `off`를 전달하십시오. 예를 들어 `/focus on` 또는 인수 없이 실행하여 [포커스 보기](/docs/ko/commands#all-commands)를 전환하십시오. 두 형식 모두 현재 세션에만 적용되며 저장된 선택은 변경하지 않습니다.

378 383 

379<h2 id="troubleshooting">384<h2 id="troubleshooting">

380 문제 해결385 문제 해결

381</h2>386</h2>

382 387 

383<h3 id="remote-control-requires-a-claude-ai-subscription">388<h3 id="remote-control-requires-a-claude-ai-subscription">

384 "Remote Control에는 claude.ai 구독이 필요합니다"389 "Remote Control requires a claude.ai subscription"

385</h3>390</h3>

386 391 

387claude.ai 계정으로 인증되지 않았거나 다른 자격 증명이 로그인보다 우선합니다. 메시지는 다음 중 하나의 형태를 취합니다:392Claude.ai 계정으로 로그인하지 않았거나 다른 자격증명이 로그인보다 우선순위를 가지고 있습니다. 메시지는 다음 중 하나의 형태를 띱니다:

388 393 

389* 로그아웃 상태, `/remote-control` 또는 `--remote-control`에서: `Remote Control requires a claude.ai subscription.` 또는 `/remote-control requires a claude.ai subscription.`394* 로그아웃 상태, `/remote-control` 또는 `--remote-control`에서: `Remote Control requires a claude.ai subscription.` 또는 `/remote-control requires a claude.ai subscription.`

390* 로그아웃 상태, `claude remote-control`에서: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`395* 로그아웃 상태, `claude remote-control`에서: `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`

391* 로그인 상태이지만 API 키 또는 토큰이 사용 중: `Remote Control requires claude.ai subscription auth.` 다음에 사용 중인 자격 증명(예: `ANTHROPIC_API_KEY is set, so this session is using API-key auth`)이 표시됩니다. `apiKeyHelper` 설정과 `ANTHROPIC_AUTH_TOKEN`도 동일한 방식으로 명명됩니다.396* 로그인 상태이지만 API 키 또는 토큰이 사용 중: `Remote Control requires claude.ai subscription auth.` 뒤에 사용 중인 자격증명이 따라옵니다. 예: `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. `apiKeyHelper` 설정과 `ANTHROPIC_AUTH_TOKEN`도 같은 방식으로 명명됩니다.

392 397 

393`claude auth login`을 실행하고 claude.ai 옵션을 선택하세요. 메시지에 `ANTHROPIC_API_KEY` 또는 `ANTHROPIC_AUTH_TOKEN`이 명시되어 있으면 설정된 위치(셸 환경 또는 [설정 파일](/docs/ko/settings-reference#env)의 `env` 블록)에서 제거하세요. `apiKeyHelper`가 명시되어 있으면 해당 설정을 제거하세요.398`claude auth login`을 실행하고 claude.ai 옵션을 선택합니다. 메시지에 `ANTHROPIC_API_KEY` 또는 `ANTHROPIC_AUTH_TOKEN`이 명시되어 있으면, 설정된 위치(셸 환경 또는 [설정 파일](/docs/ko/settings-reference#env)의 `env` 블록)에서 제거합니다. `apiKeyHelper`가 명시되어 있으면 해당 설정을 제거합니다.

394 

395v2.1.206 이전에는 로그아웃 상태에서 `/remote-control`을 실행하면 이 메시지 대신 `Unknown command: /remote-control`을 보고했습니다.

396 399 

397<h3 id="remote-control-requires-a-full-scope-login-token">400<h3 id="remote-control-requires-a-full-scope-login-token">

398 "Remote Control에는 전체 범위 로그인 토큰이 필요합니다"401 "Remote Control requires a full-scope login token"

399</h3>402</h3>

400 403 

401`claude setup-token` 또는 `CLAUDE_CODE_OAUTH_TOKEN` 환경 변수의 장기 토큰으로 인증되었습니다. 이러한 토큰은 모델 요청만 수행할 수 있으므로 Remote Control 세션을 설정할 수 없습니다. 대신 `claude auth login`을 실행하여 전체 범위 세션 토큰으로 인증하세요.404`claude setup-token` 또는 `CLAUDE_CODE_OAUTH_TOKEN` 환경 변수에서 얻은 장기 토큰으로 인증되었습니다. 이러한 토큰은 모델 요청만 수행할 수 있으므로 Remote Control 세션을 설정할 수 없습니다. 대신 `claude auth login`을 실행하여 전체 범위 세션 토큰으로 인증합니다.

402 405 

403<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">406<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">

404 "Remote Control 적격성을 위해 조직을 결정할 수 없습니다"407 "Unable to determine your organization for Remote Control eligibility"

405</h3>408</h3>

406 409 

407캐시된 계정 정보가 오래되었거나 불완전합니다. `claude auth login`을 실행하여 새로 고치세요.410캐시된 계정 정보가 오래되었거나 불완전합니다. `claude auth login`을 실행하여 새로고침합니다.

408 411 

409<h3 id="remote-control-isn’t-enabled-for-this-account">412<h3 id="remote-control-isn’t-enabled-for-this-account">

410 "Remote Control이 이 계정에 대해 활성화되지 않았습니다"413 "Remote Control isn't enabled for this account"

411</h3>414</h3>

412 415 

413Claude Code가 로그인한 계정에 대한 Remote Control 가용성을 확인했으며 확인 결과가 꺼져 있습니다. 일반적인 원인은 요금제 변경 후 최신이 아닌 캐시된 자격입니다. `claude auth logout`을 실행한 다음 `claude auth login`을 실행하여 새로 고치고, 이전 버전을 사용 중인 경우 Claude Code를 업데이트하세요.416Claude Code가 로그인한 계정의 Remote Control 가용성을 확인했고 비활성화 상태로 반환되었습니다. 일반적인 원인은 플랜 변경 후 오래된 캐시된 권한입니다. `claude auth logout`을 실행한 후 `claude auth login`을 실행하여 새로고침하고, 이전 버전을 사용 중인 경우 Claude Code를 업데이트합니다.

414 417 

415`claude doctor`를 실행하여 어떤 개별 적격성 확인이 실패했는지 확인하세요. 환경 변수 충돌, 도달할 수 없는 확인, 조직의 Remote Control 설정은 각각 자신의 메시지를 생성하므로 이 오류는 계정 수준 확인 자체를 의미합니다.418`claude doctor`를 실행하여 어떤 개별 적격성 확인이 실패했는지 확인합니다. 환경 변수 충돌, 도달 불가능한 확인, 조직의 Remote Control 설정은 각각 자신의 메시지를 생성하므로, 이 오류는 계정 수준 확인 자체를 의미합니다.

416 419 

417v2.1.239 이전에는 이 메시지가 "Remote Control is not yet enabled for your account"로 표시되었습니다. v2.1.154 이전에는 `DISABLE_TELEMETRY` 또는 `DO_NOT_TRACK`과 같이 기능 플래그 평가를 비활성화하는 변수도 이 메시지를 생성했습니다. 아래의 "Remote Control requires feature-flag evaluation" 항목이 해당 구성을 다룹니다.420v2.1.239 이전에는 이 메시지가 "Remote Control is not yet enabled for your account"로 표시되었습니다.

418 421 

419<h3 id="couldn’t-verify-remote-control-eligibility">422<h3 id="couldn’t-verify-remote-control-eligibility">

420 "Remote Control 적격성을 확인할 수 없습니다"423 "Couldn't verify Remote Control eligibility"

421</h3>424</h3>

422 425 

423Claude Code가 Remote Control이 계정에 대해 활성화되어 있는지 확인하기 위해 기능 플래그 서비스에 도달할 수 없습니다. 일반적으로 오프라인 상태이거나 프록시가 요청을 차단하고 있기 때문입니다. 네트워크 액세스가 있으면 다시 시도하거나 `claude doctor`를 실행하여 세부 정보를 확인하세요. 관련 메시지인 "조직의 Remote Control 정책을 확인할 수 없습니다"는 동일한 원인과 동일한 해결책을 가집니다. 두 메시지 모두 v2.1.178에서 추가되었습니다.426Claude Code가 Remote Control이 계정에 대해 활성화되어 있는지 확인하기 위해 기능 플래그 서비스에 도달할 수 없습니다. 일반적으로 오프라인 상태이거나 프록시가 요청을 차단하고 있기 때문입니다. 네트워크 액세스가 있으면 다시 시도하거나 `claude doctor`를 실행하여 세부 정보를 확인합니다. 관련 메시지 "Couldn't verify your organization's Remote Control policy"는 Claude Code가 해당 정책을 읽는 중에 오류가 발생했음을 의미하며, 동일한 해결 방법이 있습니다.

424 427 

425<h3 id="remote-control-requires-feature-flag-evaluation">428<h3 id="remote-control-requires-feature-flag-evaluation">

426 "Remote Control은 기능 플래그 평가가 필요합니다"429 "Remote Control requires feature-flag evaluation"

427</h3>430</h3>

428 431 

429다음 변수 중 하나가 설정되어 있습니다: [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, 또는 `DISABLE_GROWTHBOOK`](/docs/ko/env-vars). 이들 각각은 Remote Control 가용성이 의존하는 기능 플래그 평가를 비활성화하며, 전체 메시지는 Claude Code가 찾은 변수의 이름을 지정합니다. 설정된 위치(셸 환경 또는 [`settings.json` 파일](/docs/ko/settings-reference#all-settings)의 `env` 블록)에서 해당 변수를 설정 해제하세요. 2.1.154 이전 버전에서는 동일한 구성이 대신 "Remote Control is not yet enabled for your account"를 생성합니다.432기능 플래그 평가를 비활성화하는 [환경 변수](/docs/ko/env-vars#features-that-need-feature-flag-fetching)가 설정되어 있으며, 전체 메시지는 Claude Code가 찾은 변수를 명시합니다. v2.1.154 이전 버전에서는 동일한 구성이 대신 "Remote Control is not yet enabled for your account"를 생성합니다. 수행할 작업은 메시지가 명시하는 변수에 따라 다릅니다:

433 

434* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 또는 `DISABLE_GROWTHBOOK`**: 설정된 위치(셸 환경 또는 [`settings.json` 파일](/docs/ko/settings-reference#all-settings)의 `env` 블록)에서 변수를 설정 해제합니다.

435* **`DISABLE_TELEMETRY` 또는 `DO_NOT_TRACK`**: Pro, Max, Team 또는 Enterprise 플랜에서 `DISABLE_GROWTHBOOK`이 설정 해제된 경우, 이러한 변수는 조직이 [Trusted Devices](#trusted-devices)를 요구하지 않는 한 Remote Control을 사용 가능하게 둡니다. 요구하는 경우, Remote Control을 사용하기 위해 설정된 위치에서 변수를 설정 해제합니다. v2.1.154부터 v2.1.282까지, 어느 변수든 이 메시지를 생성했으므로 Claude Code를 v2.1.283 이상으로 업데이트합니다.

430 436 

431<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">437<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

432 "Remote Control은 api.anthropic.com을 통해 Claude를 사용할 때만 사용 가능합니다"438 "Remote Control is only available when using Claude via api.anthropic.com"

433</h3>439</h3>

434 440 

435세션이 Anthropic API와 직접 통신하지 않으므로 페어링할 claude.ai 백엔드가 없습니다. 이는 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서 발생합니다. 또한 [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 `api.anthropic.com` 이외의 호스트(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 또는 프록시)를 가리킬 때도 발생하며, claude.ai로 로그인한 경우에도 마찬가지입니다. v2.1.196 이전에는 Claude Code가 사용자 정의 `ANTHROPIC_BASE_URL`에 대해 이 메시지를 표시하지 않았습니다. 전체 원인 목록은 [오류 참조](/docs/ko/errors#remote-control-requires-the-anthropic-api)를 참조하세요.441세션이 Anthropic API와 직접 통신하지 않으므로 페어링할 claude.ai 백엔드가 없습니다. 이는 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry에서 발생합니다. [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 `api.anthropic.com` 이외의 호스트(예: [LLM gateway](/docs/ko/llm-gateway) 또는 프록시)를 가리킬 때도 발생하며, claude.ai로 로그인한 경우에도 마찬가지입니다. 전체 원인 목록은 [오류 참조](/docs/ko/errors#remote-control-requires-the-anthropic-api)를 참조하세요.

436 442 

437메시지는 세션을 Anthropic API에서 멀어지게 한 것(예: `CLAUDE_CODE_USE_BEDROCK` 또는 사용자 정의 `ANTHROPIC_BASE_URL`)을 명시합니다. 적격 claude.ai 로그인이 있으면 명시된 변수를 설정 해제하고, [설정](/docs/ko/settings)의 `env` 키에서 제거한 경우 제거하고, 세션을 다시 시작하세요. v2.1.219 이전에는 메시지가 이 섹션의 헤더에 있는 문장만 포함했으므로 이전 버전에서는 `CLAUDE_CODE_USE_BEDROCK` 및 `CLAUDE_CODE_USE_VERTEX`와 같은 공급자 변수와 `ANTHROPIC_BASE_URL`에 대해 환경을 직접 확인하세요.443메시지는 세션을 Anthropic API에서 멀어지게 한 것을 명시합니다. 예: `CLAUDE_CODE_USE_BEDROCK` 또는 사용자 정의 `ANTHROPIC_BASE_URL`. 적격 claude.ai 로그인이 있으면, 명시된 변수를 설정 해제하고, [설정](/docs/ko/settings)에서 `env` 키에 설정한 경우 제거한 후 세션을 다시 시작합니다.

438 444 

439<h3 id="remote-control-is-disabled-by-your-organization’s-policy">445<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

440 "Remote Control은 조직의 정책에 의해 비활성화되었습니다"446 "Remote Control is disabled by your organization's policy"

447</h3>

448 

449정책이 Remote Control을 차단합니다. 다음 원인을 순서대로 확인합니다:

450 

451* **오류에 `disableRemoteControl`이 언급됨**: IT 관리자가 [관리 설정](/docs/ko/managed-settings)을 통해 이 장치에서 Remote Control을 비활성화했으며, 조직 전체 토글 및 로그인 방식과 무관합니다.

452* **Claude.ai 플랜이 Pro 또는 Max**: Claude Code가 여전히 이전 로그인의 Team 또는 Enterprise 조직 아래에 로그인되어 있으므로, 해당 조직의 Remote Control 정책을 확인합니다. `/status`를 실행하여 로그인이 사용하는 플랜과 조직을 확인합니다. `claude auth logout`을 실행한 후 `claude auth login`을 실행하여 현재 플랜 아래에서 다시 로그인합니다.

453* **메시지에 조직 관리자에게 문의하라고 하지 않음**: 조직이 Remote Control과 호환되지 않는 HIPAA 구성을 가지고 있으며, `/status`는 `Compliance` 행에 `HIPAA`를 나열합니다. 이 상태에서 관리자 패널의 Remote Control 토글은 회색으로 표시되므로 Owner가 변경할 수 없습니다. 옵션을 논의하려면 Anthropic 지원팀에 문의합니다. v2.1.267 이전에는 이 경우 "Remote Control isn't available for your organization due to its compliance policy"로 표시되었습니다.

454* **그 외의 경우, Owner가 조직에 대해 활성화하지 않음**: Remote Control은 Team 및 Enterprise 플랜에서 기본적으로 비활성화됩니다. Owner는 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)에서 **Remote Control** 토글을 켜서 활성화할 수 있습니다. 이 토글은 서버 측 조직 설정입니다.

455 

456v2.1.281 이전에는 이 메시지가 Claude Code가 이 머신에서 조직의 정책을 로드하지 않았을 때도 나타났습니다. 예를 들어 오프라인으로 시작한 후입니다. 이후 버전은 해당 상태를 [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control)로 보고합니다.

457 

458<h3 id="couldnt-verify-your-organizations-policy-for-remote-control">

459 "Couldn't verify your organization's policy for remote control"

441</h3>460</h3>

442 461 

443정책이 Remote Control을 차단하거나 Claude Code가 이 기계에서 조직의 정책을 로드할 수 없어 그 동안 Remote Control을 꺼둡니다. 다음 원인을 순서대로 확인하세요:462Claude Code가 조직의 정책을 가져올 수 없으며 이 머신에 대신 사용할 저장된 복사본이 없으므로, 조직이 이를 허용한다는 것을 확인할 때까지 Remote Control을 비활성화 상태로 유지합니다. 이는 일반적으로 Claude Code를 오프라인으로 시작하거나 VPN이 연결되기 전에 시작할 때, 또는 프록시가 요청을 방해할 때 발생합니다. 느린 연결에서는 첫 번째 요청이 아직 진행 중일 때도 나타날 수 있습니다.

444 463 

445* **오류에 `disableRemoteControl`이 언급됨**: IT 관리자가 조직 전체 토글 및 로그인 방식과 무관하게 [관리 설정](/docs/ko/managed-settings)을 통해 이 장치에서 Remote Control을 비활성화했습니다.464메시지는 다음 중 하나의 형태를 띱니다:

446* **claude.ai 요금제가 Pro 또는 Max**: Claude Code가 여전히 이전 로그인의 Team 또는 Enterprise 조직으로 로그인되어 있으므로 해당 조직의 Remote Control 정책을 확인합니다. `/status`를 실행하여 로그인이 사용하는 요금제와 조직을 확인하세요. `claude auth logout`을 실행한 다음 `claude auth login`을 실행하여 현재 요금제로 다시 로그인하세요.465 

447* **조직 정책이 이 기계에 로드되지 않음**: `claude doctor`를 실행하고 `Organization policy` 줄을 읽으세요. 줄에 정책이 로드되지 않음을 표시하면 Remote Control을 꺼두는 것입니다. v2.1.261 이전에는 `claude doctor`가 이 줄을 인쇄하지 않았습니다.466* `/remote-control`, `claude remote-control` 또는 `claude --remote-control`에서: `Couldn't verify your organization's policy for remote control. Check your network connection and try again.`

448* **메시지에 조직 관리자에게 문의하라고 표시되지 않음**: 조직에 Remote Control과 호환되지 않는 HIPAA 구성이 있으며, `/status`는 `Compliance` 행에 `HIPAA`를 나열합니다. 이 상태에서 관리 패널의 Remote Control 토글은 회색으로 표시되므로 Owner가 변경할 수 없습니다. Anthropic 지원팀에 문의하여 옵션을 논의하세요. v2.1.267 이전에는 이 경우에 대신 "Remote Control isn't available for your organization due to its compliance policy"가 표시되었습니다.467* [자동 연결](#enable-remote-control-for-all-sessions)에서 세션이 시작될 때: `couldn't verify your organization's policy — check your network connection and try again`. 알림에서 `Remote Control failed`로 접두사가 붙고 대화에서 `Remote Control disconnected`로 접두사가 붙습니다. 그러면 세션이 Remote Control을 비활성화 상태로 둡니다.

449* **그 외의 경우, Owner가 조직에 대해 활성화하지 않음**: Remote Control은 Team 및 Enterprise 요금제에서 기본적으로 꺼져 있습니다. Owner는 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)에서 **Remote Control** 토글을 켜서 활성화할 수 있습니다. 이 토글은 서버 측 조직 설정입니다.468 

469네트워크 연결을 복구한 후 `/remote-control`을 실행하거나 명령을 다시 실행합니다. 각 시도는 정책을 다시 확인하므로 Claude Code를 다시 시작할 필요가 없습니다. 메시지가 계속 나타나면 `claude doctor`를 실행하고 `Organization policy` 행을 읽으면 정책이 로드되지 않은 이유가 표시됩니다.

470 

471v2.1.281 이전에는 이 상태가 `Remote Control is disabled by your organization's policy`로 표시되었습니다.

450 472 

451<h3 id="remote-credentials-fetch-failed">473<h3 id="remote-credentials-fetch-failed">

452 "원격 자격 증명 가져오기 실패"474 "Remote credentials fetch failed"

453</h3>475</h3>

454 476 

455Claude Code가 Anthropic API에서 연결을 설정하기 위한 단기 자격 증명을 얻을 수 없습니다. `--verbose`로 다시 실행하여 전체 오류를 확인하세요:477Claude Code가 Anthropic API에서 연결을 설정하기 위한 단기 자격증명을 얻을 수 없습니다. `--verbose`로 다시 실행하여 전체 오류를 확인합니다:

456 478 

457```bash theme={null}479```bash theme={null}

458claude remote-control --verbose480claude remote-control --verbose


460 482 

461일반적인 원인:483일반적인 원인:

462 484 

463* 로그인하지 않음: `claude`를 실행하고 `/login`을 사용하여 claude.ai 계정으로 인증하세요. API 키 인증은 Remote Control에서 지원되지 않습니다.485* 로그인하지 않음: `claude`를 실행하고 `/login`을 사용하여 claude.ai 계정으로 인증합니다. API 키 인증은 Remote Control에 지원되지 않습니다.

464* 네트워크 또는 프록시 문제: 방화벽 또는 프록시가 아웃바운드 HTTPS 요청을 차단할 수 있습니다. Remote Control은 포트 443의 Anthropic API에 대한 액세스가 필요합니다.486* 네트워크 또는 프록시 문제: 방화벽 또는 프록시가 아웃바운드 HTTPS 요청을 차단할 수 있습니다. Remote Control은 포트 443의 Anthropic API에 대한 액세스가 필요합니다.

465* 세션 생성 실패: `Session creation failed — see debug log`도 표시되면 설정 초기에 실패가 발생했습니다. 구독이 활성 상태인지 확인하세요.487* 세션 생성 실패: `Session creation failed — see debug log`도 표시되면, 실패가 설정의 이전 단계에서 발생했습니다. 구독이 활성화되어 있는지 확인합니다.

466 

467오래된 로그인 토큰은 이 오류를 발생시키지 않습니다. Anthropic API가 저장된 토큰을 거부할 때(예: 다른 Claude Code 프로세스가 이미 새로 고쳤기 때문에) Claude Code는 토큰을 새로 고치고 자동으로 다시 시도합니다. v2.1.224 이전에는 오래된 토큰이 이 메시지로 Remote Control 시작을 실패하게 했으므로 [자동으로 연결하도록 설정된](#enable-remote-control-for-all-sessions) 세션이 시작 시 간헐적으로 실패할 수 있었습니다.

468 488 

469<h3 id="couldn’t-reconnect-to-your-remote-control-session">489<h3 id="couldnt-reconnect-to-your-remote-control-session">

470 "Remote Control 세션에 다시 연결할 수 없습니다"490 "Couldn't reconnect to your Remote Control session"

471</h3>491</h3>

472 492 

473`claude --resume` 또는 `claude --continue`로 대화를 재개할 때 Claude Code는 해당 대화에 기록된 Remote Control 세션에 다시 연결합니다. 이 메시지는 네트워크 중단 또는 서버 오류와 같이 일시적일 수 있는 이유로 재연결이 실패했음을 의미하므로 Claude Code는 원격 세션이 여전히 존재하는지 확인할 수 없습니다.493`claude --resume` 또는 `claude --continue`로 대화를 재개할 때, Claude Code는 해당 대화에 기록된 Remote Control 세션에 다시 연결합니다. 이 메시지는 네트워크 중단 또는 서버 오류와 같이 일시적일 수 있는 이유로 재연결이 실패했음을 의미하므로, Claude Code는 원격 세션이 여전히 존재하는지 확인할 수 없습니다.

474 

475`/remote-control`을 실행하여 연결을 다시 시도하거나 `claude --remote-control`로 새 Remote Control 세션을 생성하세요. 그 동안 로컬 세션은 Remote Control 없이 계속 실행됩니다.

476 

477<span id="resume-outcomes" />재개할 때 이 메시지 대신 다음 결과 중 하나를 얻을 수도 있습니다:

478 

479* **서버가 기록된 세션이 없다고 보고하거나 재연결 기록이 다른 계정을 명시함**: Claude Code는 대화의 재연결 기록이 말하는 것을 따릅니다:

480 * **기록이 로그인한 계정을 명시함**: Claude Code는 자동 생성된 이름으로 대체 세션을 시작하고 대화의 이전 메시지를 제외합니다. 예를 들어 claude.ai 또는 Claude 앱에서 세션을 삭제한 후 이를 얻습니다.

481 * **기록이 다른 계정을 명시함**: Claude Code는 대화의 이전 메시지 없이 메시지를 표시하지 않고 새 세션을 시작합니다. 기록된 세션이 여전히 존재하는지 여부와 관계없이 마찬가지입니다.

482 * **기록이 세션을 소유한 계정을 명시하지 않거나 Claude Code가 저장된 로그인을 읽을 수 없음**: Claude Code는 이 메시지 대신 [`Previous session is unavailable — run /remote-control to start a new one`](#previous-session-is-unavailable)을 표시하고 아무것도 시작하지 않으며 대화에서 기록을 제거합니다.

483* **재개 전에 Remote Control을 꺼짐**: Claude Code를 호스팅하는 앱이 앱이 claude.ai 세션을 소유한다고 알려주지 않은 한, Claude Code는 CLI의 [상태 패널](#check-connection-status), VS Code 확장 또는 [Agent SDK](/docs/ko/agent-sdk/overview)를 기반으로 구축된 호스트에서 Remote Control을 꺼질 때 재연결 기록을 제거했으므로 다시 연결하지 않습니다. 소유 앱이 꺼질 때 Claude Code는 기록을 유지하고 다시 연결합니다.

484* **이 기계의 다른 Claude Code가 여전히 세션을 가지고 있음**: `Remote Control not started here`로 시작하는 알림이 표시되고 Claude Code는 [재개된 세션에서 Remote Control을 꺼둡니다](#resume-sessions-after-stopping-the-server). 거기서 `/remote-control`을 실행하여 이동하세요.

485 494 

486<span id="reconnect-history" />v2.1.232 이전에는 Claude Code가 서버가 기록된 세션이 없다고 보고할 때 다르게 응답했습니다. v2.1.227부터 v2.1.231까지 Claude Code는 기록이 계정과 일치할 때도 대체를 시작하기를 거부했습니다. v2.1.226까지 Claude Code는 기록이 계정과 일치하는지 여부와 관계없이 대체를 시작했으며, v2.1.224부터 v2.1.226까지 해당 기계에 로그인한 계정으로 생성했으며 다른 계정의 계정으로 생성하지 않았으며 대화의 이전 메시지를 업로드하지 않았습니다. v2.1.200 이전에는 Claude Code가 재연결 실패 후 새 세션을 생성했습니다.495`/remote-control`을 실행하여 연결을 다시 시도하거나, `claude --remote-control`로 새 세션을 시작하여 새 Remote Control 세션을 만듭니다. 로컬 세션은 그 동안 Remote Control 없이 계속 실행됩니다.

487 496 

488<h3 id="previous-session-is-unavailable">497<h3 id="previous-session-is-unavailable">

489 "이전 세션을 사용할 수 없습니다 — 새 세션을 시작하려면 /remote-control을 실행하세요"498 "Previous session is unavailable — run /remote-control to start a new one"

490</h3>499</h3>

491 500 

492Claude Code가 이전 Remote Control 세션을 복구할 수 없어 자동으로 새 세션을 시작하는 대신 중지했습니다. `claude --resume` 또는 `claude --continue`로 대화를 재개한 후 또는 Claude Code가 [연결 해제 후 자동으로 다시 연결](/docs/ko/errors#remote-control-couldnt-refresh-your-login)한 후 이 메시지를 볼 수 있습니다.501Claude Code가 이전 Remote Control 세션을 복구할 수 없었고 자체적으로 새 세션을 시작하지 않고 대신 중지했습니다. `claude --resume` 또는 `claude --continue`로 대화를 재개한 후, 또는 Claude Code가 [연결 해제 후 자체적으로 다시 연결](/docs/ko/errors#remote-control-couldnt-refresh-your-login)한 후 이 메시지를 볼 수 있습니다.

493 502 

494`/remote-control`을 실행하여 현재 로그인으로 새 Remote Control 세션을 시작하세요. 로컬 세션은 그 동안 Remote Control 없이 계속 실행됩니다. 관련 메시지인 `Remote Control could not verify the signed-in account — run /remote-control to reconnect`는 동일한 해결책을 가집니다. Claude Code는 로그인한 계정이 변경되었거나 검증과 재연결 사이에 읽을 수 없을 때 이를 표시합니다. `Previous session is unavailable` 후에 먼저 Claude Code를 다시 시작하지 않고 `/remote-control`을 실행하면 Claude Code는 대화의 이전 메시지를 새 세션에서 제외합니다.503`/remote-control`을 실행하여 현재 로그인 아래에서 새 Remote Control 세션을 시작합니다. 로컬 세션은 그 동안 Remote Control 없이 계속 실행됩니다. 관련 메시지 `Remote Control could not verify the signed-in account — run /remote-control to reconnect`는 동일한 해결 방법이 있습니다. Claude Code를 다시 시작하지 않고 `Previous session is unavailable` 후에 `/remote-control`을 실행하면, Claude Code는 대화의 이전 메시지를 새 세션에서 제외합니다.

495 

496재개 시 Claude Code는 대화의 재연결 기록이 세션을 소유한 계정을 명시할 때만 [그 자리에 새 세션을 시작합니다](#resume-outcomes). 서버가 삭제한 세션과 다른 계정이 소유한 세션을 동일한 방식으로 보고하기 때문입니다. v2.1.227 이전의 Claude Code는 해당 계정을 기록하지 않았으며 Claude Code는 저장된 로그인을 읽을 수 없을 때 기록을 확인할 수 없습니다. v2.1.232 이전의 Claude Code는 [다른 경우 집합](#reconnect-history)에서 `Remote Control could not resume the previous session under the current login — run /remote-control to start fresh` 대신 표시했습니다.

497 504 

498<h3 id="remote-control-got-an-unexpected-server-response">505<h3 id="remote-control-got-an-unexpected-server-response">

499 "Remote Control이 예기치 않은 서버 응답을 받았습니다"506 "Remote Control got an unexpected server response"

500</h3>507</h3>

501 508 

502Remote Control 서버가 요청을 수락했지만 원격 세션을 생성하거나 자격 증명을 가져올 때 이 버전의 Claude Code가 읽을 수 없는 형태로 응답했습니다. 동일한 버전에서 다시 시도하면 동일한 방식으로 실패합니다. `claude update`를 실행한 다음 `/remote-control`을 실행하여 다시 연결하세요. 이 메시지는 v2.1.225에서 추가되었습니다.509Remote Control 서버가 요청을 수락했지만 이 버전의 Claude Code가 읽을 수 없는 형태로 응답했으며, 원격 세션을 생성하거나 자격증명을 가져올 때입니다. 동일한 버전에서 다시 시도하면 동일한 방식으로 실패합니다. `claude update`를 실행한 후 `/remote-control`을 실행하여 다시 연결합니다.

503 510 

504<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">511<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">

505 "조직에서 Remote Control에 신뢰할 수 있는 기기를 요구하지만 이 기기는 등록되지 않았습니다"512 "Your organization requires Trusted Devices for Remote Control, but this device is not enrolled"

506</h3>513</h3>

507 514 

508조직에 [신뢰할 수 있는 기기](#trusted-devices)가 활성화되어 있고 이 기계가 아직 등록되지 않았습니다. Claude Code에서 `/login`을 실행하세요. 등록은 로그인의 일부로 발생하며 별도의 등록 명령이 없습니다.515조직이 [Trusted Devices](#trusted-devices)를 활성화했으며 이 머신이 아직 등록되지 않았습니다. Claude Code에서 `/login`을 실행합니다. 등록은 로그인의 일부로 발생하며 별도의 등록 명령이 없습니다.

509 516 

510<h3 id="session-expired-for-trusted-device-check">517<h3 id="session-expired-for-trusted-device-check">

511 "신뢰할 수 있는 기기 확인을 위해 세션이 만료되었습니다"518 "session expired for trusted-device check"

512</h3>519</h3>

513 520 

514로그인이 18시간 이상 되었습니다. Claude Code에서 `/login`을 실행하거나, claude.ai 또는 모바일 앱에서 Face ID, Touch ID, Windows Hello 또는 passkey로 확인하세요. [신뢰할 수 있는 기기](#trusted-devices)를 참조하세요.521로그인이 18시간 이상 경과했습니다. Claude Code에서 `/login`을 실행하거나, claude.ai 또는 모바일 앱이 Face ID, Touch ID, Windows Hello 또는 passkey로 확인하라고 할 때 확인합니다. [Trusted Devices](#trusted-devices)를 참조하세요.

515 

516<h2 id="choose-the-right-approach">

517 올바른 접근 방식 선택

518</h2>

519 

520Claude Code는 터미널에 있지 않을 때 작업할 수 있는 여러 방법을 제공합니다. 이들은 작업을 트리거하는 것, Claude가 실행되는 위치, 그리고 설정해야 할 양이 다릅니다.

521 

522| | 트리거 | Claude 실행 위치 | 설정 | 최적 용도 |

523| :- | :- | :- | :- | :- |

524| [Dispatch](/docs/ko/desktop#sessions-from-dispatch) | Claude 모바일 앱에서 작업 메시지 전송 | 사용자 머신 (Desktop) | [모바일 앱을 Desktop과 페어링](https://support.claude.com/en/articles/13947068) | 외출 중 작업 위임, 최소 설정 |

525| [Remote Control](/docs/ko/remote-control) | [claude.ai/code](https://claude.ai/code) 또는 Claude 모바일 앱에서 실행 중인 세션 제어 | 사용자 머신 (CLI 또는 VS Code) | `claude remote-control` 실행 | 다른 기기에서 진행 중인 작업 조종 |

526| [Channels](/docs/ko/channels) | Telegram 또는 Discord와 같은 채팅 앱이나 자체 서버에서 이벤트 푸시 | 사용자 머신 (CLI) | [채널 플러그인 설치](/docs/ko/channels#quickstart) 또는 [직접 구축](/docs/ko/channels-reference) | CI 실패 또는 채팅 메시지와 같은 외부 이벤트에 반응 |

527| [Slack](/docs/ko/slack) | 팀 채널에서 `@Claude` 언급 | Anthropic 클라우드 | [Claude Code on the web](/docs/ko/claude-code-on-the-web)이 활성화된 상태에서 [Slack 앱 설치](/docs/ko/slack#setting-up-claude-code-in-slack) | 팀 채팅에서 PR 및 리뷰 |

528| [Self-hosted environments](/docs/ko/self-hosted-environments) | [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작하고 조직의 환경 선택 | 조직의 인프라 | [러너 배포](/docs/ko/self-hosted-environments-quickstart), Team 및 Enterprise 플랜 | 네트워크 내에서 실행해야 하는 클라우드 세션 |

529| [Scheduled tasks](/docs/ko/scheduled-tasks) | 일정 설정 | [CLI](/docs/ko/scheduled-tasks), [Desktop](/docs/ko/desktop-scheduled-tasks), 또는 [클라우드](/docs/ko/routines) | 빈도 선택 | 일일 검토와 같은 반복 자동화 |

530 522 

531<h2 id="related-resources">523<h2 id="related-resources">

532 관련 리소스524 관련 리소스

routines.md +3 −2

Details

59루틴의 일정이나 **Run now**가 실행을 시작할 때, Claude는 다음의 모든 조건이 충족될 때만 기존 artifact를 다시 게시합니다:59루틴의 일정이나 **Run now**가 실행을 시작할 때, Claude는 다음의 모든 조건이 충족될 때만 기존 artifact를 다시 게시합니다:

60 60 

61* 사용자가 artifact를 편집할 수 있으며 자신의 조직에 속함61* 사용자가 artifact를 편집할 수 있으며 자신의 조직에 속함

62* artifact가 공개적으로 공유되지 않으며, 특정 사람이나 조직과 공유되지 않으며, 최신 버전이 뷰어가 보는 버전으로 선택되지 않음62* artifact가 공개적으로 공유되지 않음

63* artifact가 특정 사람이나 조직과 공유되는 경우, 뷰어가 자동으로 각 새 버전을 보지 않음

63* 게시가 페이지만 포함하며, 지원 파일이나 다른 것이 추가되지 않으며, 더 새로운 버전을 강제로 덮어쓰지 않음64* 게시가 페이지만 포함하며, 지원 파일이나 다른 것이 추가되지 않으며, 더 새로운 버전을 강제로 덮어쓰지 않음

64* 페이지가 [connector calls](/docs/ko/artifacts#pull-live-data-with-mcp-connectors)와 같이 페이지를 넘어서는 권한을 보유하지 않음65* 페이지가 [connector calls](/docs/ko/artifacts#pull-live-data-with-mcp-connectors)와 같이 페이지를 넘어서는 권한을 보유하지 않음

65 66 


151 152 

152일정 트리거는 반복 주기에 따라 루틴을 실행하거나 특정 미래 시간에 한 번 실행합니다. **트리거 선택** 섹션에서 사전 설정된 빈도를 선택하세요: 시간별, 일일, 평일 또는 주간. 시간은 로컬 시간대에 입력되고 자동으로 변환되므로 클라우드 인프라가 어디에 있든 루틴이 해당 벽시계 시간에 실행됩니다.153일정 트리거는 반복 주기에 따라 루틴을 실행하거나 특정 미래 시간에 한 번 실행합니다. **트리거 선택** 섹션에서 사전 설정된 빈도를 선택하세요: 시간별, 일일, 평일 또는 주간. 시간은 로컬 시간대에 입력되고 자동으로 변환되므로 클라우드 인프라가 어디에 있든 루틴이 해당 벽시계 시간에 실행됩니다.

153 154 

154실행은 엇갈림으로 인해 예약된 시간 몇 분 후에 시작될 수 있습니다. 오프셋은 각 루틴에 대해 일관됩니다.155정확히 시간 단위로 실행을 예약하는 경우(예: 9:00), 몇 분 늦게 시작될 수 있습니다. 예약된 시간에 가깝게 시작하려면 시간을 몇 분 지난 시간을 선택하세요(예: 9:07).

155 156 

1562시간마다 또는 매월 1일과 같은 사용자 정의 간격의 경우 양식에서 가장 가까운 사전 설정을 선택한 다음 CLI에서 `/schedule update`를 실행하여 특정 cron 표현식을 설정하세요. 최소 간격은 1시간입니다. 더 자주 실행되는 표현식은 거부됩니다.1572시간마다 또는 매월 1일과 같은 사용자 정의 간격의 경우 양식에서 가장 가까운 사전 설정을 선택한 다음 CLI에서 `/schedule update`를 실행하여 특정 cron 표현식을 설정하세요. 최소 간격은 1시간입니다. 더 자주 실행되는 표현식은 거부됩니다.

157 158 

Details

117Linux 및 WSL2에서 런타임은 이미 존재하는 경로에만 쓰기 권한을 적용합니다. 새로운 환경에서는 첫 번째 시작 전에 Claude Code의 구성 경로를 만드세요:117Linux 및 WSL2에서 런타임은 이미 존재하는 경로에만 쓰기 권한을 적용합니다. 새로운 환경에서는 첫 번째 시작 전에 Claude Code의 구성 경로를 만드세요:

118 118 

119```bash theme={null}119```bash theme={null}

120mkdir -p ~/.claude && echo '{}' > ~/.claude.json120mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }

121```121```

122 122 

123설정 파일이 준비되면 `npx`로 Claude Code를 시작하고 래핑할 명령으로 `claude`를 전달하세요:123설정 파일이 준비되면 `npx`로 Claude Code를 시작하고 래핑할 명령으로 `claude`를 전달하세요:

sandboxing.md +91 −91

Details

42 </Step>42 </Step>

43 43 

44 <Step title="Bash 명령 실행">44 <Step title="Bash 명령 실행">

45 Claude에게 빌드 또는 테스트 스위트와 같은 명령을 실행하도록 요청하세요. 기본적으로 샌드박스 내의 명령은 작업 디렉토리, 세션 임시 디렉토리 및 `--add-dir`, `/add-dir` 또는 `permissions.additionalDirectories`로 [추가한 모든 디렉토리](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)에 쓸 수 있습니다.45 Claude에게 빌드 또는 테스트 스위트와 같은 명령을 실행하도록 요청하세요. 기본적으로 샌드박스 내의 명령은 작업 디렉토리, [사용자별 임시 디렉토리](/docs/ko/env-vars) 및 `--add-dir`, `/add-dir` 또는 `permissions.additionalDirectories`로 [추가한 모든 디렉토리](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)에 쓸 수 있습니다.

46 46 

47 명령이 처음으로 새 네트워크 도메인이 필요할 때 Claude Code는 승인을 요청합니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서는 Claude가 대신 명령이 필요한 호스트를 [명령 자체에](#per-command-allowed-domains-in-auto-mode) 이름 지어 분류기가 함께 검토하도록 합니다.47 명령이 처음으로 새 네트워크 도메인이 필요할 때 Claude Code는 승인을 요청합니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서는 Claude가 대신 명령이 필요한 호스트를 [명령 자체에](#per-command-allowed-domains-in-auto-mode) 이름 지어 분류기가 함께 검토하도록 합니다.

48 48 


179 임시 디렉토리179 임시 디렉토리

180</h4>180</h4>

181 181 

182세션 임시 디렉토리는 기본적으로 작업 디렉토리와 함께 샌드박스 내에서 쓰기 가능합니다. [파일 시스템 격리를 비활성화](#disable-filesystem-isolation)하지 않는 한 Claude Code는 샌드박스된 명령에 대해 `$TMPDIR`을 이 디렉토리로 설정하므로 임시 파일을 쓰는 도구는 추가 구성 없이 작동합니다.182사용자별 임시 디렉토리는 기본적으로 작업 디렉토리와 함께 샌드박스 내에서 쓰기 가능합니다. [파일 시스템 격리를 비활성화](#disable-filesystem-isolation)하지 않는 한 Claude Code는 샌드박스된 명령에 대해 `$TMPDIR`을 이 디렉토리로 설정하므로 임시 파일을 쓰는 도구는 추가 구성 없이 작동합니다.

183 183 

184샌드박스 해제된 명령은 셸의 `$TMPDIR`을 변경하지 않고 상속하므로 파일 시스템 격리가 켜져 있는 동안 샌드박스된 명령과 샌드박스 해제된 명령은 `$TMPDIR`을 다른 디렉토리로 해결합니다. 셸이 `$TMPDIR`을 설정하지 않거나 비워두면 `$TMPDIR`을 참조하는 샌드박스 해제된 명령은 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars) 재정의를 받거나, 설정하지 않았거나 재정의가 긴 경로인 경우 운영 체제의 임시 디렉토리를 받으므로 변수가 빈 문자열로 확장되지 않습니다. 두 명령 간에 임시 파일을 전달하려면 대신 작업 디렉토리 아래에 작성하세요.184샌드박스 해제된 명령은 셸의 `$TMPDIR`을 변경하지 않고 상속하므로 파일 시스템 격리가 켜져 있는 동안 샌드박스된 명령과 샌드박스 해제된 명령은 `$TMPDIR`을 다른 디렉토리로 해결합니다. 셸이 `$TMPDIR`을 설정하지 않거나 비워두면 `$TMPDIR`을 참조하는 샌드박스 해제된 명령은 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars) 재정의를 받거나, 설정하지 않았거나 재정의가 긴 경로인 경우 운영 체제의 임시 디렉토리를 받으므로 변수가 빈 문자열로 확장되지 않습니다. 두 명령 간에 임시 파일을 전달하려면 대신 작업 디렉토리 아래에 작성하세요.

185 185 


189 189 

190`settings.json` 파일을 통해 샌드박스 동작을 사용자 정의합니다. 전체 구성 참조는 [설정](/docs/ko/settings-reference#sandbox-settings)을 참조하세요.190`settings.json` 파일을 통해 샌드박스 동작을 사용자 정의합니다. 전체 구성 참조는 [설정](/docs/ko/settings-reference#sandbox-settings)을 참조하세요.

191 191 

192기본적으로 샌드박싱된 명령은 현재 작업 디렉토리, 세션 임시 디렉토리, 그리고 `--add-dir`, `/add-dir` 또는 `permissions.additionalDirectories`로 [추가한 디렉토리](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)에 쓸 수 있습니다. `kubectl`, `terraform` 또는 `npm`과 같은 하위 프로세스 명령이 해당 디렉토리 외부에 쓰기해야 하면 `sandbox.filesystem.allowWrite`를 사용하여 특정 경로에 대한 액세스를 부여합니다:192기본적으로 샌드박싱된 명령은 현재 작업 디렉터리, 사용자별 임시 디렉터리, 그리고 `--add-dir`, `/add-dir`, 또는 `permissions.additionalDirectories`로 [추가한 모든 디렉터리](/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)에 쓸 수 있습니다. `kubectl`, `terraform`, 또는 `npm`과 같은 하위 프로세스 명령이 해당 디렉터리 외부에 쓸 필요가 있으면 `sandbox.filesystem.allowWrite`를 사용하여 특정 경로에 대한 액세스 권한을 부여합니다:

193 193 

194```json theme={null}194```json theme={null}

195{195{


202}202}

203```203```

204 204 

205이러한 경로는 OS 수준에서 적용되므로 샌드박스 내에서 실행되는 모든 명령(자식 프로세스 포함)이 이를 존중합니다. 이는 도구를 `excludedCommands`로 샌드박스에서 완전히 제외하는 것보다 도구가 특정 위치에 쓰기 액세스가 필요할 때 권장되는 방법입니다.205이러한 경로는 OS 수준에서 적용되므로 샌드박스 내에서 실행되는 모든 명령(자식 프로세스 포함)이 이를 준수합니다. 이는 도구를 `excludedCommands`로 샌드박스에서 완전히 제외하는 것보다 도구가 특정 위치에 대한 쓰기 액세스가 필요할 때 권장되는 방법입니다.

206 206 

207동일한 파일시스템 배열이 여러 [설정 범위](/docs/ko/settings#settings-precedence)에서 정의되면 Claude Code는 이를 병합하여 모든 범위의 경로를 결합합니다.207여러 [설정 범위](/docs/ko/settings#settings-precedence)에서 동일한 파일 시스템 배열을 정의하면 Claude Code는 한 범위의 배열을 다른 범위의 배열로 바꾸지 않고 모든 범위의 경로를 결합하여 병합합니다.

208 208 

209CLI에서 [`--setting-sources`](/docs/ko/cli-reference)를 사용하거나 Agent SDK에서 [`settingSources`](/docs/ko/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)를 사용하여 소스를 제외하면 Claude Code는 샌드박스 구성을 구축할 때 해당 소스의 `sandbox.filesystem` 항목, `Edit` 권한 규칙 및 `Read` 거부 규칙을 무시합니다. Claude Code v2.1.246 이상이 필요합니다.209CLI에서 [`--setting-sources`](/docs/ko/cli-reference)를 사용하거나 Agent SDK에서 [`settingSources`](/docs/ko/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)를 사용하여 소스를 제외하면 Claude Code는 샌드박스 구성을 구축할 때 해당 `sandbox.filesystem` 항목, `Edit` 권한 규칙, 및 `Read` 거부 규칙을 무시합니다. Claude Code v2.1.246 이상이 필요합니다.

210 210 

211세션 중에 이러한 파일시스템 목록을 편집하면 Claude Code는 [실행 중인 세션에 변경 사항을 적용](/docs/ko/settings#when-edits-take-effect)하므로 다음 샌드박싱된 명령은 새로운 경로에서 실행됩니다.211세션 중에 이러한 파일 시스템 목록을 편집하면 Claude Code는 [실행 중인 세션에 변경 사항을 적용](/docs/ko/settings#when-edits-take-effect)하므로 다음 샌드박싱된 명령은 새로운 경로에서 실행됩니다.

212 212 

213경로 접두사는 경로가 해석되는 방식을 제어합니다:213경로 접두사는 경로가 어떻게 확인되는지를 제어합니다:

214 214 

215| 접두사 | 의미 | 예시 |215| 접두사 | 의미 | 예시 |

216| :- | :- | :- |216| :- | :- | :- |

217| `/` | 파일시스템 루트의 절대 경로 | `/tmp/build`는 `/tmp/build`로 유지됩니다 |217| `/` | 파일 시스템 루트의 절대 경로 | `/tmp/build`는 `/tmp/build`로 유지됨 |

218| `~/` | 홈 디렉토리에 상대적 | `~/.kube`는 `$HOME/.kube`가 됩니다 |218| `~/` | 홈 디렉터리에 상대적 | `~/.kube`는 `$HOME/.kube`가 됨 |

219| `./` 또는 접두사 없음 | 프로젝트 설정의 경우 프로젝트 루트에 상대적이거나, 사용자 설정의 경우 `~/.claude`에 상대적 | `.claude/settings.json`의 `./output`은 `<project-root>/output`으로 해석됩니다 |219| `./` 또는 접두사 없음 | 프로젝트 설정의 경우 프로젝트 루트에 상대적이거나, 사용자 설정의 경우 `~/.claude`에 상대적 | `.claude/settings.json`의 `./output`은 `<project-root>/output`으로 확인됨 |

220 220 

221이 구문은 절대 경로에 `//path`를 사용하고 프로젝트 상대에 `/path`를 사용하는 [Read 및 Edit 권한 규칙](/docs/ko/permissions#read-and-edit)과 다릅니다. 샌드박스 파일시스템 경로는 표준 규칙을 사용합니다: `/tmp/build`는 절대 경로입니다. Claude Code가 이러한 경로의 후행 슬래시 또는 와일드카드를 어떻게 처리하는지는 [샌드박스 경로 접두사](/docs/ko/settings-reference#sandbox-path-prefixes)를 참조하세요.221이 구문은 절대의 경우 `//path`를 사용하고 프로젝트 상대의 경우 `/path`를 사용하는 [Read 및 Edit 권한 규칙](/docs/ko/permissions#read-and-edit)과 다릅니다. 샌드박스 파일 시스템 경로는 표준 규칙을 사용합니다: `/tmp/build`는 절대입니다. Claude Code가 이러한 경로의 후행 슬래시 또는 와일드카드를 어떻게 처리하는지는 [샌드박스 경로 접두사](/docs/ko/settings-reference#sandbox-path-prefixes)를 참조하세요.

222 222 

223`sandbox.filesystem.denyWrite` 및 `sandbox.filesystem.denyRead`를 사용하여 쓰기 또는 읽기 액세스를 거부할 수도 있으며, `sandbox.filesystem.allowRead`를 사용하여 거부된 영역 내에서 특정 경로 읽기를 다시 허용할 수 있습니다. 읽기 규칙이 겹칠 때 더 구체적인 경로가 우선합니다:223`sandbox.filesystem.denyWrite` 및 `sandbox.filesystem.denyRead`를 사용하여 쓰기 또는 읽기 액세스를 거부할 수도 있으며, `sandbox.filesystem.allowRead`를 사용하여 거부된 영역 내의 특정 경로를 다시 허용할 수 있습니다. 읽기 규칙이 겹칠 때는 더 좁은 경로를 가진 규칙이 적용됩니다:

224 224 

225| 예시 규칙 | 결과 |225| 예시 규칙 | 결과 |

226| :- | :- |226| :- | :- |

227| `"denyRead": ["~/"]`와 `"allowRead": ["~/projects"]` | `~/projects`는 읽을 수 있으며 홈 디렉토리의 나머지는 차단된 상태로 유지됩니다. 더 좁은 허용이 거부된 영역의 해당 부분을 다시 엽니다 |227| `"denyRead": ["~/"]`과 `"allowRead": ["~/projects"]` | `~/projects`는 읽을 수 있고 홈 디렉터리의 나머지는 차단된 상태로 유지됩니다. 더 좁은 허용이 거부된 영역의 해당 부분을 다시 엽니다 |

228| `"allowRead": ["~/"]`와 `"denyRead": ["~/.env"]` | `~/.env`는 차단된 상태로 유지되며 홈 디렉토리의 나머지는 읽을 수 있습니다. 거부는 더 넓은 허용 내에서 유지되므로 광범위한 허용이 비밀을 자동으로 다시 노출할 수 없습니다 |228| `"allowRead": ["~/"]`과 `"denyRead": ["~/.env"]` | `~/.env`는 차단된 상태로 유지되고 홈 디렉터리의 나머지는 읽을 수 있습니다. 거부가 더 넓은 허용 내에서 유지되므로 광범위한 허용이 비밀을 조용히 다시 노출할 수 없습니다 |

229| `"allowRead": ["~/"]`와 `"denyRead": ["~/**/.env"]` | 홈 디렉토리 아래의 모든 `.env`는 차단된 상태로 유지되며 나머지는 읽을 수 있습니다. [와일드카드 거부](/docs/ko/settings-reference#sandbox-path-prefixes)는 더 넓은 허용 내에서 정확한 경로와 동일한 방식으로 유지됩니다 |229| `"allowRead": ["~/"]`과 `"denyRead": ["~/**/.env"]` | 홈 디렉터리 아래의 모든 `.env`는 차단된 상태로 유지되고 나머지는 읽을 수 있습니다. [와일드카드 거부](/docs/ko/settings-reference#sandbox-path-prefixes)는 정확한 경로와 동일한 방식으로 더 넓은 허용 내에서 유지됩니다 |

230 230 

231아래 예제는 홈 디렉토리 전체에서의 읽기를 차단하면서도 현재 프로젝트에서의 읽기를 허용합니다. 상대 경로 `.`이 프로젝트 설정에 있을 때만 프로젝트 루트로 해석되므로 프로젝트의 `.claude/settings.json`에 배치합니다:231아래 예시는 전체 홈 디렉터리에서의 읽기를 차단하면서도 현재 프로젝트에서의 읽기를 허용합니다. 상대 경로 `.`이 프로젝트 설정에 있을 때만 프로젝트 루트로 확인되므로 프로젝트의 `.claude/settings.json`에 배치합니다:

232 232 

233```json theme={null}233```json theme={null}

234{234{


242}242}

243```243```

244 244 

245동일한 구성을 `~/.claude/settings.json`에 배치했다면 `.`은 `~/.claude`로 해석되고 프로젝트 파일은 `denyRead` 규칙에 의해 차단된 상태로 유지됩니다.245동일한 구성을 `~/.claude/settings.json`에 배치했다면 `.`은 `~/.claude`로 확인되고 프로젝트 파일은 `denyRead` 규칙에 의해 차단된 상태로 유지됩니다.

246 246 

247샌드박싱된 명령이 작업 디렉토리 외부의 홈 디렉토리 및 마운트된 볼륨에서 읽기 액세스를 거부하면서 작업 디렉토리는 읽을 수 있도록 유지하려면 경로 규칙을 작성하는 대신 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 설정합니다.247샌드박싱된 명령이 홈 디렉터리 및 마운트된 볼륨에 대한 읽기 액세스를 거부하면서 작업 디렉터리를 읽을 수 있게 유지하려면 경로 규칙을 작성하는 대신 [`permissions.blockReadsOutsideWorkingDirectories`](/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 설정합니다.

248 248 

249<h3 id="disable-filesystem-isolation">249<h3 id="disable-filesystem-isolation">

250 파일시스템 격리 비활성화250 파일 시스템 격리 비활성화

251</h3>251</h3>

252 252 

253`sandbox.filesystem.disabled`를 `true`로 설정하여 네트워크 격리를 유지하면서 파일시스템 격리를 건너뜁니다. 아래 예제는 파일시스템 격리를 끄면서 네트워크 도메인의 허용 목록을 유지합니다:253`sandbox.filesystem.disabled`를 `true`로 설정하여 네트워크 격리를 유지하면서 파일 시스템 격리를 건너뜁니다. 아래 예시는 네트워크 도메인의 허용 목록을 유지하면서 파일 시스템 격리를 끕니다:

254 254 

255```json theme={null}255```json theme={null}

256{256{


266}266}

267```267```

268 268 

269샌드박스에는 두 개의 독립적인 계층이 있습니다: [파일시스템 격리](#filesystem-isolation)는 샌드박싱된 명령이 읽고 쓸 수 있는 경로를 제어하고, [네트워크 격리](#network-isolation)는 도달할 수 있는 도메인을 제어합니다. 파일시스템 계층이 꺼져 있으면 샌드박싱된 명령은 호스트 파일시스템에 대한 무제한 읽기 및 쓰기 액세스를 얻지만 네트워크 송신은 허용된 도메인으로 제한됩니다. 명령이 쓰는 것이 아니라 연결하는 위치를 제어하기 위해 샌드박싱할 때 계층을 끕니다.269샌드박스에는 두 개의 독립적인 계층이 있습니다: [파일 시스템 격리](#filesystem-isolation)는 샌드박싱된 명령이 읽고 쓸 수 있는 경로를 제어하고, [네트워크 격리](#network-isolation)는 도달할 수 있는 도메인을 제어합니다. 파일 시스템 계층이 꺼져 있으면 샌드박싱된 명령은 호스트 파일 시스템에 대한 무제한 읽기 및 쓰기 액세스를 얻지만 네트워크 송신은 허용된 도메인으로 제한됩니다. 명령이 쓰는 내용이 아니라 연결하는 위치를 제어하기 위해 샌드박싱할 때 계층을 끕니다.

270 270 

271설정은 기본적으로 꺼져 있으며 샌드박스가 실행되는 플랫폼(macOS, Linux 및 WSL2)에 적용됩니다. Claude Code v2.1.216 이상이 필요합니다.271설정은 기본적으로 꺼져 있으며 샌드박스가 실행되는 플랫폼(macOS, Linux, WSL2)에 적용됩니다. Claude Code v2.1.216 이상이 필요합니다.

272 272 

273<Warning>273<Warning>

274 파일시스템 격리가 꺼져 있고 명령이 자동으로 허용되면 샌드박싱된 명령은 나중에 명령이 실행하거나 읽는 파일(예: 셸 시작 파일, `$PATH`의 실행 파일 또는 `~/.claude/settings.json`)을 쓸 수 있으며 다음 실행에서 자신의 액세스를 확대하는 데 사용할 수 있습니다. `filesystem.disabled`를 `true`로 설정하는 것은 자신의 액세스를 확대하지 않도록 신뢰하는 워크로드에만 사용합니다. [`allowManagedDomainsOnly`](#keep-developers-from-widening-the-policy)로 네트워크 도메인을 잠그면 위험을 좁히지만 제거하지는 않습니다. 해당 잠금은 샌드박스 내에서 실행되는 명령에만 적용되기 때문입니다.274 파일 시스템 격리가 꺼져 있고 명령이 자동으로 허용되면 샌드박싱된 명령은 나중에 명령이 실행하거나 읽는 파일(예: 셸 시작 파일, `$PATH`의 실행 파일, 또는 `~/.claude/settings.json`)을 쓸 수 있으며 다음 실행에서 자신의 액세스를 확대하는 데 사용할 수 있습니다. `filesystem.disabled`를 `true`로 설정하는 것은 자신의 액세스를 확대하지 않도록 신뢰하는 워크로드에만 해당합니다. [`allowManagedDomainsOnly`](#keep-developers-from-widening-the-policy)로 네트워크 도메인을 잠그면 위험을 좁히지만 제거하지는 않습니다. 해당 잠금은 샌드박스 내에서 실행되는 명령에만 적용되기 때문입니다.

275</Warning>275</Warning>

276 276 

277<h4 id="which-settings-can-disable-it">277<h4 id="which-settings-can-disable-it">

278 어떤 설정이 이를 비활성화할 수 있는지278 어떤 설정이 이를 비활성화할 수 있는지

279</h4>279</h4>

280 280 

281파일시스템 격리를 끄면 샌드박싱된 명령이 할 수 있는 작업이 확대되므로 Claude Code는 `filesystem.disabled`를 다음 설정 소스에서만 인정합니다:281파일 시스템 격리를 끄면 샌드박싱된 명령이 수행할 수 있는 작업이 확대되므로 Claude Code는 `filesystem.disabled`를 이러한 설정 소스에서만 인정합니다:

282 282 

283* 사용자 설정, 관리 설정 및 `--settings` CLI 플래그는 이를 설정할 수 있습니다. `.claude/settings.json` 및 `.claude/settings.local.json`의 프로젝트 설정은 할 수 없으므로 체크아웃된 프로젝트는 파일시스템 격리를 끌 수 없습니다.283* 사용자 설정, 관리 설정, 및 `--settings` CLI 플래그가 이를 설정할 수 있습니다. `.claude/settings.json` 및 `.claude/settings.local.json`의 프로젝트 설정은 할 수 없으므로 체크아웃된 프로젝트는 파일 시스템 격리를 끌 수 없습니다.

284* 관리 설정이 `sandbox.filesystem`을 전혀 구성하거나 `"mode": "deny"`를 사용하는 `sandbox.credentials.files` 항목을 나열하면 관리 설정만 키를 설정할 수 있습니다. 이는 관리자가 배포한 파일시스템 제한을 유지합니다. 이러한 배포를 완화하려면 관리 설정에서 `"disabled": true`를 설정합니다.284* 관리 설정이 `sandbox.filesystem`을 전혀 구성하거나 `"mode": "deny"`를 가진 `sandbox.credentials.files` 항목을 나열하면 관리 설정만 키를 설정할 수 있습니다. 이는 관리자가 배포한 파일 시스템 제한을 유지합니다. 이러한 배포를 완화하려면 관리 설정에서 `"disabled": true`를 설정합니다.

285* [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ko/env-vars)가 설정되면 Claude Code는 관리 설정을 포함한 모든 소스에서 `filesystem.disabled`를 무시하고 파일시스템 격리를 유지합니다.285* [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ko/env-vars)가 설정되면 Claude Code는 관리 설정을 포함한 모든 소스에서 `filesystem.disabled`를 무시하고 파일 시스템 격리를 유지합니다.

286 286 

287관리 `credentials.files` 항목이 `filesystem.disabled`를 고정하여 개발자가 파일시스템 격리를 끌 수 없도록 잠그는지 여부는 항목의 `mode`와 샌드박스가 시작될 때 항목에 어떤 일이 발생하는지에 따라 달라집니다:287관리 `credentials.files` 항목이 `filesystem.disabled`를 고정하여 개발자가 파일 시스템 격리를 끌 수 없도록 키를 관리 설정으로 잠그는지 여부는 항목의 `mode`와 샌드박스가 시작될 때 항목에 어떤 일이 발생하는지에 따라 달라집니다:

288 288 

289| 관리 항목 | `filesystem.disabled` 고정 | 격리가 꺼져 있을 때 파일을 보호하는 것 |289| 관리 항목 | `filesystem.disabled` 고정 | 격리가 꺼져 있을 때 파일을 보호하는 것 |

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

291| `"mode": "deny"` | 예 | 없음: 읽기 블록은 파일시스템 계층의 일부입니다 |291| `"mode": "deny"` | 예 | 없음: 읽기 차단은 파일 시스템 계층의 일부입니다 |

292| `"mode": "mask"`, 마스크로 적용됨 | 아니요 | 마스킹 자체: Linux 및 WSL2의 [센티널 복사 및 프록시](#mask-credential-files), macOS의 샌드박스 자체 읽기 규칙 |292| `"mode": "mask"`, 마스크로 적용됨 | 아니오 | 마스킹 자체: Linux 및 WSL2의 [센티널 복사 및 프록시](#mask-credential-files), macOS의 샌드박스 자체 읽기 규칙 |

293| `"mode": "mask"`, [설정 시 `deny`로 폴백됨](#mask-credential-files) | 아니요 | 없음, `deny`와 동일합니다. 디렉토리와 같이 마스킹할 수 없는 경로를 명시적 `deny` 항목으로 나열합니다. 이는 키를 고정합니다 |293| `"mode": "mask"`, [설정 시 `deny`로 폴백됨](#mask-credential-files) | 아니오 | 없음, `deny`와 동일합니다. 디렉터리와 같이 마스크할 수 없는 경로를 명시적 `deny` 항목으로 나열합니다. 이는 키를 고정합니다 |

294| `"mode": "mask"`, [검증으로 `deny`로 저하됨](/docs/ko/managed-settings#invalid-entries-in-managed-settings) | 예, 명시적 `deny`처럼 | 없음, `deny`와 동일합니다 |294| `"mode": "mask"`, [검증에 의해 `deny`로 저하됨](/docs/ko/managed-settings#invalid-entries-in-managed-settings) | 예, 명시적 `deny`처럼 | 없음, `deny`와 동일합니다 |

295 295 

296폴백은 Claude Code가 이미 설정을 읽은 후 샌드박스가 시작될 때 발생하므로 폴백된 항목은 절대 고정하지 않습니다. 검증은 설정이 로드되는 동안 잘못된 항목을 `deny`로 다시 쓰므로 저하된 항목은 `deny`로 작성한 것처럼 고정합니다.296폴백은 Claude Code가 이미 설정을 읽은 후 샌드박스가 시작될 때 발생하므로 폴백된 항목은 절대 고정하지 않습니다. 검증은 설정이 로드되는 동안 유효하지 않은 항목을 `deny`로 다시 쓰므로 저하된 항목은 `deny`로 작성한 것처럼 고정합니다.

297 297 

298<h4 id="what-changes-when-filesystem-isolation-is-off">298<h4 id="what-changes-when-filesystem-isolation-is-off">

299 파일시스템 격리가 꺼져 있을 때 변경되는 것299 파일 시스템 격리가 꺼져 있을 때 무엇이 변하는지

300</h4>300</h4>

301 301 

302`filesystem.disabled`를 설정하면 파일시스템 계층 자체가 적용하는 보호가 해제됩니다. 다른 계층이 적용하는 보호는 계속 적용됩니다:302`filesystem.disabled`를 설정하면 파일 시스템 계층 자체가 적용하는 보호가 해제됩니다. 다른 계층이 적용하는 보호는 계속 적용됩니다:

303 303 

304| 보호 | 파일시스템 격리가 꺼져 있을 때 |304| 보호 | 파일 시스템 격리가 꺼져 있을 때 |

305| - | - |305| - | - |

306| `filesystem.denyRead` 및 [`credentials.files`](#protect-credentials) `deny` 읽기 블록 | 적용되지 않음. 파일시스템 계층이 둘 다 적용합니다 |306| `filesystem.denyRead` 및 [`credentials.files`](#protect-credentials) `deny` 읽기 차단 | 적용되지 않음. 파일 시스템 계층이 둘 다 적용합니다 |

307| `credentials.envVars` `deny` 및 `mask` 항목 | 적용됨. 환경 변수 스크러빙은 파일시스템 계층과 독립적입니다 |307| `credentials.envVars` `deny` 및 `mask` 항목 | 적용됨. 환경 변수 스크러빙은 파일 시스템 계층과 독립적입니다 |

308| [`credentials.files` `mask` 항목](#mask-credential-files) 마스크로 적용됨 | 적용됨: 마스킹은 파일시스템 계층과 독립적입니다. [폴백된](#mask-credential-files) 항목은 모든 `deny` 항목처럼 적용되지 않습니다 |308| [`credentials.files` `mask` 항목](#mask-credential-files) 마스크로 적용됨 | 적용됨: 마스킹은 파일 시스템 계층과 독립적입니다. [폴백된](#mask-credential-files) 항목은 적용되지 않으며, 모든 `deny` 항목과 같습니다 |

309 309 

310두 가지 다른 것이 변경됩니다:310두 가지가 더 변합니다:

311 311 

312* 샌드박싱된 명령은 세션 임시 디렉토리 대신 셸의 `$TMPDIR`을 상속합니다. 모든 임시 디렉토리는 쓸 수 있고 Claude Code는 더 이상 명령을 세션 임시 디렉토리로 리디렉션하지 않기 때문입니다.312* 샌드박싱된 명령은 모든 임시 디렉터리가 쓸 수 있고 Claude Code가 더 이상 명령을 사용자별 임시 디렉터리로 리디렉션하지 않기 때문에 사용자별 임시 디렉터리 대신 셸의 `$TMPDIR`을 상속합니다.

313 313 

314 Linux에서 변수는 종종 부모 셸에서 설정되지 않으므로 샌드박싱된 명령 내에서 비어 있을 수 있습니다. Claude Code는 `$TMPDIR`에 의존하는 대신 `mktemp -d`로 스크래치 디렉토리를 만들도록 Claude에 Bash 도구 지침을 통해 알립니다.314 Linux에서 변수는 종종 부모 셸에서 설정되지 않습니다. Bash 도구 지침은 Claude에게 `$TMPDIR`에 의존하는 대신 `mktemp -d`로 스크래치 디렉터리를 만들도록 지시합니다.

315* [`autoAllowBashIfSandboxed`](/docs/ko/settings-reference#sandbox-autoallowbashifsandboxed)는 여전히 기본값이 `true`이므로 샌드박싱된 명령은 프롬프트 없이 계속 실행됩니다. 샌드박싱된 명령에 대해 프롬프트하려면 `false`로 설정합니다.315* [`autoAllowBashIfSandboxed`](/docs/ko/settings-reference#sandbox-autoallowbashifsandboxed)는 여전히 기본값 `true`이므로 샌드박싱된 명령은 프롬프트 없이 계속 실행됩니다. 샌드박싱된 명령에 대한 프롬프트를 표시하려면 `false`로 설정합니다.

316 316 

317<h3 id="protect-credentials">317<h3 id="protect-credentials">

318 자격증명 보호318 자격 증명 보호

319</h3>319</h3>

320 320 

321`sandbox.credentials` 설정은 샌드박싱된 명령이 액세스하면 안 되는 자격증명 파일 및 환경 변수를 선언합니다. 각 항목은 파일 경로 또는 환경 변수와 `mode`를 지정합니다. 전용 `credentials` 블록은 자격증명 규칙을 함께 그룹화하고 일반 파일시스템 규칙과 분리합니다.321`sandbox.credentials` 설정은 샌드박싱된 명령으로부터 보호할 자격 증명 파일 및 환경 변수를 선언합니다. 각 항목은 파일 경로 또는 환경 변수와 `mode`를 이름 지정합니다. 전용 `credentials` 블록은 자격 증명 규칙을 함께 그룹화하고 일반 파일 시스템 규칙과 분리합니다.

322 322 

323`"mode": "deny"`를 사용하는 항목의 경우 파일 경로는 샌드박스 내에서 읽기가 거부되며, 이는 `filesystem.denyRead`가 적용하는 것과 동일한 제한이고, 환경 변수는 각 샌드박싱된 명령 실행 전에 설정 해제됩니다. 파일 보호는 파일시스템 계층의 일부이므로 [파일시스템 격리를 비활성화](#disable-filesystem-isolation)하면 적용되지 않습니다. 환경 변수 보호는 여전히 적용됩니다.323`"mode": "deny"`를 가진 항목의 경우 파일 경로는 샌드박스 내에서 읽기가 거부되며, 이는 `filesystem.denyRead`가 적용하는 동일한 제한이고, 환경 변수는 각 샌드박싱된 명령 실행 전에 설정 해제됩니다. 파일 보호는 파일 시스템 계층의 일부이므로 [파일 시스템 격리를 비활성화](#disable-filesystem-isolation)하면 적용되지 않습니다. 환경 변수 보호는 여전히 적용됩니다.

324 324 

325아래 예제는 AWS 자격증명 파일 및 SSH 디렉토리의 읽기를 차단하고 샌드박싱된 명령의 환경에서 `GITHUB_TOKEN` 및 `NPM_TOKEN`을 제거합니다:325아래 예시는 AWS 자격 증명 파일 및 SSH 디렉터리의 읽기를 차단하고 샌드박싱된 명령의 환경에서 `GITHUB_TOKEN` 및 `NPM_TOKEN`을 제거합니다:

326 326 

327```json theme={null}327```json theme={null}

328{328{


342}342}

343```343```

344 344 

345환경 변수 항목 및 파일 항목은 [자격증명 마스킹](#mask-credentials)에서 설명하는 `"mode": "mask"`도 허용합니다.345환경 변수 항목 및 파일 항목도 `"mode": "mask"`를 허용하며, 이는 [자격 증명 마스킹](#mask-credentials)에서 설명합니다.

346 346 

347파일 경로는 `sandbox.filesystem.*` 설정과 동일한 [접두사 규칙](/docs/ko/settings-reference#sandbox-path-prefixes)을 따릅니다.347파일 경로는 `sandbox.filesystem.*` 설정과 동일한 [접두사 규칙](/docs/ko/settings-reference#sandbox-path-prefixes)을 따릅니다.

348 348 

349Claude Code는 세션이 로드하는 모든 [설정 범위](/docs/ko/settings#settings-precedence)의 `deny` 항목을 병합합니다. `deny` 항목은 액세스를 좁히기만 하므로 모든 범위는 항목을 추가할 수 있지만 다른 범위가 추가한 항목을 제거할 수는 없습니다.349Claude Code는 세션이 로드하는 모든 [설정 범위](/docs/ko/settings#settings-precedence)에서 `deny` 항목을 병합합니다. `deny` 항목은 액세스를 좁히기만 하므로 모든 범위가 하나를 추가할 수 있지만 다른 범위가 추가한 항목을 제거할 수 있는 범위는 없습니다.

350 350 

351[설정 소스를 제외](#configure-sandboxing)할 때:351[설정 소스를 제외](#configure-sandboxing)할 때:

352 352 

353* **프로젝트 또는 로컬 설정**: Claude Code는 해당 `credentials` 항목을 적용하지 않습니다. Claude Code v2.1.246 이상이 필요합니다.353* **프로젝트 또는 로컬 설정**: Claude Code는 해당 `credentials` 항목을 적용하지 않습니다. Claude Code v2.1.246 이상이 필요합니다.

354* **사용자 설정**: Claude Code는 여전히 `~/.claude/settings.json`의 `deny` 항목을 적용하고 [파일 `mask` 항목](#mask-credential-files)을 제한으로 유지하지만 [환경 변수 `mask` 항목](#mask-environment-variables)은 삭제합니다.354* **사용자 설정**: Claude Code는 여전히 `~/.claude/settings.json`의 `deny` 항목을 적용하고 [파일 `mask` 항목](#mask-credential-files)을 제한으로 유지하지만 [환경 변수 `mask` 항목](#mask-environment-variables)을 삭제합니다.

355 355 

356기본 제공 자격증명 거부 목록이 없으므로 나열한 파일 및 변수만 제한됩니다.356기본 제공 자격 증명 거부 목록이 없으므로 나열한 파일 및 변수만 제한됩니다.

357 357 

358`sandbox.credentials`는 샌드박싱된 Bash 명령에만 영향을 미칩니다. 샌드박싱 여부와 관계없이 모든 하위 프로세스에서 자격증명을 제거하려면 [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ko/env-vars)를 설정합니다.358`sandbox.credentials`는 샌드박싱된 Bash 명령에만 영향을 미칩니다. 샌드박싱과 관계없이 모든 하위 프로세스에서 자격 증명을 제거하려면 [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](/docs/ko/env-vars)를 설정합니다.

359 359 

360<h3 id="mask-credentials">360<h3 id="mask-credentials">

361 자격증명 마스킹361 자격 증명 마스킹

362</h3>362</h3>

363 363 

364마스킹은 [자격증명 보호](#protect-credentials)의 `deny` 항목보다 더 나아갑니다. 자격증명을 차단하는 대신 Claude Code는 샌드박싱된 명령에 플레이스홀더인 센티널을 표시하고 [샌드박스 프록시](#network-isolation)는 허용하는 호스트에 대한 아웃바운드 요청에서 실제 값으로 바꿉니다. 파일의 경우 대체는 Linux 및 WSL2 동작입니다. [macOS는 대신 파일을 차단합니다](#mask-credential-files).364마스킹은 [자격 증명 보호](#protect-credentials)의 `deny` 항목보다 더 나아갑니다. 자격 증명을 차단하는 대신 Claude Code는 샌드박싱된 명령에 플레이스홀더인 센티널을 표시하고 [샌드박스 프록시](#network-isolation)는 허용하는 호스트에 대한 아웃바운드 요청에서 실제 값으로 바꿉니다. 파일의 경우 대체는 Linux 및 WSL2 동작입니다. [macOS는 대신 파일을 차단합니다](#mask-credential-files).

365 365 

366<h4 id="mask-environment-variables">366<h4 id="mask-environment-variables">

367 환경 변수 마스킹367 환경 변수 마스킹

368</h4>368</h4>

369 369 

370`"mode": "mask"`는 자격증명을 보호하면서 이를 사용하여 인증하는 도구가 계속 작동하도록 합니다. `deny`는 변수를 완전히 제거하므로 `gh` 또는 `npm`과 같이 이를 필요로 하는 도구도 중단됩니다. Claude Code v2.1.199 이상이 필요합니다.370`"mode": "mask"`는 자격 증명을 보호하면서 이를 사용하여 인증하는 도구를 작동 상태로 유지합니다. `deny`는 변수를 완전히 제거하며, 이는 `gh` 또는 `npm`과 같이 이를 필요로 하는 도구도 중단시킵니다. Claude Code v2.1.199 이상이 필요합니다.

371 371 

372`mask`를 사용하면 샌드박싱된 명령은 실제 값 대신 세션별 센티널 값을 봅니다. 각 `mask` 항목은 `injectHosts`를 나열할 수 있으며, 이는 실제 값이 도달할 수 있는 호스트입니다. 요청이 이 중 하나에 대해 샌드박스를 떠날 때 [샌드박스 프록시](#network-isolation)는 센티널을 실제 값으로 바꿉니다. 명령과 이것이 기록하는 모든 것은 실제 자격증명을 보유하지 않지만 요청은 여전히 인증됩니다.372`mask`를 사용하면 샌드박싱된 명령은 실제 값 대신 세션별 센티널 값을 봅니다. 각 `mask` 항목은 `injectHosts`를 나열할 수 있으며, 이는 실제 값이 도달할 수 있는 호스트입니다. 요청이 그 중 하나에 대해 샌드박스를 떠날 때 [샌드박스 프록시](#network-isolation)는 센티널을 실제 값으로 바꿉니다. 명령 및 로그하는 모든 것은 실제 자격 증명을 보유하지 않지만 요청은 여전히 인증됩니다.

373 373 

374프록시는 요청 내용 내에서 자격증명을 대체하므로 이를 봐야 합니다. [`network.tlsTerminate`](/docs/ko/settings-reference#sandbox-network-tlsterminate)를 설정하여 프록시가 TLS 자체를 종료하도록 합니다.374프록시는 요청 내용 내에서 자격 증명을 대체하므로 이를 봐야 합니다. [`network.tlsTerminate`](/docs/ko/settings-reference#sandbox-network-tlsterminate)를 설정하여 프록시가 TLS 자체를 종료하도록 합니다.

375 375 

376이 없이는 마스킹이 폐쇄 상태로 실패합니다: 명령은 여전히 센티널만 보지만 센티널이 변경되지 않은 상태로 서버에 도달하고 인증이 실패합니다. Claude Code는 시작 시 이 잘못된 구성을 보고합니다.376이 없으면 마스킹은 아무것도 노출하지 않고 실패합니다: 명령은 여전히 센티널만 보지만 센티널은 변경되지 않은 상태로 서버에 도달하고 인증이 실패합니다. Claude Code는 시작 시 이 잘못된 구성을 보고합니다.

377 377 

378대체는 헤더 및 요청 본문을 포함합니다. 자격증명 자체가 아니라 자격증명에서 파생된 서명으로 인증하는 요청은 프록시에서 다시 서명해야 합니다. [AWS 요청 다시 서명](#re-sign-aws-requests)은 AWS에 대해 이것이 어떻게 작동하는지 다룹니다.378대체는 헤더 및 요청 본문을 포함합니다. 자격 증명 자체가 아니라 자격 증명에서 파생된 서명으로 인증하는 요청은 프록시에서 다시 서명해야 합니다. [AWS 요청 다시 서명](#re-sign-aws-requests)은 AWS에 대해 이것이 어떻게 작동하는지를 다룹니다.

379 379 

380프록시는 [도메인 허용 목록](#network-isolation)이 허용하는 연결에만 주입하므로 각 `injectHosts` 대상도 `network.allowedDomains`를 통해 도달 가능해야 합니다.380프록시는 [도메인 허용 목록](#network-isolation)이 허용하는 연결에만 주입하므로 각 `injectHosts` 대상도 `network.allowedDomains`를 통해 도달 가능해야 합니다.

381 381 

382아래 예제는 두 개의 토큰을 마스킹합니다. `GH_TOKEN`은 `api.github.com`에 대한 요청에서만 대체되고, `NPM_TOKEN`은 `injectHosts`가 없으며 `network.allowedDomains`의 모든 호스트에 대한 요청에서 대체됩니다.382아래 예시는 두 개의 토큰을 마스킹합니다. `GH_TOKEN`은 `api.github.com`에 대한 요청에서만 대체되고, `NPM_TOKEN`은 `injectHosts`가 없으며 `network.allowedDomains`의 모든 호스트에 대한 요청에서 대체됩니다.

383 383 

384```json theme={null}384```json theme={null}

385{385{


402<span id="ipv6-destinations-in-injecthosts" />IPv6 대상을 두 목록에서 다르게 표기합니다. 각 목록에는 자체 매처가 있기 때문입니다:402<span id="ipv6-destinations-in-injecthosts" />IPv6 대상을 두 목록에서 다르게 표기합니다. 각 목록에는 자체 매처가 있기 때문입니다:

403 403 

404* **`network.allowedDomains`**: [도메인 목록이 사용하는 괄호 형식](#ipv6-addresses-in-domain-lists), 예: `"[::1]"`. 프록시는 이 목록을 확인하여 연결을 허용합니다.404* **`network.allowedDomains`**: [도메인 목록이 사용하는 괄호 형식](#ipv6-addresses-in-domain-lists), 예: `"[::1]"`. 프록시는 이 목록을 확인하여 연결을 허용합니다.

405* **`injectHosts`**: 정규 압축 형식의 베어 주소, 예: `"::1"` 또는 `"2001:db8::1"`. 프록시는 각 항목을 연결의 베어 대상 주소와 비교하며 포트를 무시하므로 괄호, 영역 ID 또는 다르게 압축된 표기는 절대 일치하지 않으며 프록시는 거기에 자격증명을 주입하지 않습니다.405* **`injectHosts`**: 정규 압축 형식의 베어 주소, 예: `"::1"` 또는 `"2001:db8::1"`. 프록시는 각 항목을 연결의 베어 대상 주소와 비교하며 포트를 무시하므로 괄호, 영역 ID, 또는 다르게 압축된 표기는 절대 일치하지 않으며 프록시는 거기에 자격 증명을 주입하지 않습니다.

406 406 

407`claude doctor`는 대상과 절대 일치할 수 없는 `injectHosts` 항목에 `Sandbox credential injectHosts entries can never match their destination` 경고로 플래그를 지정합니다. 이 확인에는 Claude Code v2.1.229 이상이 필요합니다.407`claude doctor`는 대상과 절대 일치할 수 없는 `injectHosts` 항목에 `Sandbox credential injectHosts entries can never match their destination` 경고로 플래그를 지정합니다. 이 확인에는 Claude Code v2.1.229 이상이 필요합니다.

408 408 

409`deny`와 달리 마스킹은 프록시가 나열된 호스트에 실제 자격증명을 보내도록 승인하므로 Claude Code는 사용자 또는 관리자가 제어하는 설정에서만 인정합니다: 사용자 설정, 관리 설정 및 `--settings` CLI 플래그. Claude Code는 리포지토리의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 `mask` 항목을 무시합니다. 이러한 파일에서 `network.tlsTerminate` 및 [`credentials.allowPlaintextInject`](/docs/ko/settings-reference#sandbox-credentials-allowplaintextinject)도 무시합니다. 이는 프록시가 암호화되지 않은 요청에 자격증명을 주입할 수 있도록 하는 설정입니다. [사용자 설정을 제외](#configure-sandboxing)하면 Claude Code는 `~/.claude/settings.json`의 환경 변수 `mask` 항목도 삭제합니다.409`deny`와 달리 마스킹은 프록시가 나열된 호스트에 실제 자격 증명을 보내도록 권한을 부여하므로 Claude Code는 사용자 또는 관리자가 제어하는 설정에서만 이를 인정합니다: 사용자 설정, 관리 설정, 및 `--settings` CLI 플래그. Claude Code는 저장소의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 `mask` 항목을 무시합니다. 이러한 파일에서 `network.tlsTerminate` 및 [`credentials.allowPlaintextInject`](/docs/ko/settings-reference#sandbox-credentials-allowplaintextinject)도 무시합니다. 이는 프록시가 암호화되지 않은 요청에 자격 증명을 주입할 수 있게 하는 설정입니다. [사용자 설정을 제외](#configure-sandboxing)하면 Claude Code는 `~/.claude/settings.json`의 환경 변수 `mask` 항목도 삭제합니다.

410 410 

411관리자가 서버 관리 설정을 통해 `mask` 항목, `network.tlsTerminate` 또는 `credentials.allowPlaintextInject`를 제공할 때 이들은 [승인이 필요한 설정](/docs/ko/server-managed-settings#security-approval-dialogs)으로 계산됩니다.411관리자가 서버 관리 설정을 통해 `mask` 항목, `network.tlsTerminate`, 또는 `credentials.allowPlaintextInject`를 제공할 때 이들은 [승인이 필요한 설정](/docs/ko/server-managed-settings#security-approval-dialogs)으로 계산됩니다.

412 412 

413동일한 변수가 모든 범위에서 `deny`로 나열되면 `deny`가 우선합니다.413동일한 변수가 모든 범위에서 `deny`로 나열되면 `deny`가 우선합니다.

414 414 

415마스킹은 기본적으로 변수의 전체 값을 바꾸며, 이는 베어 토큰에 적합합니다. Claude Code v2.1.224 이상이 필요한 선택적 항목 필드는 구조가 있는 값을 처리합니다:415마스킹은 기본적으로 변수의 전체 값을 바꾸며, 이는 베어 토큰에 적합합니다. 선택적 항목 필드는 Claude Code v2.1.224 이상이 필요하며 구조화된 값을 처리합니다:

416 416 

417* `extract`: Claude Code가 값 전체에 적용하는 정규 표현식으로, 각 일치의 그룹 1로 캡처된 텍스트만 바꾸므로 값을 파싱하는 도구(예: `DATABASE_URL` 연결 문자열)는 샌드박스 내에서 계속 작동합니다. 패턴은 최소한 하나의 캡처 그룹을 포함해야 합니다.417* `extract`: Claude Code가 값 전체에 적용하는 정규 표현식으로, 각 일치의 그룹 1로 캡처된 텍스트만 바꾸므로 값을 구문 분석하는 도구(예: `DATABASE_URL` 연결 문자열)는 샌드박스 내에서 계속 작동합니다. 패턴은 최소한 하나의 캡처 그룹을 포함해야 합니다.

418* `onExtractNoMatch`는 패턴이 아무것도 일치하지 않을 때 발생하는 일을 제어합니다:418* `onExtractNoMatch`는 패턴이 아무것도 일치하지 않을 때 발생하는 일을 제어합니다:

419 * `warn`, 기본값, 경고하고 변수를 마스킹되지 않은 상태로 전달합니다419 * `warn`, 기본값, 경고하고 변수를 마스크되지 않은 상태로 전달합니다

420 * `deny`는 샌드박스 내에서 변수를 설정 해제합니다420 * `deny`는 샌드박스 내에서 변수를 설정 해제합니다

421 * `error`는 구성을 수정할 때까지 샌드박스 설정을 중지합니다421 * `error`는 구성을 수정할 때까지 샌드박스 설정을 중지합니다

422* `decode: "jwt"`: JSON Web Token (JWT)을 보유하는 변수의 경우. Claude Code는 값이 JWT인지 확인하고 이를 구조적으로 유효한 가짜 토큰으로 바꾸므로 샌드박스 내의 토큰을 디코딩하는 코드는 계속 작동합니다. `maskClaims`를 추가하여 전체 토큰을 바꾸는 대신 개별적으로 마스킹할 최상위 페이로드 클레임을 나열합니다. 다른 클레임은 읽을 수 있는 상태로 유지됩니다. 값이 JWT로 확인되지 않거나 나열된 클레임이 일치하지 않으면 Claude Code는 경고와 함께 변수를 마스킹되지 않은 상태로 전달합니다. `decode`는 `extract`와 결합할 수 없습니다.422* `decode: "jwt"`: JSON Web Token (JWT)을 보유하는 변수의 경우. Claude Code는 값이 JWT인지 확인하고 이를 구조적으로 유효한 가짜 토큰으로 바꾸므로 샌드박스 내의 토큰을 디코딩하는 코드는 계속 작동합니다. `maskClaims`를 추가하여 전체 토큰을 바꾸는 대신 개별적으로 마스킹할 최상위 페이로드 클레임을 나열합니다. 다른 클레임은 읽을 수 있게 유지됩니다. 값이 JWT로 확인되지 않거나 나열된 클레임이 일치하지 않으면 Claude Code는 경고와 함께 변수를 마스크되지 않은 상태로 전달합니다. `decode`는 `extract`와 결합할 수 없습니다.

423 423 

424설정 참조의 [`credentials.envVars[]` 행](/docs/ko/settings-reference#sandbox-settings)에서 전체 필드 목록을 참조하세요.424설정 참조의 [`credentials.envVars[]` 행](/docs/ko/settings-reference#sandbox-settings)에서 전체 필드 목록을 참조하세요.

425 425 


427 AWS 요청 다시 서명427 AWS 요청 다시 서명

428</h4>428</h4>

429 429 

430AWS 요청은 요청 내용에 대한 SigV4 서명을 전달하므로 `AWS_ACCESS_KEY_ID` 및 `AWS_SECRET_ACCESS_KEY`를 함께 마스킹합니다. 프록시는 액세스 키의 센티널로 SigV4 요청을 감지하고 실제 값을 대체한 후 다시 서명합니다. 비밀만 마스킹하면 플레이스홀더로 서명된 요청이 남으며, 프록시는 이를 감지할 수 없으므로 AWS에서 실패합니다. Claude Code는 시작 시 이 경우에 대해 경고하지만 액세스 키 ID만 마스킹될 때는 경고하지 않습니다. 프록시가 다시 서명할 수 없는 감지된 요청(예: `x-amz-date` 헤더가 누락된 요청)은 손상된 서명으로 서버에 도달하는 대신 프록시 오류로 실패합니다.430AWS 요청은 요청 내용에 대해 SigV4 서명을 수행하므로 `AWS_ACCESS_KEY_ID` 및 `AWS_SECRET_ACCESS_KEY`를 함께 마스킹합니다. 프록시는 액세스 키의 센티널로 SigV4 요청을 감지하고 실제 값을 대체한 후 다시 서명합니다. 비밀만 마스킹하면 플레이스홀더로 서명된 요청이 남으며, 프록시는 이를 감지할 수 없으므로 AWS에서 실패합니다. Claude Code는 시작 시 이 경우에 대해 경고하지만 액세스 키 ID만 마스킹될 때는 경고하지 않습니다. 감지된 요청을 프록시가 다시 서명할 수 없으면(예: `x-amz-date` 헤더가 누락된 경우) 서버에 도달하는 대신 프록시 오류로 실패합니다.

431 431 

432Claude Code는 전체 값을 마스킹할 때 기존 `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` 및 `AWS_SESSION_TOKEN` 변수를 자동으로 하나의 자격증명으로 연결합니다. AWS 자격증명이 다른 이름의 변수에 있으면 [`credentials.awsPairs`](/docs/ko/settings-reference#sandbox-credentials-awspairs)로 직접 그룹화합니다. Claude Code v2.1.224 이상이 필요합니다. 이 예제는 이미 [위의 마스킹 구성](#mask-environment-variables)처럼 전체 값을 마스킹하는 `MY_KEY_ID`, `MY_SECRET_KEY` 및 `MY_SESSION_TOKEN`을 마스킹하는 구성에 페어링을 추가합니다:432Claude Code는 전체 값을 마스킹할 때 기존 `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, 및 `AWS_SESSION_TOKEN` 변수를 하나의 자격 증명으로 자동 연결합니다. AWS 자격 증명이 다른 이름의 변수에 있으면 [`credentials.awsPairs`](/docs/ko/settings-reference#sandbox-credentials-awspairs)로 직접 그룹화합니다. 이는 Claude Code v2.1.224 이상이 필요합니다. 이 예시는 이미 [위의 마스킹 구성](#mask-environment-variables)처럼 전체 값으로 `MY_KEY_ID`, `MY_SECRET_KEY`, 및 `MY_SESSION_TOKEN`을 마스킹하는 구성에 페어링을 추가합니다:

433 433 

434```json theme={null}434```json theme={null}

435{435{


449 449 

450각 항목은 다음 규칙을 따릅니다:450각 항목은 다음 규칙을 따릅니다:

451 451 

452* `accessKeyIdVar` 및 `secretAccessKeyVar`는 액세스 키 ID 및 비밀 키를 보유하는 마스킹된 `envVars` 항목의 이름을 지정합니다. 선택적 `sessionTokenVar`는 임시 자격증명의 세션 토큰을 보유하는 항목의 이름을 지정합니다. 설정되면 프록시는 다시 서명된 요청에서 실제 토큰을 `x-amz-security-token`으로 보냅니다.452* `accessKeyIdVar` 및 `secretAccessKeyVar`는 액세스 키 ID 및 비밀 키를 보유하는 마스킹된 `envVars` 항목의 이름을 지정합니다. 선택적 `sessionTokenVar`는 임시 자격 증명의 세션 토큰을 보유하는 항목의 이름을 지정합니다. 설정되면 프록시는 다시 서명된 요청에서 실제 토큰을 `x-amz-security-token`으로 보냅니다.

453* 각 명명된 변수는 `extract` 또는 `decode` 없이 전체 값을 마스킹하는 `mask` 항목이어야 합니다.453* 각 명명된 변수는 `extract` 또는 `decode` 없이 전체 값을 마스킹하는 `mask` 항목이어야 합니다.

454* 프록시는 액세스 키 ID 항목의 `injectHosts`에 나열된 호스트에서 요청을 다시 서명합니다.454* 프록시는 액세스 키 ID 항목의 `injectHosts`에 나열된 호스트에서 요청을 다시 서명합니다.

455* 페어에서 기존 변수를 명명하면 자동 페어링을 바꿉니다.455* 페어에서 기존 변수를 명명하면 자동 페어링을 바꿉니다.

456 456 

457`mask` 항목과 마찬가지로 `awsPairs`는 사용자 설정, 관리 설정 및 `--settings` CLI 플래그에서만 인정됩니다.457`mask` 항목과 마찬가지로 `awsPairs`는 사용자 설정, 관리 설정, 및 `--settings` CLI 플래그에서만 인정됩니다.

458 458 

459세 가지 AWS 요청 형식은 프록시가 다시 계산할 수 없는 서명을 전달합니다. 이러한 요청이 마스킹된 페어의 플레이스홀더로 서명되면 프록시는 손상된 서명을 전달하는 대신 실패합니다. 마스킹되지 않은 자격증명으로 서명된 요청은 절대 영향을 받지 않습니다. [`credentials.sigv4`](/docs/ko/settings-reference#sandbox-credentials-sigv4) 설정은 Claude Code v2.1.224 이상이 필요하며 형식당 이를 완화합니다: 형식의 키를 `passthrough`로 설정하면 플레이스홀더 파생 서명으로 요청을 전달하므로 호출 도구는 프록시 오류 대신 AWS 자체의 거부 응답을 받습니다. `awsPairs`와 마찬가지로 `sigv4`는 사용자 설정, 관리 설정 및 `--settings` CLI 플래그에서만 인정됩니다.459세 가지 AWS 요청 형식은 프록시가 다시 계산할 수 없는 서명을 수행합니다. 이러한 요청이 마스킹된 페어의 플레이스홀더로 서명되면 프록시는 손상된 서명을 전달하는 대신 실패합니다. 마스킹되지 않은 자격 증명으로 서명된 요청은 절대 영향을 받지 않습니다. [`credentials.sigv4`](/docs/ko/settings-reference#sandbox-credentials-sigv4) 설정은 Claude Code v2.1.224 이상이 필요하며 형식별로 이를 완화합니다: 형식의 키를 `passthrough`로 설정하면 플레이스홀더 파생 서명으로 요청을 전달하므로 호출 도구는 프록시 오류 대신 AWS 자체의 거부 응답을 받습니다. `awsPairs`와 마찬가지로 `sigv4`는 사용자 설정, 관리 설정, 및 `--settings` CLI 플래그에서만 인정됩니다.

460 460 

461| 요청 형식 | `sigv4` 키 | 프록시가 다시 서명할 수 없는 이유 |461| 요청 형식 | `sigv4` 키 | 프록시가 다시 서명할 수 없는 이유 |

462| :- | :- | :- |462| :- | :- | :- |


465| SigV4A 비대칭 서명 | `sigv4a` | 다시 계산할 공유 키 HMAC이 없습니다 |465| SigV4A 비대칭 서명 | `sigv4a` | 다시 계산할 공유 키 HMAC이 없습니다 |

466 466 

467<h4 id="mask-credential-files">467<h4 id="mask-credential-files">

468 자격증명 파일 마스킹468 자격 증명 파일 마스킹

469</h4>469</h4>

470 470 

471파일 항목도 `"mode": "mask"`를 허용하며, Claude Code v2.1.221 이상이 필요합니다. 샌드박싱된 명령이 보는 것은 플랫폼에 따라 다릅니다:471파일 항목도 `"mode": "mask"`를 허용하며, 이는 Claude Code v2.1.221 이상이 필요합니다. 샌드박싱된 명령이 보는 것은 플랫폼에 따라 다릅니다:

472 472 

473* **Linux 및 WSL2**: 샌드박싱된 명령은 파일의 센티널 복사본을 읽으며, 비밀이 플레이스홀더 값으로 바뀐 스탠드인이고, [샌드박스 프록시](#network-isolation)는 송신에서 실제 값으로 대체합니다.473* **Linux 및 WSL2**: 샌드박싱된 명령은 파일의 센티널 복사본을 읽으며, 비밀이 플레이스홀더 값으로 바뀐 대체이고, [샌드박스 프록시](#network-isolation)는 송신에서 실제 값으로 대체합니다.

474* **macOS**: 샌드박싱된 명령은 나열된 파일을 읽을 수 없습니다. Claude Code는 센티널 복사본을 구축하지 않으며 송신에서 아무것도 대체하지 않으므로 파일로 인증하는 도구는 샌드박스 내에서 작동하지 않으며, `deny`와 동일한 효과입니다. `deny` 항목과 달리 [파일시스템 격리를 비활성화](#disable-filesystem-isolation)할 때도 읽기 블록이 유지됩니다.474* **macOS**: 샌드박싱된 명령은 나열된 파일을 읽을 수 없습니다. Claude Code는 센티널 복사본을 구축하지 않으며 송신에서 아무것도 대체하지 않으므로 파일로 인증하는 도구는 샌드박스 내에서 작동하지 않으며, `deny`와 동일한 효과입니다. `deny` 항목과 달리 읽기 차단은 [파일 시스템 격리를 비활성화](#disable-filesystem-isolation)할 때도 유지됩니다.

475 475 

476모든 플랫폼에서 Claude Code는 [`network.tlsTerminate`](/docs/ko/settings-reference#sandbox-network-tlsterminate) 요구 사항 및 `injectHosts`를 [마스킹된 환경 변수](#mask-environment-variables)와 동일한 방식으로 적용하고 리포지토리 설정을 동일한 방식으로 무시합니다. [사용자 설정을 제외](#configure-sandboxing)하면 Claude Code는 `~/.claude/settings.json`의 파일 `mask` 항목을 제한으로 유지하지만 항목은 더 이상 프록시가 실제 값을 대체하도록 승인하지 않습니다.476모든 플랫폼에서 Claude Code는 [`network.tlsTerminate`](/docs/ko/settings-reference#sandbox-network-tlsterminate) 요구 사항 및 `injectHosts`를 [마스킹된 환경 변수](#mask-environment-variables)와 동일한 방식으로 적용하고, 저장소 설정을 동일한 방식으로 무시합니다. [사용자 설정을 제외](#configure-sandboxing)하면 Claude Code는 `~/.claude/settings.json`의 파일 `mask` 항목을 제한으로 유지하지만 항목은 더 이상 프록시가 실제 값을 대체하도록 권한을 부여하지 않습니다.

477 477 

478아래 예제는 `~/.config/gh/hosts.yml`에 저장된 GitHub 토큰을 마스킹합니다. 아래에서 다루는 `extract` 패턴은 Claude Code에 파일의 어느 부분이 비밀인지 알려줍니다. Linux 및 WSL2에서 파일을 읽는 샌드박싱된 명령은 토큰 대신 센티널을 얻으며 프록시는 `api.github.com`에 대한 요청에서 실제 토큰을 대체합니다:478아래 예시는 `~/.config/gh/hosts.yml`에 저장된 GitHub 토큰을 마스킹합니다. 아래에서 다루는 `extract` 패턴은 Claude Code에 파일의 어느 부분이 비밀인지 알려줍니다. Linux 및 WSL2에서 파일을 읽는 샌드박싱된 명령은 토큰 대신 센티널을 얻으며, 프록시는 `api.github.com`에 대한 요청에서 실제 토큰으로 대체합니다:

479 479 

480```json theme={null}480```json theme={null}

481{481{


499}499}

500```500```

501 501 

502마스크가 활성화되었는지 확인하려면 Claude에 샌드박싱된 명령에서 `cat ~/.config/gh/hosts.yml`을 실행하도록 요청합니다: Linux 및 WSL2에서 출력은 토큰 대신 센티널 값을 표시하고 macOS에서는 읽기가 실패합니다.502마스크가 활성화되었는지 확인하려면 Claude에게 샌드박싱된 명령에서 `cat ~/.config/gh/hosts.yml`을 실행하도록 요청합니다: Linux 및 WSL2에서 출력은 토큰 대신 센티널 값을 표시하고, macOS에서는 읽기가 실패합니다.

503 503 

504Linux 및 WSL2에서 `extract` 패턴은 `hosts.yml`의 나머지를 읽을 수 있게 유지하는 것입니다. Claude Code는 정규 표현식을 전체 파일에 적용하고 각 일치의 그룹 1로 캡처된 텍스트만 바꾸므로 `gh`는 여전히 구성을 파싱하고 토큰만 플레이스홀더입니다. `.netrc`, JSON 또는 YAML과 같이 도구가 파싱하는 구조화된 파일에 `extract`를 사용합니다. 패턴은 최소한 하나의 캡처 그룹을 포함해야 합니다. `extract` 없이 Claude Code는 전체 파일 내용을 하나의 센티널 값으로 바꾸며, 이는 단일 베어 비밀을 보유하고 다른 것은 없는 파일에 적합합니다.504Linux 및 WSL2에서 `extract` 패턴은 `hosts.yml`의 나머지를 읽을 수 있게 유지하는 것입니다. Claude Code는 전체 파일에 정규 표현식을 적용하고 각 일치의 그룹 1로 캡처된 텍스트만 바꾸므로 `gh`는 여전히 구성을 구문 분석하고 토큰만 플레이스홀더입니다. `.netrc`, JSON, 또는 YAML과 같이 도구가 구문 분석하는 구조화된 파일에 `extract`를 사용합니다. 패턴은 최소한 하나의 캡처 그룹을 포함해야 합니다. `extract` 없으면 Claude Code는 전체 파일 내용을 하나의 센티널 값으로 바꾸며, 이는 단일 베어 비밀을 보유하는 파일에 적합합니다.

505 505 

506JWT를 보유하는 파일의 경우 `extract` 대신 또는 함께 `decode: "jwt"`를 설정합니다. `decode`에는 Claude Code v2.1.224 이상이 필요합니다. Claude Code는 기본 제공 패턴 또는 설정된 `extract` 패턴으로 JWT 후보를 찾고, 각 후보가 JWT인지 확인하고, 이를 구조적으로 유효한 가짜 토큰으로 바꾸므로 샌드박스 내에서 토큰을 디코딩하는 코드는 계속 작동합니다. `maskClaims`를 추가하여 각 확인된 토큰 내에서 명명된 최상위 페이로드 클레임만 마스킹하고 다른 클레임은 읽을 수 있게 유지합니다. 후보가 확인되지 않거나 명명된 클레임이 일치하지 않으면 아래의 `onExtractNoMatch` 필드가 결과를 제어합니다. 패턴이 아무것도 일치하지 않을 때와 동일합니다.506JWT를 보유하는 파일의 경우 `extract` 대신 또는 함께 `decode: "jwt"`를 설정합니다. `decode`는 Claude Code v2.1.224 이상이 필요합니다. Claude Code는 기본 제공 패턴으로 JWT 후보를 찾거나 설정된 경우 `extract` 패턴으로 찾으며, 각 후보가 JWT인지 확인하고 이를 구조적으로 유효한 가짜 토큰으로 바꾸므로 샌드박스 내에서 토큰을 디코딩하는 코드는 계속 작동합니다. `maskClaims`를 추가하여 전체 토큰을 마스킹하는 대신 마스킹할 명명된 최상위 페이로드 클레임을 나열합니다. 후보가 JWT로 확인되지 않거나 명명된 클레임이 일치하지 않으면 아래의 `onExtractNoMatch` 필드가 결과를 제어하며, 패턴이 아무것도 일치하지 않을 때와 동일합니다.

507 507 

508두 개의 선택적 필드는 일치 동작을 개선합니다. 둘 다 `mode`가 `mask`이고 `extract` 또는 `decode`가 설정된 경우에만 적용됩니다. macOS에서 Claude Code는 파일시스템 격리가 켜져 있을 때마다 `mask` 항목을 `deny`로 적용하므로 이러한 필드 및 아래의 일치 없음 결과는 [파일시스템 격리가 꺼져 있을 때](#disable-filesystem-isolation)만 적용됩니다:508두 개의 선택적 필드는 일치 동작을 정제합니다. 둘 다 `mode`가 `mask`이고 `extract` 또는 `decode`가 설정된 경우에만 적용됩니다. macOS에서 Claude Code는 파일 시스템 격리가 켜져 있을 때마다 `mask` 항목을 `deny`로 적용하므로 이러한 필드 및 아래의 일치 없음 결과는 [파일 시스템 격리가 꺼져 있을 때](#disable-filesystem-isolation)만 적용됩니다:

509 509 

510* `onExtractNoMatch`는 일치가 파일에서 마스킹할 것을 찾지 못할 때 발생하는 일을 제어합니다:510* `onExtractNoMatch`는 파일에서 마스킹할 항목을 찾지 못할 때 발생하는 일을 제어합니다:

511 511 

512 * `warn`, 기본값, 경고하고 항목을 건너뜁니다. 샌드박싱된 명령은 실제 파일을 마스킹되지 않은 상태로 읽을 수 있습니다. 기본값은 자격증명이 합법적으로 없을 수 있는 경우에 적합합니다. 비밀이 있을 수 있지만 패턴이 놓칠 수 있으면 `deny`를 사용합니다512 * `warn`, 기본값, 경고하고 항목을 건너뜁니다. 따라서 샌드박싱된 명령은 마스크되지 않은 실제 파일을 읽을 수 있습니다. 기본값은 자격 증명이 합법적으로 없을 수 있는 경우에 적합합니다. 비밀이 있을 수 있지만 패턴이 놓칠 수 있으면 `deny`를 사용합니다

513 * `deny`는 파일을 대신 읽을 수 없게 만듭니다513 * `deny`는 파일을 읽을 수 없게 만듭니다

514 * `error`는 구성을 수정할 때까지 샌드박스 설정을 중지합니다514 * `error`는 구성을 수정할 때까지 샌드박스 설정을 중지합니다

515 515 

516 Claude Code는 [파일시스템 격리를 비활성화](#disable-filesystem-isolation)할 때 `deny`를 `error`로 처리하고, 모든 설정 소스의 `filesystem.allowRead` 항목이 파일의 경로를 다시 열 때도 마찬가지입니다.516 Claude Code는 읽기 차단이 적용되지 않을 때마다 `deny`를 `error`로 취급합니다: [파일 시스템 격리를 비활성화](#disable-filesystem-isolation)할 때, 그리고 모든 설정 소스의 `filesystem.allowRead` 항목이 파일의 경로를 다시 열 때입니다.

517* `maskDuplicates`는 또한 각 마스킹된 자격증명 값의 축자 복사본을 바꾸며, `extract` 캡처 또는 `decode` 확인된 토큰은 일치한 범위 외부에서 발견되며, 비밀이 일치가 도달하지 않는 곳에서 반복됩니다. 원시 부분 문자열을 일치시키므로 짧거나 일반적인 값은 나타나는 모든 곳에서 바뀝니다. 긴 고엔트로피 비밀을 위해 예약합니다. 기본값: false.517* `maskDuplicates`는 또한 각 마스킹된 자격 증명 값의 축자 복사본을 바꾸며, `extract` 캡처 또는 `decode` 검증된 토큰은 일치하는 범위 외부에서 발견되며, 일치가 도달하지 않는 곳에서 반복된 비밀의 경우입니다. 원시 부분 문자열을 일치시키므로 짧거나 일반적인 값은 나타나는 모든 곳에서 바뀝니다. 긴 고엔트로피 비밀을 위해 예약합니다. 기본값: false.

518 518 

519`mask`는 단일 파일에 적용되므로 각 자격증명 파일을 개별적으로 나열합니다. Claude Code는 안전하게 마스킹할 수 없는 `mask` 항목에 대해서는 `deny`로 폴백합니다: 디렉토리 경로, 글로브 패턴, 8 MiB보다 큰 파일 또는 UTF-8 텍스트가 아닌 파일. 디렉토리를 명시적 `deny` 항목으로 대신 작성합니다. [어떤 설정이 이를 비활성화할 수 있는지](#which-settings-can-disable-it) 아래의 표는 각 형식이 `filesystem.disabled`를 고정하는지 여부와 파일시스템 격리가 꺼져 있을 때 동작하는 방식을 다룹니다.519`mask`는 단일 파일에 적용되므로 각 자격 증명 파일을 개별적으로 나열합니다. Claude Code는 안전하게 마스킹할 수 없는 `mask` 항목으로 폴백합니다: 디렉터리 경로, 글로브 패턴, 8 MiB보다 큰 파일, 또는 UTF-8 텍스트가 아닌 파일입니다. 대신 디렉터리를 명시적 `deny` 항목으로 작성합니다. [어떤 설정이 이를 비활성화할 수 있는지](#which-settings-can-disable-it) 아래의 표는 각 형식이 `filesystem.disabled`를 고정하는지 여부와 파일 시스템 격리가 꺼져 있을 때 어떻게 동작하는지를 다룹니다.

520 520 

521<h2 id="how-sandboxing-works">521<h2 id="how-sandboxing-works">

522 샌드박싱 작동 방식522 샌드박싱 작동 방식


528 528 

529샌드박스된 Bash 도구는 파일 시스템 접근을 특정 디렉터리로 제한합니다:529샌드박스된 Bash 도구는 파일 시스템 접근을 특정 디렉터리로 제한합니다:

530 530 

531* **기본 쓰기 동작**: 현재 작업 디렉터리 및 그 하위 디렉터리, `--add-dir`, `/add-dir` 또는 [`permissions.additionalDirectories`](/docs/ko/settings-reference#permissions-additionaldirectories)로 추가한 모든 디렉터리, 그리고 `$TMPDIR`이 가리키는 세션 임시 디렉터리에 대한 읽기 및 쓰기 접근531* **기본 쓰기 동작**: 현재 작업 디렉터리 및 그 하위 디렉터리, `--add-dir`, `/add-dir` 또는 [`permissions.additionalDirectories`](/docs/ko/settings-reference#permissions-additionaldirectories)로 추가한 모든 디렉터리, 그리고 `$TMPDIR`이 가리키는 사용자별 임시 디렉터리에 대한 읽기 및 쓰기 접근

532* **기본 읽기 동작**: 특정 거부된 디렉터리를 제외한 전체 컴퓨터에 대한 읽기 접근. 이 기본 설정은 여전히 `~/.aws/credentials` 및 `~/.ssh/`와 같은 자격 증명 파일 읽기를 허용합니다. [`sandbox.credentials`](#protect-credentials)를 사용하여 이러한 파일의 읽기를 차단하고 비밀 환경 변수를 설정 해제하거나, 경로를 `denyRead`에 추가합니다.532* **기본 읽기 동작**: 특정 거부된 디렉터리를 제외한 전체 컴퓨터에 대한 읽기 접근. 이 기본 설정은 여전히 `~/.aws/credentials` 및 `~/.ssh/`와 같은 자격 증명 파일 읽기를 허용합니다. [`sandbox.credentials`](#protect-credentials)를 사용하여 이러한 파일의 읽기를 차단하고 비밀 환경 변수를 설정 해제하거나, 경로를 `denyRead`에 추가합니다.

533* **차단된 접근**: 명시적 권한 없이 작업 디렉터리, 추가된 디렉터리, 세션 임시 디렉터리 외부의 파일을 수정할 수 없습니다. 여기에는 `~/.bashrc`와 같은 셸 구성 파일 및 `/bin/`의 시스템 바이너리가 포함됩니다.533* **차단된 접근**: 명시적 권한 없이 작업 디렉터리, 추가된 디렉터리, 사용자별 임시 디렉터리 외부의 파일을 수정할 수 없습니다. 여기에는 `~/.bashrc`와 같은 셸 구성 파일 및 `/bin/`의 시스템 바이너리가 포함됩니다.

534* **Git worktrees**: 작업 디렉터리가 [연결된 git worktree](/docs/ko/worktrees)인 경우, 샌드박스는 `git commit`과 같은 명령이 refs 및 인덱스를 업데이트할 수 있도록 주 저장소의 공유 `.git` 디렉터리에 대한 쓰기도 허용합니다. 해당 디렉터리 내의 `hooks/` 및 `config`에 대한 쓰기는 계속 거부됩니다.534* **Git worktrees**: 작업 디렉터리가 [연결된 git worktree](/docs/ko/worktrees)인 경우, 샌드박스는 `git commit`과 같은 명령이 refs 및 인덱스를 업데이트할 수 있도록 주 저장소의 공유 `.git` 디렉터리에 대한 쓰기도 허용합니다. 해당 디렉터리 내의 `hooks/` 및 `config`에 대한 쓰기는 계속 거부됩니다.

535* **구성 가능**: 설정을 통해 사용자 정의 허용 및 거부 경로 정의535* **구성 가능**: 설정을 통해 사용자 정의 허용 및 거부 경로 정의

536 536 

security.md +2 −1

Details

126 126 

127* **격리된 가상 머신**: 각 클라우드 세션은 격리된 Anthropic 관리 VM에서 실행됩니다127* **격리된 가상 머신**: 각 클라우드 세션은 격리된 Anthropic 관리 VM에서 실행됩니다

128* **네트워크 액세스 제어**: 네트워크 액세스는 기본적으로 제한되며 비활성화되거나 특정 도메인만 허용하도록 구성할 수 있습니다128* **네트워크 액세스 제어**: 네트워크 액세스는 기본적으로 제한되며 비활성화되거나 특정 도메인만 허용하도록 구성할 수 있습니다

129* **자격증명 보호**: 인증은 샌드박스 내에서 범위가 지정된 자격증명을 사용하는 보안 프록시를 통해 처리되며, 이는 실제 GitHub 인증 토큰으로 변환됩니다129* **자격증명 보호**: GitHub 자격증명은 Anthropic의 서버에 암호화되어 저장되며 세션 VM에 절대 입력되지 않습니다. VM은 해당 세션으로 범위가 지정된 단기 자격증명을 보유하며, GitHub 트래픽은 서버 측에서 GitHub 자격증명을 첨부하는 [Anthropic 프록시](/docs/ko/cloud-environments#github-proxy)를 통해 이동합니다. 액세스를 부여하는 방법은 [GitHub 인증 옵션](/docs/ko/claude-code-on-the-web#github-authentication-options)을 참조하십시오

130* **분기 제한**: Git 푸시 작업은 현재 작업 분기로 제한됩니다130* **분기 제한**: Git 푸시 작업은 현재 작업 분기로 제한됩니다

131* **감사 로깅**: 클라우드 세션의 모든 작업은 규정 준수 및 감사 목적으로 기록됩니다131* **감사 로깅**: 클라우드 세션의 모든 작업은 규정 준수 및 감사 목적으로 기록됩니다

132* **자동 정리**: 세션 VM은 일정 기간의 비활성 후 회수됩니다132* **자동 정리**: 세션 VM은 일정 기간의 비활성 후 회수됩니다

133* **삭제**: [언제든지 세션을 삭제](/docs/ko/claude-code-on-the-web#delete-sessions)할 수 있습니다. 클라우드 세션에 대해 Anthropic이 저장하는 내용은 [클라우드 실행 데이터 흐름](/docs/ko/data-usage#cloud-execution-data-flow-and-dependencies)을 참조하십시오

133 134 

134클라우드 실행에 대한 자세한 내용은 [클라우드에서 Claude Code 사용](/docs/ko/claude-code-on-the-web)을 참조하십시오. 클라우드 세션의 네트워크 액세스를 구성하려면 [클라우드 환경 구성](/docs/ko/cloud-environments#network-access)을 참조하십시오.135클라우드 실행에 대한 자세한 내용은 [클라우드에서 Claude Code 사용](/docs/ko/claude-code-on-the-web)을 참조하십시오. 클라우드 세션의 네트워크 액세스를 구성하려면 [클라우드 환경 구성](/docs/ko/cloud-environments#network-access)을 참조하십시오.

135 136 

Details

220ENTRYPOINT ["claude"]220ENTRYPOINT ["claude"]

221```221```

222 222 

223노드가 ARM인 경우 `linux-x64`를 `linux-arm64`로 바꾸거나, Alpine과 같은 musl 기반 이미지에서 `linux-x64-musl` 또는 `linux-arm64-musl`로 바꾸세요. musl 이미지가 필요로 하는 추가 패키지는 [Alpine Linux 설정](/docs/ko/setup#alpine-linux-and-musl-based-distributions)을 참조하세요. URL은 표준 Claude Code 릴리스 위치이므로 [바이너리 무결성 및 코드 서명](/docs/ko/setup#binary-integrity-and-code-signing)에 설명된 대로 릴리스의 서명된 매니페스트에 대해 다운로드된 바이너리를 확인할 수 있습니다. Claude Code 버전 2.1.224 이상으로 이미지를 빌드한 다음 레지스트리로 푸시하고 아래 레시피에서 참조하세요:223노드가 ARM인 경우 `linux-x64`를 `linux-arm64`로 바꾸거나, Alpine과 같은 musl 기반 이미지에서 `linux-x64-musl` 또는 `linux-arm64-musl`로 바꾸세요. musl 이미지가 필요로 하는 추가 패키지는 [Alpine Linux 설정](/docs/ko/setup#alpine-linux-and-musl-based-distributions)을 참조하세요. URL은 표준 Claude Code 릴리스 위치이므로 [바이너리 무결성 및 코드 서명](/docs/ko/setup#binary-integrity-and-code-signing)에 설명된 대로 릴리스의 서명된 매니페스트에 대해 다운로드된 바이너리를 확인할 수 있습니다. 러너는 Claude Code 버전 2.1.224 이상이 필요합니다. 이미지를 빌드한 다음 레지스트리로 푸시하고 아래 레시피에서 참조하세요:

224 224 

225```bash theme={null}225```bash theme={null}

226docker build --build-arg CLAUDE_CODE_VERSION=2.1.267 -t <your-registry>/claude-runner:latest .226docker build \

227 --build-arg CLAUDE_CODE_VERSION="$(curl -fsSL https://downloads.claude.ai/claude-code-releases/stable)" \

228 -t <your-registry>/claude-runner:latest .

227```229```

228 230 

231명령 치환은 현재 `stable` 릴리스 번호를 조회하고 빌드 인수로 전달하므로, 새로운 안정 릴리스 후에 동일한 명령을 실행하면 더 새로운 바이너리로 다운로드 계층을 다시 빌드합니다. 재현 가능한 빌드를 위해 특정 릴리스를 고정하려면 버전 번호를 `CLAUDE_CODE_VERSION`으로 직접 전달하세요. [새로 출시된 모델이 필요로 하는](/docs/ko/model-config) 것과 같이 안정 채널보다 더 새로운 릴리스가 필요할 때 조회 URL에서 `stable`을 `latest`로 바꾸세요.

232 

229<h2 id="size-cpu-and-memory-for-sessions">233<h2 id="size-cpu-and-memory-for-sessions">

230 세션에 대한 CPU 및 메모리 크기 조정234 세션에 대한 CPU 및 메모리 크기 조정

231</h2>235</h2>

Details

220 220 

221서버 관리 전달은 이러한 동작을 추가합니다:221서버 관리 전달은 이러한 동작을 추가합니다:

222 222 

223* `~/.claude/remote-settings.json`의 캐시는 잘못된 항목이 제거된 구제된 페이로드를 저장합니다. 단, 잘못된 `cleanupPeriodDays` 및 `desktopSessionCleanupPeriodDays` 값은 캐시된 복사본에 남아 있으며 절대 적용되지 않습니다.223* `~/.claude/remote-settings.json`의 캐시에서 시작하는 것은 가져오기가 캐시를 작성한 방식과 동일하게 잘못된 항목을 처리합니다:

224* 페이로드의 어떤 필드도 구제될 수 없고 페이로드가 이러한 보존 키만 아닌 경우, Claude Code는 페이로드를 거부하고, 마지막으로 수락된 캐시된 설정을 유지하며, 디버그 로그에 `Remote settings: Settings validation failed - no fields could be salvaged`를 씁니다. `forceRemoteSettingsRefresh`가 설정되면, CLI는 대신 종료됩니다.224 * 검증에 실패한 항목은 삭제된 상태로 유지됩니다.

225 * [실패 폐쇄 키](/docs/ko/managed-settings#keys-that-fail-closed)는 더 엄격한 값을 유지합니다.

226 * 잘못된 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays` 값은 캐시된 복사본에 남아 있으며 절대 적용되지 않습니다.

227* Claude Code는 다음 세 가지가 모두 참일 때 페이로드에서 아무것도 적용하지 않고 캐시를 변경하지 않은 상태로 둡니다:

228 

229 * 페이로드의 모든 설정이 검증에 실패합니다.

230 * 이들 중 어느 것도 더 엄격한 값으로 폴백하지 않습니다.

231 * 페이로드가 이 두 보존 키 이외의 키를 보유합니다.

232 

233 시작 알림, `/status`, `claude doctor`는 그러면 [실패한 로드](/docs/ko/errors#remote-managed-settings-failed-to-load)를 원인 `no setting in the server response could be applied as written`과 함께 보고하며, 해당 항목은 세션이 실행되는 정책을 나타냅니다. [실패 폐쇄 시작을 적용](#enforce-fail-closed-startup)하는 클라이언트는 대신 시작 시 종료됩니다.

225* [보안 승인 대화](#security-approval-dialogs)는 구제된 페이로드를 평가하므로, 제거된 잘못된 항목은 승인을 위해 제시되지 않으며 절대 실행되지 않습니다.234* [보안 승인 대화](#security-approval-dialogs)는 구제된 페이로드를 평가하므로, 제거된 잘못된 항목은 승인을 위해 제시되지 않으며 절대 실행되지 않습니다.

226 235 

227전달 문제를 디버그하려면 `claude --debug-file <path>`를 실행하고 로그에서 `Remote settings`를 검색하세요. 조직에 배포하기 전에 테스트 머신에서 `claude doctor`로 페이로드 변경을 검증하세요.236전달 문제를 디버그하려면 `claude --debug-file <path>`를 실행하고 로그에서 `Remote settings`를 검색하세요. 조직에 배포하기 전에 테스트 머신에서 `claude doctor`로 페이로드 변경을 검증하세요.

sessions.md +2 −1

Details

43* 권한 모드: 터미널에서 `claude --continue`, `claude --resume <session-id>` 또는 이름이 한 세션과 일치할 때 `-p` 없이 `claude --resume <name>`으로 재개하면 Claude Code는 세션이 있던 권한 모드를 복원합니다. 단, [재개 시 권한 모드](#permission-mode-on-resume)의 경우는 제외되며, 이는 세션 선택기, `/resume` 및 `claude -p`로 재개하는 경우도 포함합니다. `--permission-mode` 또는 `--dangerously-skip-permissions`를 전달하여 복원된 모드를 재정의합니다.43* 권한 모드: 터미널에서 `claude --continue`, `claude --resume <session-id>` 또는 이름이 한 세션과 일치할 때 `-p` 없이 `claude --resume <name>`으로 재개하면 Claude Code는 세션이 있던 권한 모드를 복원합니다. 단, [재개 시 권한 모드](#permission-mode-on-resume)의 경우는 제외되며, 이는 세션 선택기, `/resume` 및 `claude -p`로 재개하는 경우도 포함합니다. `--permission-mode` 또는 `--dangerously-skip-permissions`를 전달하여 복원된 모드를 재정의합니다.

44* 활성 목표: 세션이 종료될 때 여전히 활성이던 [목표](/docs/ko/goal#resume-with-an-active-goal)는 이월됩니다. 해당 턴 수, 타이머 및 토큰 지출 기준선이 재설정됩니다.44* 활성 목표: 세션이 종료될 때 여전히 활성이던 [목표](/docs/ko/goal#resume-with-an-active-goal)는 이월됩니다. 해당 턴 수, 타이머 및 토큰 지출 기준선이 재설정됩니다.

45* 예약된 작업: [만료되지 않은 작업](/docs/ko/scheduled-tasks#limitations)이 복원됩니다. 백그라운드 Bash 및 모니터 작업은 복원되지 않습니다.45* 예약된 작업: [만료되지 않은 작업](/docs/ko/scheduled-tasks#limitations)이 복원됩니다. 백그라운드 Bash 및 모니터 작업은 복원되지 않습니다.

46* 백그라운드 작업: [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background), 백그라운드 Bash 명령 또는 이전 프로세스로 끝난 [워크플로우](/docs/ko/workflows)는 재개된 대화 기록에 완료되지 않았다는 메모로 표시됩니다. Claude Code는 이러한 메모에서 턴을 시작하지 않습니다. Claude는 다음 프롬프트와 함께 이를 읽습니다.

46 47 

47원본 시작의 모든 구성 플래그가 복원되는 것은 아닙니다. 세션이 `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model` 또는 `--add-dir`로 추가된 디렉토리에 의존하는 경우 재개할 때 다시 전달합니다. 세션 중간에 `/add-dir`로 추가된 디렉토리도 복원되지 않지만 세션 선택기는 여전히 이를 사용하여 세션을 찾습니다. `settings.json` 및 `settings.local.json`과 같은 표준 설정 파일은 시작 시 다시 읽히므로 이들 파일에 있는 구성은 다시 전달할 필요가 없습니다. `--system-prompt` 및 `--append-system-prompt`는 [재개된 대화의 시스템 프롬프트 플래그](/docs/ko/cli-reference#system-prompt-flags-in-resumed-conversations)를 참조하세요.48원본 시작의 모든 구성 플래그가 복원되는 것은 아닙니다. 세션이 `--mcp-config`, `--settings`, `--plugin-dir`, `--fallback-model` 또는 `--add-dir`로 추가된 디렉토리에 의존하는 경우 재개할 때 다시 전달합니다. 세션 중간에 `/add-dir`로 추가된 디렉토리도 복원되지 않지만 세션 선택기는 여전히 이를 사용하여 세션을 찾습니다. `settings.json` 및 `settings.local.json`과 같은 표준 설정 파일은 시작 시 다시 읽히므로 이들 파일에 있는 구성은 다시 전달할 필요가 없습니다. `--system-prompt` 및 `--append-system-prompt`는 [재개된 대화의 시스템 프롬프트 플래그](/docs/ko/cli-reference#system-prompt-flags-in-resumed-conversations)를 참조하세요.

48 49 


76 77 

77`claude -p --resume` 또는 `claude -p --continue` 실행은 네 가지 조건이 모두 충족될 때만 계획 모드에서 재개됩니다:78`claude -p --resume` 또는 `claude -p --continue` 실행은 네 가지 조건이 모두 충족될 때만 계획 모드에서 재개됩니다:

78 79 

79* [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)을 전달하여 Claude Code가 승인을 위해 계획을 제시할 수 있습니다80* [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)을 전달하고 [`--permission-prompts none`](/docs/ko/headless#turn-off-permission-prompts-in-unattended-runs)을 전달하지 않아서 Claude Code가 승인을 위해 계획을 제시할 수 있습니다

80* `--permission-mode` 또는 `--dangerously-skip-permissions`를 전달하지 않습니다81* `--permission-mode` 또는 `--dangerously-skip-permissions`를 전달하지 않습니다

81* `--fork-session`을 전달하지 않습니다82* `--fork-session`을 전달하지 않습니다

82* 실행이 [채널](/docs/ko/channels)을 통해 시작되지 않습니다83* 실행이 [채널](/docs/ko/channels)을 통해 시작되지 않습니다

settings-reference.md +570 −371

Details

620| [`autoScrollEnabled`](#autoscrollenabled) | 전체 화면 렌더링에서 [새 출력을 아래로 따라가기](/docs/ko/fullscreen#auto-follow) | 인터페이스 및 터미널 | 모든 파일 |620| [`autoScrollEnabled`](#autoscrollenabled) | 전체 화면 렌더링에서 [새 출력을 아래로 따라가기](/docs/ko/fullscreen#auto-follow) | 인터페이스 및 터미널 | 모든 파일 |

621| [`autoUpdatesChannel`](#autoupdateschannel) | 최신 대신 안정적인 [릴리스 채널](/docs/ko/setup#configure-release-channel) 따르기 | 업데이트 및 버전 관리 | 모든 파일 |621| [`autoUpdatesChannel`](#autoupdateschannel) | 최신 대신 안정적인 [릴리스 채널](/docs/ko/setup#configure-release-channel) 따르기 | 업데이트 및 버전 관리 | 모든 파일 |

622| [`availableModels`](#availablemodels) | [사람들이 선택할 수 있는 모델 제한](/docs/ko/model-config#restrict-model-selection) | 모델 및 응답 | 모든 파일 |622| [`availableModels`](#availablemodels) | [사람들이 선택할 수 있는 모델 제한](/docs/ko/model-config#restrict-model-selection) | 모델 및 응답 | 모든 파일 |

623| [`availableModelsMatch`](#availablemodelsmatch) | 각 `availableModels` 모델 ID 항목이 [이름을 지정하는 버전만 허용](/docs/ko/model-config#block-specific-models-or-versions)하도록 만들기 | 모델 및 응답 | 관리됨 |

623| [`awaySummaryEnabled`](#awaysummaryenabled) | 터미널로 돌아올 때 표시되는 [세션 요약](/docs/ko/interactive-mode#session-recap) 끄기 | 원격, 데스크톱, 알림 | 모든 파일 |624| [`awaySummaryEnabled`](#awaysummaryenabled) | 터미널로 돌아올 때 표시되는 [세션 요약](/docs/ko/interactive-mode#session-recap) 끄기 | 원격, 데스크톱, 알림 | 모든 파일 |

624| [`awsAuthRefresh`](#awsauthrefresh) | 자신의 명령으로 `.aws`에서 만료된 [Bedrock 자격증명](/docs/ko/amazon-bedrock#advanced-credential-configuration) 새로 고침 | 인증 및 공급자 | 모든 파일 |625| [`awsAuthRefresh`](#awsauthrefresh) | 자신의 명령으로 `.aws`에서 만료된 [Bedrock 자격증명](/docs/ko/amazon-bedrock#advanced-credential-configuration) 새로 고침 | 인증 및 공급자 | 모든 파일 |

625| [`awsCredentialExport`](#awscredentialexport) | 자신의 명령에서 JSON으로 [Bedrock 자격증명](/docs/ko/amazon-bedrock#advanced-credential-configuration) 제공 | 인증 및 공급자 | 모든 파일 |626| [`awsCredentialExport`](#awscredentialexport) | 자신의 명령에서 JSON으로 [Bedrock 자격증명](/docs/ko/amazon-bedrock#advanced-credential-configuration) 제공 | 인증 및 공급자 | 모든 파일 |

626| [`axScreenReader`](#axscreenreader) | [화면 판독기 친화적 출력](/docs/ko/accessibility) 렌더링 | 인터페이스 및 터미널 | 모든 파일 |627| [`axScreenReader`](#axscreenreader) | [화면 판독기 친화적 출력](/docs/ko/accessibility) 렌더링 | 인터페이스 및 터미널 | 모든 파일 |

627| [`bashEditDiffEnabled`](#basheditdiffenabled) | [Bash 명령이 변경한 파일](/docs/ko/hooks#bash)을 모든 권한 모드에서 기록 | 인터페이스 및 터미널 | 사용자 또는 관리됨 |628| [`bashEditDiffEnabled`](#basheditdiffenabled) | [Bash 명령이 변경한 파일](/docs/ko/hooks#bash)을 모든 권한 모드에서 기록 | 인터페이스 및 터미널 | 사용자 또는 관리됨 |

628| [`bashOutputMaxChars`](#bashoutputmaxchars) | 성공한 명령의 [출력](/docs/ko/tools-reference#output-limits) 중 Claude가 인라인으로 받는 양 설정 | 메모리 및 컨텍스트 | 모든 파일 |629| [`bashOutputMaxChars`](#bashoutputmaxchars) | 성공한 명령의 [출력](/docs/ko/tools-reference#output-limits) 중 Claude가 인라인으로 받는 양 설정 | 메모리 및 컨텍스트 | 모든 파일 |

629| [`blockedMarketplaces`](#blockedmarketplaces) | 조직의 [플러그인 마켓플레이스](/docs/ko/plugin-marketplaces) 소스 차단 | 플러그인 및 기술 | 관리됨 |630| [`blockedMarketplaces`](#blockedmarketplaces) | 조직의 [플러그인 마켓플레이스](/docs/ko/plugins/overview) 소스 차단 | 플러그인 및 기술 | 관리됨 |

630| [`browserExternalPageTools`](#browserexternalpagetools) | [데스크톱](/docs/ko/desktop) 브라우저 창의 외부 페이지에서 Claude의 도구 끄기 | 도구 | 관리됨 |631| [`browserExternalPageTools`](#browserexternalpagetools) | [데스크톱](/docs/ko/desktop) 브라우저 창의 외부 페이지에서 Claude의 도구 끄기 | 도구 | 관리됨 |

631| [`channelsEnabled`](#channelsenabled) | 조직의 [채널](/docs/ko/channels#enable-channels-for-your-organization) 허용 | 플러그인 및 기술 | 관리됨 |632| [`channelsEnabled`](#channelsenabled) | 조직의 [채널](/docs/ko/channels#enable-channels-for-your-organization) 허용 | 플러그인 및 기술 | 관리됨 |

633| [`claudeInChromeDefaultEnabled`](#claudeinchromedefaultenabled) | `--chrome`을 전달하지 않고 모든 대화형 CLI 세션에서 [Chrome 통합](/docs/ko/chrome) 켜기 | 전역 설정 | 전역 설정 |

632| [`claudeMd`](#claudemd) | 관리되는 설정에서 조직 전체 [CLAUDE.md](/docs/ko/memory#deploy-organization-wide-claude-md) 지침 주입 | 메모리 및 컨텍스트 | 관리됨 |634| [`claudeMd`](#claudemd) | 관리되는 설정에서 조직 전체 [CLAUDE.md](/docs/ko/memory#deploy-organization-wide-claude-md) 지침 주입 | 메모리 및 컨텍스트 | 관리됨 |

633| [`claudeMdExcludes`](#claudemdexcludes) | 메모리가 로드될 때 특정 [CLAUDE.md](/docs/ko/memory#exclude-specific-claude-md-files) 파일 건너뛰기 | 메모리 및 컨텍스트 | 모든 파일 |635| [`claudeMdExcludes`](#claudemdexcludes) | 메모리가 로드될 때 특정 [CLAUDE.md](/docs/ko/memory#exclude-specific-claude-md-files) 파일 건너뛰기 | 메모리 및 컨텍스트 | 모든 파일 |

634| [`cleanupPeriodDays`](#cleanupperioddays) | Claude Code가 [트랜스크립트](/docs/ko/data-usage#data-retention)를 삭제하기 전에 유지하는 일 수 선택 | 개인정보 보호 및 원격 측정 | 모든 파일 |636| [`cleanupPeriodDays`](#cleanupperioddays) | Claude Code가 [트랜스크립트](/docs/ko/data-usage#data-retention)를 삭제하기 전에 유지하는 일 수 선택 | 개인정보 보호 및 원격 측정 | 모든 파일 |

635| [`companyAnnouncements`](#companyannouncements) | 시작 시 조직의 공지사항 표시 | 인터페이스 및 터미널 | 모든 파일 |637| [`companyAnnouncements`](#companyannouncements) | 시작 시 조직의 공지사항 표시 | 인터페이스 및 터미널 | 모든 파일 |

638| [`copyFullResponse`](#copyfullresponse) | [`/copy`](/docs/ko/commands)가 코드 블록 선택기를 표시하지 않고 전체 응답을 복사하도록 만들기 | 전역 설정 | 전역 설정 |

636| [`copyOnSelect`](#copyonselect) | [전체 화면 렌더링](/docs/ko/fullscreen#use-the-mouse) 및 에이전트 보기에서 마우스로 선택한 텍스트의 자동 복사 끄기 | 전역 설정 | 전역 설정 |639| [`copyOnSelect`](#copyonselect) | [전체 화면 렌더링](/docs/ko/fullscreen#use-the-mouse) 및 에이전트 보기에서 마우스로 선택한 텍스트의 자동 복사 끄기 | 전역 설정 | 전역 설정 |

637| [`crossSessionInbound`](#crosssessioninbound) | Claude Code가 [다른 세션의 메시지](/docs/ko/cross-session-messaging#control-inbound-messages)를 전달하는지, 전달하지 않고 공지를 표시하는지, 거부하는지 선택 | 에이전트, 세션, 워크트리 | 모든 파일 |640| [`crossSessionInbound`](#crosssessioninbound) | Claude Code가 [다른 세션의 메시지](/docs/ko/cross-session-messaging#control-inbound-messages)를 전달하는지, 전달하지 않고 공지를 표시하는지, 거부하는지 선택 | 에이전트, 세션, 워크트리 | 모든 파일 |

638| [`defaultShell`](#defaultshell) | [`!` 접두사](/docs/ko/interactive-mode#shell-mode-with-prefix)로 입력한 셸 명령을 Bash 또는 PowerShell 중 어느 것이 실행할지 선택 | 인터페이스 및 터미널 | 모든 파일 |641| [`defaultShell`](#defaultshell) | [`!` 접두사](/docs/ko/interactive-mode#shell-mode-with-prefix)로 입력한 셸 명령을 Bash 또는 PowerShell 중 어느 것이 실행할지 선택 | 인터페이스 및 터미널 | 모든 파일 |

642| [`defaultToAgentsView`](#defaulttoagentsview) | 인수 없이 `claude`를 실행할 때 새 대화 대신 [에이전트 보기](/docs/ko/agent-view) 열기 | 전역 설정 | 전역 설정 |

639| [`deniedMcpServers`](#deniedmcpservers) | URL, 명령 또는 이름으로 특정 [MCP 서버](/docs/ko/mcp) 차단 | MCP | 모든 파일 |643| [`deniedMcpServers`](#deniedmcpservers) | URL, 명령 또는 이름으로 특정 [MCP 서버](/docs/ko/mcp) 차단 | MCP | 모든 파일 |

644| [`deniedModels`](#deniedmodels) | [특정 모델 차단](/docs/ko/model-config#block-specific-models-or-versions), `availableModels`가 허용하는 것도 포함 | 모델 및 응답 | 관리됨 |

640| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | [Claude Desktop 및 Cowork 트랜스크립트](/docs/ko/claude-directory#cleaned-up-automatically)의 나이 제한을 일 단위로 설정 | 개인정보 보호 및 원격 측정 | 사용자 또는 관리됨 |645| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | [Claude Desktop 및 Cowork 트랜스크립트](/docs/ko/claude-directory#cleaned-up-automatically)의 나이 제한을 일 단위로 설정 | 개인정보 보호 및 원격 측정 | 사용자 또는 관리됨 |

641| [`dialogExpiry`](#dialogexpiry) | Claude Code가 [Remote Control](/docs/ko/remote-control) 또는 SDK 호스트의 전달된 대화에 답하기를 기다리는 시간 설정 | 인터페이스 및 터미널 | 사용자 또는 관리됨 |646| [`dialogExpiry`](#dialogexpiry) | Claude Code가 [Remote Control](/docs/ko/remote-control) 또는 SDK 호스트의 전달된 대화에 답하기를 기다리는 시간 설정 | 인터페이스 및 터미널 | 사용자 또는 관리됨 |

642| [`diffTool`](#difftool) | Claude의 제안된 파일 변경이 [VS Code](/docs/ko/vs-code) 또는 [JetBrains](/docs/ko/jetbrains#features) diff 뷰어에서 열리는지 또는 터미널에 남아있는지 선택 | 전역 설정 | 전역 설정 |647| [`diffTool`](#difftool) | Claude의 제안된 파일 변경이 [VS Code](/docs/ko/vs-code) 또는 [JetBrains](/docs/ko/jetbrains#features) diff 뷰어에서 열리는지 또는 터미널에 남아있는지 선택 | 전역 설정 | 전역 설정 |


647| [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) | [데스크톱](/docs/ko/desktop) 브라우저 창을 사람 및 Claude의 localhost로 제한 | 도구 | 관리됨 |652| [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) | [데스크톱](/docs/ko/desktop) 브라우저 창을 사람 및 Claude의 localhost로 제한 | 도구 | 관리됨 |

648| [`disableBundledSkills`](#disablebundledskills) | Claude Code에 포함된 [기술](/docs/ko/skills#bundled-skills) 및 [워크플로우](/docs/ko/workflows) 끄기 | 플러그인 및 기술 | 모든 파일 |653| [`disableBundledSkills`](#disablebundledskills) | Claude Code에 포함된 [기술](/docs/ko/skills#bundled-skills) 및 [워크플로우](/docs/ko/workflows) 끄기 | 플러그인 및 기술 | 모든 파일 |

649| [`disableClaudeAiConnectors`](#disableclaudeaiconnectors) | [claude.ai 커넥터](/docs/ko/mcp#disable-claude-ai-connectors)를 끄기 때문에 Claude Code가 가져오지 않음 | MCP | 모든 파일 |654| [`disableClaudeAiConnectors`](#disableclaudeaiconnectors) | [claude.ai 커넥터](/docs/ko/mcp#disable-claude-ai-connectors)를 끄기 때문에 Claude Code가 가져오지 않음 | MCP | 모든 파일 |

650| [`disableCommandPluginSources`](#disablecommandpluginsources) | 마켓플레이스 선언 명령을 실행하여 설치하는 [플러그인](/docs/ko/plugins) 차단 | 플러그인 및 기술 | 관리됨 |655| [`disableCommandPluginSources`](#disablecommandpluginsources) | 마켓플레이스 선언 명령을 실행하여 설치하는 [플러그인](/docs/ko/plugins/overview) 차단 | 플러그인 및 기술 | 관리됨 |

651| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Claude Code가 [`claude-cli://` 핸들러](/docs/ko/deep-links) 등록 중지 | 원격, 데스크톱, 알림 | 모든 파일 |656| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Claude Code가 [`claude-cli://` 핸들러](/docs/ko/deep-links) 등록 중지 | 원격, 데스크톱, 알림 | 모든 파일 |

652| [`disableDesktopLocalSessions`](#disabledesktoplocalsessions) | 기기에서 실행되는 [Desktop Code 세션](/docs/ko/desktop#local-sessions-on-managed-devices) 끄기, SSH를 다른 호스트 및 클라우드로 남겨두기 | 원격, 데스크톱, 알림 | 관리됨 |657| [`disableDesktopLocalSessions`](#disabledesktoplocalsessions) | 기기에서 실행되는 [Desktop Code 세션](/docs/ko/desktop#local-sessions-on-managed-devices) 끄기, SSH를 다른 호스트 및 클라우드로 남겨두기 | 원격, 데스크톱, 알림 | 관리됨 |

653| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | 프로젝트의 [`.mcp.json`](/docs/ko/mcp#project-scope)에서 특정 서버 거부 | MCP | 모든 파일 |658| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | 프로젝트의 [`.mcp.json`](/docs/ko/mcp#project-scope)에서 특정 서버 거부 | MCP | 모든 파일 |

654| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | [데스크톱](/docs/ko/desktop) iOS 시뮬레이터 창에서 Claude의 도구 차단 | 도구 | 관리됨 |659| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | [데스크톱](/docs/ko/desktop) iOS 시뮬레이터 창에서 Claude의 도구 차단 | 도구 | 관리됨 |

655| [`disableRemoteControl`](#disableremotecontrol) | [Remote Control](/docs/ko/remote-control)을 시작할 수 있는 모든 곳에서 끄기 | 원격, 데스크톱, 알림 | 모든 파일 |660| [`disableRemoteControl`](#disableremotecontrol) | [Remote Control](/docs/ko/remote-control)을 시작할 수 있는 모든 곳에서 끄기 | 원격, 데스크톱, 알림 | 모든 파일 |

656| [`disableSideloadFlags`](#disablesideloadflags) | [플러그인](/docs/ko/plugins), [subagent](/docs/ko/sub-agents), [MCP 서버](/docs/ko/mcp)를 사이드로드하는 CLI 플래그 거부 | 엔터프라이즈 및 관리 설정 | 관리됨 |661| [`disableSideloadFlags`](#disablesideloadflags) | [플러그인](/docs/ko/plugins/overview), [subagent](/docs/ko/sub-agents), [MCP 서버](/docs/ko/mcp)를 사이드로드하는 CLI 플래그 거부 | 엔터프라이즈 및 관리 설정 | 관리됨 |

657| [`disableSkillShellExecution`](#disableskillshellexecution) | [기술](/docs/ko/skills) 및 사용자 정의 명령이 인라인 셸 실행 중지 | 플러그인 및 기술 | 모든 파일 |662| [`disableSkillShellExecution`](#disableskillshellexecution) | [기술](/docs/ko/skills) 및 사용자 정의 명령이 인라인 셸 실행 중지 | 플러그인 및 기술 | 모든 파일 |

658| [`disableWorkflows`](#disableworkflows) | 모든 사람을 위해 [동적 워크플로우](/docs/ko/workflows) 끄기; 자신을 위해 `enableWorkflows` 사용 | 훅 및 자동화 | 모든 파일 |663| [`disableWorkflows`](#disableworkflows) | 모든 사람을 위해 [동적 워크플로우](/docs/ko/workflows) 끄기; 자신을 위해 `enableWorkflows` 사용 | 훅 및 자동화 | 모든 파일 |

659| [`editorMode`](#editormode) | 입력 프롬프트에서 [vim 키 바인딩](/docs/ko/interactive-mode#vim-editor-mode) 사용 | 인터페이스 및 터미널 | 모든 파일 |664| [`editorMode`](#editormode) | 입력 프롬프트에서 [vim 키 바인딩](/docs/ko/interactive-mode#vim-editor-mode) 사용 | 인터페이스 및 터미널 | 모든 파일 |


662| [`enableAllProjectMcpServers`](#enableallprojectmcpservers) | 프롬프트 없이 프로젝트 [`.mcp.json`](/docs/ko/mcp#project-server-approvals-and-workspace-trust) 파일의 모든 서버 승인 | MCP | 모든 파일 |667| [`enableAllProjectMcpServers`](#enableallprojectmcpservers) | 프롬프트 없이 프로젝트 [`.mcp.json`](/docs/ko/mcp#project-server-approvals-and-workspace-trust) 파일의 모든 서버 승인 | MCP | 모든 파일 |

663| [`enableArtifact`](#enableartifact) | 모든 파일에서 `false`로 [Artifact 도구](/docs/ko/artifacts) 끄기; 어떤 파일도 다시 켤 수 없음 | 원격, 데스크톱, 알림 | 모든 파일 |668| [`enableArtifact`](#enableartifact) | 모든 파일에서 `false`로 [Artifact 도구](/docs/ko/artifacts) 끄기; 어떤 파일도 다시 켤 수 없음 | 원격, 데스크톱, 알림 | 모든 파일 |

664| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | 프로젝트의 [`.mcp.json`](/docs/ko/mcp#project-server-approvals-and-workspace-trust)에서 특정 서버 승인 | MCP | 모든 파일 |669| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | 프로젝트의 [`.mcp.json`](/docs/ko/mcp#project-server-approvals-and-workspace-trust)에서 특정 서버 승인 | MCP | 모든 파일 |

665| [`enabledPlugins`](#enabledplugins) | 범위별로 개별 [플러그인](/docs/ko/plugins) 켜기 또는 끄기 | 플러그인 및 기술 | 모든 파일 |670| [`enabledPlugins`](#enabledplugins) | 범위별로 개별 [플러그인](/docs/ko/plugins/overview) 켜기 또는 끄기 | 플러그인 및 기술 | 모든 파일 |

666| [`enableWorkflows`](#enableworkflows) | 계획의 기본값에 대해 [동적 워크플로우](/docs/ko/workflows) 켜기 또는 끄기 | 훅 및 자동화 | 모든 파일 |671| [`enableWorkflows`](#enableworkflows) | 계획의 기본값에 대해 [동적 워크플로우](/docs/ko/workflows) 켜기 또는 끄기 | 훅 및 자동화 | 모든 파일 |

667| [`enforceAvailableModels`](#enforceavailablemodels) | [`/model` 기본 선택](/docs/ko/model-config#enforce-the-allowlist-for-the-default-model)을 `availableModels` 허용 목록 내에 유지 | 모델 및 응답 | 모든 파일 |672| [`enforceAvailableModels`](#enforceavailablemodels) | [`/model` 기본 선택](/docs/ko/model-config#enforce-the-allowlist-for-the-default-model)을 `availableModels` 허용 목록 내에 유지 | 모델 및 응답 | 모든 파일 |

668| [`env`](#env) | 모든 세션 및 해당 부프로세스에 대해 [환경 변수](/docs/ko/env-vars#in-settings-files) 설정 | 메모리 및 컨텍스트 | 모든 파일 |673| [`env`](#env) | 모든 세션 및 해당 부프로세스에 대해 [환경 변수](/docs/ko/env-vars#in-settings-files) 설정 | 메모리 및 컨텍스트 | 모든 파일 |

669| [`externalEditorContext`](#externaleditorcontext) | [Ctrl+G](/docs/ko/interactive-mode#general-controls)를 눌러 편집할 때 Claude의 마지막 응답을 주석으로 표시 | 전역 설정 | 전역 설정 |674| [`externalEditorContext`](#externaleditorcontext) | [Ctrl+G](/docs/ko/interactive-mode#general-controls)를 눌러 편집할 때 Claude의 마지막 응답을 주석으로 표시 | 전역 설정 | 전역 설정 |

670| [`extraKnownMarketplaces`](#extraknownmarketplaces) | 저장소 또는 조직의 [마켓플레이스](/docs/ko/plugin-marketplaces) 등록 | 플러그인 및 기술 | 모든 파일 |675| [`extraKnownMarketplaces`](#extraknownmarketplaces) | 저장소 또는 조직의 [마켓플레이스](/docs/ko/plugins/overview) 등록 | 플러그인 및 기술 | 모든 파일 |

671| [`fallbackModel`](#fallbackmodel) | 기본이 과부하일 때 [백업 모델](/docs/ko/model-config#fallback-model-chains) 이름 지정 | 모델 및 응답 | 모든 파일 |676| [`fallbackModel`](#fallbackmodel) | 기본이 과부하일 때 [백업 모델](/docs/ko/model-config#fallback-model-chains) 이름 지정 | 모델 및 응답 | 모든 파일 |

672| [`fastMode`](#fastmode) | 사용 가능한 세션에 대해 [빠른 모드](/docs/ko/fast-mode) 켜기 | 모델 및 응답 | 모든 파일 |677| [`fastMode`](#fastmode) | 사용 가능한 세션에 대해 [빠른 모드](/docs/ko/fast-mode) 켜기 | 모델 및 응답 | 모든 파일 |

673| [`fastModePerSessionOptIn`](#fastmodepersessionoptin) | 사람들이 각 세션에서 [빠른 모드](/docs/ko/fast-mode) 켜도록 요구 | 모델 및 응답 | 모든 파일 |678| [`fastModePerSessionOptIn`](#fastmodepersessionoptin) | 사람들이 각 세션에서 [빠른 모드](/docs/ko/fast-mode) 켜도록 요구 | 모델 및 응답 | 모든 파일 |


690| [`isolatePeerMachines`](#isolatepeermachines) | Claude가 [다른 기계의 세션 중 하나에 메시지를 보내기](/docs/ko/cross-session-messaging#require-approval-for-cross-machine-messages) 전에 물어보기 | 에이전트, 세션, 워크트리 | 모든 파일 |695| [`isolatePeerMachines`](#isolatepeermachines) | Claude가 [다른 기계의 세션 중 하나에 메시지를 보내기](/docs/ko/cross-session-messaging#require-approval-for-cross-machine-messages) 전에 물어보기 | 에이전트, 세션, 워크트리 | 모든 파일 |

691| [`keybindingFlavor`](#keybindingflavor) | 더 이상 사용되지 않으며 효과 없음; 단어 편집 바로 가기는 항상 [readline 규칙](/docs/ko/interactive-mode#make-ctrl-w-delete-back-to-whitespace)을 따름 | 인터페이스 및 터미널 | 모든 파일 |696| [`keybindingFlavor`](#keybindingflavor) | 더 이상 사용되지 않으며 효과 없음; 단어 편집 바로 가기는 항상 [readline 규칙](/docs/ko/interactive-mode#make-ctrl-w-delete-back-to-whitespace)을 따름 | 인터페이스 및 터미널 | 모든 파일 |

692| [`language`](#language) | Claude가 영어 이외의 언어로 응답하도록 함 | 모델 및 응답 | 모든 파일 |697| [`language`](#language) | Claude가 영어 이외의 언어로 응답하도록 함 | 모델 및 응답 | 모든 파일 |

698| [`leftArrowOpensAgents`](#leftarrowopensagents) | [세션을 백그라운드로 보내고 에이전트 보기를 열기](/docs/ko/agent-view#switch-sessions-without-leaving-the-terminal)하는 `←` 바로 가기 끄기 | 전역 설정 | 전역 설정 |

693| [`managedMcpServers`](#managedmcpservers) | 사용자가 추가하는 것과 함께 모든 사용자에게 원격 [MCP 서버](/docs/ko/managed-mcp#provide-servers-through-managed-settings) 제공 | MCP | 관리됨 |699| [`managedMcpServers`](#managedmcpservers) | 사용자가 추가하는 것과 함께 모든 사용자에게 원격 [MCP 서버](/docs/ko/managed-mcp#provide-servers-through-managed-settings) 제공 | MCP | 관리됨 |

694| [`managedSourcesBehavior`](#managedsourcesbehavior) | 배포하는 모든 [관리되는 소스](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 구성하는 대신 가장 높은 우선순위 하나만 사용 | 엔터프라이즈 및 관리 설정 | 관리됨 |700| [`managedSourcesBehavior`](#managedsourcesbehavior) | 배포하는 모든 [관리되는 소스](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 구성하는 대신 가장 높은 우선순위 하나만 사용 | 엔터프라이즈 및 관리 설정 | 관리됨 |

695| [`maxEffortLevel`](#maxeffortlevel) | 모든 모델 또는 모델별로, 모든 공급자에서 [노력 수준](/docs/ko/model-config#adjust-effort-level) 제한 | 모델 및 응답 | 모든 파일 |701| [`maxEffortLevel`](#maxeffortlevel) | 모든 모델 또는 모델별로, 모든 공급자에서 [노력 수준](/docs/ko/model-config#adjust-effort-level) 제한 | 모델 및 응답 | 모든 파일 |

702| [`maxProseWidth`](#maxprosewidth) | 넓은 터미널에서 Claude의 응답의 산문이 실행되는 너비 제한 | 인터페이스 및 터미널 | 모든 파일 |

696| [`minimumVersion`](#minimumversion) | [자동 업데이트](/docs/ko/setup#pin-a-minimum-version)가 버전 이하의 것을 설치하지 않도록 유지 | 업데이트 및 버전 관리 | 모든 파일 |703| [`minimumVersion`](#minimumversion) | [자동 업데이트](/docs/ko/setup#pin-a-minimum-version)가 버전 이하의 것을 설치하지 않도록 유지 | 업데이트 및 버전 관리 | 모든 파일 |

697| [`model`](#model) | Claude Code가 시작하는 [모델](/docs/ko/model-config#set-a-default-model-for-new-sessions) 변경 | 모델 및 응답 | 모든 파일 |704| [`model`](#model) | Claude Code가 시작하는 [모델](/docs/ko/model-config#set-a-default-model-for-new-sessions) 변경 | 모델 및 응답 | 모든 파일 |

698| [`modelOverrides`](#modeloverrides) | [모델 ID를 공급자의 ID(예: Bedrock ARN)에 매핑](/docs/ko/model-config#override-model-ids-per-version) | 모델 및 응답 | 모든 파일 |705| [`modelOverrides`](#modeloverrides) | [모델 ID를 공급자의 ID(예: Bedrock ARN)에 매핑](/docs/ko/model-config#override-model-ids-per-version) | 모델 및 응답 | 모든 파일 |


712| [`permissions.deny`](#permissions-deny) | 나열된 [도구 사용](/docs/ko/permissions#permission-rule-syntax) 차단, 비밀을 보유한 파일의 읽기 포함 | 권한 설정 | 모든 파일 |719| [`permissions.deny`](#permissions-deny) | 나열된 [도구 사용](/docs/ko/permissions#permission-rule-syntax) 차단, 비밀을 보유한 파일의 읽기 포함 | 권한 설정 | 모든 파일 |

713| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 누구도 [bypassPermissions 모드](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)에 들어가지 못하도록 방지 | 권한 설정 | 모든 파일 |720| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 누구도 [bypassPermissions 모드](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)에 들어가지 못하도록 방지 | 권한 설정 | 모든 파일 |

714| [`plansDirectory`](#plansdirectory) | [계획 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)가 계획 파일을 쓰는 위치 선택 | 메모리 및 컨텍스트 | 모든 파일 |721| [`plansDirectory`](#plansdirectory) | [계획 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)가 계획 파일을 쓰는 위치 선택 | 메모리 및 컨텍스트 | 모든 파일 |

715| [`pluginConfigs`](#pluginconfigs) | [플러그인](/docs/ko/plugins)의 구성 대화에서 제공한 답변 저장 | 플러그인 및 기술 | 사용자 또는 관리됨 |722| [`pluginConfigs`](#pluginconfigs) | [플러그인](/docs/ko/plugins/overview)의 구성 대화에서 제공한 답변 저장 | 플러그인 및 기술 | 사용자 또는 관리됨 |

716| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | `/plugin`에서 플러그인 설치 제안을 표시할 수 있는 [마켓플레이스](/docs/ko/plugin-marketplaces#managed-marketplace-restrictions) 선택 | 플러그인 및 기술 | 관리됨 |723| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | `/plugin`에서 플러그인 설치 제안을 표시할 수 있는 [마켓플레이스](/docs/ko/plugins/org#restrict-what-users-can-install) 선택 | 플러그인 및 기술 | 관리됨 |

717| [`pluginTrustMessage`](#plugintrustmessage) | [플러그인](/docs/ko/plugins) 신뢰 경고에 자신의 텍스트 추가 | 플러그인 및 기술 | 관리됨 |724| [`pluginTrustMessage`](#plugintrustmessage) | [플러그인](/docs/ko/plugins/overview) 신뢰 경고에 자신의 텍스트 추가 | 플러그인 및 기술 | 관리됨 |

718| [`policyHelper`](#policyhelper) | 시작 시 [관리되는 설정](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program)을 계산하는 실행 파일 실행 | 엔터프라이즈 및 관리 설정 | 관리됨 |725| [`policyHelper`](#policyhelper) | 시작 시 [관리되는 설정](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program)을 계산하는 실행 파일 실행 | 엔터프라이즈 및 관리 설정 | 관리됨 |

719| [`policyHelper.path`](#policyhelper-path) | Claude Code가 실행하는 [도우미 실행 파일](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program) 이름 지정 | 엔터프라이즈 및 관리 설정 | 관리됨 |726| [`policyHelper.path`](#policyhelper-path) | Claude Code가 실행하는 [도우미 실행 파일](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program) 이름 지정 | 엔터프라이즈 및 관리 설정 | 관리됨 |

720| [`policyHelper.refreshIntervalMs`](#policyhelper-refreshintervalms) | 백그라운드에서 간격으로 [도우미](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program) 다시 실행 | 엔터프라이즈 및 관리 설정 | 관리됨 |727| [`policyHelper.refreshIntervalMs`](#policyhelper-refreshintervalms) | 백그라운드에서 간격으로 [도우미](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program) 다시 실행 | 엔터프라이즈 및 관리 설정 | 관리됨 |


724| [`processWrapper`](#processwrapper) | Claude Code의 백그라운드 프로세스를 macOS 및 Linux의 [기업 런처](/docs/ko/corporate-launcher)를 통해 실행 | 에이전트, 세션, 워크트리 | 사용자 또는 관리됨 |731| [`processWrapper`](#processwrapper) | Claude Code의 백그라운드 프로세스를 macOS 및 Linux의 [기업 런처](/docs/ko/corporate-launcher)를 통해 실행 | 에이전트, 세션, 워크트리 | 사용자 또는 관리됨 |

725| [`promptCacheTtl`](#promptcachettl) | 주 대화의 [프롬프트 캐시 수명](/docs/ko/prompt-caching#cache-lifetime) 선택 | 모델 및 응답 | 모든 파일 |732| [`promptCacheTtl`](#promptcachettl) | 주 대화의 [프롬프트 캐시 수명](/docs/ko/prompt-caching#cache-lifetime) 선택 | 모델 및 응답 | 모든 파일 |

726| [`promptSuggestionEnabled`](#promptsuggestionenabled) | 입력 상자의 회색 [프롬프트 제안](/docs/ko/interactive-mode#prompt-suggestions) 숨기기 | 인터페이스 및 터미널 | 모든 파일 |733| [`promptSuggestionEnabled`](#promptsuggestionenabled) | 입력 상자의 회색 [프롬프트 제안](/docs/ko/interactive-mode#prompt-suggestions) 숨기기 | 인터페이스 및 터미널 | 모든 파일 |

734| [`prStatusFooterEnabled`](#prstatusfooterenabled) | 프롬프트 바닥글의 [PR 검토 상태](/docs/ko/interactive-mode#pr-review-status) 배지 및 그 뒤의 풀 요청 확인 끄기 | 전역 설정 | 전역 설정 |

727| [`prUrlTemplate`](#prurltemplate) | PR 링크를 github.com 대신 내부 코드 검토 도구로 지정 | Git 및 속성 | 모든 파일 |735| [`prUrlTemplate`](#prurltemplate) | PR 링크를 github.com 대신 내부 코드 검토 도구로 지정 | Git 및 속성 | 모든 파일 |

728| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | `claude --cloud`의 기본 [클라우드 환경](/docs/ko/cloud-environments) 선택; 자체 호스팅 `ccpool_` ID는 사용자 및 관리 설정 및 `--settings`에서만 읽음 | 원격, 데스크톱, 알림 | 모든 파일 |736| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | `claude --cloud`의 기본 [클라우드 환경](/docs/ko/cloud-environments) 선택; 자체 호스팅 `ccpool_` ID는 사용자 및 관리 설정 및 `--settings`에서만 읽음 | 원격, 데스크톱, 알림 | 모든 파일 |

729| [`remoteControlAtStartup`](#remotecontrolatstartup) | 세션이 시작할 때 [Remote Control](/docs/ko/remote-control#enable-remote-control-for-all-sessions) 자동 연결 | 원격, 데스크톱, 알림 | 모든 파일 |737| [`remoteControlAtStartup`](#remotecontrolatstartup) | 세션이 시작할 때 [Remote Control](/docs/ko/remote-control#enable-remote-control-for-all-sessions) 자동 연결 | 원격, 데스크톱, 알림 | 모든 파일 |


785| [`sshConfigs`](#sshconfigs) | Desktop 환경 드롭다운에 [SSH 연결](/docs/ko/desktop#pre-configure-ssh-connections-for-your-team) 추가 | 원격, 데스크톱, 알림 | 사용자 또는 관리됨 |793| [`sshConfigs`](#sshconfigs) | Desktop 환경 드롭다운에 [SSH 연결](/docs/ko/desktop#pre-configure-ssh-connections-for-your-team) 추가 | 원격, 데스크톱, 알림 | 사용자 또는 관리됨 |

786| [`sshHostAllowlist`](#sshhostallowlist) | [Desktop SSH 세션](/docs/ko/desktop#restrict-which-ssh-hosts-users-can-connect-to)이 도달할 수 있는 호스트 제한 | 원격, 데스크톱, 알림 | 관리됨 |794| [`sshHostAllowlist`](#sshhostallowlist) | [Desktop SSH 세션](/docs/ko/desktop#restrict-which-ssh-hosts-users-can-connect-to)이 도달할 수 있는 호스트 제한 | 원격, 데스크톱, 알림 | 관리됨 |

787| [`statusLine`](#statusline) | [상태 라인](/docs/ko/statusline)을 렌더링하는 자신의 명령 실행 | 인터페이스 및 터미널 | 모든 파일 |795| [`statusLine`](#statusline) | [상태 라인](/docs/ko/statusline)을 렌더링하는 자신의 명령 실행 | 인터페이스 및 터미널 | 모든 파일 |

788| [`strictKnownMarketplaces`](#strictknownmarketplaces) | 사용자가 추가하고 설치할 수 있는 [마켓플레이스](/docs/ko/plugin-marketplaces) 소스 허용 목록 | 플러그인 및 기술 | 관리됨 |796| [`strictKnownMarketplaces`](#strictknownmarketplaces) | 사용자가 추가하고 설치할 수 있는 [마켓플레이스](/docs/ko/plugins/overview) 소스 허용 목록 | 플러그인 및 기술 | 관리됨 |

789| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | 사용자 및 프로젝트 소스에서 [기술](/docs/ko/skills), [에이전트](/docs/ko/sub-agents), [훅](/docs/ko/hooks), [MCP 서버](/docs/ko/mcp) 차단 | 플러그인 및 기술 | 관리됨 |797| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | 사용자 및 프로젝트 소스에서 [기술](/docs/ko/skills), [에이전트](/docs/ko/sub-agents), [훅](/docs/ko/hooks), [MCP 서버](/docs/ko/mcp) 차단 | 플러그인 및 기술 | 관리됨 |

790| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | [에이전트](/docs/ko/sub-agents)를 플러그인 및 관리 소스로 잠금 | 플러그인 및 기술 | 관리됨 |798| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | [에이전트](/docs/ko/sub-agents)를 플러그인 및 관리 소스로 잠금 | 플러그인 및 기술 | 관리됨 |

791| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | [훅](/docs/ko/hooks)을 플러그인 및 관리 소스로 잠금 | 플러그인 및 기술 | 관리됨 |799| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | [훅](/docs/ko/hooks)을 플러그인 및 관리 소스로 잠금 | 플러그인 및 기술 | 관리됨 |


794| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | subagent 및 주 대화 외부의 다른 요청의 [프롬프트 캐시 수명](/docs/ko/prompt-caching#cache-lifetime) 선택 | 모델 및 응답 | 모든 파일 |802| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | subagent 및 주 대화 외부의 다른 요청의 [프롬프트 캐시 수명](/docs/ko/prompt-caching#cache-lifetime) 선택 | 모델 및 응답 | 모든 파일 |

795| [`subagentStatusLine`](#subagentstatusline) | [subagent](/docs/ko/sub-agents) 작업 표시의 행을 자신의 명령으로 다시 쓰기 | 인터페이스 및 터미널 | 모든 파일 |803| [`subagentStatusLine`](#subagentstatusline) | [subagent](/docs/ko/sub-agents) 작업 표시의 행을 자신의 명령으로 다시 쓰기 | 인터페이스 및 터미널 | 모든 파일 |

796| [`switchModelsOnFlag`](#switchmodelsonflag) | [안전 분류기](/docs/ko/model-config#ask-before-switching)가 요청에 플래그를 지정할 때 모델을 자동으로 전환하거나 일시 중지 | 모델 및 응답 | 모든 파일 |804| [`switchModelsOnFlag`](#switchmodelsonflag) | [안전 분류기](/docs/ko/model-config#ask-before-switching)가 요청에 플래그를 지정할 때 모델을 자동으로 전환하거나 일시 중지 | 모델 및 응답 | 모든 파일 |

797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | [claude.ai 계정에서 활성화된 플러그인](/docs/ko/plugins-reference#synced-plugins) 다운로드 중지 및 이미 동기화된 플러그인 숨기기 | 플러그인 및 기술 | 사용자, 로컬 또는 관리됨 |805| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | [claude.ai 계정에서 활성화된 플러그인](/docs/ko/plugins/loading#synced-plugins) 다운로드 중지 및 이미 동기화된 플러그인 숨기기 | 플러그인 및 기술 | 사용자, 로컬 또는 관리됨 |

798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | [claude.ai 계정에서 활성화된 기술](/docs/ko/skills#how-synced-skills-behave) 다운로드 중지 및 이미 동기화된 기술 숨기기 | 플러그인 및 기술 | 사용자, 로컬 또는 관리됨 |806| [`syncClaudeAiSkills`](#syncclaudeaiskills) | [claude.ai 계정에서 활성화된 기술](/docs/ko/skills#how-synced-skills-behave) 다운로드 중지 및 이미 동기화된 기술 숨기기 | 플러그인 및 기술 | 사용자, 로컬 또는 관리됨 |

799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | diff 및 코드 블록에서 구문 강조 끄기 | 인터페이스 및 터미널 | 모든 파일 |807| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | diff 및 코드 블록에서 구문 강조 끄기 | 인터페이스 및 터미널 | 모든 파일 |

800| [`taskOutputMaxChars`](#taskoutputmaxchars) | v2.1.277에서 제거됨, 크기를 조정한 `TaskOutput` 도구와 함께 | 메모리 및 컨텍스트 | 모든 파일 |808| [`taskOutputMaxChars`](#taskoutputmaxchars) | v2.1.277에서 제거됨, 크기를 조정한 `TaskOutput` 도구와 함께 | 메모리 및 컨텍스트 | 모든 파일 |


827 모델 및 응답835 모델 및 응답

828</h2>836</h2>

829 837 

830Claude Code가 사용할 모델과 응답 방식을 선택합니다. 이러한 설정이 `/model` 명령 및 환경 변수와 상호작용하는 방식에 대해서는 [모델 구성](/docs/ko/model-config)을 참조하십시오.838Claude Code가 사용할 모델과 응답 방식을 선택합니다. 이러한 설정이 `/model` 명령 및 환경 변수와 어떻게 상호작용하는지는 [모델 구성](/docs/ko/model-config)을 참조하십시오.

831 839 

832<h3 id="advisormodel">840<h3 id="advisormodel">

833 `advisorModel`841 `advisorModel`

834</h3>842</h3>

835 843 

836Claude가 서버 측 [advisor 도구](/docs/ko/advisor)를 호출할 때 응답하는 모델을 선택합니다. 이를 설정 해제하여 advisor를 끕니다. advisor는 최소한 주 모델만큼 능력이 있어야 합니다. 허용되는 쌍과 허용되지 않는 쌍을 선택할 때 발생하는 상황에 대해서는 [advisor 모델 선택](/docs/ko/advisor#choose-an-advisor-model)을 참조하십시오.844Claude가 서버 측 [advisor 도구](/docs/ko/advisor)를 호출할 때 응답하는 모델을 선택합니다. advisor를 끄려면 설정을 해제합니다. advisor는 최소한 주 모델만큼 능력이 있어야 합니다. 허용되는 쌍과 허용되지 않는 쌍을 선택할 때 발생하는 상황은 [advisor 모델 선택](/docs/ko/advisor#choose-an-advisor-model)을 참조하십시오.

837 845 

838일반적으로 이 키를 직접 편집하지 않습니다. `/advisor`를 실행하여 현재 선택, advisor할 수 있는 모델, **advisor 없음**을 표시하는 선택기를 엽니다. Claude Code는 선택 사항을 `~/.claude/settings.json`의 이 키에 저장합니다. [Remote Control](/docs/ko/remote-control) 클라이언트에서 선택하거나 원격 워커에 연결된 세션에서 선택하면, 선택 사항이 해당 세션에만 적용되며 이 키를 변경하지 않습니다.846일반적으로 이 키를 직접 편집하지 않습니다. `/advisor`를 실행하여 현재 선택, advisor가 될 수 있는 모델, **advisor 없음**을 표시하는 선택기를 엽니다. Claude Code는 선택 사항을 `~/.claude/settings.json`의 이 키에 저장합니다. [Remote Control](/docs/ko/remote-control) 클라이언트에서 선택하거나 원격 워커에 연결된 세션에서 선택하면, 선택 사항이 해당 세션에만 적용되고 이 키는 변경되지 않습니다.

839 847 

840계정에 [usage-credits 동의](/docs/ko/advisor#fable-advisor-and-usage-credits)가 필요한 경우, `/model fable`을 실행하여 먼저 동의합니다. 그렇게 할 때까지 `/advisor`에서 Fable을 선택해도 아무것도 저장되지 않으며 Claude Code는 먼저 `/model fable`을 실행하도록 지시합니다.848계정에 [usage-credits 동의](/docs/ko/advisor#fable-advisor-and-usage-credits)가 필요한 경우, `/model fable`을 실행하여 먼저 동의합니다. 동의하기 전까지는 `/advisor`에서 Fable을 선택해도 아무것도 저장되지 않으며 Claude Code는 먼저 `/model fable`을 실행하도록 지시합니다.

841 849 

842* **범위**: [`모든 파일`](#scopes)850* **범위**: [`Any file`](#scopes)

843* **유형**: 문자열, `"fable"`, `"opus"`, 또는 `"sonnet"` 중 하나의 별칭(Claude Code의 해당 모델 제품군의 현재 기본 버전으로 확인됨) 또는 `"claude-opus-5"`와 같은 전체 모델 ID851* **유형**: 문자열, `"fable"`, `"opus"`, 또는 `"sonnet"` 중 하나의 별칭(Claude Code의 해당 모델 제품군의 현재 기본 버전으로 확인됨) 또는 `"claude-opus-5-5"`와 같은 전체 모델 ID

844* **기본값**: 설정 해제되어 advisor가 꺼짐852* **기본값**: 설정 해제되어 advisor가 꺼짐

845* **세션별 재정의**: `--advisor`는 한 세션 동안 이 키보다 우선합니다. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](/docs/ko/env-vars)은 advisor를 끄고, 이 키는 다시 켤 수 없습니다853* **세션별 재정의**: `--advisor`는 한 세션에 대해 이 키보다 우선하며, [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](/docs/ko/env-vars)은 advisor를 끄고 이 키는 다시 켤 수 없습니다.

846 854 

847```json settings.json theme={null}855```json settings.json theme={null}

848{856{


850}858}

851```859```

852 860 

853이 키는 Amazon Bedrock 및 AWS의 Claude Platform과 같이 advisor가 [사용 불가능한](/docs/ko/advisor#requirements) 공급자에게는 영향을 주지 않습니다. `"fable"`은 [Fable 액세스](/docs/ko/advisor#choose-an-advisor-model)가 필요합니다.861이 키는 Amazon Bedrock 및 AWS의 Claude Platform과 같이 advisor가 [사용 불가능](/docs/ko/advisor#requirements)한 공급자에게는 영향을 주지 않습니다. `"fable"`은 [Fable 액세스](/docs/ko/advisor#choose-an-advisor-model)가 필요합니다.

854 862 

855<h3 id="alwaysthinkingenabled">863<h3 id="alwaysthinkingenabled">

856 `alwaysThinkingEnabled`864 `alwaysThinkingEnabled`


858 866 

859이를 `false`로 설정하여 모든 세션에 대해 [확장 사고](/docs/ko/model-config#extended-thinking)를 끕니다. 사고는 기본적으로 켜져 있으므로 `true`는 아무것도 변경하지 않습니다. 대부분의 사람들은 파일을 편집하는 대신 `/config`를 통해 이를 설정합니다.867이를 `false`로 설정하여 모든 세션에 대해 [확장 사고](/docs/ko/model-config#extended-thinking)를 끕니다. 사고는 기본적으로 켜져 있으므로 `true`는 아무것도 변경하지 않습니다. 대부분의 사람들은 파일을 편집하는 대신 `/config`를 통해 이를 설정합니다.

860 868 

861Fable 모델과 같이 항상 사고하는 모델에서는 `false`가 영향을 주지 않습니다. [타사 공급자](/docs/ko/third-party-integrations)에서 Claude Code는 사고를 끄는 대신 `thinking` 매개변수를 생략하므로 적응형 추론 모델은 여전히 사고할 수 있습니다. Anthropic API에서 사고를 끈 경우, Claude Code는 Opus 5와 같이 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) 모델에 더 높은 수준 대신 노력 `high`를 보냅니다.869Opus 5.5, Sonnet 5.5, Fable 모델과 같이 항상 사고하는 모델에서는 `false`가 영향을 주지 않습니다. [타사 공급자](/docs/ko/third-party-integrations)에서 Claude Code는 사고를 끄는 대신 `thinking` 매개변수를 생략하므로 적응형 추론 모델은 여전히 사고할 수 있습니다. Anthropic API에서 사고를 끈 경우, Claude Code는 [해당 조합을 허용하지 않는](/docs/ko/errors#effort-isnt-available-with-thinking-turned-off) Opus 5와 같은 모델에 더 높은 수준 대신 노력 `high`를 보냅니다.

862 870 

863* **범위**: [`모든 파일`](#scopes)871* **범위**: [`Any file`](#scopes)

864* **유형**: 부울872* **유형**: 부울

865 * `true`: 영향 없음; 사고는 이미 켜짐873 * `true`: 영향 없음; 사고는 이미 켜짐

866 * `false`: Claude Code는 모든 세션에 대해 확장 사고를 끕니다874 * `false`: Claude Code는 모든 세션에 대해 확장 사고를 끕니다.

867* **기본값**: 설정 해제되어 사고는 이를 지원하는 모델에 대해 켜짐875* **기본값**: 설정 해제되어 사고는 이를 지원하는 모델에 대해 켜짐

868* **세션별 재정의**: [`MAX_THINKING_TOKENS`](/docs/ko/env-vars)는 한 세션 동안 이 키보다 우선합니다: `0`은 `false`와 동일한 모델 및 공급자 제한 하에서 사고를 끄고, 양수 값은 이 키가 `false`일 때도 사고를 켭니다. 적응형 추론 모델에서 숫자 자체는 무시됩니다876* **세션별 재정의**: [`MAX_THINKING_TOKENS`](/docs/ko/env-vars)는 한 세션에 대해 이 키보다 우선합니다: `0`은 `false`와 동일한 모델 및 공급자 제한 하에서 사고를 끄고, 양수 값은 이 키가 `false`일 때도 사고를 켭니다. 적응형 추론 모델에서는 숫자 자체가 무시됩니다.

869 877 

870```json settings.json theme={null}878```json settings.json theme={null}

871{879{


877 `availableModels`885 `availableModels`

878</h3>886</h3>

879 887 

880사람들이 주 세션, [subagents](/docs/ko/sub-agents), [skills](/docs/ko/skills), [advisor](/docs/ko/advisor)에 대해 선택할 수 있는 모델을 제한합니다. 관리되는 목록은 `/model`, `--model`, 개발자 자신의 파일의 `model` 키를 제한합니다. 목록 외의 모델은 선택할 수 없습니다. 이것만으로는 기본값 옵션을 건드리지 않습니다. [`enforceAvailableModels`](#enforceavailablemodels)와 쌍을 이루십시오.888사람들이 주 세션, [subagents](/docs/ko/sub-agents), [skills](/docs/ko/skills), [advisor](/docs/ko/advisor)에 대해 선택할 수 있는 모델을 제한합니다. 관리되는 목록은 `/model`, `--model`, 개발자 자신의 파일의 `model` 키를 제한합니다. 목록 외의 모델은 선택할 수 없습니다. 기본 접두사 일치를 사용하면 Default 옵션 자체는 건드리지 않습니다. 이를 위해 [`enforceAvailableModels`](#enforceavailablemodels)와 쌍을 이룹니다.

881 889 

882* **범위**: [`모든 파일`](#scopes). 조직에 대해 적용하려면 관리되는 설정에 배포합니다.890* **범위**: [`Any file`](#scopes). 조직에 대해 이를 적용하려면 관리되는 설정에 배포합니다.

883* **유형**: 모델 별칭 또는 ID의 배열891* **유형**: 모델 별칭 또는 ID의 배열

884* **기본값**: 설정 해제되어 모든 모델을 사용할 수 있음892* **기본값**: 설정 해제되어 모든 모델을 사용할 수 있음

885 893 


891}899}

892```900```

893 901 

894[모델 선택 제한](/docs/ko/model-config#restrict-model-selection)을 참조하십시오.902`"claude-opus-5"`와 같은 모델 ID 항목은 Opus 5.5와 같이 이를 확장하는 이후 버전도 허용합니다. 이러한 버전 중 하나를 차단하려면 [`deniedModels`](#deniedmodels)을 사용합니다. 각 모델 ID 항목이 이름을 지정하는 버전만 허용하도록 하려면 [`availableModelsMatch`](#availablemodelsmatch)를 사용합니다. [모델 선택 제한](/docs/ko/model-config#restrict-model-selection)을 참조하십시오.

903 

904<h3 id="availablemodelsmatch">

905 `availableModelsMatch`

906</h3>

907 

908[`availableModels`](#availablemodels) 항목이 모델 ID와 일치하는 방식을 선택합니다. 기본적으로 모델 ID 항목은 이를 확장하는 이후 버전도 허용하므로 `"claude-opus-5"`는 Opus 5.5를 허용합니다. `"exact"`를 사용하면 각 모델 ID 항목은 이름을 지정하는 버전만 허용하므로 해당 모델의 최신 버전은 이를 나열할 때까지 차단된 상태로 유지됩니다. Claude Code v2.1.283 이상이 필요합니다.

909 

910* **범위**: [`Managed`](#scopes). Claude Code는 사용자, 프로젝트, 로컬 설정 및 `--settings`에서 이 키를 무시하고 경고를 표시합니다.

911* **유형**: 문자열, 다음 중 하나:

912 * `"prefix"`: 모델 ID 항목은 해당 버전 및 다른 세그먼트로 확장하는 모든 모델 ID를 허용합니다.

913 * `"exact"`: 모델 ID 항목은 이름을 지정하는 버전만 허용하며, 해당 버전의 날짜 ID를 포함하므로 `"claude-opus-5"`는 Opus 5를 허용하지만 `claude-opus-5-5`는 허용하지 않습니다. `"opus"`와 같은 제품군 별칭은 여전히 전체 제품군을 허용하며, `best`, `opusplan`, `default` 항목은 무시됩니다.

914* **기본값**: `"prefix"`

915 

916이 예제는 Opus 5 및 Sonnet 5와 이들의 최신 릴리스를 허용하지 않습니다:

917 

918```json managed-settings.json theme={null}

919{

920 "availableModels": ["claude-opus-5", "claude-sonnet-5"],

921 "availableModelsMatch": "exact"

922}

923```

924 

925`"exact"`를 사용하면 목록이 최소한 하나의 모델 또는 제품군을 나열할 때마다 Default 옵션도 나열된 모델로 제한됩니다. [특정 모델 또는 버전 차단](/docs/ko/model-config#block-specific-models-or-versions)을 참조하십시오.

926 

927<h3 id="deniedmodels">

928 `deniedModels`

929</h3>

930 

931특정 모델을 차단하며, [`availableModels`](#availablemodels) 허용 목록이 있거나 없을 수 있으며 해당 목록이 이들을 허용하더라도 차단합니다. Claude Code는 차단된 모델을 `/model` 선택기에서 숨기며, `availableModels`이 적용되는 곳 어디서나 모델을 선택할 수 없습니다. Default 옵션의 세션은 [특정 모델 또는 버전 차단](/docs/ko/model-config#block-specific-models-or-versions)에서 설명하는 대로 차단된 모델도 실행하지 않습니다. Claude Code v2.1.283 이상이 필요합니다.

932 

933* **범위**: [`Managed`](#scopes). Claude Code는 사용자, 프로젝트, 로컬 설정 및 `--settings`에서 이 키를 무시하고 경고를 표시합니다.

934* **유형**: 모델 별칭 또는 ID의 배열

935 * `"opus"`와 같은 제품군 별칭은 해당 제품군의 모든 모델을 차단합니다.

936 * `"claude-opus-5-5"`와 같은 모델 ID는 날짜 및 공급자별 ID를 포함한 모든 철자로 해당 버전을 차단합니다.

937 * `"claude-opus-5"`와 같이 부 버전이 없는 모델 ID는 Opus 5.5와 같은 이후 부 버전도 차단합니다. Opus 5만 차단하려면 `"claude-opus-5-0"`을 작성합니다.

938 * `best`, `opusplan`, `default` 항목은 무시됩니다.

939* **기본값**: 설정 해제되어 모델이 차단되지 않음

940 

941이 예제는 Opus 및 Sonnet 모델을 허용하고 Opus 5.5를 차단합니다:

942 

943```json managed-settings.json theme={null}

944{

945 "availableModels": ["opus", "sonnet"],

946 "deniedModels": ["claude-opus-5-5"]

947}

948```

949 

950[특정 모델 또는 버전 차단](/docs/ko/model-config#block-specific-models-or-versions)을 참조하십시오.

895 951 

896<h3 id="effortlevel">952<h3 id="effortlevel">

897 `effortLevel`953 `effortLevel`

898</h3>954</h3>

899 955 

900저장하지 않은 모델에 대한 기본 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정합니다. 낮은 수준은 간단한 작업에서 더 빠르고 저렴하며, 높은 수준은 복잡한 문제에 대해 더 깊이 있게 추론합니다.956저장하지 않은 모델에 대한 기본 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 설정합니다. 낮은 수준은 간단한 작업에서 더 빠르고 저렴하며, 높은 수준은 복잡한 문제에서 더 깊이 있게 추론합니다.

901 957 

902머신의 대화형 세션에서 `/effort low`, `medium`, `high`, 또는 `xhigh`를 실행하면, Claude Code는 이 키를 작성하는 대신 수준을 [`modelSettings`](#modelsettings) 아래의 활성 모델에 대해 저장합니다. v2.1.251 이전에는 `/effort`가 이 키를 작성했습니다.958머신의 대화형 세션에서 `/effort low`, `medium`, `high`, 또는 `xhigh`를 실행하면 Claude Code는 이 키를 작성하는 대신 [`modelSettings`](#modelsettings) 아래의 활성 모델에 대한 수준을 저장합니다. v2.1.251 이전에는 `/effort`가 이 키를 작성했습니다.

903 959 

904동일한 설정 파일 내에서 Claude Code는 이 키보다 모델의 저장된 수준을 사용합니다. [`modelSettings`](#modelsettings)는 파일 간 우선순위를 나타냅니다.960동일한 설정 파일 내에서 Claude Code는 이 키보다 모델의 저장된 수준을 사용합니다. [`modelSettings`](#modelsettings)는 파일 간 우선순위를 나타냅니다.

905 961 

906원격 워커에 연결된 세션에서 `/effort`는 해당 세션에만 적용됩니다. `-p` 실행 또는 Agent SDK에서도 해당 세션에만 적용됩니다. [모델의 기본 노력에 대한 보류가 적용되지 않는 한](/docs/ko/model-config#non-interactive-effort). [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)은 해당 세션에만 적용되는 대화형 선택을 나열합니다. `/effort`가 인쇄하는 메시지는 어떤 일이 발생했는지 나타냅니다.962원격 워커에 연결된 세션, `-p` 실행, Agent SDK에서 `/effort`는 해당 세션에만 적용됩니다. [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)은 해당 세션에만 적용되는 대화형 선택을 나열합니다. `/effort`가 인쇄하는 메시지는 어느 것이 발생했는지 나타냅니다.

907 963 

908* **범위**: [`모든 파일`](#scopes)964* **범위**: [`Any file`](#scopes)

909* **유형**: 문자열, 다음 중 하나:965* **유형**: 문자열, 다음 중 하나:

910 * `"low"`: 짧고 범위가 지정되고 지연 시간에 민감한 작업(지능에 민감하지 않은)에 대한 최소 추론966 * `"low"`: 최소 추론, 짧고 범위가 지정되며 지연 시간에 민감하지만 지능에 민감하지 않은 작업용

911 * `"medium"`: 일부 지능을 절충할 수 있는 비용에 민감한 작업에 대한 토큰 사용 감소967 * `"medium"`: 일부 지능을 거래할 수 있는 비용에 민감한 작업에 대한 토큰 사용 감소

912 * `"high"`: 토큰 사용과 지능의 균형968 * `"high"`: 토큰 사용과 지능의 균형

913 * `"xhigh"`: 더 높은 토큰 지출로 더 깊은 추론969 * `"xhigh"`: 더 높은 토큰 지출로 더 깊은 추론

914* **기본값**: 설정 해제됨970* **기본값**: 설정 해제됨

915* **세션별 재정의**: `--effort`는 한 세션 동안 이 키보다 우선하며, [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ko/env-vars)은 둘 다보다 우선합니다971* **세션별 재정의**: `--effort`는 한 세션에 대해 이 키보다 우선하며, [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ko/env-vars)은 둘 다보다 우선합니다.

916 972 

917```json settings.json theme={null}973```json settings.json theme={null}

918{974{


920}976}

921```977```

922 978 

923Opus 4.7, Opus 4.8, Fable 5에서 Claude Code는 해당 모델의 기본 노력(조직 설정 또는 기본 제공)을 유지합니다. [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)은 수준 설정의 어떤 방식이 보류를 끝내고 어떤 방식이 유지하는지 나타냅니다. 보류가 끝나면 Claude Code는 [`modelSettings`](#modelsettings)에 명시된 우선순위에 따라 노력을 해결합니다.979사용자 설정 파일 `~/.claude/settings.json`에서 이 키는 `/effort`가 모델별로 수준을 저장하기 전에 작성한 이전 형식이며, Opus 5, Fable 5.1, 이전 모델에서 이전에 적용된 곳에 계속 적용됩니다. Opus 5.5 및 이후에 릴리스된 모델은 이를 무시하고 [`modelSettings`](#modelsettings) 아래에서 수준을 저장할 때까지 자신의 기본값으로 시작합니다. 프로젝트, 로컬, 관리되는 설정 및 `--settings`에서 이 키는 모든 모델에 적용됩니다.

924 980 

925<h3 id="enforceavailablemodels">981<h3 id="enforceavailablemodels">

926 `enforceAvailableModels`982 `enforceAvailableModels`

927</h3>983</h3>

928 984 

929`/model` 선택기에는 적용되는 경우 [조직 기본 모델](/docs/ko/model-config#organization-default-model)로 확인되고, 그렇지 않으면 계정 유형의 기본값으로 확인되는 **기본값** 옵션이 있습니다. [`availableModels`](#availablemodels) 허용 목록은 이름을 지정할 수 있는 모델을 제한하지만, 그 자체로는 **기본값**을 그대로 두므로 **기본값**은 여전히 목록 외의 모델로 확인될 수 있습니다. 이 키는 그 간격을 닫습니다. Claude Code v2.1.175 이상이 필요합니다.985\[`/model` 선택기는 **Default** 옵션을 가지며, [`default` 모델 설정](/docs/ko/model-config#default-model-setting)은 이것이 확인되는 모델을 설명합니다. [`availableModels`](#availablemodels) 허용 목록은 이름을 지정할 수 있는 모델을 제한하지만, 기본 [접두사 일치](#availablemodelsmatch)를 사용하면 계정 유형의 기본값을 다시 매핑하지 않으므로 **Default**는 여전히 목록 외의 모델로 확인될 수 있습니다. 이 키는 그 간격을 닫습니다. Claude Code v2.1.175 이상이 필요합니다.

930 986 

931조직이 관리되는 설정을 배포하면 Claude Code는 관리되는 소스에서만 이 키를 읽고 다른 파일에서는 무시합니다.987조직이 관리되는 설정을 배포할 때 Claude Code는 관리되는 소스에서만 이 키를 읽고 다른 파일에서는 무시합니다.

932 988 

933* **범위**: [`모든 파일`](#scopes)989* **범위**: [`Any file`](#scopes)

934* **유형**: 부울990* **유형**: 부울

935 * `true`: **기본값**이 `availableModels` 외의 모델로 확인될 때, Claude Code는 목록의 첫 번째 사용 가능한 모델로 확인합니다991 * `true`: **Default**가 `availableModels` 외의 모델로 확인될 때 Claude Code는 이를 목록의 첫 번째 사용 가능한 모델로 확인합니다.

936 * `false`: **기본값**은 `availableModels` 외의 모델로도 평소대로 확인됩니다992 * `false`: 이 키는 **Default**가 확인되는 방식을 변경하지 않습니다.

937* **기본값**: `false`993* **기본값**: `false`

938 994 

939이 예제는 명명된 선택을 Sonnet 및 Haiku 모델로 제한하고 **기본값**을 사용 가능한 첫 번째 모델로 확인하도록 합니다:995이 예제는 명명된 선택을 Sonnet 및 Haiku 모델로 제한하고 **Default**를 사용 가능한 첫 번째로 확인합니다:

940 996 

941```json settings.json theme={null}997```json settings.json theme={null}

942{998{


945}1001}

946```1002```

947 1003 

948`availableModels`가 설정 해제되거나 비어 있을 때 이 키는 영향을 주지 않습니다. [기본 모델에 대한 허용 목록 적용](/docs/ko/model-config#enforce-the-allowlist-for-the-default-model)을 참조하십시오. Claude Code v2.1.175 이상이 필요합니다.1004`availableModels`이 설정 해제되거나 비어 있을 때 이 키는 영향을 주지 않습니다. [Default 모델에 대한 허용 목록 적용](/docs/ko/model-config#enforce-the-allowlist-for-the-default-model)을 참조하십시오. Claude Code v2.1.175 이상이 필요합니다.

949 1005 

950<h3 id="fallbackmodel">1006<h3 id="fallbackmodel">

951 `fallbackModel`1007 `fallbackModel`

952</h3>1008</h3>

953 1009 

954주 모델이 과부하이거나 사용 불가능할 때 Claude Code가 순서대로 시도할 백업 모델을 이름 지정합니다. Claude Code는 체인의 다음 사용 가능한 모델로 전환하고 알림을 표시합니다. 체인이 없으면 Claude Code는 동일한 모델을 재시도한 다음 서버의 오류를 표시하고, 사용자가 재시도하거나 모델을 전환합니다.1010주 모델이 과부하되거나 사용 불가능할 때 Claude Code가 순서대로 시도할 백업 모델을 이름 지정합니다. Claude Code는 턴의 나머지 부분에 대해 체인의 다음 사용 가능한 모델로 전환하고 알림을 표시합니다. 체인이 없으면 Claude Code는 동일한 모델을 재시도한 다음 서버의 오류를 표시하며, 사용자가 재시도하거나 모델을 전환합니다.

955 1011 

956전환은 폴백 모델에서 콜드 [프롬프트 캐시](/docs/ko/prompt-caching#switching-models)를 사용한 한 번의 턴을 의미합니다. 다음 메시지는 주 모델을 먼저 다시 시도합니다.1012전환은 폴백 모델에서 하나의 턴으로 콜드 [프롬프트 캐시](/docs/ko/prompt-caching#switching-models)를 의미합니다. 다음 메시지는 주 모델을 먼저 다시 시도합니다.

957 1013 

958* **범위**: [`모든 파일`](#scopes)1014* **범위**: [`Any file`](#scopes)

959* **유형**: 모델 별칭 또는 ID의 배열; `"default"`는 기본 모델로 확장됩니다1015* **유형**: 모델 별칭 또는 ID의 배열; `"default"`는 기본 모델로 확장됩니다.

960* **기본값**: 설정 해제되어 실패한 요청이 다른 모델에서 재시도되지 않음1016* **기본값**: 설정 해제되어 실패한 요청이 다른 모델에서 재시도되지 않음

961* **세션별 재정의**: `--fallback-model`은 한 세션 동안 이 키보다 우선합니다1017* **세션별 재정의**: `--fallback-model`은 한 세션에 대해 이 키보다 우선합니다.

962 1018 

963이 예제는 주 모델이 실패할 때 먼저 Sonnet 5를 시도한 다음 Haiku 4.5를 시도합니다:1019이 예제는 주 모델이 실패할 때 먼저 Sonnet 5를 시도한 다음 Haiku 4.5를 시도합니다:

964 1020 


968}1024}

969```1025```

970 1026 

971대부분의 배열 설정과 달리 이 키는 설정 파일 간에 병합되지 않습니다. 가장 높은 우선순위 파일이 전체 체인을 제공합니다. 프로젝트 파일이 `["claude-sonnet-5"]`를 설정하고 사용자 파일이 `["claude-haiku-4-5"]`를 설정하면, 체인은 `["claude-sonnet-5"]`만입니다. Claude Code는 목록에서 최대 3개의 서로 다른 허용 모델을 유지하고 나머지는 무시합니다. [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)을 참조하십시오.1027대부분의 배열 설정과 달리 이 키는 설정 파일 간에 병합되지 않습니다: 가장 높은 우선순위 파일이 정의하는 것이 전체 체인을 제공합니다. 프로젝트 파일이 `["claude-sonnet-5"]`를 설정하고 사용자 파일이 `["claude-haiku-4-5"]`를 설정하면 체인은 `["claude-sonnet-5"]`만입니다. Claude Code는 목록에서 최대 3개의 서로 다른 허용 모델을 유지하고 나머지는 무시합니다. [폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)을 참조하십시오.

972 1028 

973<h3 id="fastmode">1029<h3 id="fastmode">

974 `fastMode`1030 `fastMode`

975</h3>1031</h3>

976 1032 

977사용 가능한 세션에 대해 [빠른 모드](/docs/ko/fast-mode)를 켭니다. 빠른 반복이나 라이브 디버깅과 같은 대화형 작업에 사용하여 토큰당 더 높은 비용으로 속도를 원합니다. 일반적으로 이 키를 직접 편집하지 않습니다. `/fast`를 실행하면 `fastMode: true`를 `~/.claude/settings.json`에 작성하고, 다시 실행하여 빠른 모드를 끄면 키를 제거합니다. 빠른 모드는 Opus 5 및 Opus 4.8에서만 실행됩니다. 다른 모델에서 켜면 Opus로 전환되고, 지원되지 않는 모델로 전환하면 꺼집니다. [빠른 모드가 켜져 있는 동안 모델 전환](/docs/ko/fast-mode#switch-models-while-fast-mode-is-on)을 참조하십시오.1033사용 가능한 세션에 대해 [빠른 모드](/docs/ko/fast-mode)를 켜서 빠른 반복 또는 라이브 디버깅과 같은 대화형 작업을 위해 토큰당 더 높은 비용으로 속도를 원합니다. 일반적으로 이 키를 직접 편집하지 않습니다: `/fast`를 실행하면 `fastMode: true`를 `~/.claude/settings.json`에 작성하고, 다시 실행하면 빠른 모드를 끕니다. 빠른 모드는 Opus 5.5, Opus 5, Opus 4.8에서만 실행됩니다: 다른 모델에서 켜면 Opus로 전환되고, 지원되지 않는 모델로 전환하면 꺼집니다. [빠른 모드가 켜져 있는 동안 모델 전환](/docs/ko/fast-mode#switch-models-while-fast-mode-is-on)을 참조하십시오.

978 1034 

979* **범위**: [`모든 파일`](#scopes)1035* **범위**: [`Any file`](#scopes)

980* **유형**: 부울1036* **유형**: 부울

981 * `true`: Claude Code는 사용 가능한 세션에 대해 빠른 모드를 켭니다1037 * `true`: Claude Code는 사용 가능한 세션에 대해 빠른 모드를 켭니다.

982 * `false`: 빠른 모드는 꺼진 상태로 유지됩니다1038 * `false`: 빠른 모드는 꺼진 상태로 유지됩니다.

983* **기본값**: 설정 해제되어 빠른 모드는 꺼짐1039* **기본값**: 설정 해제되어 빠른 모드는 꺼짐

984* **세션별 재정의**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/ko/env-vars)는 한 세션에 대해 빠른 모드를 끄고, 이 키는 다시 켤 수 없습니다1040* **세션별 재정의**: [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/ko/env-vars)는 한 세션에 대해 빠른 모드를 끄고 이 키는 다시 켤 수 없습니다.

985 1041 

986```json settings.json theme={null}1042```json settings.json theme={null}

987{1043{


993 `fastModePerSessionOptIn`1049 `fastModePerSessionOptIn`

994</h3>1050</h3>

995 1051 

996일반적으로 `/fast`를 실행하면 [`fastMode`](#fastmode)를 사용자 설정에 저장하므로 빠른 모드는 이후의 모든 세션 시작 시 켜집니다. 이를 중지하려면 이 키를 `true`로 설정합니다. 저장된 `fastMode: true`는 더 이상 세션 시작 시 빠른 모드를 켜지 않으며, 각 사용자는 원하는 각 세션에서 `/fast`를 실행해야 합니다. Claude Code는 파일에 `fastMode` 키를 남겨두므로 이 키를 끄면 이전 동작이 복원됩니다. Team 또는 Enterprise 계획의 소유자는 [서버 관리 설정](/docs/ko/server-managed-settings)을 통해 조직 전체에 배포할 수 있습니다. 관리되는 설정이 키를 설정하면 `/fast on`은 대화형 터미널 세션 외부에서 거부되고 조직이 빠른 모드를 비활성화했다고 보고합니다. 이는 [비대화형 모드](/docs/ko/headless), [VS Code 확장](/docs/ko/vs-code), [클라우드 세션](/docs/ko/claude-code-on-the-web)을 포함합니다.1052일반적으로 `/fast`를 실행하면 [`fastMode`](#fastmode)를 사용자 설정에 저장하므로 빠른 모드는 이후의 모든 세션 시작 시 켜집니다. 이를 중지하려면 이 키를 `true`로 설정합니다: 저장된 `fastMode: true`는 더 이상 세션 시작 시 빠른 모드를 켜지 않으며, 각 사용자는 빠른 모드를 원하는 각 세션에서 `/fast`를 실행해야 합니다. Claude Code는 파일에 `fastMode` 키를 남겨두므로 이 키를 끄면 이전 동작이 복원됩니다.

997 1053 

998* **범위**: [`모든 파일`](#scopes)1054Team 또는 Enterprise 계획의 소유자는 [서버 관리 설정](/docs/ko/server-managed-settings)을 통해 조직 전체에 배포할 수 있습니다. 관리되는 설정이 키를 설정할 때 `/fast on`은 대화형 터미널 세션 외부에서 거부되고 조직이 빠른 모드를 비활성화했다고 보고합니다. 이는 [비대화형 모드](/docs/ko/headless), [VS Code 확장](/docs/ko/vs-code), [클라우드 세션](/docs/ko/claude-code-on-the-web)을 포함합니다.

1055 

1056* **범위**: [`Any file`](#scopes)

999* **유형**: 부울1057* **유형**: 부울

1000 * `true`: 저장된 `fastMode: true`는 더 이상 세션 시작 시 빠른 모드를 켜지 않으므로 각 사용자는 원하는 각 세션에서 `/fast`를 실행합니다. `--settings`와 함께 전달된 `fastMode: true`는 관리되는 설정이 이 키를 설정하지 않는 한 해당 세션에 대해 계산됩니다1058 * `true`: 저장된 `fastMode: true`는 더 이상 세션 시작 시 빠른 모드를 켜지 않으므로 각 사용자는 빠른 모드를 원하는 각 세션에서 `/fast`를 실행합니다. `--settings`로 전달된 `fastMode: true`는 관리되는 설정이 이 키를 설정하지 않는 한 해당 세션에 대해 계속 계산됩니다.

1001 * `false`: 저장된 `fastMode: true`는 이후의 모든 세션 시작 시 빠른 모드를 켭니다1059 * `false`: 저장된 `fastMode: true`는 이후의 모든 세션 시작 시 빠른 모드를 켭니다.

1002* **기본값**: `false`1060* **기본값**: `false`

1003 1061 

1004```json settings.json theme={null}1062```json settings.json theme={null}


1013 `language`1071 `language`

1014</h3>1072</h3>

1015 1073 

1016Claude가 기본적으로 영어 이외의 언어로 응답하도록 합니다. 응답에 대한 고정 목록이 없습니다. Claude Code는 값을 시스템 프롬프트에 그대로 추가하여 항상 해당 언어로 응답하도록 지시하므로 Claude가 읽을 수 있는 모든 언어 이름이 작동합니다. Claude Code는 값을 확인하지 않으므로 철자가 잘못된 이름은 오류를 생성하는 대신 작성된 대로 Claude에 도달합니다. 동일한 값은 [음성 받아쓰기](/docs/ko/voice-dictation#change-the-dictation-language)의 언어를 설정하며, 이는 [지원되는 받아쓰기 언어](/docs/ko/voice-dictation#change-the-dictation-language)의 고정 목록을 가지고 있으며, 자동 생성된 세션 제목도 설정합니다.1074Claude가 기본적으로 영어 이외의 언어로 응답하도록 합니다. 응답에 대한 고정 목록이 없습니다: Claude Code는 값을 Claude에 항상 해당 언어로 응답하도록 지시하는 것으로 그대로 전달하므로 Claude가 읽을 수 있는 모든 언어 이름이 작동합니다. Claude Code는 값을 확인하지 않으므로 잘못된 이름은 오류를 생성하는 대신 작성된 대로 Claude에 도달합니다. 동일한 값은 [음성 받아쓰기](/docs/ko/voice-dictation#change-the-dictation-language)의 언어를 설정하며, 이는 [지원되는 받아쓰기 언어](/docs/ko/voice-dictation#change-the-dictation-language)의 고정 목록을 가지며, 자동 생성된 세션 제목도 설정합니다.

1017 1075 

1018* **범위**: [`모든 파일`](#scopes)1076* **범위**: [`Any file`](#scopes)

1019* **유형**: 문자열, `"japanese"`, `"spanish"`, `"french"` 등 모든 언어 이름; Claude Code는 이를 검증하지 않습니다1077* **유형**: 문자열, `"japanese"`, `"spanish"`, `"french"`와 같은 모든 언어 이름; Claude Code는 이를 검증하지 않습니다.

1020* **기본값**: 설정 해제됨; 세션 제목은 대화의 언어와 일치합니다1078* **기본값**: 설정 해제됨; 세션 제목은 대화의 언어와 일치합니다.

1021 1079 

1022```json settings.json theme={null}1080```json settings.json theme={null}

1023{1081{


1029 `maxEffortLevel`1087 `maxEffortLevel`

1030</h3>1088</h3>

1031 1089 

1032세션이 사용할 수 있는 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 제한하고 낮은 수준을 사용 가능하게 둡니다. 더 높은 수준은 모두 제한에서 실행됩니다. `/effort`, `/model` 선택기, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ko/env-vars), skill 또는 subagent의 `effort` frontmatter, 또는 모델 자체의 기본값을 포함합니다. Claude Code는 각 요청 전에 제한을 자체적으로 적용하므로 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry를 포함한 모든 공급자에서 유지됩니다. Claude Code v2.1.267 이상이 필요합니다.1090세션이 사용할 수 있는 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 제한하고 낮은 수준을 사용 가능하게 둡니다. 더 높은 수준은 모두 제한으로 실행되며, `/effort`, `/model` 선택기, `--effort`, [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/ko/env-vars), 스킬 또는 subagent의 `effort` frontmatter, 또는 모델의 자체 기본값을 포함합니다. Claude Code는 각 요청 전에 제한을 자체 적용하므로 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry를 포함한 모든 공급자에서 유지됩니다. Claude Code v2.1.267 이상이 필요합니다.

1033 1091 

1034* **범위**: [`모든 파일`](#scopes). 조직에 대해 적용하려면 관리되는 설정에 배포합니다. 여러 범위가 제한을 설정할 때 가장 낮은 제한이 적용되므로 한 범위에서 설정된 제한은 다른 범위에서 높아질 수 없습니다1092* **범위**: [`Any file`](#scopes). 조직에 대해 이를 적용하려면 관리되는 설정에 배포합니다. 여러 범위가 제한을 설정할 때 가장 낮은 것이 적용되므로 한 범위에서 설정된 제한은 다른 범위에서 올릴 수 없습니다.

1035* **유형**: 문자열, `"low"`, `"medium"`, `"high"`, `"xhigh"`, 또는 `"max"` 중 하나. `"max"` 값은 제한을 설정하지 않습니다1093* **유형**: 문자열, `"low"`, `"medium"`, `"high"`, `"xhigh"`, 또는 `"max"` 중 하나. `"max"` 값은 제한을 설정하지 않습니다.

1036* **기본값**: 설정 해제되어 제한이 적용되지 않음1094* **기본값**: 설정 해제되어 제한이 적용되지 않음

1037* **ultracode에 미치는 영향**: `xhigh` 아래의 제한은 제한이 적용되는 모델에서 [ultracode](#ultracode)를 사용 불가능하게 합니다1095* **세션별 재정의**: 모델의 [`modelSettings`](#modelsettings) 항목에 `maxEffortLevel`을 추가합니다. 해당 항목은 사용자 설정 또는 [관리되는 소스](/docs/ko/managed-settings#how-claude-code-combines-managed-sources) 중 하나와 같이 둘 다 설정하는 설정 소스 내에서 모델에 대해서만 이 키를 대체합니다. 해당 소스의 제한에서 모델을 제외하려면 거기에 `"max"`를 설정합니다. Claude Code는 여전히 다른 소스의 제한을 적용합니다.

1038* **모델별 제한**: 모델의 [`modelSettings`](#modelsettings) 항목에 `maxEffortLevel`을 추가합니다. 해당 항목은 사용자 설정 또는 하나의 [관리되는 소스](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)와 같이 둘 다를 설정하는 설정 소스 내에서만 이 키를 모델에 대해 대체합니다. 해당 소스의 제한에서 모델을 제외하려면 `"max"`를 설정합니다. Claude Code는 여전히 다른 소스의 제한을 적용합니다

1039 1096 

1040이 예제는 모든 모델을 `medium`으로 제한하고 Sonnet 4.6을 제외합니다:1097이 예제는 모든 모델을 `medium`으로 제한하고 Sonnet 4.6을 제외합니다:

1041 1098 


1050}1107}

1051```1108```

1052 1109 

1053조직이 모델에 대해 [노력 제한](/docs/ko/model-config#organization-effort-limits)을 설정할 때, 두 제한 중 낮은 제한이 적용됩니다.1110조직이 모델에 대해 [노력 제한](/docs/ko/model-config#organization-effort-limits)을 설정할 때 두 제한 중 낮은 것이 적용됩니다.

1054 1111 

1055<h3 id="model">1112<h3 id="model">

1056 `model`1113 `model`

1057</h3>1114</h3>

1058 1115 

1059모든 새 세션이 사용할 모델을 설정하므로 매번 `/model`로 선택할 필요가 없습니다. 여기에 설정해도 세션 중에 전환하는 것을 막지 않습니다. 관리자가 [조직 기본 모델](/docs/ko/model-config#organization-default-model)을 설정하여 사용자 선택을 재정의하면, 사용자, 프로젝트 또는 로컬 설정에서 이 키를 설정해도 해당 모델을 얻습니다.1116모든 새 세션이 사용할 모델을 설정하므로 매번 `/model`로 선택할 필요가 없습니다. 여기에 설정해도 세션 중에 전환하는 것을 중지하지 않습니다. 관리자가 사용자 선택을 재정의하도록 [조직 기본 모델](/docs/ko/model-config#organization-default-model)을 설정한 경우 사용자, 프로젝트, 로컬 설정에서 이 키를 설정해도 해당 모델을 얻습니다.

1060 1117 

1061* **범위**: [`모든 파일`](#scopes)1118* **범위**: [`Any file`](#scopes)

1062* **유형**: 문자열, 모델 별칭 또는 전체 모델 ID1119* **유형**: 문자열, 모델 별칭 또는 전체 모델 ID

1063* **기본값**: 설정 해제되어 Claude Code는 계정의 기본 모델을 사용합니다1120* **기본값**: 설정 해제되어 Claude Code는 계정의 기본 모델을 사용합니다.

1064* **세션별 재정의**: `--model`은 [`ANTHROPIC_MODEL`](/docs/ko/env-vars)보다 우선하며, 둘 다 한 세션 동안 이 키보다 우선합니다. 관리되는 `model`도 포함합니다. [`availableModels`](#availablemodels) 목록은 여전히 선택에 적용됩니다1121* **세션별 재정의**: `--model`은 [`ANTHROPIC_MODEL`](/docs/ko/env-vars)보다 우선하며, 둘 다 한 세션에 대해 이 키보다 우선하며, 관리되는 `model`보다도 우선합니다. [`availableModels`](#availablemodels) 목록은 여전히 선택에 적용됩니다.

1065 1122 

1066```json settings.json theme={null}1123```json settings.json theme={null}

1067{1124{


1069}1126}

1070```1127```

1071 1128 

1072여기의 값은 [`ANTHROPIC_DEFAULT_MODEL`](/docs/ko/model-config#set-a-default-model-for-new-sessions)을 능가합니다. Claude Code는 다른 것이 모델을 선택하지 않을 때만 사용합니다.1129여기의 값은 [`ANTHROPIC_DEFAULT_MODEL`](/docs/ko/model-config#set-a-default-model-for-new-sessions)을 능가하며, Claude Code는 다른 것이 모델을 선택하지 않을 때만 사용합니다.

1073 1130 

1074<h3 id="modeloverrides">1131<h3 id="modeloverrides">

1075 `modelOverrides`1132 `modelOverrides`

1076</h3>1133</h3>

1077 1134 

1078Anthropic 모델 ID를 Amazon Bedrock 추론 프로필 ARN과 같은 공급자별 모델 ID로 매핑합니다. 각 모델 선택기 항목은 공급자 API를 호출할 때 매핑된 값을 사용합니다. 관리자는 [Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry](/docs/ko/model-config#override-model-ids-per-version)에서 이를 사용하여 각 모델 버전을 특정 추론 프로필, 버전 이름 또는 배포로 라우팅하여 거버넌스, 비용 할당 또는 지역 라우팅을 수행합니다.1135Anthropic 모델 ID를 Amazon Bedrock 추론 프로필 ARN과 같은 공급자별 모델 ID로 매핑합니다. 각 모델 선택기 항목은 공급자 API를 호출할 때 매핑된 값을 사용합니다. 관리자는 [Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry](/docs/ko/model-config#override-model-ids-per-version)에서 이를 사용하여 각 모델 버전을 특정 추론 프로필, 버전 이름, 배포로 라우팅하여 거버넌스, 비용 할당, 지역 라우팅을 수행합니다.

1079 1136 

1080* **범위**: [`모든 파일`](#scopes)1137* **범위**: [`Any file`](#scopes)

1081* **유형**: 모델 ID를 공급자 모델 ID로 매핑하는 객체1138* **유형**: 모델 ID를 공급자 모델 ID로 매핑하는 객체

1082* **기본값**: 설정 해제됨1139* **기본값**: 설정 해제됨

1083 1140 


1091}1148}

1092```1149```

1093 1150 

1094[모델 ID를 버전별로 재정의](/docs/ko/model-config#override-model-ids-per-version)를 참조하십시오.1151[버전별 모델 ID 재정의](/docs/ko/model-config#override-model-ids-per-version)를 참조하십시오.

1095 1152 

1096<h3 id="modelpicker">1153<h3 id="modelpicker">

1097 `modelPicker`1154 `modelPicker`

1098</h3>1155</h3>

1099 1156 

1100`/model` 선택기가 제공하는 모델을 작성한 순서대로 선택한 레이블 아래에 나열하므로 선택기는 조직이 실행하는 모델을 나열합니다. 기본 제공 라인업 이후 또는 대신합니다. 각 행의 `model`은 그대로 사용되므로 `--model`이 허용하는 모든 것을 허용합니다. `opus`와 같은 별칭, Anthropic 모델 ID, 또는 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, 또는 LLM 게이트웨이의 공급자 형식 ID입니다. Claude Code v2.1.242 이상이 필요합니다.1157\[`/model` 선택기가 제공하는 모델을 작성한 순서대로 선택한 레이블 아래에 나열하므로 선택기는 조직이 실행하는 모델을 나열하며, 기본 제공 라인업 후 또는 대신합니다. 각 행의 `model`은 그대로 사용되므로 `--model`이 허용하는 모든 것을 허용합니다: `opus`와 같은 별칭, Anthropic 모델 ID, 또는 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, LLM 게이트웨이의 공급자 형식 ID. Claude Code v2.1.242 이상이 필요합니다.

1101 1158 

1102* **범위**: [`사용자 또는 관리됨`](#scopes). Claude Code는 관리되는 설정, `--settings`, 사용자 설정에서 키를 읽고 프로젝트 및 로컬 설정에서는 무시하므로 복제한 저장소가 선택기를 다시 레이블할 수 없습니다. 이 세 가지 중 가장 높은 것이 키를 설정하면 전체 라인업을 제공하며, Claude Code는 두 소스의 라인업을 결합하지 않습니다.1159* **범위**: [`User or managed`](#scopes). Claude Code는 관리되는 설정, `--settings`, 사용자 설정에서 키를 읽고 프로젝트 및 로컬 설정에서는 무시하므로 복제한 저장소가 선택기를 다시 레이블할 수 없습니다. 이 세 가지 중 가장 높은 것이 키를 설정하면 전체 라인업을 제공하며, Claude Code는 두 소스의 라인업을 결코 결합하지 않습니다.

1103* **유형**: `options` 배열과 선택적 `replaceBuiltInOptions` 부울을 포함하는 객체1160* **유형**: `options` 배열과 선택적 `replaceBuiltInOptions` 부울을 가진 객체

1104* **기본값**: 설정 해제되어 선택기는 기본 제공 라인업을 표시합니다1161* **기본값**: 설정 해제되어 선택기는 기본 제공 라인업을 표시합니다.

1105 1162 

1106이 예제는 팀이 인식하는 이름 아래에 기본 제공 라인업 이후에 두 개의 Bedrock 배포를 추가합니다:1163이 예제는 두 개의 Bedrock 배포를 기본 제공 라인업 후에 추가하며, 팀이 인식하는 이름 아래에 있습니다:

1107 1164 

1108```json managed-settings.json theme={null}1165```json managed-settings.json theme={null}

1109{1166{


1132 1189 

1133| 필드 | 유형 | 수행 작업 |1190| 필드 | 유형 | 수행 작업 |

1134| :- | :- | :- |1191| :- | :- | :- |

1135| `options` | 필수 `model`과 선택적 `label` 및 `description`을 포함하는 각 행의 배열 | 선택기가 표시하는 행(이 순서대로), 회색으로 표시된 행은 맨 아래로 이동합니다. `label` 없이 Claude Code는 알려진 모델에 대해 기본 제공 이름으로 행을 제목으로 지정하거나 모델 ID로 지정하고, `description` 없이 일반 두 번째 줄을 작성합니다 |1192| `options` | 필수 `model` 및 선택적 `label`, `description`, `behavesAs`를 가진 행의 배열 | 선택기가 표시하는 행(이 순서로), 회색으로 표시된 행은 아래로 이동합니다. `label` 없이 Claude Code는 알려진 모델에 대해 기본 제공 이름으로 행을 제목으로 지정하거나 모델 ID로 지정하며, `description` 없이 일반 두 번째 줄을 작성합니다. |

1136| `replaceBuiltInOptions` | 부울, 기본값 `false` | 이 행만, **기본값**, 세션이 이미 사용 중인 모델의 행을 표시하려면 `true`로 설정합니다. 설정 해제하여 기본 제공 라인업 이후에 이 행을 추가합니다 |1193| `replaceBuiltInOptions` | 부울, 기본값 `false` | 이들 행만, **Default**, 세션이 이미 사용 중인 모델의 행을 표시하려면 `true`로 설정합니다. 기본 제공 라인업 후에 이들 행을 추가하려면 설정 해제합니다. |

1194 

1195\[`options`의 항목은 또한 `model` 옆에 선택적 `behavesAs` 문자열을 전달할 수 있으며, v2.1.257 이상이 필요합니다. 이를 Claude Code 버전이 이미 알고 있는 모델의 ID(예: `claude-opus-4-8`)로 설정하며, `model`이 버전보다 최신인 항목에서 설정합니다. Claude Code는 알려진 모델의 기능 및 노력 기본값을 항목에 적용하는 대신 모델을 알 수 없는 것으로 취급합니다. 항목의 레이블과 Claude Code가 요청에서 보내는 모델 ID는 변경되지 않습니다.

1137 1196 

1138`replaceBuiltInOptions`가 켜져 있으면 Claude Code는 다른 모든 행을 숨깁니다. 기본 제공 라인업, [`availableModels`](#availablemodels) 항목에 대해 추가하는 행, [게이트웨이 검색](/docs/ko/llm-gateway-protocol#model-discovery)이 찾은 모델, [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/ko/model-config#add-a-custom-model-option). 꺼져 있으면 Claude Code는 기본 제공 라인업이 이미 다루는 나열된 모델을 건너뜁니다. 레이블은 선택기가 표시하는 것을 변경하지만 Claude Code가 실행하는 모델은 변경하지 않습니다.1197`replaceBuiltInOptions`가 켜져 있으면 Claude Code는 모든 다른 행을 숨깁니다: 기본 제공 라인업, [`availableModels`](#availablemodels) 항목에 대해 추가하는 행, [게이트웨이 검색](/docs/ko/llm-gateway-protocol#model-discovery)이 찾은 모델, [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/ko/model-config#add-a-custom-model-option). 꺼져 있으면 Claude Code는 기본 제공 라인업이 이미 포함하는 나열된 모델을 건너뜁니다. 레이블은 선택기가 표시하는 것을 변경하며, Claude Code가 실행하는 모델은 변경하지 않습니다.

1139 1198 

1140[`availableModels`](#availablemodels) 허용 목록은 여전히 이 행에 적용됩니다. 나열된 모델을 허용 목록에 추가하기 전에 [병합 동작](/docs/ko/model-config#merge-behavior)을 읽으십시오. 특정 모델 ID는 제품군의 와일드카드 항목을 좁힙니다. Claude Code는 선택기를 표시하기 전에 각 행을 세션에 대해 확인합니다:1199[`availableModels`](#availablemodels) 허용 목록은 여전히 이들 행에 적용됩니다. 나열된 모델을 허용 목록에 추가하기 전에 [병합 동작](/docs/ko/model-config#merge-behavior)을 읽으십시오: 특정 모델 ID는 제품군의 와일드카드 항목을 좁힙니다. Claude Code는 또한 선택기를 표시하기 전에 각 행을 세션에 대해 확인합니다:

1141 1200 

1142* **삭제됨**: Claude Code가 제공할 수 없는 행(예: 폐기된 모델 또는 조직이 액세스할 수 없는 모델)1201* **삭제됨**: Claude Code가 제공할 수 없는 행(예: 폐기된 모델 또는 조직이 액세스할 수 없는 모델)

1143* **회색으로 표시됨**: 아직 선택할 수 없는 행(이유와 함께 표시됨)1202* **회색으로 표시됨**: 아직 선택할 수 없는 행이며, 이유와 함께 표시됩니다.

1144* **행이 생존하지 않음**: Claude Code는 기본 제공 라인업을 유지하고 허용 목록으로 필터링합니다1203* **행이 생존하지 않음**: Claude Code는 기본 제공 라인업을 유지하며, 허용 목록으로 필터링됩니다.

1145 1204 

1146Claude Code는 구문 분석할 수 없는 행을 삭제하고 나머지를 유지합니다. [손상된 설정 파일 수정](/docs/ko/settings#fix-a-broken-settings-file)을 참조하십시오.1205Claude Code는 구문 분석할 수 없는 행을 삭제하고 나머지를 유지합니다. [손상된 설정 파일 수정](/docs/ko/settings#fix-a-broken-settings-file)을 참조하십시오.

1147 1206 


1149 `modelPricing`1208 `modelPricing`

1150</h3>1209</h3>

1151 1210 

1152조직이 지불하는 요금으로 지출을 보고합니다. 조직이 계약 요금을 가지고 있을 때 설정하므로 개발자가 보는 달러 수치가 청구서와 일치합니다. Claude Code는 `/usage`, [상태 줄](/docs/ko/statusline), Agent SDK의 `total_cost_usd`, [`--max-budget-usd`](/docs/ko/cli-reference) 제한, [OpenTelemetry](/docs/ko/monitoring-usage) 비용 메트릭 및 이벤트의 요금을 적용합니다. 요금을 제공합니다. Claude Code는 계약 또는 Claude 콘솔에서 읽지 않습니다. Claude Code v2.1.242 이상이 필요합니다.1211조직이 지불하는 요금으로 지출을 보고하며, 목록 가격 대신입니다. 조직이 계약 요금을 가지고 있을 때 설정하므로 개발자가 보는 달러 수치가 청구서와 일치합니다. Claude Code는 `/usage`, [상태 줄](/docs/ko/statusline), Agent SDK의 `total_cost_usd`, [`--max-budget-usd`](/docs/ko/cli-reference) 제한, [OpenTelemetry](/docs/ko/monitoring-usage) 비용 메트릭 및 이벤트의 요금을 적용합니다. 요금을 제공합니다: Claude Code는 계약 또는 Claude 콘솔에서 읽지 않습니다. Claude Code v2.1.242 이상이 필요합니다.

1153 1212 

1154* **범위**: [`관리됨`](#scopes). 서버 관리 설정, MDM 정책, `managed-settings.json` 파일 또는 [정책 도우미](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program)를 통해 키를 배포합니다. Claude Code는 사용자, 프로젝트, 로컬 설정, `--settings`, Windows의 사용자 쓰기 가능 [HKCU 레지스트리](/docs/ko/managed-settings#where-each-mechanism-stores-the-policy)에서 무시합니다. 서버 관리 설정을 사용하면 각 세션은 해당 세션의 [설정 가져오기](/docs/ko/server-managed-settings#fetch-and-caching-behavior)가 설정을 확인할 때까지 정가로 비용을 보고합니다. Claude Code를 포함하고 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ko/env-vars)를 설정하는 호스트 애플리케이션은 SDK [`managedSettings`](/docs/ko/agent-sdk/typescript#options) 옵션을 통해 자체 테이블을 제공할 수 있으며, Claude Code는 관리되는 소스가 키를 설정하지 않을 때만 사용하고 Claude Code v2.1.246 이상에서만 사용합니다.1213* **범위**: [`Managed`](#scopes). 서버 관리 설정, MDM 정책, `managed-settings.json` 파일, [정책 도우미](/docs/ko/managed-settings#compute-the-policy-with-a-helper-program)를 통해 키를 배포합니다. Claude Code는 사용자, 프로젝트, 로컬 설정, `--settings`, Windows의 사용자 쓰기 가능 [HKCU 레지스트리](/docs/ko/managed-settings#where-each-mechanism-stores-the-policy)에서 무시합니다. 서버 관리 설정을 사용하면 각 세션은 해당 세션의 [설정 가져오기](/docs/ko/server-managed-settings#fetch-and-caching-behavior)가 설정을 확인할 때까지 목록 가격으로 비용을 보고합니다. Claude Code를 포함하고 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ko/env-vars)를 설정하는 호스트 애플리케이션은 SDK [`managedSettings`](/docs/ko/agent-sdk/typescript#options) 옵션을 통해 자신의 테이블을 제공할 수 있으며, Claude Code는 관리되는 소스가 키를 설정하지 않을 때만 사용하며 Claude Code v2.1.246 이상에서만 사용합니다.

1155* **유형**: 선택적 `multiplier`와 선택적 `overrides` 맵을 포함하는 객체1214* **유형**: 선택적 `multiplier` 및 선택적 `overrides` 맵을 가진 객체

1156* **기본값**: 설정 해제되어 Claude Code는 호스트 애플리케이션이 테이블을 제공하지 않는 한 정가를 보고합니다1215* **기본값**: 설정 해제되어 Claude Code는 호스트 애플리케이션이 테이블을 제공하지 않는 한 목록 가격을 보고합니다.

1157 1216 

1158`multiplier`만 설정하여 정액 할인 또는 인상을 하거나, `overrides`만 설정하여 모델별 요금을 설정하거나, 둘 다 설정합니다.1217단독으로 `multiplier`를 설정하여 정액 할인 또는 인상, 단독으로 `overrides`를 설정하여 모델별 요금, 또는 둘 다를 설정합니다.

1159 1218 

1160이 예제는 Sonnet 4.6에 대한 계약 요금을 설정한 다음 Sonnet 행을 포함한 모든 수치를 15% 감소시킵니다:1219이 예제는 Sonnet 4.6에 대한 계약 요금을 설정한 다음 Sonnet 행을 포함한 모든 수치를 15% 감소시킵니다:

1161 1220 


1175}1234}

1176```1235```

1177 1236 

11781보다 큰 `multiplier`를 최대 10까지 설정하여 모든 수치를 인상합니다. 인상은 Claude Code v2.1.271 이상이 필요합니다. 이전 버전은 경고와 함께 1보다 큰 `multiplier`를 무시하고 설정의 나머지를 유지합니다.1237`multiplier`를 1 이상 10까지 설정하여 모든 수치를 인상합니다. 인상은 Claude Code v2.1.271 이상이 필요합니다. 이전 버전은 경고와 함께 1 이상의 `multiplier`를 무시하고 설정의 나머지를 유지합니다.

1179 1238 

1180요금이 적용되는지 확인하는 방법을 포함한 단계는 [계약 요금으로 지출 보고](/docs/ko/costs#report-spend-at-your-contracted-rates)를 참조하십시오.1239단계(요금이 적용되는지 확인하는 방법 포함)는 [계약 요금으로 지출 보고](/docs/ko/costs#report-spend-at-your-contracted-rates)를 참조하십시오.

1181 1240 

1182<span id="modelpricing-multiplier" />1241<span id="modelpricing-multiplier" />

1183 1242 


1189 1248 

1190| 필드 | 유형 | 수행 작업 |1249| 필드 | 유형 | 수행 작업 |

1191| :- | :- | :- |1250| :- | :- | :- |

1192| `multiplier` | 0보다 크고 최대 10인 숫자 | `overrides` 행이 다루는지 여부에 관계없이 Claude Code가 계산하는 모든 비용을 조정합니다. 1 미만은 할인, 1 초과는 인상입니다 |1251| `multiplier` | 0보다 크고 최대 10인 숫자 | Claude Code가 계산하는 모든 비용을 확장하며, `overrides` 행이 이를 포함하는지 여부와 관계없이 확장합니다. 1 미만은 할인, 1 이상은 인상입니다. |

1193| `overrides` | 모델 ID를 `input`, `output`, `cacheRead`, `cacheWrite`를 포함하는 요금 객체로 매핑하며, 각각 0\~10000 | 해당 모델의 백만 토큰당 USD 요금(모두 4개 필수). `cacheWrite`는 5분 및 1시간 캐시 쓰기를 모두 다룹니다. [어떤 모델이 행을 적용하는지](#which-models-a-modelpricing-row-applies-to) 참조 |1252| `overrides` | 모델 ID를 `input`, `output`, `cacheRead`, `cacheWrite`를 가진 요금 객체로 매핑하며, 각각 0에서 10000 | 해당 모델에 대한 백만 토큰당 USD 요금이며, 모두 4개 필수입니다. `cacheWrite`는 5분 및 1시간 캐시 쓰기를 모두 포함합니다. [어느 모델이 행을 적용하는지](#which-models-a-modelpricing-row-applies-to) 참조 |

1194 1253 

1195Claude Code는 행의 요금을 작성한 대로 정확히 사용하며, 빠른 모드 할증료 또는 [미국 전용 추론 요금](https://platform.claude.com/docs/en/about-claude/pricing)을 추가하지 않습니다. `multiplier`도 설정하면 Claude Code는 행의 요금 위에 적용합니다. Claude Code는 구문 분석할 수 없는 요금이 있는 행 또는 구문 분석할 수 없는 `multiplier`를 삭제하고 나머지를 유지합니다. [손상된 설정 파일 수정](/docs/ko/settings#fix-a-broken-settings-file)을 참조하십시오.1254Claude Code는 행의 요금을 정확히 작성한 대로 사용하며, 빠른 모드 추가 요금 또는 [미국 전용 추론 요금](https://platform.claude.com/docs/en/about-claude/pricing)을 추가하지 않습니다. `multiplier`도 설정하면 Claude Code는 행의 요금 위에 이를 적용합니다. Claude Code는 구문 분석할 수 없는 요금이 있는 행 또는 구문 분석할 수 없는 `multiplier`를 삭제하고 나머지를 유지합니다. [손상된 설정 파일 수정](/docs/ko/settings#fix-a-broken-settings-file)을 참조하십시오.

1196 1255 

1197<h4 id="which-models-a-modelpricing-row-applies-to">1256<h4 id="which-models-a-modelpricing-row-applies-to">

1198 `modelPricing` 행이 적용되는 모델1257 `modelPricing` 행이 적용되는 모델


1200 1259 

1201Claude Code는 행의 키에서 행이 적용되는 모델을 결정합니다:1260Claude Code는 행의 키에서 행이 적용되는 모델을 결정합니다:

1202 1261 

1203* **기본 제공 모델의 ID**: Claude Code 자체가 기본 제공 모델에 사용하는 키(해당 키가 `claude-sonnet-4-6`과 같은 모델 자체의 ID이든 Bedrock, Agent Platform 또는 Foundry ID이든). Claude Code는 해당 모델의 모든 날짜 스냅샷 ID 및 공급자별 ID에 행을 적용합니다.1262* **기본 제공 모델의 ID**: Claude Code 자체가 기본 제공 모델에 사용하는 키이며, 해당 키가 모델의 자체 ID(예: `claude-sonnet-4-6`) 또는 Bedrock, Agent Platform, Foundry ID인지 여부와 관계없이 사용합니다. Claude Code는 해당 모델의 모든 날짜 스냅샷 ID 및 공급자별 ID에 행을 적용합니다.

1204* **다른 키**: 게이트웨이 모델 별칭과 같이 기본 제공 모델의 ID가 아닌 키. Claude Code는 해당 하나의 ID에만 행을 적용합니다. 모델 ID가 키 중 하나와 정확히 일치하고 기본 제공 모델의 ID로 키가 지정된 행에도 해당하면 Claude Code는 정확한 일치를 사용합니다.1263* **다른 모든 키**: 기본 제공 모델의 ID가 아닌 키(예: 게이트웨이 모델 별칭). Claude Code는 해당 하나의 ID에만 행을 적용합니다. 모델 ID가 키 중 하나와 정확히 일치하고 기본 제공 모델의 ID로 키가 지정된 행 아래에도 해당할 때 Claude Code는 정확한 일치를 사용합니다.

1205* **Bedrock 애플리케이션 추론 프로필**: Claude Code가 [`modelOverrides`](#modeloverrides) 맵 또는 [`bedrock:GetInferenceProfile` 조회](/docs/ko/amazon-bedrock#iam-configuration)를 통해 프로필을 라우팅하는 모델로 확인한 후, Claude Code는 해당 모델의 행을 프로필에 적용합니다.1264* **Bedrock 애플리케이션 추론 프로필**: Claude Code가 [`modelOverrides`](#modeloverrides) 맵을 통해 또는 [`bedrock:GetInferenceProfile` 조회](/docs/ko/amazon-bedrock#iam-configuration)를 통해 프로필을 라우팅하는 모델로 확인한 후 Claude Code는 해당 모델의 행을 프로필에 적용합니다.

1206 1265 

1207<h3 id="modelsettings">1266<h3 id="modelsettings">

1208 `modelSettings`1267 `modelSettings`


1210 1269 

1211사용하는 각 모델에 대해 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 저장합니다. Claude Code v2.1.251 이상이 필요합니다.1270사용하는 각 모델에 대해 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 저장합니다. Claude Code v2.1.251 이상이 필요합니다.

1212 1271 

1213머신의 대화형 세션에서 `/effort` 또는 `/model` 선택기의 노력 슬라이더로 `low`, `medium`, `high`, 또는 `xhigh`를 기본값으로 저장하면, Claude Code는 사용 중인 모델 아래에 해당 수준을 작성하므로 이 키를 직접 편집하는 경우는 거의 없습니다. [VS Code 확장의 모델 선택기](/docs/ko/vs-code#use-the-prompt-box)에서 이 수준 중 하나를 선택하면 Claude Code는 동일한 방식으로 여기에 저장합니다. [`effortLevel`](#effortlevel) 항목은 `/effort`가 해당 세션에만 적용되는 세션을 나열합니다.1272머신의 대화형 세션에서 `/effort` 또는 `/model` 선택기의 노력 슬라이더로 `low`, `medium`, `high`, 또는 `xhigh`를 기본값으로 저장할 때 Claude Code는 해당 수준을 사용 중인 모델 아래에 작성하므로 이 키를 거의 편집하지 않습니다. [VS Code 확장의 모델 선택기](/docs/ko/vs-code#use-the-prompt-box)에서 이들 수준 중 하나를 선택할 때 Claude Code는 동일한 방식으로 저장합니다. [`effortLevel`](#effortlevel) 항목은 `/effort`가 해당 세션에만 적용되는 세션을 나열합니다.

1214 1273 

1215저장한 수준을 변경하거나 제거하려면 키를 직접 편집합니다.1274저장한 수준을 변경하거나 제거하려면 키를 직접 편집합니다.

1216 1275 

1217여기의 모델의 `effortLevel`은 동일한 설정 파일의 최상위 [`effortLevel`](#effortlevel)보다 우선합니다. 파일 간에 Claude Code는 각 모델을 별도로 확인합니다. 해당 모델에 대해 `effortLevel`을 설정하거나 최상위 `effortLevel`을 설정하는 가장 높은 우선순위 [설정 파일](/docs/ko/settings#settings-precedence)이 결정하므로 관리되는 설정의 `effortLevel`은 사용자 설정에 저장한 수준을 능가합니다. [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)은 저장된 수준을 재정의할 수 있는 다른 것(예: 시작 시 `--effort`)을 나열합니다.1276모델의 `effortLevel`은 동일한 설정 파일의 최상위 [`effortLevel`](#effortlevel)보다 우선합니다. 파일 간에 Claude Code는 각 모델을 별도로 확인합니다: 해당 모델에 대해 `effortLevel`을 설정하거나 [해당 모델에 적용되는](/docs/ko/model-config#adjust-effort-level) 최상위 `effortLevel`을 설정하는 가장 높은 우선순위 [설정 파일](/docs/ko/settings#settings-precedence)이 결정하므로 관리되는 설정의 `effortLevel`은 사용자 설정에서 저장한 수준을 능가합니다. [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)은 저장된 수준을 재정의할 수 있는 다른 것(예: 시작 시 `--effort`)을 나열합니다.

1218 1277 

1219한 모델의 노력을 설정하는 대신 제한하려면 해당 모델의 항목에 [`maxEffortLevel`](#maxeffortlevel) 필드를 추가합니다. 필드는 Claude Code v2.1.267 이상이 필요합니다.1278한 모델의 노력을 설정하는 대신 제한하려면 해당 모델의 항목에 [`maxEffortLevel`](#maxeffortlevel) 필드를 추가합니다. 필드는 Claude Code v2.1.267 이상이 필요합니다.

1220 1279 

1221* **범위**: [`모든 파일`](#scopes)1280* **범위**: [`Any file`](#scopes)

1222* **유형**: 모델 이름을 `effortLevel` 필드(하나의 `"low"`, `"medium"`, `"high"`, 또는 `"xhigh"`), [`maxEffortLevel`](#maxeffortlevel) 필드, 또는 둘 다를 포함하는 객체로 매핑하는 객체1281* **유형**: 모델 이름을 `effortLevel` 필드(하나의 `"low"`, `"medium"`, `"high"`, 또는 `"xhigh"`), [`maxEffortLevel`](#maxeffortlevel) 필드, 또는 둘 다를 가진 객체로 매핑하는 객체

1223* **기본값**: 설정 해제됨1282* **기본값**: 설정 해제됨

1224 1283 

1225Claude Code는 각 항목을 `claude-opus-5`와 같은 모델의 정규 이름 아래에 작성하고 해당 모델의 별칭, 날짜 접미사, `[1m]`, 인식된 공급자별 ID를 동일한 항목과 일치시킵니다.1284Claude Code는 각 항목을 `claude-opus-5-5`와 같은 모델의 정규 이름 아래에 작성하며, 해당 모델의 별칭, 날짜 접미사, `[1m]`, 인식된 공급자별 ID를 동일한 항목과 일치시킵니다.

1226 1285 

1227이 예제는 Opus 5를 `medium`으로 유지하면서 다른 모델은 자신의 저장된 또는 기본 수준을 사용합니다:1286이 예제는 Opus 5.5를 `high`로 유지하면서 다른 모델은 자신의 저장되거나 기본 수준을 사용합니다:

1228 1287 

1229```json settings.json theme={null}1288```json settings.json theme={null}

1230{1289{

1231 "modelSettings": {1290 "modelSettings": {

1232 "claude-opus-5": {1291 "claude-opus-5-5": {

1233 "effortLevel": "medium"1292 "effortLevel": "high"

1234 }1293 }

1235 }1294 }

1236}1295}

1237```1296```

1238 1297 

1239`/effort auto`를 실행하여 사용 중인 모델에 대해 저장된 수준을 지웁니다. Claude Code는 다른 항목과 최상위 `effortLevel`을 그대로 둡니다.1298사용 중인 모델에 대해 저장된 수준을 지우려면 `/effort auto`를 실행합니다. Claude Code는 다른 항목과 파일의 모든 최상위 `effortLevel`을 그대로 둡니다.

1240 1299 

1241<h3 id="outputstyle">1300<h3 id="outputstyle">

1242 `outputStyle`1301 `outputStyle`

1243</h3>1302</h3>

1244 1303 

1245[출력 스타일](/docs/ko/output-styles)을 이름으로 선택합니다. 출력 스타일은 Claude의 역할, 톤, 출력 형식을 변경하는 저장된 지시 집합입니다. 기본 제공 Explanatory 및 Learning 스타일 또는 직접 작성한 스타일입니다.1304[출력 스타일](/docs/ko/output-styles)을 이름으로 선택합니다. 출력 스타일은 Claude의 역할, 톤, 출력 형식을 변경하는 저장된 지침 집합이며, 기본 제공 Explanatory 및 Learning 스타일 또는 직접 작성한 스타일입니다.

1246 1305 

1247세션 중에 이 키를 변경하면 Claude는 다음 메시지부터 새 스타일을 사용합니다. 해당 메시지가 프롬프트 캐싱에서 비용이 얼마인지는 [출력 스타일 변경](/docs/ko/prompt-caching#changing-output-style)을 참조하십시오. v2.1.251 이전에는 `/clear`를 실행하거나 새 세션을 시작한 후에만 편집이 적용되었습니다.1306세션 중에 이 키를 변경하면 Claude는 다음 메시지부터 새 스타일을 사용합니다. 해당 메시지가 프롬프트 캐싱에서 비용이 얼마인지는 [출력 스타일 변경](/docs/ko/prompt-caching#changing-output-style)을 참조하십시오. v2.1.251 이전에는 `/clear`를 실행하거나 새 세션을 시작한 후에만 편집이 적용되었습니다.

1248 1307 

1249* **범위**: [`모든 파일`](#scopes)1308* **범위**: [`Any file`](#scopes)

1250* **유형**: 문자열, [기본 제공](/docs/ko/output-styles#built-in-output-styles) 또는 [사용자 정의](/docs/ko/output-styles#create-a-custom-output-style) 출력 스타일의 이름1309* **유형**: 문자열, [기본 제공](/docs/ko/output-styles#built-in-output-styles) 또는 [사용자 정의](/docs/ko/output-styles#create-a-custom-output-style) 출력 스타일의 이름

1251* **기본값**: 설정 해제되어 Claude Code는 기본 스타일을 사용합니다1310* **기본값**: 설정 해제되어 Claude Code는 기본 스타일을 사용합니다.

1252 1311 

1253이 예제는 작업 간에 교육 통찰력을 추가하는 기본 제공 Explanatory 스타일을 선택합니다:1312이 예제는 기본 제공 Explanatory 스타일을 선택하며, 작업 사이에 교육 통찰력을 추가합니다:

1254 1313 

1255```json settings.json theme={null}1314```json settings.json theme={null}

1256{1315{


1262 `promptCacheTtl`1321 `promptCacheTtl`

1263</h3>1322</h3>

1264 1323 

1265[프롬프트 캐시](/docs/ko/prompt-caching)가 주 대화를 유지하는 기간을 선택합니다. 이 키는 대화형, `-p`, Agent SDK 턴과 함께 Claude Code가 인라인으로 실행하는 도우미에 적용됩니다. 1시간 수명은 더 긴 휴식 시간 동안 캐시를 따뜻하게 유지하고, API는 [각 캐시 쓰기를 5분 수명보다 더 높은 요금으로 청구합니다](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Claude Code v2.1.242 이상이 필요합니다.1324[프롬프트 캐시](/docs/ko/prompt-caching)가 주 대화를 유지하는 기간을 선택합니다. 이 키는 대화형, `-p`, Agent SDK 턴과 함께 Claude Code가 인라인으로 실행하는 도우미에 적용됩니다. 1시간 수명은 더 긴 휴식 시간에 캐시를 따뜻하게 유지하며, API는 [각 캐시 쓰기를 5분 수명보다 더 높은 요금으로 청구합니다](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Claude Code v2.1.242 이상이 필요합니다.

1266 1325 

1267* **범위**: [`모든 파일`](#scopes)1326* **범위**: [`Any file`](#scopes)

1268* **유형**: 문자열, 다음 중 하나:1327* **유형**: 문자열, 다음 중 하나:

1269 * `"5m"`: 캐시는 5분 동안 유지됩니다1328 * `"5m"`: 캐시는 5분 동안 유지됩니다.

1270 * `"1h"`: 캐시는 1시간 동안 유지됩니다1329 * `"1h"`: 캐시는 1시간 동안 유지됩니다.

1271* **기본값**: 설정 해제되어 각 주 대화 요청은 [기본 수명](/docs/ko/prompt-caching#which-ttl-each-request-gets)을 얻습니다1330* **기본값**: 설정 해제되어 각 주 대화 요청은 [기본 수명](/docs/ko/prompt-caching#which-ttl-each-request-gets)을 얻습니다.

1272* **세션별 재정의**: [`FORCE_PROMPT_CACHING_5M`](/docs/ko/env-vars)는 다른 모든 것보다 우선하고, [`CLAUDE_CODE_PROMPT_CACHE_TTL`](/docs/ko/env-vars), 그 다음 이 키, 마지막으로 [`ENABLE_PROMPT_CACHING_1H`](/docs/ko/env-vars)1331* **세션별 재정의**: [`FORCE_PROMPT_CACHING_5M`](/docs/ko/env-vars)은 모든 것보다 우선하며, 그 다음 [`CLAUDE_CODE_PROMPT_CACHE_TTL`](/docs/ko/env-vars), 그 다음 이 키, 마지막으로 [`ENABLE_PROMPT_CACHING_1H`](/docs/ko/env-vars)

1273 1332 

1274이 예제는 주 대화를 1시간 수명으로 유지하고 subagents를 5분으로 둡니다:1333이 예제는 주 대화를 1시간 수명으로 유지하고 subagents를 5분으로 둡니다:

1275 1334 


1280}1339}

1281```1340```

1282 1341 

1283각 수명의 비용은 [캐시 수명](/docs/ko/prompt-caching#cache-lifetime)을 참조하십시오.1342각 수명이 비용이 얼마인지는 [캐시 수명](/docs/ko/prompt-caching#cache-lifetime)을 참조하십시오.

1284 1343 

1285<h3 id="showthinkingsummaries">1344<h3 id="showthinkingsummaries">

1286 `showThinkingSummaries`1345 `showThinkingSummaries`


1288 1347 

1289대화형 세션에서 Claude의 [확장 사고](/docs/ko/model-config#extended-thinking) 요약을 봅니다. `Ctrl+O`로 사고를 확장할 때 전체 요약을 원하면 설정합니다. 설정 해제되거나 `false`일 때 Anthropic API는 사고 블록을 수정하고 Claude Code는 축소된 스텁을 표시합니다. 타사 공급자는 수정하지 않습니다.1348대화형 세션에서 Claude의 [확장 사고](/docs/ko/model-config#extended-thinking) 요약을 봅니다. `Ctrl+O`로 사고를 확장할 때 전체 요약을 원하면 설정합니다. 설정 해제되거나 `false`일 때 Anthropic API는 사고 블록을 수정하고 Claude Code는 축소된 스텁을 표시합니다. 타사 공급자는 수정하지 않습니다.

1290 1349 

1291* **범위**: [`모든 파일`](#scopes)1350* **범위**: [`Any file`](#scopes)

1292* **유형**: 부울1351* **유형**: 부울

1293 * `true`: `Ctrl+O`로 사고를 확장할 때 전체 사고 요약을 봅니다1352 * `true`: `Ctrl+O`로 사고를 확장할 때 전체 사고 요약을 봅니다.

1294 * `false`: Anthropic API는 사고 블록을 수정하고 Claude Code는 축소된 스텁을 표시합니다1353 * `false`: Anthropic API는 사고 블록을 수정하고 Claude Code는 축소된 스텁을 표시합니다.

1295* **기본값**: `false`1354* **기본값**: `false`

1296 1355 

1297```json settings.json theme={null}1356```json settings.json theme={null}


1306 `subagentPromptCacheTtl`1365 `subagentPromptCacheTtl`

1307</h3>1366</h3>

1308 1367 

1309[프롬프트 캐시](/docs/ko/prompt-caching)가 Claude Code가 주 대화 외부에서 만드는 요청을 유지하는 기간을 선택합니다. 이 키는 [subagents](/docs/ko/sub-agents), [workflows](/docs/ko/workflows), Claude Code의 자체 배경 및 도우미 요청(예: 압축 및 세션 제목)에 적용됩니다. 1시간 수명은 더 긴 휴식 시간 동안 캐시를 따뜻하게 유지하고, API는 [각 캐시 쓰기를 5분 수명보다 더 높은 요금으로 청구합니다](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Claude Code v2.1.242 이상이 필요합니다.1368[프롬프트 캐시](/docs/ko/prompt-caching)가 주 대화 외부에서 Claude Code가 만드는 요청을 유지하는 기간을 선택합니다. 이 키는 [subagents](/docs/ko/sub-agents), [workflows](/docs/ko/workflows), Claude Code의 자체 배경 및 도우미 요청(예: 압축 및 세션 제목)에 적용됩니다. 1시간 수명은 더 긴 휴식 시간에 캐시를 따뜻하게 유지하며, API는 [각 캐시 쓰기를 5분 수명보다 더 높은 요금으로 청구합니다](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing). Claude Code v2.1.242 이상이 필요합니다.

1310 1369 

1311* **범위**: [`모든 파일`](#scopes)1370* **범위**: [`Any file`](#scopes)

1312* **유형**: 문자열, 다음 중 하나:1371* **유형**: 문자열, 다음 중 하나:

1313 * `"5m"`: 캐시는 5분 동안 유지됩니다1372 * `"5m"`: 캐시는 5분 동안 유지됩니다.

1314 * `"1h"`: 캐시는 1시간 동안 유지됩니다1373 * `"1h"`: 캐시는 1시간 동안 유지됩니다.

1315* **기본값**: 설정 해제되어 이러한 각 요청은 [기본 수명](/docs/ko/prompt-caching#which-ttl-each-request-gets)을 얻습니다1374* **기본값**: 설정 해제되어 이들 각 요청은 [기본 수명](/docs/ko/prompt-caching#which-ttl-each-request-gets)을 얻습니다.

1316* **세션별 재정의**: [`FORCE_PROMPT_CACHING_5M`](/docs/ko/env-vars)는 다른 모든 것보다 우선하고, [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](/docs/ko/env-vars), 그 다음 이 키, 그 다음 [`ENABLE_PROMPT_CACHING_1H`](/docs/ko/env-vars)(모든 요청에서 1시간 수명을 요청). subagent의 자체 frontmatter 값이 순위에서 어디에 있는지는 [TTL을 직접 선택](/docs/ko/prompt-caching#choose-the-ttl-yourself)을 참조하십시오1375* **세션별 재정의**: [`FORCE_PROMPT_CACHING_5M`](/docs/ko/env-vars)은 모든 것보다 우선하며, 그 다음 [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](/docs/ko/env-vars), 그 다음 이 키, 그 다음 [`ENABLE_PROMPT_CACHING_1H`](/docs/ko/env-vars)(모든 요청에서 1시간 수명을 요청). subagent의 자체 frontmatter 값이 어디에 순위가 지정되는지는 [TTL을 직접 선택](/docs/ko/prompt-caching#choose-the-ttl-yourself)을 참조하십시오.

1317 1376 

1318이 예제는 subagents 및 주 대화 외부의 다른 요청에 1시간 수명을 제공합니다:1377이 예제는 subagents 및 주 대화 외부의 다른 요청에 1시간 수명을 제공합니다:

1319 1378 


1323}1382}

1324```1383```

1325 1384 

1326이 키는 [`promptCacheTtl`](#promptcachettl)이 다루지 않는 요청을 다루므로 Claude Code가 만드는 모든 요청에 대해 수명을 선택하려면 둘 다 설정합니다. subagent의 캐시가 주 대화의 캐시와 어떻게 다른지는 [Subagents 및 캐시](/docs/ko/prompt-caching#subagents-and-the-cache)를 참조하십시오.1385이 키는 [`promptCacheTtl`](#promptcachettl)이 포함하지 않는 요청을 포함하므로 Claude Code가 만드는 모든 요청에 대해 수명을 선택하려면 둘 다 설정합니다. subagent의 캐시가 주 대화의 캐시와 어떻게 다른지는 [Subagents 및 캐시](/docs/ko/prompt-caching#subagents-and-the-cache)를 참조하십시오.

1327 1386 

1328<h3 id="switchmodelsonflag">1387<h3 id="switchmodelsonflag">

1329 `switchModelsOnFlag`1388 `switchModelsOnFlag`

1330</h3>1389</h3>

1331 1390 

1332[안전 분류기가 요청에 플래그를 지정할](/docs/ko/model-config#automatic-model-fallback) 때 어떤 일이 발생하는지 선택합니다. 폴백 모델로 전환하고 계속하거나, 전환과 프롬프트 편집 중에서 선택할 수 있도록 일시 중지합니다.1391[안전 분류기가 요청에 플래그를 지정](/docs/ko/model-config#automatic-model-fallback)할 때 발생하는 상황을 선택합니다: 폴백 모델로 전환하고 계속하거나, 전환과 프롬프트 편집 중에서 선택할 수 있도록 일시 중지합니다.

1333 1392 

1334* **범위**: [`모든 파일`](#scopes). `/config`에 **메시지가 플래그될 때 모델 전환**으로 나타납니다.1393* **범위**: [`Any file`](#scopes). `/config`에 **메시지에 플래그가 지정되면 모델 전환**으로 나타납니다.

1335* **유형**: 부울1394* **유형**: 부울

1336 * `true`: Claude Code는 폴백 모델로 전환하고 계속합니다1395 * `true`: Claude Code는 폴백 모델로 전환하고 계속합니다.

1337 * `false`: 대화형 세션에서 Claude Code는 일시 중지하여 전환과 프롬프트 편집 중에서 선택할 수 있습니다. 대화 상자를 표시할 수 없는 `-p` 실행과 같은 곳에서는 플래그된 요청이 오류로 끝납니다1396 * `false`: 대화형 세션에서 Claude Code는 전환과 프롬프트 편집 중에서 선택할 수 있도록 일시 중지합니다. 대화 상자를 표시할 수 없는 곳(예: `-p` 실행)에서는 플래그된 요청이 오류로 끝납니다.

1338* **기본값**: `true`, 자동으로 전환1397* **기본값**: `true`, 자동으로 전환

1339 1398 

1340```json settings.json theme={null}1399```json settings.json theme={null}


1349 `ultracode`1408 `ultracode`

1350</h3>1409</h3>

1351 1410 

1352[ultracode](/docs/ko/workflows#let-claude-decide-with-ultracode)를 사용하여 세션을 시작합니다. 켜져 있으면 Claude는 요청할 때까지 기다리는 대신 각 실질적인 작업에 대해 워크플로우를 계획합니다. Claude는 [동적 워크플로우](/docs/ko/workflows)가 활성화되고, 모델이 `xhigh` 노력을 지원하고, [노력 제한](/docs/ko/model-config#organization-effort-limits)이 `xhigh` 아래에 적용되지 않을 때만 워크플로우를 계획합니다. 어느 쪽이든 `ultracode: true`는 세션을 `xhigh` 노력으로 실행하거나 노력 제한이 더 낮을 때 제한에서 실행합니다. Claude Code는 이 키를 읽지만 절대 작성하지 않습니다. `/effort ultracode`는 현재 세션에만 ultracode를 켭니다.1411[ultracode](/docs/ko/workflows#let-claude-decide-with-ultracode)를 켜서 세션을 시작합니다. 켜져 있으면 Claude는 사용자가 요청할 때까지 기다리는 대신 각 실질적인 작업에 대해 워크플로우를 계획합니다. Claude는 [동적 워크플로우](/docs/ko/workflows)가 사용자에게 활성화되고 모델이 `xhigh` 노력을 지원할 때만 워크플로우를 계획합니다. 키는 세션의 노력 수준을 변경하지 않습니다: ultracode는 세션이 사용하는 어느 수준에서든 실행됩니다. Claude Code는 이 키를 읽지만 절대 작성하지 않습니다: `/effort ultracode`는 현재 세션에만 ultracode를 켭니다.

1353 1412 

1354* **범위**: [`모든 파일`](#scopes)1413* **범위**: [`Any file`](#scopes)

1355* **유형**: 부울1414* **유형**: 부울

1356 * `true`: 세션은 `xhigh` 노력으로 시작하고, 동적 워크플로우가 활성화되고, 모델이 `xhigh`를 지원하고, 노력 제한이 `xhigh` 아래에 없을 때 ultracode가 켜집니다1415 * `true`: 동적 워크플로우가 사용자에게 활성화되고 모델이 `xhigh` 노력을 지원할 때 세션은 ultracode가 켜진 상태로 시작합니다.

1357 * `false`: 세션은 ultracode가 꺼진 상태로 시작합니다1416 * `false`: 세션은 ultracode가 꺼진 상태로 시작합니다.

1358* **기본값**: 설정 해제되어 ultracode는 꺼짐1417* **기본값**: 설정 해제되어 ultracode는 꺼짐

1359* **세션별 재정의**: `/effort ultracode`는 이 키 없이 한 세션에 대해 ultracode를 켭니다. `--effort ultracode`도 마찬가지이며, Claude Code v2.1.203 이상이 필요합니다1418* **세션별 재정의**: `/effort ultracode`는 이 키 없이 한 세션에 대해 ultracode를 켭니다. `--effort ultracode` 플래그도 한 세션에 대해 켜며, `xhigh` 노력에서 켜며, Claude Code v2.1.203 이상이 필요합니다.

1360 1419 

1361```json settings.json theme={null}1420```json settings.json theme={null}

1362{1421{


1364}1423}

1365```1424```

1366 1425 

1367Ultracode는 세션을 `xhigh` 노력으로 실행하고 `effortLevel` 및 [`modelSettings`](#modelsettings) 항목보다 우선합니다. `xhigh` 아래의 [노력 제한](/docs/ko/model-config#organization-effort-limits)(예: [`maxEffortLevel`](#maxeffortlevel) 설정)이 모델에 적용되면 세션은 대신 제한에서 실행되고 ultracode는 꺼집니다. Claude는 자체적으로 워크플로우를 계획하지 않으며, `/effort`는 `ultracode`를 제공하지 않습니다. Agent SDK `apply_flag_settings` 제어 요청도 키를 허용합니다.1426세션의 노력 수준은 [`effortLevel`](#effortlevel), [`modelSettings`](#modelsettings), 다른 [노력 소스](/docs/ko/model-config#adjust-effort-level)에서 나오며, [노력 제한](/docs/ko/model-config#organization-effort-limits)(예: [`maxEffortLevel`](#maxeffortlevel))은 ultracode를 끄지 않고 해당 수준을 낮춥니다. 이것과 `/effort ultracode off` 형식은 Claude Code v2.1.284 이상이 필요합니다. v2.1.284 이전에는 `ultracode: true`가 세션을 `xhigh` 노력으로 실행했으며, `xhigh` 아래의 노력 제한은 ultracode를 꺼진 상태로 유지했습니다. Agent SDK `apply_flag_settings` 제어 요청도 키를 허용합니다.

1368 1427 

1369<h2 id="permission-settings">1428<h2 id="permission-settings">

1370 권한 설정1429 권한 설정


1487 `useAutoModeDuringPlan`1546 `useAutoModeDuringPlan`

1488</h3>1547</h3>

1489 1548 

1490Claude Code가 계획 모드에서 셸 명령을 검토하기 위해 자동 모드 분류기를 사용할지 여부를 선택합니다. 기본값 `true`를 사용하면 자동 모드를 사용할 수 있고 프롬프트가 표시되지 않을 때 계획 중에 분류기가 각 명령을 검토합니다. 기본 제공 읽기 전용 집합 외부의 모든 명령에 대해 권한 프롬프트를 받으려면 `false`로 설정합니다. `/config`에 **계획 중 자동 모드 사용**으로 나타납니다.1549Claude Code가 계획 모드에서 셸 명령을 검토하기 위해 자동 모드 분류기를 사용할지 여부를 선택합니다. 기본값 `true`를 사용하면 자동 모드를 사용할 수 있고 프롬프트가 표시되지 않을 때 계획 중에 분류기가 각 명령을 검토합니다. [중요 경로 제거](/docs/ko/permission-modes#critical-paths)를 제외하고 기본 제공 읽기 전용 집합 외부의 모든 명령에 대해 권한 프롬프트를 받으려면 `false`로 설정합니다. `/config`에 **계획 중 자동 모드 사용**으로 나타납니다.

1491 1550 

1492* **범위**: [`User, local, or managed`](#scopes). 저장소는 이를 끌 수 없습니다.1551* **범위**: [`User, local, or managed`](#scopes). 저장소는 이를 끌 수 없습니다.

1493* **유형**: Boolean1552* **유형**: Boolean

1494 * `true`: 설정되지 않은 것과 동일합니다. 자동 모드를 사용할 수 있으면 분류기는 계획 중에 각 셸 명령을 검토하고 이에 대해 프롬프트하지 않습니다. 이러한 파일 중 하나의 `false`는 여전히 이를 끕니다1553 * `true`: 설정되지 않은 것과 동일합니다. 자동 모드를 사용할 수 있으면 분류기는 계획 중에 각 셸 명령을 검토하고 [중요 경로 제거](/docs/ko/permission-modes#critical-paths)를 제외하고 이에 대해 프롬프트하지 않습니다. 이러한 파일 중 하나의 `false`는 여전히 이를 끕니다

1495 * `false`: 기본 제공 읽기 전용 집합 외부의 모든 명령에 대해 권한 프롬프트를 받습니다1554 * `false`: 기본 제공 읽기 전용 집합 외부의 모든 명령에 대해 권한 프롬프트를 받습니다

1496* **기본값**: `true`1555* **기본값**: `true`

1497 1556 


1919}1978}

1920```1979```

1921 1980 

1922Claude Code는 OS 샌드박스 경계에서 이러한 목록을 적용하므로, `kubectl`, `terraform`, `npm`과 같이 샌드박스된 명령이 시작하는 모든 하위 프로세스에 적용되며, Claude의 파일 도구에만 적용되지 않습니다. Claude Code는 [권한 규칙](/docs/ko/sandboxing#permission-rules)을 동일한 목록에 추가합니다: `Edit` 허용 및 거부 규칙을 `allowWrite` 및 `denyWrite`에, `Read` 거부 규칙을 `denyRead`에, `WebFetch(domain:...)` 허용 및 거부 규칙을 [`network`](#sandbox-network) 도메인 목록에 추가합니다.1981Claude Code는 OS 샌드박스 경계에서 이러한 목록을 적용하므로, `kubectl`, `terraform`, `npm`과 같이 샌드박스된 명령이 시작하는 모든 하위 프로세스에 적용됩니다. Claude Code는 [권한 규칙](/docs/ko/sandboxing#permission-rules)을 동일한 목록에 추가합니다: `Edit` 허용 및 거부 규칙을 `allowWrite` 및 `denyWrite`에, `Read` 거부 규칙을 `denyRead`에, `WebFetch(domain:...)` 허용 및 거부 규칙을 [`network`](#sandbox-network) 도메인 목록에 추가합니다.

1923 1982 

1924관리되는 전용 잠금이 설정되지 않으면, Claude Code는 세션이 로드하는 모든 설정 파일에서 모든 목록을 병합합니다. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly)는 `allowRead`를 관리되는 설정의 항목으로만 제한하며, [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly)는 허용된 도메인에 대해 동일하게 수행합니다.1983관리되는 전용 잠금이 설정되지 않으면, Claude Code는 세션이 로드하는 모든 설정 파일에서 모든 목록을 병합합니다. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly)는 `allowRead`를 관리되는 설정의 항목으로만 제한하며, [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly)는 허용된 도메인에 대해 동일하게 수행합니다.

1925 1984 


2254 `sandbox.credentials`2313 `sandbox.credentials`

2255</h3>2314</h3>

2256 2315 

2257[샌드박스된 명령으로부터 보호할](/docs/ko/sandboxing#protect-credentials) 자격증명 파일 및 환경 변수를 선언합니다. 각 항목은 파일 `path` 또는 변수 `name` 및 `mode`를 지정합니다: `deny`는 자격증명을 샌드박스 내부에 숨기고, `mask`는 샌드박스된 명령에 자리 표시자를 표시하면서 [샌드박스 프록시](/docs/ko/sandboxing#mask-credentials)는 아웃바운드 요청에서 실제 값을 대체합니다. Claude Code는 나열한 항목만 보호합니다. 기본 제공 자격증명 거부 목록이 없습니다. Claude Code v2.1.187 이상이 필요합니다.2316[샌드박스된 명령으로부터 보호할](/docs/ko/sandboxing#protect-credentials) 자격증명 파일 및 환경 변수를 선언합니다. 각 항목은 파일 `path` 또는 변수 `name` 및 `mode`를 지정합니다: `deny`는 자격증명을 샌드박스 내부에 숨기고, `mask`는 샌드박스된 명령에 자리 표시자를 표시하면서 [샌드박스 프록시](/docs/ko/sandboxing#mask-credentials)는 아웃바운드 요청에서 실제 값을 대체합니다. Claude Code는 나열한 항목만 보호합니다. 기본 제공 자격증명 거부 목록이 없습니다.

2258 2317 

2259* **범위**: [`모든 파일`](#scopes). Claude Code는 `mask` 항목, `allowPlaintextInject`, `awsPairs`, `sigv4`를 사용자 설정, 관리되는 설정, `--settings` 플래그에서만 인정합니다.2318* **범위**: [`모든 파일`](#scopes). Claude Code는 `mask` 항목, `allowPlaintextInject`, `awsPairs`, `sigv4`를 사용자 설정, 관리되는 설정, `--settings` 플래그에서만 인정합니다.

2260* **유형**: `files`, `envVars`, `allowPlaintextInject`, `awsPairs`, `sigv4`를 포함하는 객체2319* **유형**: `files`, `envVars`, `allowPlaintextInject`, `awsPairs`, `sigv4`를 포함하는 객체


2273}2332}

2274```2333```

2275 2334 

2276`deny` 파일 보호는 파일시스템 계층의 일부이므로, [파일시스템 격리를 비활성화](/docs/ko/sandboxing#disable-filesystem-isolation)할 때 적용되지 않습니다. 환경 변수 보호는 여전히 적용됩니다. Claude Code v2.1.187 이상이 필요합니다.2335`deny` 파일 보호는 파일시스템 계층의 일부이므로, [파일시스템 격리를 비활성화](/docs/ko/sandboxing#disable-filesystem-isolation)할 때 적용되지 않습니다. 환경 변수 보호는 여전히 적용됩니다.

2277 2336 

2278<h4 id="invalid-credential-entries-in-managed-settings">2337<h4 id="invalid-credential-entries-in-managed-settings">

2279 관리되는 설정의 잘못된 자격증명 항목2338 관리되는 설정의 잘못된 자격증명 항목


2291 `sandbox.credentials.files`2350 `sandbox.credentials.files`

2292</h3>2351</h3>

2293 2352 

2294자격증명 파일 또는 디렉토리를 샌드박스된 명령으로부터 보호합니다. `"mode": "deny"`를 사용하면, Claude Code는 샌드박스 내부의 경로 읽기를 차단하며, [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread)와 동일한 읽기 블록입니다. `"mode": "mask"`를 사용하면, Linux 및 WSL2의 샌드박스된 명령은 파일의 센티널 복사본을 읽고, 샌드박스 프록시는 해당 항목의 `injectHosts`에 대한 아웃바운드 요청에서 실제 값을 대체합니다. macOS에서는 파일이 샌드박스 내부에서 읽을 수 없습니다. Claude Code v2.1.187 이상이 필요하며, `"mode": "mask"`는 v2.1.221 이상이 필요합니다.2353자격증명 파일 또는 디렉토리를 샌드박스된 명령으로부터 보호합니다. `"mode": "deny"`를 사용하면, Claude Code는 샌드박스 내부의 경로 읽기를 차단하며, [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread)와 동일한 읽기 블록입니다. `"mode": "mask"`를 사용하면, Linux 및 WSL2의 샌드박스된 명령은 파일의 센티널 복사본을 읽고, 샌드박스 프록시는 해당 항목의 `injectHosts`에 대한 아웃바운드 요청에서 실제 값을 대체합니다. macOS에서는 파일이 샌드박스 내부에서 읽을 수 없습니다. `"mode": "mask"`는 v2.1.221 이상이 필요합니다.

2295 2354 

2296* **범위**: [`모든 파일`](#scopes). Claude Code는 프로젝트 `.claude/settings.json` 및 로컬 `.claude/settings.local.json`에서 `mask` 항목을 버립니다.2355* **범위**: [`모든 파일`](#scopes). Claude Code는 프로젝트 `.claude/settings.json` 및 로컬 `.claude/settings.local.json`에서 `mask` 항목을 버립니다.

2297* **유형**: 각각 `path` 및 `"deny"` 또는 `"mask"`의 `mode`를 포함하는 객체의 배열이며, 선택적 [파일용 마스크 필드](#mask-fields-for-files)도 포함합니다.2356* **유형**: 각각 `path` 및 `"deny"` 또는 `"mask"`의 `mode`를 포함하는 객체의 배열이며, 선택적 [파일용 마스크 필드](#mask-fields-for-files)도 포함합니다.


2312}2371}

2313```2372```

2314 2373 

2315경로는 `sandbox.filesystem.*` 설정과 동일한 [접두사](#sandbox-path-prefixes)를 사용하며, Claude Code는 세션이 로드하는 모든 설정 범위에서 배열을 병합합니다. [자격증명 보호](/docs/ko/sandboxing#protect-credentials)는 `--setting-sources`로 제외하는 소스에서 여전히 적용되는 것을 다룹니다. Claude Code v2.1.187 이상이 필요합니다. `mask` 항목은 v2.1.221 이상이 필요합니다.2374경로는 `sandbox.filesystem.*` 설정과 동일한 [접두사](#sandbox-path-prefixes)를 사용하며, Claude Code는 세션이 로드하는 모든 설정 범위에서 배열을 병합합니다. [자격증명 보호](/docs/ko/sandboxing#protect-credentials)는 `--setting-sources`로 제외하는 소스에서 여전히 적용되는 것을 다룹니다. `mask` 항목은 v2.1.221 이상이 필요합니다.

2316 2375 

2317`mask` 대체는 샌드박스 프록시를 통해서만 실행되므로, [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) 또는 일반 HTTP 테스트 네트워크의 [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject)를 설정하십시오. `mask`는 단일 파일에 적용되므로, 각 자격증명 파일을 개별적으로 나열하십시오. Claude Code는 `deny` 항목의 `mask` 필드를 수용하지만 무시합니다. [자격증명 파일 마스크](/docs/ko/sandboxing#mask-credential-files)는 어떤 설정 소스가 인정되는지 및 항목이 `deny`로 돌아가는 시기를 다룹니다.2376`mask` 대체는 샌드박스 프록시를 통해서만 실행되므로, [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) 또는 일반 HTTP 테스트 네트워크의 [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject)를 설정하십시오. `mask`는 단일 파일에 적용되므로, 각 자격증명 파일을 개별적으로 나열하십시오. Claude Code는 `deny` 항목의 `mask` 필드를 수용하지만 무시합니다. [자격증명 파일 마스크](/docs/ko/sandboxing#mask-credential-files)는 어떤 설정 소스가 인정되는지 및 항목이 `deny`로 돌아가는 시기를 다룹니다.

2318 2377 


2368 `sandbox.credentials.envVars`2427 `sandbox.credentials.envVars`

2369</h3>2428</h3>

2370 2429 

2371환경 변수를 샌드박스된 명령으로부터 보호합니다. `"mode": "deny"`를 사용하면, Claude Code는 샌드박스된 명령의 환경에서 변수를 제거합니다. `"mode": "mask"`를 사용하면, 샌드박스된 명령은 세션별 센티널 값을 보고, 샌드박스 프록시는 해당 항목의 `injectHosts`에 대한 아웃바운드 요청에서 실제 값을 대체하므로, `gh` 및 `npm`과 같은 도구는 실제 자격증명을 보유하지 않고도 계속 인증합니다. Claude Code v2.1.187 이상이 필요하며, `"mode": "mask"`는 v2.1.199 이상이 필요합니다.2430환경 변수를 샌드박스된 명령으로부터 보호합니다. `"mode": "deny"`를 사용하면, Claude Code는 샌드박스된 명령의 환경에서 변수를 제거합니다. `"mode": "mask"`를 사용하면, 샌드박스된 명령은 세션별 센티널 값을 보고, 샌드박스 프록시는 해당 항목의 `injectHosts`에 대한 아웃바운드 요청에서 실제 값을 대체하므로, `gh` 및 `npm`과 같은 도구는 실제 자격증명을 보유하지 않고도 계속 인증합니다. `"mode": "mask"`는 v2.1.199 이상이 필요합니다.

2372 2431 

2373* **범위**: [`모든 파일`](#scopes). Claude Code는 프로젝트 `.claude/settings.json` 및 로컬 `.claude/settings.local.json`에서 `mask` 항목을 버립니다.2432* **범위**: [`모든 파일`](#scopes). Claude Code는 프로젝트 `.claude/settings.json` 및 로컬 `.claude/settings.local.json`에서 `mask` 항목을 버립니다.

2374* **유형**: 각각 `name` 및 `"deny"` 또는 `"mask"`의 `mode`를 포함하는 객체의 배열이며, 선택적 [환경 변수용 마스크 필드](#mask-fields-for-environment-variables)도 포함합니다.2433* **유형**: 각각 `name` 및 `"deny"` 또는 `"mask"`의 `mode`를 포함하는 객체의 배열이며, 선택적 [환경 변수용 마스크 필드](#mask-fields-for-environment-variables)도 포함합니다.


2389}2448}

2390```2449```

2391 2450 

2392`name`은 문자 또는 밑줄로 시작해야 하며 문자, 숫자, 밑줄만 포함해야 합니다. Claude Code는 세션이 로드하는 모든 설정 범위에서 배열을 병합하고, 동일한 변수가 두 모드로 나타날 때 `deny`를 적용합니다. [자격증명 보호](/docs/ko/sandboxing#protect-credentials)는 `--setting-sources`로 제외하는 소스에서 여전히 적용되는 것을 다룹니다. Claude Code v2.1.187 이상이 필요합니다. `mask` 항목은 v2.1.199 이상이 필요합니다.2451`name`은 문자 또는 밑줄로 시작해야 하며 문자, 숫자, 밑줄만 포함해야 합니다. Claude Code는 세션이 로드하는 모든 설정 범위에서 배열을 병합하고, 동일한 변수가 두 모드로 나타날 때 `deny`를 적용합니다. [자격증명 보호](/docs/ko/sandboxing#protect-credentials)는 `--setting-sources`로 제외하는 소스에서 여전히 적용되는 것을 다룹니다. `mask` 항목은 v2.1.199 이상이 필요합니다.

2393 2452 

2394`mask` 대체는 샌드박스 프록시를 통해서만 실행되므로, [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) 또는 일반 HTTP 테스트 네트워크의 [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject)를 설정하십시오. [환경 변수 마스크](/docs/ko/sandboxing#mask-environment-variables)를 참조하십시오. Claude Code는 `deny` 항목의 `mask` 필드를 수용하지만 무시합니다.2453`mask` 대체는 샌드박스 프록시를 통해서만 실행되므로, [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) 또는 일반 HTTP 테스트 네트워크의 [`allowPlaintextInject`](#sandbox-credentials-allowplaintextinject)를 설정하십시오. [환경 변수 마스크](/docs/ko/sandboxing#mask-environment-variables)를 참조하십시오. Claude Code는 `deny` 항목의 `mask` 필드를 수용하지만 무시합니다.

2395 2454 


2811 메모리 및 컨텍스트2870 메모리 및 컨텍스트

2812</h2>2871</h2>

2813 2872 

2814Claude Code가 컨텍스트에 로드하는 내용, 압축 방식, 메모리 및 계획 저장 위치를 제어합니다. [컨텍스트 관리](/docs/ko/context-window) 및 [메모리](/docs/ko/memory)를 참조하세요.2873Claude Code가 컨텍스트에 로드하는 내용, 압축 방식, 메모리 및 계획 저장 위치를 제어합니다. [컨텍스트 관리](/docs/ko/context-window) 및 [메모리](/docs/ko/memory)를 참조하십시오.

2815 2874 

2816<h3 id="autocompactenabled">2875<h3 id="autocompactenabled">

2817 `autoCompactEnabled`2876 `autoCompactEnabled`


2851}2910}

2852```2911```

2853 2912 

2854[`/autocompact`](/docs/ko/commands#all-commands) 명령으로 설정하면 이 키가 사용자 설정에 기록됩니다. [자동 압축 윈도우 설정](/docs/ko/model-config#set-the-auto-compact-window)에서 명령, 플래그, 변수 및 설정이 어떻게 상호작용하는지 다룹니다.2913[`/autocompact`](/docs/ko/commands#all-commands) 명령으로 설정하면 이 키가 사용자 설정에 기록됩니다. [자동 압축 윈도우 설정](/docs/ko/model-config#set-the-auto-compact-window)에서 명령, 플래그, 변수 및 설정이 어떻게 상호작용하는지 설명합니다.

2855 2914 

2856<h3 id="automemorydirectory">2915<h3 id="automemorydirectory">

2857 `autoMemoryDirectory`2916 `autoMemoryDirectory`


2875 `autoMemoryEnabled`2934 `autoMemoryEnabled`

2876</h3>2935</h3>

2877 2936 

2878[자동 메모리](/docs/ko/memory#enable-or-disable-auto-memory)를 켜거나 끕니다. `false`일 때 Claude는 자동 메모리 디렉토리에서 읽거나 쓰지 않습니다. 세션 중에 `/memory`로도 토글할 수 있으며, 이는 이 키를 사용자 설정에 기록합니다.2937[자동 메모리](/docs/ko/memory#enable-or-disable-auto-memory)를 켜거나 끕니다. `false`일 때 Claude는 자동 메모리 디렉토리에서 읽거나 쓰지 않습니다. 세션 중에 `/memory`로 토글할 수도 있으며, 이는 이 키를 사용자 설정에 기록합니다.

2879 2938 

2880* **범위**: [`모든 파일`](#scopes)2939* **범위**: [`모든 파일`](#scopes)

2881* **유형**: 부울2940* **유형**: 부울

2882 * `true`: 설정되지 않은 것과 동일합니다. `--bare`, 안전 모드 또는 `CLAUDE_CODE_DISABLE_AUTO_MEMORY`와 같이 이 키보다 우선하는 것이 세션을 끄지 않는 한 자동 메모리는 켜진 상태로 유지됩니다2941 * `true`: 설정되지 않은 것과 동일합니다. 자동 메모리는 `--bare`, 안전 모드 또는 `CLAUDE_CODE_DISABLE_AUTO_MEMORY`와 같이 이 키보다 우선하는 것이 세션을 끄지 않는 한 켜져 있습니다

2883 * `false`: Claude는 자동 메모리 디렉토리에서 읽거나 쓰지 않습니다2942 * `false`: Claude는 자동 메모리 디렉토리에서 읽거나 쓰지 않습니다

2884* **기본값**: `true`2943* **기본값**: `true`

2885* **세션별 재정의**: [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/docs/ko/env-vars)는 한 세션 동안 이 키보다 우선하며, 어느 방향이든 적용됩니다2944* **세션별 재정의**: [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/docs/ko/env-vars)는 한 세션 동안 이 키보다 어느 방향이든 우선합니다

2886 2945 

2887```json settings.json theme={null}2946```json settings.json theme={null}

2888{2947{


2894 `bashOutputMaxChars`2953 `bashOutputMaxChars`

2895</h3>2954</h3>

2896 2955 

2897성공한 Bash 또는 PowerShell 명령의 [출력 중 Claude가 인라인으로 받는 문자 수](/docs/ko/tools-reference#output-limits)를 설정합니다. 출력이 한계를 초과하면 Claude Code는 이를 파일에 저장하고 Claude는 짧은 미리보기와 파일의 경로를 받습니다. 자세한 빌드 또는 전체 테스트 스위트 로그와 같은 명령 출력이 기본값을 자주 초과하고 Claude가 파일을 열지 않고 읽기를 원할 때 한계를 높입니다. Claude Code v2.1.261 이상이 필요합니다.2956성공한 Bash 또는 PowerShell 명령의 [출력 중 Claude가 인라인으로 받는 문자 수](/docs/ko/tools-reference#output-limits)를 설정합니다. 출력이 한계를 초과하면 Claude Code는 출력을 파일에 저장하고 Claude는 짧은 미리보기와 파일의 경로를 받습니다. 자세한 빌드 또는 전체 테스트 스위트 로그와 같은 명령 출력이 기본값을 자주 초과하고 Claude가 파일을 열지 않고 읽기를 원할 때 한계를 높입니다. Claude Code v2.1.261 이상이 필요합니다.

2898 2957 

2899* **범위**: [`모든 파일`](#scopes)2958* **범위**: [`모든 파일`](#scopes)

2900* **유형**: 문자 수, 양의 정수. Claude Code는 값을 `4000`에서 `128000` 범위로 제한합니다2959* **유형**: 문자 수, 양의 정수. Claude Code는 값을 `4000`에서 `128000` 범위로 제한합니다


2912 `claudeMd`2971 `claudeMd`

2913</h3>2972</h3>

2914 2973 

2915CLAUDE.md 스타일 지침을 별도 파일을 배포하지 않고 조직 관리 메모리로 주입합니다. Claude Code는 텍스트를 사용자 및 프로젝트 CLAUDE.md 파일보다 먼저 관리 메모리 항목으로 로드합니다.2974CLAUDE.md 스타일 지침을 별도 파일을 배포하지 않고 조직 관리 메모리로 주입합니다. Claude Code는 텍스트를 사용자 및 프로젝트 CLAUDE.md 파일보다 먼저 관리되는 메모리 항목으로 로드합니다.

2916 2975 

2917* **범위**: [`관리됨`](#scopes)2976* **범위**: [`관리됨`](#scopes)

2918* **유형**: 문자열, CLAUDE.md 파일의 텍스트. 파일처럼 작성하되 Markdown을 포함하고 줄 바꿈을 `\n`으로 표기합니다2977* **유형**: 문자열, CLAUDE.md 파일의 텍스트. 파일처럼 작성하되 Markdown을 포함하고 줄 바꿈을 `\n`으로 표기합니다


2926}2985}

2927```2986```

2928 2987 

2929[조직 전체 CLAUDE.md 배포](/docs/ko/memory#deploy-organization-wide-claude-md)를 참조하세요.2988[조직 전체 CLAUDE.md 배포](/docs/ko/memory#deploy-organization-wide-claude-md)를 참조하십시오.

2930 2989 

2931<h3 id="claudemdexcludes">2990<h3 id="claudemdexcludes">

2932 `claudeMdExcludes`2991 `claudeMdExcludes`

2933</h3>2992</h3>

2934 2993 

2935Claude Code가 [메모리](/docs/ko/memory#exclude-specific-claude-md-files)를 로드할 때 특정 `CLAUDE.md` 파일을 건너뜁니다. 큰 모노레포에서 이를 사용하여 작업과 관련이 없는 다른 팀의 CLAUDE.md 파일을 건너뜁니다. [관련 없는 CLAUDE.md 파일 제외](/docs/ko/large-codebases#exclude-irrelevant-claude-md-files)는 대규모 코드베이스 가이드에서 해당 경우를 다룹니다. 패턴은 절대 파일 경로와 일치합니다.2994Claude Code가 [메모리](/docs/ko/memory#exclude-specific-claude-md-files)를 로드할 때 특정 `CLAUDE.md` 파일을 건너뜁니다. 큰 모노레포에서 이를 사용하여 작업과 관련이 없는 다른 팀의 CLAUDE.md 파일을 건너뜁니다. 대규모 코드베이스 가이드의 [관련 없는 CLAUDE.md 파일 제외](/docs/ko/large-codebases#exclude-irrelevant-claude-md-files)에서 해당 경우를 설명합니다. 패턴은 절대 파일 경로와 일치합니다.

2936 2995 

2937* **범위**: [`모든 파일`](#scopes)2996* **범위**: [`모든 파일`](#scopes)

2938* **유형**: 문자열 배열, 각각 glob 패턴 또는 절대 경로2997* **유형**: 문자열 배열, 각각 glob 패턴 또는 절대 경로


2944}3003}

2945```3004```

2946 3005 

2947제외는 사용자, 프로젝트 및 로컬 메모리 파일에만 적용됩니다. 관리 정책 CLAUDE.md 파일은 제외할 수 없습니다.3006제외는 사용자, 프로젝트 및 로컬 메모리 파일에만 적용됩니다. 관리되는 정책 CLAUDE.md 파일은 제외할 수 없습니다.

2948 3007 

2949<span id="environment-variables" />3008<span id="environment-variables" />

2950 3009 


2952 `env`3011 `env`

2953</h3>3012</h3>

2954 3013 

2955모든 세션 및 Claude Code가 시작하는 서브프로세스에 대한 환경 변수를 설정합니다. [환경 변수 참조](/docs/ko/env-vars)의 모든 변수가 여기에 올 수 있으며, 이것이 모든 세션에 변수를 적용하거나 팀에 배포하는 방법입니다.3014모든 세션 및 Claude Code가 시작하는 서브프로세스에 대한 환경 변수를 설정합니다. [환경 변수 참조](/docs/ko/env-vars)의 대부분의 변수를 여기에 넣을 수 있으며, 이것이 모든 세션에 적용하거나 팀에 배포하는 방법입니다. 프로젝트 및 로컬 설정은 [일부 변수](#variables-claude-code-ignores-in-env)를 설정할 수 없습니다.

2956 3015 

2957* **범위**: [`모든 파일`](#scopes)3016* **범위**: [`모든 파일`](#scopes)

2958* **유형**: 변수 이름을 문자열 값으로 매핑하는 객체3017* **유형**: 변수 이름을 문자열 값으로 매핑하는 객체


2973 `env` 값이 셸과 상호작용하는 방식3032 `env` 값이 셸과 상호작용하는 방식

2974</h4>3033</h4>

2975 3034 

2976* 여기의 값은 셸에서 내보낸 동일한 변수를 덮어쓰며, 둘 이상의 설정 파일이 변수를 설정할 때 [가장 높은 우선순위](/docs/ko/settings#settings-precedence)가 적용됩니다.3035* 여기의 값은 셸에서 내보낸 동일한 변수를 덮어쓰며, 둘 이상의 설정 파일이 변수를 설정할 때 [가장 높은 우선순위](/docs/ko/settings#settings-precedence)가 적용됩니다. [Claude Code가 `env`에서 무시하는 변수](#variables-claude-code-ignores-in-env)는 프로젝트 및 로컬 설정의 예외를 나열합니다.

2977* 셸 내보내기를 취소하려면 변수를 `""`로 설정합니다. Claude Code는 공 값을 공급자 선택에 대해 설정되지 않은 것으로 취급하며, 서브프로세스는 공 값을 상속합니다.3036* 셸 내보내기를 취소하려면 변수를 `""`로 설정합니다. Claude Code는 공 값을 공급자 선택에 대해 설정되지 않은 것으로 취급하며, 서브프로세스는 공 값을 상속합니다.

2978* `NO_COLOR` 및 `FORCE_COLOR`는 여기서 설정하면 서브프로세스에만 도달합니다. Claude Code 자체 인터페이스 색상을 변경하려면 `claude`를 시작하기 전에 셸에서 설정합니다.3037* `NO_COLOR` 및 `FORCE_COLOR`는 여기에서 설정하면 서브프로세스에만 도달합니다. Claude Code 자체 인터페이스 색상을 변경하려면 `claude`를 시작하기 전에 셸에서 설정합니다.

2979* 여기의 값은 설정 파일의 일반 텍스트이며 Claude Code가 시작하는 모든 서브프로세스에 도달합니다. 회전하는 OTLP 베어러 토큰의 경우 [`otelHeadersHelper`](#otelheadershelper)를 사용합니다. API 자격 증명의 경우 [`apiKeyHelper`](#apikeyhelper)를 사용합니다.3038* 여기의 값은 설정 파일의 일반 텍스트이며 Claude Code가 시작하는 모든 서브프로세스에 도달합니다. 회전하는 OTLP 베어러 토큰의 경우 [`otelHeadersHelper`](#otelheadershelper)를 사용합니다. API 자격 증명의 경우 [`apiKeyHelper`](#apikeyhelper)를 사용합니다.

2980 3039 

2981<h4 id="when-claude-code-applies-env-values">3040<h4 id="when-claude-code-applies-env-values">

2982 Claude Code가 `env` 값을 적용하는 시기3041 Claude Code가 `env` 값을 적용하는 시기

2983</h4>3042</h4>

2984 3043 

2985* 사용자 설정, `--settings` 및 관리 설정에서: 시작 시 및 저장된 변경이 병합된 `env`를 변경할 때 실행 중인 세션에서.3044* 사용자 설정, `--settings` 및 관리되는 설정에서: 시작 시 및 저장된 변경이 병합된 `env`를 변경할 때 실행 중인 세션에서.

2986* 프로젝트 및 로컬 설정에서: 워크스페이스를 신뢰한 후 또는 신뢰 대화를 표시하지 않는 `-p` 모드에서 시작 시, 그리고 저장된 변경이 병합된 `env`를 변경할 때.3045* 프로젝트 및 로컬 설정에서: 워크스페이스를 신뢰한 후 또는 신뢰 대화를 표시하지 않는 `-p` 모드에서 시작할 때, 저장된 변경이 병합된 `env`를 변경할 때 다시.

2987* Claude Code가 모델 선택, 타임아웃 및 한계, 기능 토글 및 원격 분석 설정과 같은 안전한 것으로 분류하는 변수: 모든 설정 파일에서 시작 시, [프로젝트 및 로컬 설정이 `env`에서 설정할 수 없는 변수](#variables-claude-code-ignores-in-env) 제외.3046* Claude Code가 모델 선택, 타임아웃 및 한계, 기능 토글과 같은 안전한 것으로 분류하는 변수: [프로젝트 및 로컬 설정이 설정할 수 없는 변수](#variables-claude-code-ignores-in-env)를 제외하고 모든 설정 파일에서 시작할 때.

2988* v2.1.246 이상에서 [`/cd`로 세션을 이동](/docs/ko/permissions#move-the-session-to-another-directory)한 후: 새 디렉토리의 프로젝트 및 로컬 `env` 값, 이전 디렉토리의 값 위에.3047* v2.1.246 이상에서 [`/cd`로 세션을 이동](/docs/ko/permissions#move-the-session-to-another-directory)한 후: 새 디렉토리의 프로젝트 및 로컬 `env` 값, 이전 디렉토리의 위에.

2989 3048 

2990<h4 id="variables-claude-code-ignores-in-env">3049<h4 id="variables-claude-code-ignores-in-env">

2991 Claude Code가 `env`에서 무시하는 변수3050 Claude Code가 `env`에서 무시하는 변수

2992</h4>3051</h4>

2993 3052 

2994* 프로젝트 및 로컬 설정은 체크아웃된 저장소가 제어하지 않아야 하는 변수를 설정할 수 없습니다. 대신 셸, 사용자 설정 또는 관리 설정에서 설정합니다. Claude Code는 각각을 삭제하고 `claude --debug`로 볼 수 있는 경고를 기록합니다. 여기에는 다음이 포함됩니다:3053* 프로젝트 및 로컬 설정은 체크아웃된 저장소가 제어하지 않아야 하는 변수를 설정할 수 없습니다. 대신 셸, 사용자 설정 또는 관리되는 설정에서 설정합니다. Claude Code는 각각을 삭제하고 `claude --debug`로 볼 수 있는 경고를 기록합니다. 여기에는 다음이 포함됩니다:

2995 3054 

2996 * Claude Code가 자신의 파일을 저장하거나 쓰는 위치를 선택하는 변수: `CLAUDE_CONFIG_DIR`, `CLAUDE_CODE_TMPDIR` 및 `HOME`, `TMPDIR`, `TMP`, `TEMP` 및 `XDG_*` 계열과 같은 운영 체제 디렉토리 변수.3055 * Claude Code가 자신의 파일을 저장하거나 쓰는 위치를 선택하는 변수: `CLAUDE_CONFIG_DIR`, `CLAUDE_CODE_TMPDIR` 및 `HOME`, `TMPDIR`, `TMP`, `TEMP` 및 `XDG_*` 계열과 같은 운영 체제 디렉토리 변수.

2997 * 세션 콘텐츠를 내보내는 변수: [`OTEL_LOG_RAW_API_BODIES`](/docs/ko/env-vars#variables) 및 자세한 베타 추적 쌍 `ENABLE_BETA_TRACING_DETAILED` 및 `BETA_TRACING_ENDPOINT`.3056 * 세션 콘텐츠를 내보내는 변수: [`OTEL_LOG_RAW_API_BODIES`](/docs/ko/env-vars#variables) 및 자세한 베타 추적 쌍 `ENABLE_BETA_TRACING_DETAILED` 및 `BETA_TRACING_ENDPOINT`.

3057 * [OpenTelemetry 내보내기](/docs/ko/monitoring-usage) 변수는 원격 측정을 켜거나, 어디로 갈지 선택하거나, 어떤 콘텐츠를 캡처할지 선택합니다:

3058 

3059 * `CLAUDE_CODE_ENABLE_TELEMETRY`, 향상된 원격 측정 베타 쌍 `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA` 및 `ENABLE_ENHANCED_TELEMETRY_BETA`

3060 * 내보내기 선택기 `OTEL_LOGS_EXPORTER`, `OTEL_METRICS_EXPORTER` 및 `OTEL_TRACES_EXPORTER`

3061 * 콘텐츠 변수 `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_ASSISTANT_RESPONSES`, `OTEL_LOG_TOOL_CONTENT` 및 `OTEL_LOG_TOOL_DETAILS`

3062 * `OTEL_EXPORTER_OTLP_*` 변수는 이름이 `_ENDPOINT`, `_HEADERS`, `_PROTOCOL`, `_CERTIFICATE`, `_CLIENT_KEY` 또는 `_INSECURE`로 끝나며, 일반 및 신호별 형식으로 `OTEL_EXPORTER_OTLP_ENDPOINT` 및 `OTEL_EXPORTER_OTLP_METRICS_HEADERS`와 같습니다

3063 * `OTEL_EXPORTER_PROMETHEUS_HOST` 및 `OTEL_EXPORTER_PROMETHEUS_PORT`

3064 

3065 이 값들만 프로젝트 및 로컬 설정에서 계속 적용됩니다. 왜냐하면 그들은 뭔가를 끄기 때문입니다: 세 개의 내보내기 선택기에 대해 `none`, 그리고 `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_CONTENT` 및 `OTEL_LOG_TOOL_DETAILS`에 대해 `0`과 같은 끄기 값. 이러한 값은 사용자 설정의 동일한 변수를 재정의하지만 Claude Code를 시작하는 환경, `--settings` 파일 또는 관리되는 설정이 설정하는 것은 재정의하지 않습니다.

3066 

3067 프로젝트 또는 로컬 설정 파일이 이 그룹의 변수를 설정할 때 로컬 대화형 세션은 시작 시 공지를 표시합니다. `/status` 또는 `claude doctor`를 실행하여 Claude Code가 무시한 변수와 원격 측정을 끈 변수를 확인합니다. 둘 다 이름을 나열하며 값은 나열하지 않습니다. `-p`를 사용한 비대화형 실행 또는 Agent SDK 세션은 공지를 표시하지 않으므로 업그레이드 후 수집기가 여전히 데이터를 받는지 확인합니다. 그렇지 않으면 사용자 설정, 관리되는 설정, 작업의 환경 또는 `--settings`로 전달하는 파일에서 변수를 설정합니다.

3068 

3069 프로젝트 및 로컬 설정에서 이 그룹을 무시하려면 Claude Code v2.1.282 이상이 필요합니다.

2998 * Claude Code가 시작하거나 동기화하는 방식을 변경하는 변수, 예: `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR` 및 `CLAUDE_CODE_PLUGIN_SEED_DIR`.3070 * Claude Code가 시작하거나 동기화하는 방식을 변경하는 변수, 예: `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR` 및 `CLAUDE_CODE_PLUGIN_SEED_DIR`.

2999 3071 

3000 v2.1.251 이전에는 프로젝트 및 로컬 설정이 `HOME`, `XDG_CONFIG_HOME` 및 Claude Code가 시작하거나 동기화하는 방식을 변경하는 변수를 제외한 이 목록의 모든 변수를 설정할 수 있었습니다.3072 v2.1.251 이전에는 프로젝트 및 로컬 설정이 Claude Code가 파일을 쓰는 위치를 선택하거나 세션 콘텐츠를 내보내는 이 목록의 변수를 설정할 수도 있었습니다. `HOME` 및 `XDG_CONFIG_HOME` 제외.

3001* Claude Code의 호스팅 환경이 소유한 `CLAUDE_CODE_REMOTE` 및 `CLAUDE_CODE_ACCOUNT_UUID`와 같은 ID 변수는 모든 파일에서 무시됩니다.3073* Claude Code의 호스팅 환경이 소유하는 ID 변수, 예: `CLAUDE_CODE_REMOTE` 및 `CLAUDE_CODE_ACCOUNT_UUID`는 모든 파일에서 무시됩니다.

3002* Claude Code가 자체 내보내는 [`CLAUDE_CODE_MESSAGING_SOCKET` 및 `CLAUDE_CODE_MESSAGING_TOKEN`](/docs/ko/env-vars#variables)은 모든 파일에서 무시됩니다. 소켓 변수를 무시하려면 Claude Code v2.1.224 이상이 필요하며, 토큰을 무시하려면 v2.1.228 이상이 필요합니다.3074* [`CLAUDE_CODE_MESSAGING_SOCKET` 및 `CLAUDE_CODE_MESSAGING_TOKEN`](/docs/ko/env-vars#variables)는 Claude Code가 자체 내보내는 것이므로 모든 파일에서 무시됩니다. 소켓 변수를 무시하려면 Claude Code v2.1.224 이상이 필요하고, 토큰을 무시하려면 v2.1.228 이상이 필요합니다.

3003* Claude Code가 시작 환경에서만 읽는 [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/ko/sessions#name-the-project-directory-yourself)은 모든 파일에서 무시됩니다. v2.1.234 이상이 필요합니다.3075* [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/ko/sessions#name-the-project-directory-yourself)는 Claude Code가 시작 환경에서만 읽으므로 모든 파일에서 무시됩니다. v2.1.234 이상이 필요합니다.

3004* Claude Code가 시작 환경에서만 읽는 [`CLAUDE_CODE_RESTRICTED`](/docs/ko/env-vars#variables)은 모든 파일에서 무시됩니다.3076* [`CLAUDE_CODE_RESTRICTED`](/docs/ko/env-vars#variables)는 Claude Code가 시작 환경에서만 읽으므로 모든 파일에서 무시됩니다.

3077* [`CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY`](/docs/ko/env-vars#variables)는 Claude Code가 시작 환경에서만 읽으므로 모든 파일에서 무시됩니다. 변수는 Claude Code v2.1.283 이상이 필요합니다.

3078* [`CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT` 및 `CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT`](/docs/ko/env-vars#variables)는 Claude Code가 시작 환경에서만 읽으므로 모든 파일에서 무시됩니다.

3005 3079 

3006<h3 id="filecheckpointingenabled">3080<h3 id="filecheckpointingenabled">

3007 `fileCheckpointingEnabled`3081 `fileCheckpointingEnabled`

3008</h3>3082</h3>

3009 3083 

3010각 편집 전에 Claude Code가 파일을 스냅샷하여 [`/rewind`](/docs/ko/checkpointing)가 파일을 복원할 수 있도록 합니다. `/config`에 \*\*코드 되감기(체크포인트)\*\*로 표시되며, 여기서 토글하면 이 키가 사용자 설정에 기록됩니다.3084Claude Code가 각 편집 전에 파일을 스냅샷하여 [`/rewind`](/docs/ko/checkpointing)가 파일을 복원할 수 있도록 합니다. `/config`에 \*\*코드 되감기(체크포인트)\*\*로 표시되며, 여기서 토글하면 이 키가 사용자 설정에 기록됩니다.

3011 3085 

3012* **범위**: [`모든 파일`](#scopes)3086* **범위**: [`모든 파일`](#scopes)

3013* **유형**: 부울3087* **유형**: 부울


3022}3096}

3023```3097```

3024 3098 

3025`-p` 실행 또는 Agent SDK 세션에서 Claude Code는 이 키를 무시합니다. SDK는 `enableFileCheckpointing` 옵션으로 체크포인팅을 켜고, 베어 `-p` 실행은 `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true`가 필요합니다. [Agent SDK의 파일 체크포인팅](/docs/ko/agent-sdk/file-checkpointing)을 참조하세요.3099`-p` 실행 또는 Agent SDK 세션에서 Claude Code는 이 키를 무시합니다. SDK는 `enableFileCheckpointing` 옵션으로 체크포인팅을 켜고, 베어 `-p` 실행은 `CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true`가 필요합니다. [Agent SDK의 파일 체크포인팅](/docs/ko/agent-sdk/file-checkpointing)을 참조하십시오.

3026 3100 

3027<h3 id="plansdirectory">3101<h3 id="plansdirectory">

3028 `plansDirectory`3102 `plansDirectory`

3029</h3>3103</h3>

3030 3104 

3031Claude Code가 [계획 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)에서 작성하는 계획 파일을 저장할 위치를 선택합니다. Claude Code는 경로를 프로젝트 루트에 상대적으로 해석하고 경로가 외부로 해석될 때 기본값을 유지합니다.3105Claude Code가 [계획 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)에서 작성하는 계획 파일을 저장할 위치를 선택합니다. Claude Code는 경로를 프로젝트 루트에 상대적으로 해석하고 경로가 외부에서 해석될 때 기본값을 유지합니다.

3032 3106 

3033* **범위**: [`모든 파일`](#scopes)3107* **범위**: [`모든 파일`](#scopes)

3034* **유형**: 문자열, 프로젝트 루트에 상대적인 경로3108* **유형**: 문자열, 프로젝트 루트에 상대적인 경로


3044 `skillListingBudgetFraction`3118 `skillListingBudgetFraction`

3045</h3>3119</h3>

3046 3120 

3047각 턴마다 Claude는 설명과 함께 [스킬 목록](/docs/ko/skills#skill-descriptions-are-cut-short)을 보며, Claude Code는 해당 목록을 컨텍스트 윈도우의 일부로 제한합니다. 목록이 한계를 초과하면 Claude Code는 모든 스킬의 이름을 유지하지만 가장 적게 사용된 스킬의 설명을 삭제하여 Claude가 여전히 해당 스킬을 호출할 수 있지만 자체적으로 선택할 가능성이 낮습니다. 더 많은 설명을 표시하려면 이 키를 높이되 턴당 더 많은 컨텍스트를 사용합니다.3121각 턴마다 Claude는 설명과 함께 [스킬 목록](/docs/ko/skills#skill-descriptions-are-cut-short)을 보며, Claude Code는 해당 목록을 컨텍스트 윈도우의 일부로 제한합니다. 목록이 제한을 초과하면 Claude Code는 모든 스킬의 이름을 유지하지만 가장 적게 사용된 스킬의 설명을 삭제하므로 Claude는 여전히 해당 스킬을 호출할 수 있지만 자체적으로 선택할 가능성이 낮습니다. 더 많은 설명을 표시하려면 이 키를 높이되 턴당 더 많은 컨텍스트를 사용합니다.

3048 3122 

3049* **범위**: [`모든 파일`](#scopes)3123* **범위**: [`모든 파일`](#scopes)

3050* **유형**: 숫자, `0`보다 크고 최대 `1`인 분수3124* **유형**: 숫자, `0`보다 크고 최대 `1`인 분수


3056}3130}

3057```3131```

3058 3132 

3059목록이 사용하는 컨텍스트 양과 어떤 스킬이 가장 많이 기여하는지 보려면 `/doctor`를 실행합니다.3133목록이 사용하는 컨텍스트 양과 어떤 스킬이 가장 많이 기여하는지 확인하려면 `/doctor`를 실행합니다.

3060 3134 

3061<h3 id="skilllistingmaxdescchars">3135<h3 id="skilllistingmaxdescchars">

3062 `skillListingMaxDescChars`3136 `skillListingMaxDescChars`

3063</h3>3137</h3>

3064 3138 

3065각 턴마다 Claude는 각 스킬의 `description` 및 `when_to_use` 텍스트를 보여주는 [스킬 목록](/docs/ko/skills#skill-descriptions-are-cut-short)을 봅니다. 이 키는 Claude Code가 스킬당 해당 텍스트의 몇 문자를 표시하는지 제한합니다. 더 긴 텍스트는 한계에서 잘립니다.3139각 턴마다 Claude는 각 스킬의 `description` 및 `when_to_use` 텍스트를 보여주는 [스킬 목록](/docs/ko/skills#skill-descriptions-are-cut-short)을 봅니다. 이 키는 Claude Code가 스킬당 해당 텍스트의 몇 문자를 표시하는지 제한합니다. 더 긴 텍스트는 제한에서 잘립니다.

3066 3140 

3067* **범위**: [`모든 파일`](#scopes)3141* **범위**: [`모든 파일`](#scopes)

3068* **유형**: 문자 수, 양의 정수3142* **유형**: 문자 수, 양의 정수


3081</h3>3155</h3>

3082 3156 

3083<Warning>3157<Warning>

3084 v2.1.277에서 제거되었으며, 이를 크기 조정한 `TaskOutput` 도구와 함께 제거되었습니다. 현재 버전에서 설정해도 효과가 없습니다. Claude는 대신 `Read`를 사용하여 백그라운드 작업의 [출력 파일](/docs/ko/tools-reference#background-commands)을 읽습니다.3158 v2.1.277에서 제거되었으며, 크기를 조정한 `TaskOutput` 도구와 함께 제거되었습니다. 설정해도 현재 버전에는 영향을 주지 않습니다. Claude는 `Read`를 사용하여 백그라운드 작업의 [출력 파일](/docs/ko/tools-reference#background-commands)을 읽습니다.

3085</Warning>3159</Warning>

3086 3160 

3087v2.1.276까지 이 키를 [백그라운드 작업](/docs/ko/tools-reference#background-commands)의 출력 중 Claude가 `TaskOutput` 도구로 작업을 읽을 때 인라인으로 받는 문자 수로 설정했습니다.3161v2.1.276까지 이 키를 설정하여 Claude가 `TaskOutput` 도구로 작업을 읽을 때 인라인으로 받은 [백그라운드 작업](/docs/ko/tools-reference#background-commands)의 출력 문자 수를 설정했습니다.

3088 3162 

3089<h2 id="interface-and-terminal">3163<h2 id="interface-and-terminal">

3090 인터페이스 및 터미널3164 인터페이스 및 터미널


3248}3322}

3249```3323```

3250 3324 

3251권한 프롬프트 및 [`AskUserQuestion`](/docs/ko/tools-reference#askuserquestion-tool-behavior) 질문은 자체 흐름을 사용하며 이 기한의 적용을 받지 않습니다. 이 행은 `/config`에 **대화 상자 만료**로 표시되며, Claude Code v2.1.232 이상이 필요하고, Claude Code는 관리 설정이나 `--settings` 플래그가 키를 설정하는 동안 행을 숨깁니다.3325권한 프롬프트 및 [`AskUserQuestion`](/docs/ko/tools-reference#askuserquestion-tool-behavior) 질문은 자체 흐름을 사용하며 이 기한의 적용을 받지 않습니다. `/config`에 **대화 상자 만료**로 표시되며, 이 행은 Claude Code v2.1.232 이상이 필요하고, Claude Code는 관리 설정이나 `--settings` 플래그가 키를 설정하는 동안 행을 숨깁니다.

3252 3326 

3253<h3 id="editormode">3327<h3 id="editormode">

3254 `editorMode`3328 `editorMode`


3401* **유형**: 문자열, `"classic"` 또는 `"readline"`3475* **유형**: 문자열, `"classic"` 또는 `"readline"`

3402* **기본값**: 설정되지 않음3476* **기본값**: 설정되지 않음

3403 3477 

3478<h3 id="maxprosewidth">

3479 `maxProseWidth`

3480</h3>

3481 

3482Claude의 응답에서 산문의 너비를 제한하여 넓은 터미널에서 줄이 읽기 쉽게 유지되도록 합니다. 단락, 제목, 목록 및 인용문은 이 많은 열 내에서 줄 바꿈되고, 표 및 코드 블록은 전체 터미널 너비를 유지합니다. Claude Code v2.1.282 이상이 필요합니다.

3483 

3484* **범위**: [`모든 파일`](#scopes)

3485* **유형**: 터미널 열 수, 정수, 최소 `40`. Claude Code는 다른 값을 무시합니다

3486* **기본값**: 설정되지 않음, 따라서 산문은 터미널 가장자리에서 줄 바꿈됩니다

3487 

3488```json settings.json theme={null}

3489{

3490 "maxProseWidth": 80

3491}

3492```

3493 

3404<h3 id="prefersreducedmotion">3494<h3 id="prefersreducedmotion">

3405 `prefersReducedMotion`3495 `prefersReducedMotion`

3406</h3>3496</h3>


3462 `respondToBashCommands`3552 `respondToBashCommands`

3463</h3>3553</h3>

3464 3554 

3465입력 상자에서 [`!` 접두사](/docs/ko/interactive-mode#shell-mode-with-prefix)로 셸 명령을 실행한 후 Claude가 응답할지 여부를 선택합니다. 기본적으로 Claude Code는 명령의 출력을 대화에 추가하고 Claude가 이에 응답합니다. 이 키를 `false`로 설정하면 응답 없이 출력을 컨텍스트에 추가하므로 여러 명령을 실행하고 함께 질문할 수 있습니다. Claude Code v2.1.186 이상이 필요합니다.3555입력 상자에서 [`!` 접두사](/docs/ko/interactive-mode#shell-mode-with-prefix)로 셸 명령을 실행한 후 Claude가 응답할지 여부를 선택합니다. 기본적으로 Claude Code는 명령의 출력을 대화에 추가하고 Claude가 이에 응답합니다. 이 키를 `false`로 설정하면 응답 없이 출력을 컨텍스트에 추가하므로 여러 명령을 실행하고 함께 질문할 수 있습니다.

3466 3556 

3467* **범위**: [`모든 파일`](#scopes)3557* **범위**: [`모든 파일`](#scopes)

3468* **유형**: 부울3558* **유형**: 부울


3476}3566}

3477```3567```

3478 3568 

3479[`!` 접두사를 사용한 셸 모드](/docs/ko/interactive-mode#shell-mode-with-prefix)를 참조하세요. Claude Code v2.1.186 이상이 필요합니다.3569[셸 모드와 `!` 접두사](/docs/ko/interactive-mode#shell-mode-with-prefix)를 참조하세요.

3480 3570 

3481<h3 id="showclearcontextonplanaccept">3571<h3 id="showclearcontextonplanaccept">

3482 `showClearContextOnPlanAccept`3572 `showClearContextOnPlanAccept`


3983Claude Code가 git 커밋 및 풀 요청에 추가하는 속성을 사용자 정의합니다. 커밋은 기본적으로 `Co-Authored-By`와 같은 [git 트레일러](https://git-scm.com/docs/git-interpret-trailers)를 받습니다. 풀 요청 설명은 일반 텍스트를 받습니다. 아래의 하위 키를 사용하여 각 부분을 별도로 설정합니다.4073Claude Code가 git 커밋 및 풀 요청에 추가하는 속성을 사용자 정의합니다. 커밋은 기본적으로 `Co-Authored-By`와 같은 [git 트레일러](https://git-scm.com/docs/git-interpret-trailers)를 받습니다. 풀 요청 설명은 일반 텍스트를 받습니다. 아래의 하위 키를 사용하여 각 부분을 별도로 설정합니다.

3984 4074 

3985* **범위**: [`모든 파일`](#scopes)4075* **범위**: [`모든 파일`](#scopes)

3986* **유형**: `commit` 및 `pr` 문자열과 `sessionUrl` 부울을 포함하는 객체4076* **유형**: `commit` 및 `pr` 문자열과 `sessionUrl` 부울을 포함하는 객체, 또는 모든 속성을 숨기려면 `false`. `false` 값은 Claude Code v2.1.281 이상이 필요합니다. 이전 버전은 이를 거부하고 [이를 포함하는 전체 사용자, 프로젝트 또는 로컬 설정 파일을 건너뜁니다](/docs/ko/settings#fix-a-broken-settings-file).

3987* **기본값**: 설정되지 않음. 따라서 Claude Code는 각 하위 키 아래에 표시된 표준 속성을 사용합니다.4077* **기본값**: 설정되지 않음. 따라서 Claude Code는 각 하위 키 아래에 표시된 표준 속성을 사용합니다.

3988 4078 

4079모든 속성을 숨기려면 `attribution`을 `false`로 설정합니다. 이전 버전도 읽는 설정 파일에서는 [`commit`](#attribution-commit) 및 [`pr`](#attribution-pr)을 빈 문자열로 설정하고 [`sessionUrl`](#attribution-sessionurl)을 `false`로 설정합니다.

4080 

3989이 예제는 커밋 속성을 바꾸고, 풀 요청 속성을 제거하며, 세션 링크를 삭제합니다:4081이 예제는 커밋 속성을 바꾸고, 풀 요청 속성을 제거하며, 세션 링크를 삭제합니다:

3990 4082 

3991```json settings.json theme={null}4083```json settings.json theme={null}


3998}4090}

3999```4091```

4000 4092 

4001모든 속성을 숨기려면 [`commit`](#attribution-commit) 및 [`pr`](#attribution-pr)을 빈 문자열로 설정하고 [`sessionUrl`](#attribution-sessionurl)을 `false`로 설정합니다. `commit` 또는 `pr`을 설정하면 Claude Code는 더 이상 사용되지 않는 `includeCoAuthoredBy` 설정을 무시하고 설정하지 않은 두 항목에 대해 기본 텍스트를 사용합니다.4093`commit` 또는 `pr`을 설정하면 Claude Code는 더 이상 사용되지 않는 `includeCoAuthoredBy` 설정을 무시하고 설정하지 않은 두 항목에 대해 기본 텍스트를 사용합니다.

4002 4094 

4003Claude Code는 Claude에게 속성에 대한 사용자 정의 지침(예: CLAUDE.md 또는 [메모리](/docs/ko/memory) 규칙)이 이러한 커밋 및 PR 라인보다 우선한다고 알립니다. 단, 라인이 [관리되는 설정](/docs/ko/managed-settings)에서 설정된 경우는 제외합니다.4095Claude Code는 Claude에게 속성에 대한 사용자 정의 지침(예: CLAUDE.md 또는 [메모리](/docs/ko/memory) 규칙)이 이러한 커밋 및 PR 라인보다 우선한다고 알립니다. 단, 라인이 [관리되는 설정](/docs/ko/managed-settings)에서 설정된 경우는 제외합니다.

4004 4096 


4024}4116}

4025```4117```

4026 4118 

4027현재 모든 속성을 숨기려면 [`attribution.commit`](#attribution-commit) 및 [`attribution.pr`](#attribution-pr)을 빈 문자열로 설정하고 [`attribution.sessionUrl`](#attribution-sessionurl)을 `false`로 설정합니다.4119모든 속성을 숨기려면 [`attribution`](#attribution)을 참조하십시오.

4028 4120 

4029<h3 id="includegitinstructions">4121<h3 id="includegitinstructions">

4030 `includeGitInstructions`4122 `includeGitInstructions`


4073 4165 

4074* **범위**: [`모든 파일`](#scopes)4166* **범위**: [`모든 파일`](#scopes)

4075* **유형**: 문자열4167* **유형**: 문자열

4076* **기본값**: 설정되지 않음. 따라서 Claude Code는 `Co-Authored-By: <name> <noreply@anthropic.com>`을 추가합니다. 이름은 `Claude Sonnet 5`와 같은 세션의 활성 모델입니다.4168* **기본값**: 설정되지 않음. 따라서 Claude Code는 `Co-Authored-By: <name> <noreply@anthropic.com>`을 추가합니다. 이름은 `Claude Sonnet 5`와 같은 커밋이 만들어질 때 사용 중인 모델입니다. [서브에이전트](/docs/ko/sub-agents)가 커밋을 만들 때 트레일러는 서브에이전트의 모델을 이름으로 지정합니다.

4077 * Claude Code가 모델을 Claude 모델로 인식하지만 정확한 버전을 확인할 수 없는 경우 `Claude`만 작성합니다.4169 * Claude Code가 모델을 Claude 모델로 인식하지만 정확한 버전을 확인할 수 없는 경우 `Claude`만 작성합니다.

4078 * 모델 ID를 Claude 모델과 일치시킬 수 없는 경우(예: 사용자 정의 [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)을 통해 제공되는 타사 모델) `Claude Code`를 작성합니다.4170 * 모델 ID를 Claude 모델과 일치시킬 수 없는 경우(예: 사용자 정의 [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)을 통해 제공되는 타사 모델) `Claude Code`를 작성합니다.

4079 4171 


4182* **관리되는 훅 및 SDK 훅 실행**: 관리되는 설정의 훅 및 [Agent SDK](/docs/ko/agent-sdk/overview)가 프로세스에 등록하는 훅4274* **관리되는 훅 및 SDK 훅 실행**: 관리되는 설정의 훅 및 [Agent SDK](/docs/ko/agent-sdk/overview)가 프로세스에 등록하는 훅

4183* **강제 활성화된 플러그인 훅 실행**: 관리되는 설정이 [`enabledPlugins`](#enabledplugins)를 통해 강제로 활성화하는 플러그인의 훅. Claude Code는 전체 `plugin@marketplace` ID와 일치하므로 다른 마켓플레이스의 동일한 이름의 플러그인은 차단된 상태로 유지됩니다. 이를 통해 조직 마켓플레이스를 통해 검증된 훅을 배포하면서 다른 모든 것을 차단할 수 있습니다.4275* **강제 활성화된 플러그인 훅 실행**: 관리되는 설정이 [`enabledPlugins`](#enabledplugins)를 통해 강제로 활성화하는 플러그인의 훅. Claude Code는 전체 `plugin@marketplace` ID와 일치하므로 다른 마켓플레이스의 동일한 이름의 플러그인은 차단된 상태로 유지됩니다. 이를 통해 조직 마켓플레이스를 통해 검증된 훅을 배포하면서 다른 모든 것을 차단할 수 있습니다.

4184* **다른 모든 것은 차단됨**: 사용자, 프로젝트 및 로컬 훅, 다른 플러그인의 훅, 에이전트 프론트매터에 선언된 훅4276* **다른 모든 것은 차단됨**: 사용자, 프로젝트 및 로컬 훅, 다른 플러그인의 훅, 에이전트 프론트매터에 선언된 훅

4185* **명령 소스 플러그인 비활성화**: Claude Code는 또한 [`disableCommandPluginSources`](#disablecommandpluginsources)를 명시적으로 `false`로 설정하지 않는 한 [`command` 소스](/docs/ko/plugin-marketplaces#command-sources)가 있는 플러그인(관리되는 `enabledPlugins`에서 강제로 활성화된 플러그인 포함)을 비활성화합니다.4277* **명령 소스 플러그인 비활성화**: Claude Code는 또한 [`disableCommandPluginSources`](#disablecommandpluginsources)를 명시적으로 `false`로 설정하지 않는 한 [`command` 소스](/docs/ko/plugins/marketplace-reference#command-plugin-source)가 있는 플러그인(관리되는 `enabledPlugins`에서 강제로 활성화된 플러그인 포함)을 비활성화합니다.

4186* **마켓플레이스 `headersHelper` 명령 차단**: Claude Code는 또한 [`disableCommandPluginSources`](#disablecommandpluginsources)가 명시적으로 `false`로 설정되지 않는 한 마켓플레이스 [`headersHelper` 명령](/docs/ko/plugin-marketplaces#authenticate-archive-downloads)을 차단합니다. 단, 관리되는 설정 자체가 선언하는 마켓플레이스는 제외됩니다. Claude Code v2.1.238 이상이 필요합니다.4278* **마켓플레이스 `headersHelper` 명령 차단**: Claude Code는 또한 [`disableCommandPluginSources`](#disablecommandpluginsources)가 명시적으로 `false`로 설정되지 않는 한 마켓플레이스 [`headersHelper` 명령](/docs/ko/plugins/host-marketplace#authenticate-archive-downloads)을 차단합니다. 단, 관리되는 설정 자체가 선언하는 마켓플레이스는 제외됩니다. Claude Code v2.1.238 이상이 필요합니다.

4187* **상태 줄 및 파일 제안이 관리되는 설정으로 좁혀짐**: Claude Code는 [상태 줄 및 파일 제안 게이트](#status-line-and-file-suggestion-gates)를 따르면서 관리되는 설정에서만 [`statusLine`](/docs/ko/statusline), [`fileSuggestion`](#filesuggestion), [`subagentStatusLine`](/docs/ko/statusline#subagent-status-lines)을 읽습니다.4279* **상태 줄 및 파일 제안이 관리되는 설정으로 좁혀짐**: Claude Code는 [상태 줄 및 파일 제안 게이트](#status-line-and-file-suggestion-gates)를 따르면서 관리되는 설정에서만 [`statusLine`](/docs/ko/statusline), [`fileSuggestion`](#filesuggestion), [`subagentStatusLine`](/docs/ko/statusline#subagent-status-lines)을 읽습니다.

4188 4280 

4189[`/goal`](/docs/ko/goal) 명령은 이 키가 설정된 동안 실행할 수 없습니다. 훅에 따라 달라지기 때문입니다.4281[`/goal`](/docs/ko/goal) 명령은 이 키가 설정된 동안 실행할 수 없습니다. 훅에 따라 달라지기 때문입니다.


4367 플러그인 및 스킬4459 플러그인 및 스킬

4368</h2>4460</h2>

4369 4461 

4370플러그인을 활성화하고, 마켓플레이스를 등록하고, 조직이 허용하는 플러그인 소스를 제한하고, 로드되는 스킬을 제어합니다. 플러그인 설치 및 빌드에 대해서는 [플러그인](/docs/ko/plugins)을 참조하십시오.4462플러그인을 활성화하고, 마켓플레이스를 등록하고, 조직이 허용하는 플러그인 소스를 제한하고, 로드되는 스킬을 제어합니다. 플러그인 설치 및 빌드에 대해서는 [플러그인](/docs/ko/plugins/overview)을 참조하십시오.

4371 4463 

4372<h3 id="disablebundledskills">4464<h3 id="disablebundledskills">

4373 `disableBundledSkills`4465 `disableBundledSkills`

4374</h3>4466</h3>

4375 4467 

4376Claude Code에 포함된 [스킬](/docs/ko/skills) 및 워크플로우를 끕니다. Claude Code는 번들된 스킬과 워크플로우를 완전히 제거하는 한편, `/init`과 같은 기본 제공 명령어는 입력 가능하지만 모델에서 숨겨집니다.4468Claude Code에 포함된 [스킬](/docs/ko/skills) 및 워크플로우를 끕니다. Claude Code는 번들 스킬 및 워크플로우를 완전히 제거하는 한편, `/init`과 같은 기본 제공 명령어는 입력 가능하지만 모델에서 숨겨집니다.

4377 4469 

4378* **범위**: [`모든 파일`](#scopes)4470* **범위**: [`모든 파일`](#scopes)

4379* **유형**: Boolean4471* **유형**: 부울

4380 * `true`: Claude Code는 번들된 스킬과 워크플로우를 제거하고 `/init`과 같은 기본 제공 명령어를 모델에서 숨깁니다4472 * `true`: Claude Code는 번들 스킬 및 워크플로우를 제거하고 `/init`과 같은 기본 제공 명령어를 모델에서 숨깁니다

4381 * `false`: 번들된 스킬이 로드됩니다4473 * `false`: 번들 스킬이 로드됩니다

4382* **기본값**: 설정되지 않음, 따라서 번들된 스킬이 로드됩니다4474* **기본값**: 설정되지 않음, 따라서 번들 스킬이 로드됩니다

4383* **세션별 재정의**: [`CLAUDE_CODE_DISABLE_BUNDLED_SKILLS`](/docs/ko/env-vars)를 `1`로 설정하면 한 세션 동안 번들된 스킬이 꺼집니다. 둘 중 하나가 스킬을 끄면 다른 하나는 다시 켤 수 없습니다4475* **세션별 재정의**: [`CLAUDE_CODE_DISABLE_BUNDLED_SKILLS`](/docs/ko/env-vars)를 `1`로 설정하면 한 세션 동안 번들 스킬이 꺼집니다. 둘 중 하나가 스킬을 끄면 다른 하나는 다시 켤 수 없습니다

4384 4476 

4385```json settings.json theme={null}4477```json settings.json theme={null}

4386{4478{


4388}4480}

4389```4481```

4390 4482 

4391플러그인, `.claude/skills/`, `.claude/commands/`의 스킬은 영향을 받지 않습니다. `/doctor`는 기본 제공 명령어처럼 입력 가능합니다. 이를 숨기려면 대신 [`DISABLE_DOCTOR_COMMAND`](/docs/ko/env-vars)를 설정하십시오.4483플러그인, `.claude/skills/`, `.claude/commands/`의 스킬은 영향을 받지 않습니다. `/doctor`는 기본 제공 명령어처럼 입력 가능하며, 이를 숨기려면 대신 [`DISABLE_DOCTOR_COMMAND`](/docs/ko/env-vars)를 설정하십시오.

4392 4484 

4393<h3 id="disableskillshellexecution">4485<h3 id="disableskillshellexecution">

4394 `disableSkillShellExecution`4486 `disableSkillShellExecution`


4396 4488 

4397[스킬](/docs/ko/skills) 및 사용자, 프로젝트, 플러그인 또는 추가 디렉터리 소스의 사용자 정의 명령어에서 `` !`...` `` 및 ` ```! ` 블록에 대한 인라인 셸 실행을 끕니다. Claude Code는 각 명령어를 실행하는 대신 `[shell command execution disabled by policy]`로 바꿉니다.4489[스킬](/docs/ko/skills) 및 사용자, 프로젝트, 플러그인 또는 추가 디렉터리 소스의 사용자 정의 명령어에서 `` !`...` `` 및 ` ```! ` 블록에 대한 인라인 셸 실행을 끕니다. Claude Code는 각 명령어를 실행하는 대신 `[shell command execution disabled by policy]`로 바꿉니다.

4398 4490 

4399* **범위**: [`모든 파일`](#scopes). 관리되는 설정의 `true`는 다른 곳의 `false`로 재정의될 수 없습니다.4491* **범위**: [`모든 파일`](#scopes). 관리 설정의 `true`는 다른 곳의 `false`로 재정의될 수 없습니다.

4400* **유형**: Boolean4492* **유형**: 부울

4401 * `true`: Claude Code는 각 인라인 셸 명령어를 실행하는 대신 `[shell command execution disabled by policy]`로 바꿉니다4493 * `true`: Claude Code는 각 인라인 셸 명령어를 실행하는 대신 `[shell command execution disabled by policy]`로 바꿉니다

4402 * `false`: 인라인 셸이 실행됩니다4494 * `false`: 인라인 셸이 실행됩니다

4403* **기본값**: 설정되지 않음, 따라서 인라인 셸이 실행됩니다4495* **기본값**: 설정되지 않음, 따라서 인라인 셸이 실행됩니다


4408}4500}

4409```4501```

4410 4502 

4411번들된 스킬과 관리되는 설정을 통해 배포된 스킬은 영향을 받지 않습니다.4503번들 스킬 및 관리 설정을 통해 배포된 스킬은 영향을 받지 않습니다.

4412 4504 

4413<h3 id="skilloverrides">4505<h3 id="skilloverrides">

4414 `skillOverrides`4506 `skillOverrides`

4415</h3>4507</h3>

4416 4508 

4417[스킬](/docs/ko/skills#override-skill-visibility-from-settings)의 `SKILL.md`를 편집하지 않고 숨기거나 축소합니다. Claude Code는 각 스킬 이름 아래의 값을 Claude가 보는 스킬 목록과 `/` 자동 완성에 적용합니다.4509[스킬](/docs/ko/skills#override-skill-visibility-from-settings)의 `SKILL.md`를 편집하지 않고 스킬을 숨기거나 축소합니다. Claude Code는 각 스킬 이름 아래의 값을 Claude가 보는 스킬 목록 및 `/` 자동 완성에 적용합니다.

4418 4510 

4419* **범위**: [`모든 파일`](#scopes). `/skills` 메뉴는 `.claude/settings.local.json`에 씁니다.4511* **범위**: [`모든 파일`](#scopes). `/skills` 메뉴는 `.claude/settings.local.json`에 씁니다.

4420* **유형**: 스킬 이름을 다음 중 하나로 매핑하는 객체:4512* **유형**: 스킬 이름을 다음 중 하나에 매핑하는 객체:

4421 * `"on"`: Claude가 스킬을 보고 `/name`을 입력할 수 있습니다4513 * `"on"`: Claude가 스킬을 보고 `/name`을 입력할 수 있습니다

4422 * `"name-only"`: Claude가 설명 없이 스킬을 이름으로만 봅니다4514 * `"name-only"`: Claude가 설명 없이 스킬을 이름으로만 봅니다

4423 * `"user-invocable-only"`: Claude가 스킬을 보지 못하지만 여전히 `/name`을 입력할 수 있습니다4515 * `"user-invocable-only"`: Claude가 스킬을 보지 못하지만 여전히 `/name`을 입력할 수 있습니다


4435}4527}

4436```4528```

4437 4529 

4438재정의는 플러그인 스킬에 적용되지 않으며, 이는 `/plugin`을 통해 관리합니다.4530재정의는 플러그인 스킬에 적용되지 않으며, `/plugin`을 통해 관리합니다.

4439 4531 

4440관리되는 설정 및 `--settings`로 전달된 파일에서, `/doctor`의 `checkup`과 같은 번들된 스킬의 별칭에 대한 키도 스킬에 적용됩니다. [별칭 키가 스킬 자체 이름의 키와 어떻게 결합되는지](/docs/ko/skills#override-skill-visibility-from-settings)를 참조하십시오.4532관리 설정 및 `--settings`로 전달된 파일에서 `/doctor`의 `checkup`과 같은 번들 스킬의 별칭에 대한 키도 스킬에 적용됩니다. [별칭 키가 스킬 자체 이름의 키와 어떻게 결합되는지](/docs/ko/skills#override-skill-visibility-from-settings)를 참조하십시오.

4441 4533 

4442<h3 id="syncclaudeaiskills">4534<h3 id="syncclaudeaiskills">

4443 `syncClaudeAiSkills`4535 `syncClaudeAiSkills`

4444</h3>4536</h3>

4445 4537 

4446[claude.ai 계정에서 활성화한 스킬](/docs/ko/skills#how-synced-skills-behave)의 다운로드를 끕니다. Claude Code는 [claude.ai 계정으로 로그인한 터미널 세션](/docs/ko/skills#where-synced-skills-load)에서 이를 `~/.claude/skills/synced/`로 다운로드합니다. 대화형 또는 비대화형이며, Cowork 및 클라우드 세션에서도 다운로드합니다. `false`로 설정하여 해당 다운로드를 중지하고 이미 동기화된 스킬을 로드하지 않도록 합니다. Claude Code는 `false`만 인정합니다. `true`는 설정되지 않은 것과 같으며 동기화를 켜지 않습니다.4538[claude.ai 계정에 대해 활성화된 스킬](/docs/ko/skills#how-synced-skills-behave)의 다운로드를 끕니다. Claude Code는 [claude.ai 계정으로 로그인하는 터미널 세션](/docs/ko/skills#where-synced-skills-load)에서 `~/.claude/skills/synced/`로 다운로드하며, 대화형 또는 비대화형이고 Cowork 및 클라우드 세션에서도 다운로드합니다. `false`로 설정하여 해당 다운로드를 중지하고 이미 동기화된 스킬 로드를 중지합니다. Claude Code는 `false`만 인정합니다. `true`는 설정되지 않은 것과 같으며 다른 곳에서 꺼진 동기화를 켜지 않습니다.

4447 4539 

4448* **범위**: [`사용자, 로컬 또는 관리됨`](#scopes), 그리고 `--settings`로 전달된 파일. 저장소는 이를 끌 수 없습니다.4540* **범위**: [`사용자, 로컬 또는 관리`](#scopes), 및 `--settings`로 전달된 파일. 저장소는 이를 끌 수 없습니다.

4449* **유형**: Boolean4541* **유형**: 부울

4450 * `false`: Claude Code는 동기화된 스킬 다운로드를 중지하고 `~/.claude/skills/synced/`에 있는 스킬을 로드하지 않습니다. 사용자 또는 관리되는 설정에서 이를 `~/.claude/skills/.trash/`로 이동합니다4542 * `false`: Claude Code는 동기화된 스킬 다운로드를 중지하고 `~/.claude/skills/synced/`에 있는 스킬 로드를 중지합니다. 사용자 또는 관리 설정에서 `~/.claude/skills/.trash/`로도 이동합니다

4451 * `true`: 설정되지 않은 것과 같습니다4543 * `true`: 설정되지 않은 것과 같습니다

4452* **기본값**: 설정되지 않음, 따라서 claude.ai 계정으로 로그인한 세션은 스킬을 동기화합니다4544* **기본값**: 설정되지 않음, 따라서 claude.ai 계정으로 로그인한 세션은 스킬을 동기화합니다

4453 4545 

4454이 예제는 머신이 계정의 스킬을 어떤 세션에서도 다운로드하지 않도록 합니다:4546이 예제는 머신이 모든 세션에서 계정의 스킬을 다운로드하지 않도록 유지합니다:

4455 4547 

4456```json settings.json theme={null}4548```json settings.json theme={null}

4457{4549{


4463 `syncClaudeAiPlugins`4555 `syncClaudeAiPlugins`

4464</h3>4556</h3>

4465 4557 

4466[claude.ai 계정에서 활성화한 플러그인](/docs/ko/plugins-reference#synced-plugins)의 다운로드를 끕니다. Claude Code는 claude.ai 계정으로 로그인한 터미널 세션의 시작 시 이를 `~/.claude/plugins/synced/`로 다운로드하고, Cowork 및 클라우드 세션에서도 다운로드하며, 각각을 `<name>@synced`로 로드합니다. `false`로 설정하여 해당 다운로드를 중지하고 이미 동기화된 플러그인을 로드하지 않도록 합니다. Claude Code는 `false`만 인정합니다. `true`는 설정되지 않은 것과 같으며 동기화를 켜지 않습니다. Claude Code v2.1.273 이상이 필요합니다.4558[claude.ai 계정에 대해 활성화된 플러그인](/docs/ko/plugins/loading#synced-plugins)의 다운로드를 끕니다. Claude Code는 claude.ai 계정으로 로그인하는 터미널 세션의 시작 부분에서 `~/.claude/plugins/synced/`로 다운로드하고 Cowork 세션에서도 다운로드하며, 각각을 `<name>@synced`로 로드합니다. `false`로 설정하여 해당 다운로드를 중지하고 이미 동기화된 플러그인 로드를 중지합니다. Claude Code는 `false`만 인정합니다. `true`는 설정되지 않은 것과 같으며 다른 곳에서 꺼진 동기화를 켜지 않습니다. Claude Code v2.1.273 이상이 필요합니다.

4467 4559 

4468* **범위**: [`사용자, 로컬 또는 관리됨`](#scopes), 그리고 `--settings`로 전달된 파일. 저장소는 이를 끌 수 없습니다.4560* **범위**: [`사용자, 로컬 또는 관리`](#scopes), 및 `--settings`로 전달된 파일. 저장소는 이를 끌 수 없습니다.

4469* **유형**: Boolean4561* **유형**: 부울

4470 * `false`: Claude Code는 동기화된 플러그인 다운로드를 중지하고 `~/.claude/plugins/synced/`에 있는 플러그인을 로드하지 않습니다. 사용자 또는 관리되는 설정에서 이를 `~/.claude/plugins/.trash/`로 이동합니다4562 * `false`: Claude Code는 동기화된 플러그인 다운로드를 중지하고 `~/.claude/plugins/synced/`에 있는 플러그인 로드를 중지합니다. 사용자 또는 관리 설정에서 `~/.claude/plugins/.trash/`로도 이동합니다

4471 * `true`: 설정되지 않은 것과 같습니다4563 * `true`: 설정되지 않은 것과 같습니다

4472* **기본값**: 설정되지 않음, 따라서 claude.ai 계정으로 로그인한 세션은 플러그인을 동기화합니다4564* **기본값**: 설정되지 않음, 따라서 claude.ai 계정으로 로그인한 세션은 플러그인을 동기화합니다

4473 4565 

4474모든 동기화된 플러그인 대신 하나의 동기화된 플러그인을 끄려면 [`enabledPlugins`](#enabledplugins)에서 `"<name>@synced": false`를 설정하십시오.4566모든 동기화된 플러그인이 아닌 하나의 동기화된 플러그인을 끄려면 [`enabledPlugins`](#enabledplugins)에서 `"<name>@synced": false`를 설정합니다.

4475 4567 

4476이 예제는 머신이 계정의 플러그인을 어떤 세션에서도 다운로드하지 않도록 합니다:4568이 예제는 머신이 모든 세션에서 계정의 플러그인을 다운로드하지 않도록 유지합니다:

4477 4569 

4478```json managed-settings.json theme={null}4570```json settings.json theme={null}

4479{4571{

4480 "syncClaudeAiPlugins": false4572 "syncClaudeAiPlugins": false

4481}4573}


4485 `allowedChannelPlugins`4577 `allowedChannelPlugins`

4486</h3>4578</h3>

4487 4579 

4488[채널](/docs/ko/channels) 플러그인이 조직의 세션에 메시지를 푸시할 수 있는 플러그인을 선택합니다. 이를 설정하면 Claude Code는 기본 Anthropic 허용 목록 대신 목록을 사용합니다. 각 항목은 플러그인과 플러그인이 나오는 마켓플레이스의 이름을 지정합니다.4580[채널](/docs/ko/channels) 플러그인이 조직의 세션에 메시지를 푸시할 수 있는 채널을 선택합니다. 이를 설정하면 Claude Code는 기본 Anthropic 허용 목록 대신 목록을 사용합니다. 각 항목은 플러그인과 플러그인이 나오는 마켓플레이스의 이름을 지정합니다.

4489 4581 

4490* **범위**: [`관리됨`](#scopes)4582* **범위**: [`관리`](#scopes)

4491* **유형**: 각각 `marketplace` 및 `plugin` 문자열을 포함하는 객체의 배열입니다. 항목은 `"telegram@claude-plugins-official"`과 같은 `"plugin@marketplace"` 문자열일 수 있으며, Claude Code는 이를 동등한 객체로 취급합니다. 문자열 형식은 Claude Code v2.1.267 이상이 필요합니다. 이전 버전은 하나를 포함할 때 전체 `allowedChannelPlugins` 값을 거부합니다4583* **유형**: 각각 `marketplace` 및 `plugin` 문자열을 포함하는 객체의 배열. 항목은 대신 `"telegram@claude-plugins-official"`과 같은 `"plugin@marketplace"` 문자열일 수 있으며, Claude Code는 이를 동등한 객체로 취급합니다. 문자열 형식은 Claude Code v2.1.267 이상이 필요합니다. 이전 버전은 하나를 포함할 때 전체 `allowedChannelPlugins` 값을 거부합니다

4492* **기본값**: 설정되지 않음, 따라서 Claude Code는 기본 Anthropic 허용 목록을 사용합니다4584* **기본값**: 설정되지 않음, 따라서 Claude Code는 기본 Anthropic 허용 목록을 사용합니다

4493 4585 

4494이 예제는 채널을 켜고 공식 Anthropic 마켓플레이스의 Telegram 플러그인만 허용합니다:4586이 예제는 채널을 켜고 공식 Anthropic 마켓플레이스의 Telegram 플러그인만 허용합니다:


4504 4596 

4505빈 배열은 모든 채널 플러그인을 차단합니다.4597빈 배열은 모든 채널 플러그인을 차단합니다.

4506 4598 

4507이 키는 채널이 계정에 대한 [`channelsEnabled`](#channelsenabled) 게이트를 통과한 후에 적용됩니다. Team 및 Enterprise 플랜과 관리되는 설정이 있는 Console 계정에서는 `channelsEnabled: true`를 의미합니다. [채널 플러그인 실행 제한](/docs/ko/channels#restrict-which-channel-plugins-can-run)을 참조하십시오.4599이 키는 채널이 계정에 대해 [`channelsEnabled`](#channelsenabled) 게이트를 통과한 후에 적용됩니다. Team 및 Enterprise 플랜에서, 그리고 관리 설정이 있는 Console 계정에서는 `channelsEnabled: true`를 의미합니다. [채널 플러그인 실행 제한](/docs/ko/channels#restrict-which-channel-plugins-can-run)을 참조하십시오.

4508 4600 

4509<h3 id="blockedmarketplaces">4601<h3 id="blockedmarketplaces">

4510 `blockedMarketplaces`4602 `blockedMarketplaces`


4512 4604 

4513조직의 플러그인 마켓플레이스 소스를 차단합니다. Claude Code는 마켓플레이스 추가 및 플러그인 설치, 업데이트, 새로 고침 및 자동 업데이트 시 차단 목록을 확인하므로, 정책을 설정하기 전에 누군가 추가한 마켓플레이스는 플러그인을 가져오는 데 사용될 수 없습니다. 차단된 소스는 다운로드 전에 확인되므로 파일 시스템에 닿지 않습니다.4605조직의 플러그인 마켓플레이스 소스를 차단합니다. Claude Code는 마켓플레이스 추가 및 플러그인 설치, 업데이트, 새로 고침 및 자동 업데이트 시 차단 목록을 확인하므로, 정책을 설정하기 전에 누군가 추가한 마켓플레이스는 플러그인을 가져오는 데 사용될 수 없습니다. 차단된 소스는 다운로드 전에 확인되므로 파일 시스템에 닿지 않습니다.

4514 4606 

4515* **범위**: [`관리됨`](#scopes)4607[claude.ai 관리 콘솔](/docs/ko/server-managed-settings)에서 이 키를 설정하면 claude.ai는 조직의 누구든 claude.ai에서 git 저장소의 마켓플레이스를 추가할 때도 적용합니다. [제한 작동 방식](/docs/ko/plugins/org#restrict-what-users-can-install)에서 설명합니다.

4608 

4609* **범위**: [`관리`](#scopes)

4516* **유형**: [`strictKnownMarketplaces`](#allowed-source-types)와 동일한 형식의 마켓플레이스 소스 객체 배열4610* **유형**: [`strictKnownMarketplaces`](#allowed-source-types)와 동일한 형식의 마켓플레이스 소스 객체 배열

4517* **기본값**: 설정되지 않음, 따라서 마켓플레이스가 차단되지 않습니다4611* **기본값**: 설정되지 않음, 따라서 마켓플레이스가 차단되지 않습니다

4518 4612 


4526}4620}

4527```4621```

4528 4622 

4529`github` 항목은 [소유자 와일드카드 형식](#owner-wildcards) `"owner/*"`을 사용하여 해당 GitHub 소유자 아래의 모든 저장소를 차단할 수 있으며, 이는 Claude Code v2.1.223 이상이 필요합니다. `{ "source": "skills-dir" }`을 추가하여 Claude Code가 `~/.claude/skills/`에서 [`@skills-dir` 플러그인](/docs/ko/plugins-reference#skills-directory-plugins)을 로드하지 않도록 하면서 마켓플레이스를 제한하지 않습니다. [관리되는 마켓플레이스 제한](/docs/ko/plugin-marketplaces#managed-marketplace-restrictions)을 참조하십시오.4623GitHub 항목은 [소유자 와일드카드 형식](#owner-wildcards) `"owner/*"`을 사용하여 해당 GitHub 소유자 아래의 모든 저장소를 차단할 수 있으며, Claude Code v2.1.223 이상이 필요합니다. `{ "source": "skills-dir" }`을 추가하여 Claude Code가 마켓플레이스를 제한하지 않고 `~/.claude/skills/`에서 [`@skills-dir` 플러그인](/docs/ko/plugins/loading#plugins-shared-through-a-repository)을 로드하지 않도록 합니다. [관리 마켓플레이스 제한](/docs/ko/plugins/org#restrict-what-users-can-install)을 참조하십시오.

4530 4624 

4531<h3 id="channelsenabled">4625<h3 id="channelsenabled">

4532 `channelsEnabled`4626 `channelsEnabled`

4533</h3>4627</h3>

4534 4628 

4535조직의 [채널](/docs/ko/channels)을 허용합니다. claude.ai Team 및 Enterprise 플랜에서 Claude Code는 이를 `true`로 설정할 때까지 채널을 차단합니다. API 키로 인증하는 [Anthropic Console](/docs/ko/authentication#claude-console-authentication) 계정의 경우 채널이 기본적으로 허용됩니다. 조직이 관리되는 설정을 배포하는 경우 Claude Code는 이 키를 `true`로 설정할 때까지 해당 계정의 채널을 차단합니다.4629조직의 [채널](/docs/ko/channels)을 허용합니다. claude.ai Team 및 Enterprise 플랜에서 Claude Code는 이를 `true`로 설정할 때까지 채널을 차단합니다. API 키로 인증하는 [Anthropic Console](/docs/ko/authentication#claude-console-authentication) 계정의 경우 채널이 기본적으로 허용됩니다. 조직이 관리 설정을 배포하면 Claude Code는 이 키를 `true`로 설정할 때까지 해당 계정의 채널도 차단합니다.

4536 4630 

4537* **범위**: [`관리됨`](#scopes)4631* **범위**: [`관리`](#scopes)

4538* **유형**: Boolean4632* **유형**: 부울

4539 * `true`: Claude Code는 조직의 채널을 허용합니다4633 * `true`: Claude Code는 조직의 채널을 허용합니다

4540 * `false`: 설정되지 않은 것과 같습니다. 채널이 차단되는지 여부는 기본값이 말하는 대로 플랜에 따라 다릅니다4634 * `false`: 설정되지 않은 것과 같습니다. 채널이 차단되는지 여부는 기본값에서 설명하는 대로 플랜에 따라 다릅니다

4541* **기본값**: 설정되지 않음. 채널은 Team 및 Enterprise 플랜과 관리되는 설정이 있는 Console 계정에서 차단되고, Pro 및 Max 플랜과 관리되는 설정이 없는 Console 계정에서 허용됩니다4635* **기본값**: 설정되지 않음. 채널은 Team 및 Enterprise 플랜에서 차단되고 관리 설정이 있는 Console 계정에서 차단되며, Pro 및 Max 플랜에서 허용되고 관리 설정이 없는 Console 계정에서 허용됩니다

4542 4636 

4543```json managed-settings.json theme={null}4637```json managed-settings.json theme={null}

4544{4638{


4546}4640}

4547```4641```

4548 4642 

4549활성화된 후 플러그인이 채널로 등록할 수 있는 것을 제한하려면 [`allowedChannelPlugins`](#allowedchannelplugins)를 설정하십시오. [엔터프라이즈 제어](/docs/ko/channels#enterprise-controls)를 참조하십시오.4643활성화된 후 플러그인이 채널로 등록할 수 있는 것을 제한하려면 [`allowedChannelPlugins`](#allowedchannelplugins)을 설정합니다. [엔터프라이즈 제어](/docs/ko/channels#enterprise-controls)를 참조하십시오.

4550 4644 

4551<h3 id="disablecommandpluginsources">4645<h3 id="disablecommandpluginsources">

4552 `disableCommandPluginSources`4646 `disableCommandPluginSources`

4553</h3>4647</h3>

4554 4648 

4555[`command` 플러그인 소스](/docs/ko/plugin-marketplaces#command-sources)를 차단합니다. 이는 사용자의 머신에서 마켓플레이스가 선언한 명령어를 실행하여 플러그인을 설치합니다. 이를 `true`로 설정하면 Claude Code는 명령어를 실행하지 않고, 명령어 소스 플러그인을 설치 또는 업데이트하지 않으며, 이미 설치된 플러그인 로드를 중지합니다. `false`로 설정하여 명시적으로 허용합니다. 명령어 소스를 차단할 때마다, `true`로 설정하든 [`allowManagedHooksOnly`](#allowmanagedhooksonly) 아래에서 설정되지 않은 상태로 두든, 마켓플레이스 [`headersHelper` 명령어](/docs/ko/plugin-marketplaces#authenticate-archive-downloads)도 차단합니다. 단, 관리되는 설정 자체가 선언하는 마켓플레이스는 제외합니다. Claude Code v2.1.229 이상이 필요하며, `headersHelper` 차단은 v2.1.238 이상이 필요합니다.4649[`command` 플러그인 소스](/docs/ko/plugins/marketplace-reference#command-plugin-source)를 차단합니다. 이는 사용자의 머신에서 마켓플레이스 선언 명령어를 실행하여 플러그인을 설치합니다. 이를 `true`로 설정하면 Claude Code는 명령어를 실행하지 않으며, 명령어 소스 플러그인을 설치 또는 업데이트하지 않고, 이미 설치된 플러그인 로드를 중지합니다. `false`로 설정하여 명시적으로 허용합니다. 명령어 소스를 차단할 때마다, `true`로 설정하든 [`allowManagedHooksOnly`](#allowmanagedhooksonly) 아래에서 설정되지 않은 상태로 두든, 마켓플레이스 [`headersHelper` 명령어](/docs/ko/plugins/host-marketplace#authenticate-archive-downloads)도 차단합니다. 단, 관리 설정 자체가 선언하는 마켓플레이스는 제외합니다. Claude Code v2.1.229 이상이 필요하며, `headersHelper` 차단은 v2.1.238 이상이 필요합니다.

4556 4650 

4557* **범위**: [`관리됨`](#scopes)4651* **범위**: [`관리`](#scopes)

4558* **유형**: Boolean4652* **유형**: 부울

4559 * `true`: Claude Code는 마켓플레이스가 선언한 명령어를 실행하지 않고, 명령어 소스 플러그인을 설치 또는 업데이트하지 않으며, 이미 설치된 플러그인 로드를 중지합니다4653 * `true`: Claude Code는 마켓플레이스 선언 명령어를 실행하지 않으며, 명령어 소스 플러그인을 설치 또는 업데이트하지 않고, 이미 설치된 플러그인 로드를 중지합니다

4560 * `false`: Claude Code는 명령어 소스 플러그인을 명시적으로 허용합니다4654 * `false`: Claude Code는 명령어 소스 플러그인을 명시적으로 허용합니다

4561* **기본값**: 설정되지 않음, 따라서 Claude Code는 [`allowManagedHooksOnly`](#allowmanagedhooksonly)를 따릅니다. 훅 실행을 관리되는 설정으로 제한하는 조직은 명령어 소스도 비활성화됩니다4655* **기본값**: 설정되지 않음, 따라서 Claude Code는 [`allowManagedHooksOnly`](#allowmanagedhooksonly)를 따릅니다. 훅 실행을 관리 설정으로 제한하는 조직은 명령어 소스도 비활성화됩니다

4562 4656 

4563```json managed-settings.json theme={null}4657```json managed-settings.json theme={null}

4564{4658{


4572 `pluginSuggestionMarketplaces`4666 `pluginSuggestionMarketplaces`

4573</h3>4667</h3>

4574 4668 

4575상황별 설치 제안으로 나타날 수 있는 플러그인의 마켓플레이스 이름을 지정합니다. 스피너 팁과 `/plugin` **Discover** 탭의 상단에 고정됩니다. 기본 제공 퍼스트 파티 프론트엔드 디자인 팁은 영향을 받지 않습니다. 제안은 각 플러그인의 마켓플레이스 항목의 `relevance` 선언에서 나옵니다.4669스피너 팁 및 `/plugin` **Discover** 탭 상단에 고정된 상황별 설치 제안으로 나타날 수 있는 플러그인의 마켓플레이스 이름을 지정합니다. 기본 제공 자사 프론트엔드 설계 팁은 영향을 받지 않습니다. 제안은 각 플러그인의 마켓플레이스 항목의 `relevance` 선언에서 나옵니다.

4576 4670 

4577* **범위**: [`관리됨`](#scopes)4671* **범위**: [`관리`](#scopes)

4578* **유형**: 마켓플레이스 이름의 배열4672* **유형**: 마켓플레이스 이름의 배열

4579* **기본값**: 설정되지 않음, 따라서 마켓플레이스가 선언한 제안이 표시되지 않습니다4673* **기본값**: 설정되지 않음, 따라서 마켓플레이스 선언 제안이 표시되지 않습니다

4580 4674 

4581```json managed-settings.json theme={null}4675```json managed-settings.json theme={null}

4582{4676{


4584}4678}

4585```4679```

4586 4680 

4587이름은 마켓플레이스가 머신에 등록되고 등록된 소스가 동일한 관리되는 설정에서도 선언될 때만 적용됩니다. 해당 이름의 [`extraKnownMarketplaces`](#extraknownmarketplaces) 항목 또는 [`strictKnownMarketplaces`](#strictknownmarketplaces)의 항목으로 선언됩니다. Claude Code는 허용 목록 이름 아래의 다른 소스에서 등록된 마켓플레이스를 무시합니다. 공식 마켓플레이스는 소스 요구 사항에서 제외됩니다. 이름만 허용 목록에 추가하면 충분합니다. 해당 이름은 공식 Anthropic 소스에서만 등록할 수 있기 때문입니다. [컨텍스트별 플러그인 제안](/docs/ko/plugin-relevance)을 참조하십시오.4681이름은 마켓플레이스가 머신에 등록되고 등록된 소스가 동일한 관리 설정에서도 선언될 때만 적용됩니다. 해당 이름의 [`extraKnownMarketplaces`](#extraknownmarketplaces) 항목 또는 [`strictKnownMarketplaces`](#strictknownmarketplaces)의 항목으로 선언됩니다. Claude Code는 허용 목록 이름 아래에서 다른 소스에서 등록된 마켓플레이스를 무시합니다. 공식 마켓플레이스는 소스 요구 사항에서 제외됩니다. 공식 Anthropic 소스에서만 등록할 수 있으므로 이름만 허용 목록에 추가하면 충분합니다. [컨텍스트별 플러그인 제안](/docs/ko/plugins/relevance)을 참조하십시오.

4588 4682 

4589<h3 id="plugintrustmessage">4683<h3 id="plugintrustmessage">

4590 `pluginTrustMessage`4684 `pluginTrustMessage`

4591</h3>4685</h3>

4592 4686 

4593설치 전에 Claude Code가 표시하는 플러그인 신뢰 경고에 조직의 고유한 텍스트를 추가합니다. 예를 들어 내부 마켓플레이스의 플러그인이 검증되었음을 확인합니다.4687설치 전에 Claude Code가 표시하는 플러그인 신뢰 경고에 조직의 자체 텍스트를 추가합니다. 예를 들어 내부 마켓플레이스의 플러그인이 검증되었음을 확인합니다.

4594 4688 

4595* **범위**: [`관리됨`](#scopes)4689* **범위**: [`관리`](#scopes)

4596* **유형**: 문자열4690* **유형**: 문자열

4597* **기본값**: 설정되지 않음, 따라서 Claude Code는 표준 경고만 표시합니다4691* **기본값**: 설정되지 않음, 따라서 Claude Code는 표준 경고만 표시합니다

4598 4692 


4606 `strictKnownMarketplaces`4700 `strictKnownMarketplaces`

4607</h3>4701</h3>

4608 4702 

4609조직의 사람들이 플러그인을 추가하고 설치할 수 있는 플러그인 마켓플레이스 소스를 제한합니다. Claude Code는 마켓플레이스 추가 및 플러그인 설치, 업데이트, 새로 고침 및 자동 업데이트 시 허용 목록을 적용합니다. 네트워크 또는 파일 시스템 작업 전에 적용되므로, 정책을 설정하기 전에 누군가 추가한 마켓플레이스는 소스가 더 이상 일치하지 않으면 플러그인을 가져오는 데 사용될 수 없습니다. 차단된 사용자는 관리되는 정책의 이름을 지정하는 오류를 봅니다.4703조직의 사람들이 추가하고 플러그인을 설치할 수 있는 플러그인 마켓플레이스 소스를 제한합니다. Claude Code는 마켓플레이스 추가 및 플러그인 설치, 업데이트, 새로 고침 및 자동 업데이트 시 허용 목록을 적용하며, 모든 네트워크 또는 파일 시스템 작업 전에 적용하므로, 정책을 설정하기 전에 누군가 추가한 마켓플레이스는 소스가 더 이상 일치하지 않으면 플러그인을 가져오는 데 사용될 수 없습니다. 차단된 사용자는 관리 정책의 이름을 지정하는 오류를 봅니다.

4610 4704 

4611* **범위**: [`관리됨`](#scopes)4705[claude.ai 관리 콘솔](/docs/ko/server-managed-settings)에서 이 키를 설정하면 claude.ai는 조직의 누구든 claude.ai에서 git 저장소의 마켓플레이스를 추가할 때도 적용합니다. [제한 작동 방식](/docs/ko/plugins/org#restrict-what-users-can-install)에서 설명합니다.

4612* **유형**: 마켓플레이스 소스 객체의 배열. [허용되는 소스 유형](#allowed-source-types)을 참조하십시오4706 

4707* **범위**: [`관리`](#scopes)

4708* **유형**: 마켓플레이스 소스 객체의 배열. [허용된 소스 유형](#allowed-source-types)을 참조하십시오

4613* **기본값**: 설정되지 않음, 따라서 사용자는 모든 마켓플레이스를 추가할 수 있습니다. 빈 배열은 공식 Anthropic 마켓플레이스를 포함한 모든 마켓플레이스 소스를 차단하는 완전한 잠금입니다4709* **기본값**: 설정되지 않음, 따라서 사용자는 모든 마켓플레이스를 추가할 수 있습니다. 빈 배열은 공식 Anthropic 마켓플레이스를 포함한 모든 마켓플레이스 소스를 차단하는 완전한 잠금입니다

4614 4710 

4615이 예제는 두 개의 GitHub 저장소를 허용합니다. 하나는 `v2.0` ref에 고정되고 하나는 호스팅된 `marketplace.json` URL입니다:4711이 예제는 두 개의 GitHub 저장소를 허용합니다. 하나는 `v2.0` ref에 고정되고 하나는 호스팅된 `marketplace.json` URL입니다:


4624}4720}

4625```4721```

4626 4722 

4627이 키를 `allowedMarketplaces`로도 쓸 수 있습니다. [마켓플레이스 키 별칭](#marketplace-key-aliases)은 Claude Code가 별칭을 어떻게 취급하는지와 어느 버전이 이를 수용하는지 설명합니다. 이 키는 정책 게이트입니다. 사용자가 추가할 수 있는 것을 제어하지만 아무것도 등록하지 않습니다. 제한 및 사전 등록을 한 파일에서 수행하려면 [`extraKnownMarketplaces`와 결합](#combine-with-extraknownmarketplaces)을 참조하십시오. 사용자 대면 보기는 [관리되는 마켓플레이스 제한](/docs/ko/plugin-marketplaces#managed-marketplace-restrictions)을 참조하십시오.4723이 키를 `allowedMarketplaces`로도 쓸 수 있습니다. [마켓플레이스 키 별칭](#marketplace-key-aliases)에서 Claude Code가 별칭을 어떻게 취급하는지 및 어느 버전이 이를 수용하는지 설명합니다. 이 키는 정책 게이트입니다. 사용자가 추가할 수 있는 것을 제어하지만 아무것도 등록하지 않습니다. 제한 및 사전 등록을 한 파일에서 수행하려면 [`extraKnownMarketplaces`와 결합](#combine-with-extraknownmarketplaces)을 참조하십시오. 사용자 대면 보기는 [관리 마켓플레이스 제한](/docs/ko/plugins/org#restrict-what-users-can-install)을 참조하십시오.

4628 4724 

4629<h4 id="allowed-source-types">4725<h4 id="allowed-source-types">

4630 허용되는 소스 유형4726 허용된 소스 유형

4631</h4>4727</h4>

4632 4728 

4633아래의 각 항목은 소스 유형당 하나의 허용 목록 항목과 이를 수용하는 필드를 보여줍니다. 대부분의 유형은 정확히 일치합니다. `hostPattern` 및 `pathPattern`은 정규식으로 일치하고, `github` 항목은 [소유자 와일드카드](#owner-wildcards)를 사용할 수 있습니다.4729아래의 각 항목은 소스 유형당 하나의 허용 목록 항목과 이를 수용하는 필드를 보여줍니다. 대부분의 유형은 정확히 일치합니다. `hostPattern` 및 `pathPattern`은 정규식으로 일치하고, `github` 항목은 [소유자 와일드카드](#owner-wildcards)를 사용할 수 있습니다.


4636| :- | :- | :- |4732| :- | :- | :- |

4637| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` 필수; `ref`는 분기 또는 태그; `path`는 하위 디렉터리 |4733| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` 필수; `ref`는 분기 또는 태그; `path`는 하위 디렉터리 |

4638| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` 필수; `ref` 및 `path`는 `github`과 동일 |4734| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` 필수; `ref` 및 `path`는 `github`과 동일 |

4639| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` 필수; `headers`는 인증된 액세스를 위한 HTTP 헤더 추가 |4735| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` 필수; `headers`는 인증된 액세스를 위해 HTTP 헤더를 추가합니다 |

4640| `npm` | `{ "source": "npm", "package": "@acme-corp/claude-plugins" }` | `package` 필수, `marketplace.json`을 포함하는 npm 패키지 |

4641| `file` | `{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }` | `path` 필수, `marketplace.json` 파일의 절대 경로 |4736| `file` | `{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }` | `path` 필수, `marketplace.json` 파일의 절대 경로 |

4642| `directory` | `{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }` | `path` 필수, `.claude-plugin/marketplace.json`을 포함하는 디렉터리의 절대 경로 |4737| `directory` | `{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }` | `path` 필수, `.claude-plugin/marketplace.json`을 포함하는 디렉터리의 절대 경로 |

4643| `hostPattern` | `{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }` | `hostPattern` 필수, 마켓플레이스 호스트에 대해 일치하는 정규식 |4738| `hostPattern` | `{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }` | `hostPattern` 필수, 마켓플레이스 호스트의 어디든 일치하는 정규식. `^` 및 `$`로 고정하여 전체 호스트를 일치시킵니다 |

4644| `pathPattern` | `{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }` | `pathPattern` 필수, `file` 및 `directory` 소스의 `path`에 대해 일치하는 정규식 |4739| `pathPattern` | `{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }` | `pathPattern` 필수, `file` 및 `directory` 소스의 `path`의 어디든 일치하는 정규식. 접두사를 고정하려면 `^`로 시작합니다 |

4645| `skills-dir` | `{ "source": "skills-dir" }` | 필드 없음. `~/.claude/skills/` 플러그인 스캔을 다시 선택합니다 |4740| `skills-dir` | `{ "source": "skills-dir" }` | 필드 없음. `~/.claude/skills/` 플러그인 스캔을 다시 옵트인합니다 |

4646 4741 

4647세 가지 소스 유형은 표 이상의 규칙을 수행합니다:4742세 가지 소스 유형은 표 이상의 규칙을 포함합니다:

4648 4743 

4649* **`url`**: URL 마켓플레이스는 `marketplace.json` 파일만 다운로드하고, Claude Code는 해당 서버에서 상대 경로로 플러그인 파일을 가져오지 않으므로, 플러그인은 아카이브 URL과 같은 [플러그인 소스](/docs/ko/plugin-marketplaces#plugin-sources) 이외의 상대 경로를 사용해야 합니다. 상대 경로가 있는 플러그인의 경우 Git 기반 마켓플레이스를 대신 사용하십시오. [URL 기반 마켓플레이스에서 상대 경로가 있는 플러그인 실패](/docs/ko/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces)를 참조하십시오.4744* **`url`**: URL 마켓플레이스는 `marketplace.json` 파일만 다운로드하고, Claude Code는 해당 서버에서 상대 경로로 플러그인 파일을 가져오지 않으므로, 플러그인은 상대 경로 이외의 [플러그인 소스](/docs/ko/plugins/marketplace-reference#plugin-sources)(예: 아카이브 URL, 동일한 호스트에 있을 수 있음)를 사용해야 합니다. 상대 경로가 있는 플러그인의 경우 Git 기반 마켓플레이스를 대신 사용합니다. [URL 기반 마켓플레이스에서 상대 경로가 있는 플러그인이 실패합니다](/docs/ko/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces)를 참조하십시오.

4650* **`hostPattern`**: 각 저장소를 나열하지 않고 내부 GitHub Enterprise 또는 GitLab 서버의 모든 마켓플레이스를 허용하는 데 사용합니다. Claude Code는 `github` 소스를 `github.com`에 대해 일치시키고, `url` 소스에서 호스트 이름을 가져오고, [git URL](https://git-scm.com/docs/git-clone#_git_urls)의 형식에 따라 `git` 소스에서 가져옵니다:4745* **`hostPattern`**: 각 저장소를 나열하지 않고 내부 GitHub Enterprise 또는 GitLab 서버의 모든 마켓플레이스를 허용하는 데 사용합니다. Claude Code는 `github` 소스를 `github.com`과 비교하고, `url` 소스에서 호스트 이름을 가져오며, [git URL](https://git-scm.com/docs/git-clone#_git_urls)의 형식에 따라 `git` 소스에서 가져옵니다:

4651 4746 

4652 * `https://` 또는 `ssh://`와 같은 스키마가 있는 URL: URL의 호스트 이름입니다.4747 * `https://` 또는 `ssh://`와 같은 스키마가 있는 URL: URL의 호스트 이름.

4653 * 스키마 없는 SSH 주소, git의 `user@host:path` 형식(예: `git@git.example.com:tools/plugins.git`): `@`와 `:` 사이의 호스트이며, git이 연결하는 호스트입니다.4748 * 스키마 없는 SSH 주소, git의 `user@host:path` 형식(예: `git@git.example.com:tools/plugins.git`): `@`와 `:` 사이의 호스트, 이는 git이 연결하는 호스트입니다.

4654 * 스키마 없는 다른 형식: 호스트 없음, 따라서 `strictKnownMarketplaces` `hostPattern` 항목이 일치하지 않습니다. `blockedMarketplaces` `hostPattern`의 경우 Claude Code는 더 넓은 형식 집합에서 호스트를 가져오므로 차단 목록 항목이 여전히 그러한 형식과 일치할 수 있습니다. v2.1.234 이전에는 `strictKnownMarketplaces` `hostPattern`도 git이 SSH 주소로 취급하지 않는 일부 형식과 일치했습니다.4749 * 스키마 없는 다른 형식: 호스트 없음, 따라서 `strictKnownMarketplaces` `hostPattern` 항목이 일치하지 않습니다. `blockedMarketplaces` `hostPattern`의 경우 Claude Code는 더 넓은 형식 집합에서 호스트를 가져오므로 차단 목록 항목이 여전히 그러한 형식과 일치할 수 있습니다. v2.1.234 이전에는 `strictKnownMarketplaces` `hostPattern`도 git이 SSH 주소로 취급하지 않는 일부 형식과 일치했습니다.

4655 4750 

4656 `file` 및 `directory` 소스에는 호스트가 없으며 `hostPattern` 항목과 일치하지 않습니다.4751 `file` 및 `directory` 소스에는 호스트가 없으며 `hostPattern` 항목과 일치하지 않습니다.

4657* **`pathPattern`**: 네트워크 소스에 대한 `hostPattern` 항목과 함께 파일 시스템 마켓플레이스를 허용하는 데 사용합니다. `".*"`는 모든 로컬 경로를 허용합니다. `"^/opt/approved/"`와 같은 더 좁은 패턴은 디렉터리로 제한합니다.4752* **`pathPattern`**: 네트워크 소스의 `hostPattern` 항목과 함께 파일 시스템 마켓플레이스를 허용하는 데 사용합니다. `".*"`는 모든 로컬 경로를 허용합니다. `"^/opt/approved/"`와 같은 더 좁은 패턴은 디렉터리로 제한합니다.

4658 4753 

4659빈 배열이라도 모든 허용 목록은 Claude Code가 `~/.claude/skills/`에서 [`@skills-dir` 플러그인](/docs/ko/plugins-reference#skills-directory-plugins)을 로드하는 것을 중지합니다. `{ "source": "skills-dir" }` 항목을 추가하여 로드를 계속합니다. 항목은 이 키와 `blockedMarketplaces` 외부에서는 의미가 없습니다.4754빈 배열이라도 모든 허용 목록은 Claude Code가 `~/.claude/skills/`에서 [`@skills-dir` 플러그인](/docs/ko/plugins/loading#plugins-shared-through-a-repository)을 로드하는 것을 중지합니다. `{ "source": "skills-dir" }` 항목을 추가하여 로드를 계속합니다. 항목은 이 키 및 `blockedMarketplaces` 외부에서는 의미가 없습니다.

4660 4755 

4661<h4 id="owner-wildcards">4756<h4 id="owner-wildcards">

4662 소유자 와일드카드4757 소유자 와일드카드

4663</h4>4758</h4>

4664 4759 

4665`repo` 값이 `"<owner>/*"`인 `github` 항목은 해당 GitHub 소유자 아래의 모든 저장소와 일치합니다. 소유자 와일드카드는 Claude Code v2.1.223 이상이 필요하며 `strictKnownMarketplaces` 및 `blockedMarketplaces`에서만 작동합니다. `github` 소스가 나타나는 다른 곳(예: `extraKnownMarketplaces` 또는 `/plugin marketplace add`)에서는 `repo` 값이 단일 저장소의 이름을 지정해야 합니다. v2.1.223 이전에는 Claude Code가 항목을 문자 그대로 비교했으므로 허용 목록 항목이 저장소와 일치하지 않았고 차단 목록 항목이 아무것도 차단하지 않았습니다. 단일 저장소 항목은 모든 버전에서 적용됩니다.4760GitHub 소유자 아래의 모든 저장소와 일치하는 `repo` 값이 `"<owner>/*"`인 `github` 항목입니다. 소유자 와일드카드는 Claude Code v2.1.223 이상이 필요하며 `strictKnownMarketplaces` 및 `blockedMarketplaces`에서만 작동합니다. `github` 소스가 나타나는 다른 곳(예: `extraKnownMarketplaces` 또는 `/plugin marketplace add`)에서는 `repo` 값이 단일 저장소의 이름을 지정해야 합니다. v2.1.223 이전에는 Claude Code가 항목을 문자 그대로 비교했으므로 허용 목록 항목이 저장소와 일치하지 않았고 차단 목록 항목이 아무것도 차단하지 않았습니다. 단일 저장소 항목은 모든 버전에서 적용됩니다.

4666 4761 

4667이 항목은 `acme-corp` 조직의 모든 마켓플레이스 저장소를 허용합니다:4762이 항목은 `acme-corp` 조직의 모든 마켓플레이스 저장소를 허용합니다:

4668 4763 


4674}4769}

4675```4770```

4676 4771 

4677전체 저장소 이름 위치만 와일드카드일 수 있습니다. Claude Code는 `*`, `*/plugins` 또는 `acme-corp/tools-*`와 같은 항목을 문자 그대로 비교하므로 저장소와 일치하지 않습니다.4772전체 저장소 이름 위치만 와일드카드일 수 있습니다. Claude Code는 `*`, `*/plugins` 또는 `acme-corp/tools-*`와 같은 항목을 유효하지 않은 것으로 무시하므로 저장소와 일치하지 않습니다.

4678 4773 

4679일치 규칙은 두 설정 간에 다릅니다:4774일치 규칙은 두 설정 간에 다릅니다:

4680 4775 


4682| - | - | - |4777| - | - | - |

4683| 일치하는 소스 철자 | `owner/repo` 형식만. 동일한 저장소를 복제하는 git URL은 일치하지 않습니다 | 동일한 github.com 저장소로 확인되는 git URL을 포함한 모든 철자 |4778| 일치하는 소스 철자 | `owner/repo` 형식만. 동일한 저장소를 복제하는 git URL은 일치하지 않습니다 | 동일한 github.com 저장소로 확인되는 git URL을 포함한 모든 철자 |

4684| 소유자 대소문자 | 정확한 항목 일치처럼 대소문자 구분 | 대소문자 구분 안 함 |4779| 소유자 대소문자 | 정확한 항목 일치처럼 대소문자 구분 | 대소문자 구분 안 함 |

4685| `ref` | 정확한 항목 규칙을 따릅니다. `ref`가 있는 항목은 정확한 ref를 가진 소스와만 일치하고, 없는 항목은 ref를 지정하지 않는 소스와만 일치합니다 | `ref` 없는 항목은 일치하는 저장소의 모든 ref를 차단합니다 |4780| `ref` | 정확한 항목 규칙을 따릅니다. `ref`가 있는 항목은 정확한 ref가 있는 소스와만 일치하고, 없는 항목은 ref를 지정하지 않는 소스와만 일치합니다 | `ref`가 없는 항목은 일치하는 저장소의 모든 ref를 차단합니다 |

4686| `path` | 정확한 항목 규칙보다 느슨합니다. `path`가 있는 항목은 정확한 값을 요구하고, 없는 항목은 저장소 내의 모든 경로와 일치합니다 | `path` 없는 항목은 일치하는 저장소의 모든 경로를 차단합니다 |4781| `path` | 정확한 항목 규칙보다 느슨합니다. `path`가 있는 항목은 정확한 값을 요구하는 반면, 없는 항목은 저장소 내의 모든 경로와 일치합니다 | `path`가 없는 항목은 일치하는 저장소의 모든 경로를 차단합니다 |

4687 4782 

4688<h4 id="exact-matching">4783<h4 id="exact-matching">

4689 정확한 일치4784 정확한 일치

4690</h4>4785</h4>

4691 4786 

4692소유자 와일드카드 `github` 항목과 정규식으로 일치하는 `hostPattern` 및 `pathPattern` 항목을 제외한 모든 소스 유형의 경우, Claude Code는 마켓플레이스 소스가 항목과 정확히 일치할 때만 사용자의 추가를 허용합니다. Git 기반 소스 `github` 및 `git`의 경우 정확한 일치는 선택적 필드를 포함합니다:4787소유자 와일드카드 `github` 항목 및 정규식으로 일치하는 `hostPattern` 및 `pathPattern` 항목을 제외한 모든 소스 유형의 경우, Claude Code는 마켓플레이스 소스가 항목과 정확히 일치할 때만 사용자의 추가를 허용합니다. Git 기반 소스 `github` 및 `git`의 경우 정확한 일치는 선택적 필드를 포함합니다:

4693 4788 

4694* `repo` 또는 `url`은 정확히 일치해야 합니다4789* `repo` 또는 `url`은 정확히 일치해야 합니다

4695* `ref` 필드는 정확히 일치해야 하거나 둘 다 정의되지 않아야 합니다4790* `ref` 필드는 정확히 일치해야 하거나 둘 다 정의되지 않아야 합니다


4704 공식 마켓플레이스만 허용4799 공식 마켓플레이스만 허용

4705</h4>4800</h4>

4706 4801 

4707공식 Anthropic 마켓플레이스만 허용하고 다른 것은 허용하지 않으려면 해당 저장소를 나열하십시오:4802공식 Anthropic 마켓플레이스만 허용하고 다른 것은 허용하지 않으려면 해당 저장소를 나열합니다:

4708 4803 

4709```json managed-settings.json theme={null}4804```json managed-settings.json theme={null}

4710{4805{


4714}4809}

4715```4810```

4716 4811 

4717이 항목을 사용하면 Claude Code는 이미 등록된 공식 마켓플레이스를 사용 가능하게 유지하고, 새 머신에서는 처음 대화형으로 Claude Code를 시작할 때 마켓플레이스를 자동으로 등록합니다. 자동 등록은 일반적으로 다음을 놓칩니다:4812이 항목을 사용하면 Claude Code는 이미 등록된 공식 마켓플레이스를 사용 가능하게 유지하고, 새 머신에서 대화형 터미널 세션을 처음 시작할 때 마켓플레이스를 자동으로 등록합니다. 자동 등록은 가장 일반적으로 다음을 놓칩니다:

4718 4813 

4719* 머신의 첫 번째 대화형 시작 전에 실행되는 비대화형 환경입니다.4814* 머신의 첫 번째 대화형 터미널 세션 전에 실행되는 비대화형 환경.

4720* Claude Code가 이미 마켓플레이스를 차단한 정책(예: 빈 배열 잠금) 아래에서 대화형으로 실행된 머신입니다. Claude Code는 차단된 시도를 기록하고 정책이 변경된 후 다시 시도하지 않습니다.4815* Claude Code가 VS Code 확장을 통해서만 실행된 머신.

4816* Claude Code가 이미 마켓플레이스를 차단한 정책(예: 빈 배열 잠금) 아래에서 대화형 터미널 세션을 실행한 머신. Claude Code는 차단된 시도를 기록하고 정책이 변경된 후 다시 시도하지 않습니다.

4721 4817 

4722이러한 머신에서는 동일한 `managed-settings.json`의 [`extraKnownMarketplaces`](#extraknownmarketplaces)에 마켓플레이스를 추가하여 Claude Code가 자동으로 등록하도록 하거나 `claude plugin marketplace add anthropics/claude-plugins-official`을 실행하십시오.4818이러한 머신에서는 동일한 `managed-settings.json`의 [`extraKnownMarketplaces`](#extraknownmarketplaces)에 마켓플레이스를 추가하여 Claude Code가 자동으로 등록하도록 하거나 `claude plugin marketplace add anthropics/claude-plugins-official`을 실행합니다.

4723 4819 

4724<h4 id="combine-with-extraknownmarketplaces">4820<h4 id="combine-with-extraknownmarketplaces">

4725 `extraKnownMarketplaces`와 결합4821 `extraKnownMarketplaces`와 결합


4730| 측면 | `strictKnownMarketplaces` | `extraKnownMarketplaces` |4826| 측면 | `strictKnownMarketplaces` | `extraKnownMarketplaces` |

4731| - | - | - |4827| - | - | - |

4732| 목적 | 조직 정책 적용 | 팀 편의 |4828| 목적 | 조직 정책 적용 | 팀 편의 |

4733| 설정 파일 | 관리되는 설정만 | 모든 설정 파일 |4829| 설정 파일 | 관리 설정만 | 모든 설정 파일 |

4734| 동작 | 허용 목록에 없는 추가 차단 | 누락된 마켓플레이스 등록 |4830| 동작 | 허용 목록에 없는 추가 차단 | 누락된 마켓플레이스 등록 |

4735| 적용 시기 | 네트워크 및 파일 시스템 작업 전 | 사용자 또는 관리되는 설정에서 즉시; 저장소 파일의 작업 공간 신뢰 대화 후 |4831| 적용 시기 | 네트워크 및 파일 시스템 작업 전 | 사용자 또는 관리 설정에서 즉시. 저장소 파일의 작업 공간 신뢰 대화 후 |

4736| 재정의 가능 | 아니오, 최고 우선순위 | 예, 더 높은 우선순위 설정으로 |4832| 재정의 가능 | 아니오, 최고 우선순위 | 예, 더 높은 우선순위 설정으로 |

4737| 소스 형식 | 직접 소스 객체 | 중첩된 `source` 객체가 있는 명명된 마켓플레이스 |4833| 소스 형식 | 직접 소스 객체 | 중첩된 `source` 객체가 있는 명명된 마켓플레이스 |

4738 4834 

4739모든 사용자에 대해 마켓플레이스를 제한하고 사전 등록하려면 `managed-settings.json`에서 둘 다 설정하십시오:4835마켓플레이스를 제한하고 모든 사용자에 대해 사전 등록하려면 `managed-settings.json`에서 둘 다 설정합니다:

4740 4836 

4741```json managed-settings.json theme={null}4837```json managed-settings.json theme={null}

4742{4838{


4757 `strictPluginOnlyCustomization`4853 `strictPluginOnlyCustomization`

4758</h3>4854</h3>

4759 4855 

4760사용자 및 프로젝트 소스의 스킬, 에이전트, 훅 및 MCP 서버를 차단하여 플러그인 또는 관리되는 설정에서만 올 수 있도록 합니다. [`strictKnownMarketplaces`](#strictknownmarketplaces)와 결합하여 전체 사용자 정의 공급 체인을 제어합니다. 마켓플레이스 허용 목록은 사용자가 설치할 수 있는 플러그인을 제어합니다.4856사용자 및 프로젝트 소스의 스킬, 에이전트, 훅 및 MCP 서버를 차단하여 플러그인 또는 관리 설정에서만 올 수 있도록 합니다. [`strictKnownMarketplaces`](#strictknownmarketplaces)와 결합하여 전체 사용자 정의 공급 체인을 제어합니다. 마켓플레이스 허용 목록은 사용자가 설치할 수 있는 플러그인을 제어합니다.

4761 4857 

4762* **범위**: [`관리됨`](#scopes)4858* **범위**: [`관리`](#scopes)

4763* **유형**: 모든 4가지 사용자 정의를 잠그려면 `true` 또는 `"skills"`, `"agents"`, `"hooks"`, `"mcp"`에서 잠글 종류의 이름을 지정하는 배열4859* **유형**: 모든 네 가지 사용자 정의를 잠그려면 `true`, 또는 `"skills"`, `"agents"`, `"hooks"`, `"mcp"`에서 잠글 종류의 이름을 지정하는 배열

4764* **기본값**: 설정되지 않음, 따라서 아무것도 잠기지 않습니다4860* **기본값**: 설정되지 않음, 따라서 아무것도 잠기지 않습니다

4765 4861 

4766이 예제는 스킬과 훅을 잠그고 에이전트와 MCP 서버는 잠금 해제된 상태로 둡니다:4862이 예제는 스킬 및 훅을 잠그고 에이전트 및 MCP 서버는 잠금 해제된 상태로 둡니다:

4767 4863 

4768```json managed-settings.json theme={null}4864```json managed-settings.json theme={null}

4769{4865{


4771}4867}

4772```4868```

4773 4869 

4774아래의 4개 하위 키 항목은 각 표면이 차단하는 것과 여전히 로드되는 것을 나열합니다. Claude Code는 인식하지 못하는 표면 이름을 무시하므로 모든 클라이언트가 업데이트되기 전에 새 표면 이름을 추가할 수 있습니다.4870아래의 네 가지 하위 키 항목은 각 표면이 차단하는 것과 여전히 로드되는 것을 나열합니다. Claude Code는 인식하지 못하는 표면 이름을 무시하므로 모든 클라이언트가 업데이트되기 전에 새 표면 이름을 추가할 수 있습니다.

4775 4871 

4776<h3 id="strictpluginonlycustomization-skills">4872<h3 id="strictpluginonlycustomization-skills">

4777 `strictPluginOnlyCustomization.skills`4873 `strictPluginOnlyCustomization.skills`

4778</h3>4874</h3>

4779 4875 

4780`skills` 표면을 잠급니다. Claude Code는 `~/.claude/skills/` 및 `.claude/skills/`의 스킬, `~/.claude/commands/` 및 `.claude/commands/`의 사용자 정의 명령어, `--add-dir` 디렉터리의 스킬, claude.ai 계정에서 동기화된 스킬 로드를 중지하고, 플러그인 스킬, 번들된 스킬, 관리되는 정책 디렉터리의 스킬 로드를 계속합니다.4876`skills` 표면을 잠급니다. Claude Code는 `~/.claude/skills/` 및 `.claude/skills/`의 스킬, `~/.claude/commands/` 및 `.claude/commands/`의 사용자 정의 명령어, `--add-dir` 디렉터리의 스킬, claude.ai 계정에서 동기화된 스킬 로드를 중지하고, 플러그인 스킬, 번들 스킬, 관리 정책 디렉터리의 스킬 로드를 계속합니다.

4781 4877 

4782* **범위**: [`관리됨`](#scopes)4878* **범위**: [`관리`](#scopes)

4783* **유형**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 배열의 문자열 `"skills"`4879* **유형**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 배열의 문자열 `"skills"`

4784* **기본값**: 잠기지 않음4880* **기본값**: 잠기지 않음

4785 4881 


4793 `strictPluginOnlyCustomization.agents`4889 `strictPluginOnlyCustomization.agents`

4794</h3>4890</h3>

4795 4891 

4796`agents` 표면을 잠급니다. Claude Code는 `~/.claude/agents/` 및 `.claude/agents/`의 에이전트 로드를 중지하고, 플러그인 에이전트, 기본 제공 에이전트, 관리되는 정책 디렉터리의 에이전트 로드를 계속합니다.4892`agents` 표면을 잠급니다. Claude Code는 `~/.claude/agents/` 및 `.claude/agents/`의 에이전트 로드를 중지하고, 플러그인 에이전트, 기본 제공 에이전트, 관리 정책 디렉터리의 에이전트 로드를 계속합니다.

4797 4893 

4798* **범위**: [`관리됨`](#scopes)4894* **범위**: [`관리`](#scopes)

4799* **유형**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 배열의 문자열 `"agents"`4895* **유형**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 배열의 문자열 `"agents"`

4800* **기본값**: 잠기지 않음4896* **기본값**: 잠기지 않음

4801 4897 


4809 `strictPluginOnlyCustomization.hooks`4905 `strictPluginOnlyCustomization.hooks`

4810</h3>4906</h3>

4811 4907 

4812`hooks` 표면을 잠급니다. Claude Code는 사용자, 프로젝트 및 로컬 `settings.json`의 훅 실행을 중지하고, 플러그인 훅과 관리되는 설정의 훅 실행을 계속합니다.4908`hooks` 표면을 잠급니다. Claude Code는 사용자, 프로젝트 및 로컬 `settings.json`의 훅 실행을 중지하고, 플러그인 훅 및 관리 설정의 훅 실행을 계속합니다.

4813 4909 

4814* **범위**: [`관리됨`](#scopes)4910* **범위**: [`관리`](#scopes)

4815* **유형**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 배열의 문자열 `"hooks"`4911* **유형**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 배열의 문자열 `"hooks"`

4816* **기본값**: 잠기지 않음4912* **기본값**: 잠기지 않음

4817 4913 


4827 4923 

4828`mcp` 표면을 잠급니다. Claude Code는 `~/.claude.json` 및 `.mcp.json`의 MCP 서버 로드를 중지하고, 플러그인 MCP 서버, [`managed-mcp.json`](/docs/ko/managed-mcp) 서버, [`managedMcpServers`](#managedmcpservers)의 서버 로드를 계속합니다.4924`mcp` 표면을 잠급니다. Claude Code는 `~/.claude.json` 및 `.mcp.json`의 MCP 서버 로드를 중지하고, 플러그인 MCP 서버, [`managed-mcp.json`](/docs/ko/managed-mcp) 서버, [`managedMcpServers`](#managedmcpservers)의 서버 로드를 계속합니다.

4829 4925 

4830* **범위**: [`관리됨`](#scopes)4926* **범위**: [`관리`](#scopes)

4831* **유형**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 배열의 문자열 `"mcp"`4927* **유형**: [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) 배열의 문자열 `"mcp"`

4832* **기본값**: 잠기지 않음4928* **기본값**: 잠기지 않음

4833 4929 


4841 `enabledPlugins`4937 `enabledPlugins`

4842</h3>4938</h3>

4843 4939 

4844`plugin-name@marketplace-name`으로 키가 지정된 개별 [플러그인](/docs/ko/plugins)을 켜거나 끕니다. 모든 범위에서 항목이 없는 플러그인은 [`defaultEnabled`](/docs/ko/plugins-reference#default-enablement) 값으로 폴백됩니다. `/plugin` 또는 `claude plugin enable`로 플러그인을 활성화 또는 비활성화하면 Claude Code가 이 키를 작성합니다.4940`plugin-name@marketplace-name`으로 키가 지정된 개별 [플러그인](/docs/ko/plugins/overview)을 켜거나 끕니다. 모든 범위에서 항목이 없는 플러그인은 [`defaultEnabled`](/docs/ko/plugins/manifest-reference#fields) 값으로 폴백합니다. `/plugin` 또는 `claude plugin enable`로 플러그인을 활성화 또는 비활성화하면 Claude Code가 이 키를 작성합니다.

4845 4941 

4846* **범위**: [`모든 파일`](#scopes)4942* **범위**: [`모든 파일`](#scopes)

4847* **유형**: `plugin-name@marketplace-name`을 Boolean으로 매핑하는 객체4943* **유형**: `plugin-name@marketplace-name`을 부울에 매핑하는 객체

4848* **기본값**: 설정되지 않음, 따라서 각 플러그인은 `defaultEnabled` 값을 따릅니다4944* **기본값**: 설정되지 않음, 따라서 각 플러그인은 `defaultEnabled` 값을 따릅니다

4849 4945 

4850이 예제는 `team-tools` 마켓플레이스의 두 플러그인을 활성화하고 `personal`의 하나를 비활성화합니다:4946이 예제는 `team-tools` 마켓플레이스의 두 플러그인을 활성화하고 `personal`의 하나를 비활성화합니다:


4864* **사용자 설정**: 개인 플러그인 기본 설정4960* **사용자 설정**: 개인 플러그인 기본 설정

4865* **프로젝트 설정**: 저장소의 모든 사람과 공유되는 플러그인4961* **프로젝트 설정**: 저장소의 모든 사람과 공유되는 플러그인

4866* **로컬 설정**: 머신별 재정의, Claude Code가 설정을 저장할 때 gitignored4962* **로컬 설정**: 머신별 재정의, Claude Code가 설정을 저장할 때 gitignored

4867* **관리되는 설정**: 조직 전체 정책. `false`로 설정된 플러그인은 모든 범위에서 설치가 차단되고 마켓플레이스에서 숨겨집니다4963* **관리 설정**: 조직 전체 정책. `false`로 설정된 플러그인은 모든 범위에서 설치가 차단되고 마켓플레이스에서 숨겨집니다

4868 4964 

4869프로젝트 설정은 사용자 설정보다 우선하므로, `~/.claude/settings.json`에서 플러그인을 `false`로 설정해도 프로젝트의 `.claude/settings.json`이 활성화하는 플러그인은 비활성화되지 않습니다. 머신에서 프로젝트 활성화 플러그인을 거부하려면 대신 `.claude/settings.local.json`에서 `false`로 설정하십시오. 관리되는 설정으로 강제 활성화된 플러그인은 관리되는 설정이 로컬 설정을 재정의하므로 이 방식으로 비활성화될 수 없습니다.4965프로젝트 설정은 사용자 설정보다 우선하므로 `~/.claude/settings.json`에서 플러그인을 `false`로 설정해도 프로젝트의 `.claude/settings.json`이 활성화하는 플러그인은 비활성화되지 않습니다. 머신에서 프로젝트 활성화 플러그인을 거부하려면 대신 `.claude/settings.local.json`에서 `false`로 설정합니다. 관리 설정으로 강제 활성화된 플러그인은 관리 설정이 로컬 설정을 재정의하므로 이 방식으로 비활성화될 수 없습니다.

4870 4966 

4871GitHub 저장소 또는 npm 패키지와 같은 외부 소스의 플러그인을 프로젝트의 `.claude/settings.json`에서 활성화해도 다른 사람을 위해 설치되지 않습니다. 플러그인을 로드하는 모든 경로에서 Claude Code는 각 사용자가 [직접 설치할 때까지](/docs/ko/discover-plugins#configure-team-marketplaces) 플러그인이 설치되지 않은 것으로 보고합니다.4967프로젝트의 `.claude/settings.json`에서 GitHub 저장소 또는 npm 패키지와 같은 외부 소스의 플러그인을 활성화해도 다른 사람을 위해 설치되지 않습니다. 플러그인을 로드하는 모든 경로에서 Claude Code는 각 사용자가 [직접 설치할 때까지](/docs/ko/plugins/org#require-plugins-per-repository) 플러그인이 설치되지 않은 것으로 보고합니다.

4872 4968 

4873<h3 id="extraknownmarketplaces">4969<h3 id="extraknownmarketplaces">

4874 `extraKnownMarketplaces`4970 `extraKnownMarketplaces`

4875</h3>4971</h3>

4876 4972 

4877추가 플러그인 마켓플레이스를 이름으로 등록하여 저장소를 열거나 관리되는 설정이 도달하는 모든 사람이 직접 추가하지 않고도 마켓플레이스를 얻도록 합니다. Claude Code는 아직 알지 못하는 각 마켓플레이스를 등록합니다. [`enabledPlugins`](#enabledplugins)가 이름을 지정하는 플러그인이 설치되는지 여부는 플러그인의 소스와 어느 파일이 이를 활성화하는지에 따라 다릅니다. 해당 항목에는 규칙이 있습니다.4973저장소를 열거나 관리 설정이 도달하는 모든 사람이 마켓플레이스를 직접 추가하지 않고도 얻을 수 있도록 이름으로 추가 플러그인 마켓플레이스를 등록합니다. Claude Code는 아직 알지 못하는 각 마켓플레이스를 등록합니다. [`enabledPlugins`](#enabledplugins)가 이름을 지정한 플러그인이 설치되는지 여부는 플러그인의 소스 및 어느 파일이 이를 활성화하는지에 따라 다릅니다. 해당 항목에는 규칙이 있습니다.

4878 4974 

4879* **범위**: [`모든 파일`](#scopes). Claude Code는 저장소의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 항목을 해당 폴더의 작업 공간 신뢰 대화를 수락한 후에만 인정합니다. 신뢰하지 않은 폴더(메시지 없이 `-p` 실행 포함)에서는 무시합니다.4975* **범위**: [`모든 파일`](#scopes). Claude Code는 해당 폴더에 대한 작업 공간 신뢰 대화를 수락한 후에만 저장소의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 항목을 인정합니다. 신뢰하지 않은 폴더(예: `-p` 실행 포함)에서는 메시지 없이 무시합니다.

4880* **유형**: 마켓플레이스 이름을 `source` 객체와 선택적 `autoUpdate` Boolean이 있는 객체로 매핑하는 객체4976* **유형**: 마켓플레이스 이름을 `source` 객체 및 선택적 `autoUpdate` 부울이 있는 객체에 매핑하는 객체

4881* **기본값**: 설정되지 않음4977* **기본값**: 설정되지 않음

4882 4978 

4883이 예제는 GitHub 마켓플레이스와 자체 호스팅 git URL의 마켓플레이스를 등록합니다:4979이 예제는 GitHub 마켓플레이스 및 자체 호스팅 git URL의 마켓플레이스를 등록합니다:

4884 4980 

4885```json settings.json theme={null}4981```json settings.json theme={null}

4886{4982{


4903 4999 

4904[폴더를 신뢰하기 전에 실행되는 것](/docs/ko/permissions#what-runs-before-you-trust-a-folder)은 신뢰 게이트를 저장소가 제공할 수 있는 다른 콘텐츠와 비교합니다. 이 키를 `additionalMarketplaces`로도 쓸 수 있습니다. [마켓플레이스 키 별칭](#marketplace-key-aliases)을 참조하십시오.5000[폴더를 신뢰하기 전에 실행되는 것](/docs/ko/permissions#what-runs-before-you-trust-a-folder)은 신뢰 게이트를 저장소가 제공할 수 있는 다른 콘텐츠와 비교합니다. 이 키를 `additionalMarketplaces`로도 쓸 수 있습니다. [마켓플레이스 키 별칭](#marketplace-key-aliases)을 참조하십시오.

4905 5001 

4906`source` 옆에 `"autoUpdate": true`를 설정하여 Claude Code가 시작 후 백그라운드에서 해당 마켓플레이스를 새로 고치고 설치된 플러그인을 업데이트하도록 합니다. 생략하면 `claude-plugins-official` 및 대부분의 다른 공식 Anthropic 마켓플레이스는 `true`로 기본 설정되고, 타사 마켓플레이스는 `false`로 기본 설정됩니다. [자동 업데이트 구성](/docs/ko/discover-plugins#configure-auto-updates)을 참조하십시오.5002시작 후 백그라운드에서 해당 마켓플레이스를 새로 고치고 설치된 플러그인을 업데이트하도록 Claude Code를 만들려면 `source` 옆에 `"autoUpdate": true`를 설정합니다. 생략하면 `claude-plugins-official` 및 대부분의 다른 공식 Anthropic 마켓플레이스는 기본값이 `true`이고 타사 마켓플레이스는 기본값이 `false`입니다. [자동 업데이트 구성](/docs/ko/plugins/install#keep-plugins-updated)을 참조하십시오.

4907 5003 

4908둘 이상의 설정 파일이 동일한 이름 아래에 마켓플레이스 항목을 정의할 때 Claude Code는 [가장 높은 우선순위 파일](/docs/ko/settings#settings-precedence)의 항목을 사용합니다. 해당 항목은 낮은 우선순위 항목을 대체하고 필드를 상속하지 않으므로, 재정의는 한 파일의 `source.headers` 자격 증명을 다른 파일이 제어하는 URL과 결합할 수 없습니다. v2.1.228 이전에는 Claude Code가 같은 이름 항목을 필드별로 병합했으므로, 더 높은 우선순위 파일의 항목은 설정하지 않은 필드(다른 파일의 `headers` 포함)를 상속할 수 있었습니다.5004둘 이상의 설정 파일이 동일한 이름 아래에 마켓플레이스 항목을 정의할 때 Claude Code는 [최고 우선순위 파일](/docs/ko/settings#settings-precedence)의 항목을 전체적으로 사용합니다. 해당 항목은 낮은 우선순위 항목을 바꾸고 필드를 상속하지 않으므로 재정의는 한 파일의 `source.headers` 자격 증명을 다른 파일이 제어하는 URL과 결합할 수 없습니다. v2.1.228 이전에는 Claude Code가 같은 이름 항목을 필드별로 병합했으므로 더 높은 우선순위 파일의 항목은 설정하지 않은 필드(다른 파일의 `headers` 포함)를 상속할 수 있었습니다.

4909 5005 

4910<h4 id="marketplace-source-types">5006<h4 id="marketplace-source-types">

4911 마켓플레이스 소스 유형5007 마켓플레이스 소스 유형


4915 5011 

4916* **`github`**: GitHub 저장소, `repo` 포함5012* **`github`**: GitHub 저장소, `repo` 포함

4917* **`git`**: 모든 git URL, `url` 포함5013* **`git`**: 모든 git URL, `url` 포함

4918* **`url`**: `marketplace.json` 파일에 대한 직접 URL, `url` 및 선택적 `headers` 및 `headersHelper`(인증된 액세스용). `headersHelper`는 값이 `headers`에 나열하기에는 너무 단기인 헤더를 인쇄하는 명령어의 이름을 지정하며 Claude Code v2.1.238 이상이 필요합니다5014* **`url`**: `marketplace.json` 파일에 대한 직접 URL, `url` 및 선택적 `headers` 및 인증된 액세스를 위한 `headersHelper` 포함. `headersHelper`는 `headers`에 나열하기에는 너무 단기간인 값을 가진 헤더를 인쇄하는 명령어의 이름을 지정하며 Claude Code v2.1.238 이상이 필요합니다

4919* **`file`**: `marketplace.json` 파일에 대한 로컬 경로, `path` 포함5015* **`file`**: `marketplace.json` 파일에 대한 로컬 경로, `path` 포함

4920* **`directory`**: 로컬 파일 시스템 경로, `path` 포함, 개발 전용5016* **`directory`**: 개발 전용 로컬 파일 시스템 경로, `path` 포함

4921* **`settings`**: 호스팅된 저장소 없이 설정 파일에 직접 선언된 인라인 마켓플레이스, `name` 및 `plugins` 포함5017* **`settings`**: 호스팅된 저장소 없이 설정 파일에 직접 선언된 인라인 마켓플레이스, `name` 및 `plugins` 포함

4922 5018 

4923`git` 소스 유형은 자체 호스팅 GitLab 및 Bitbucket을 포함한 모든 git 호스팅 서비스와 함께 작동합니다. Claude Code는 해당 머신에서 `git clone`이 사용할 것과 동일한 인증으로 저장소를 복제합니다. 구성된 자격 증명 도우미 또는 SSH 키입니다. `GITHUB_TOKEN`과 같은 공급자 토큰은 이를 읽는 자격 증명 도우미를 통해서만 적용됩니다. [비공개 저장소](/docs/ko/plugin-marketplaces#private-repositories)에서 설정 세부 정보를 참조하십시오.5019`git` 소스 유형은 자체 호스팅 GitLab 및 Bitbucket을 포함한 모든 git 호스팅 서비스와 함께 작동합니다. Claude Code는 해당 머신에서 `git clone`이 사용할 것과 동일한 인증으로 저장소를 복제합니다. 구성된 자격 증명 도우미 또는 SSH 키. `GITHUB_TOKEN`과 같은 공급자 토큰은 이를 읽는 자격 증명 도우미를 통해 적용됩니다. 설정 세부 정보는 [비공개 저장소](/docs/ko/plugins/host-marketplace#grant-access-to-a-private-marketplace)를 참조하십시오.

4924 5020 

4925`github` 및 `git` 소스의 경우, Claude Code는 마켓플레이스 저장소를 추가하거나 업데이트할 때 [Git LFS](https://git-lfs.com) 콘텐츠를 다운로드하지 않습니다. LFS 추적 파일은 포인터 파일로 체크아웃되고, 추가 또는 업데이트 출력은 몇 개인지 보고합니다.5021`github` 및 `git` 소스의 경우 Claude Code는 마켓플레이스 저장소를 추가하거나 업데이트하기 위해 복제할 때 [Git LFS](https://git-lfs.com) 콘텐츠를 다운로드하지 않습니다. LFS 추적 파일은 포인터 파일로 체크아웃되고 추가 또는 업데이트 출력은 몇 개인지 보고합니다.

4926 5022 

4927`source` 객체 내의 `skipLfs` 필드는 수용되며 효과가 없습니다. v2.1.274 이전에는 `"skipLfs": true`를 설정하지 않으면 Claude Code가 LFS 콘텐츠를 다운로드했습니다.5023`source` 객체 내의 `skipLfs` 필드는 수용되며 효과가 없습니다. v2.1.274 이전에는 Claude Code가 `"skipLfs": true`를 설정하지 않으면 LFS 콘텐츠를 다운로드했습니다.

4928 5024 

4929`url` 소스의 경우, `headers`의 자격 증명이 만료되고 명령어가 새 자격 증명을 생성해야 할 때 `source` 객체 내에서 `headersHelper`를 설정합니다. Claude Code v2.1.238 이상이 필요합니다. 명령어가 인쇄해야 하는 것과 Claude Code가 실행하는 위치는 [headersHelper 명령어 작성](/docs/ko/plugin-marketplaces#write-the-headershelper-command)을 참조하고, Claude Code가 실행하지 않는 경우는 [Claude Code가 headersHelper 명령어를 건너뛰거나 출력을 삭제할 때](/docs/ko/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output)를 참조하십시오. `https://` 마켓플레이스 URL에서 `headersHelper`를 설정하면 Claude Code는 두 지점에서 명령어를 실행하여 한 실행의 출력을 최대 60초 동안 재사용합니다:5025URL 소스의 경우 `headers`의 자격 증명이 만료되고 명령어가 새 자격 증명을 생성해야 할 때 `source` 객체 내에 `headersHelper`를 설정합니다. Claude Code v2.1.238 이상이 필요합니다. 명령어가 인쇄해야 하는 것 및 Claude Code가 실행하는 위치는 [headersHelper 명령어 작성](/docs/ko/plugins/host-marketplace#write-the-headershelper-command)을 참조하고, Claude Code가 headersHelper 명령어를 건너뛰는 경우는 [Claude Code가 headersHelper 명령어를 건너뛰거나 출력을 삭제할 때](/docs/ko/plugins/host-marketplace#when-claude-code-skips-a-headershelper-command-or-drops-its-output)를 참조하십시오. `https://` 마켓플레이스 URL에 `headersHelper`를 설정하면 Claude Code는 명령어를 두 지점에서 실행하여 한 실행의 출력을 최대 60초 동안 재사용합니다:

4930 5026 

4931* 해당 마켓플레이스의 `marketplace.json` 각 가져오기 전(나중의 새로 고침 포함). Claude Code는 인쇄된 헤더를 해당 가져오기와 함께 보냅니다.5027* 해당 마켓플레이스의 `marketplace.json` 각 가져오기 전(나중의 새로 고침 포함). Claude Code는 인쇄된 헤더를 해당 가져오기와 함께 보냅니다.

4932* 마켓플레이스 URL의 원점(동일한 스키마, 호스트 및 포트를 의미)의 각 플러그인 아카이브 다운로드 전. Claude Code는 출력을 해당 다운로드와 함께 보내고, 다른 다운로드는 헤더를 받지 않습니다.5028* 마켓플레이스 URL의 원점(동일한 스키마, 호스트 및 포트를 의미)의 각 플러그인 아카이브 다운로드 전. Claude Code는 출력을 해당 다운로드와 함께 보내고 다른 다운로드는 헤더를 받지 않습니다.

4933 5029 

4934Claude Code는 [`--add-dir`](/docs/ko/permissions#what-runs-before-you-trust-a-folder)로 추가한 디렉터리의 `.claude/settings.json` 또는 `.claude/settings.local.json`에서 설정된 모든 `headersHelper`를 무시하고, `url` 소스와 인라인 플러그인 항목 모두에서 해당 파일에 설정된 고정 `headers`만 보냅니다. [사용자가 headersHelper 명령어를 수락하는 방법](/docs/ko/plugin-marketplaces#how-users-accept-a-headershelper-command)은 다른 설정 파일을 다룹니다.5030Claude Code는 [`--add-dir`](/docs/ko/permissions#what-runs-before-you-trust-a-folder)로 추가한 디렉터리의 `.claude/settings.json` 또는 `.claude/settings.local.json`에서 설정된 모든 `headersHelper`를 무시하며, `url` 소스 및 인라인 플러그인 항목 모두에서 해당 파일에 설정된 고정 `headers`만 보냅니다. [사용자가 headersHelper 명령어를 수락하는 방법](/docs/ko/plugins/host-marketplace#how-users-accept-a-headershelper-command)은 다른 설정 파일을 다룹니다.

4935 5031 

4936`settings` 소스에 나열된 플러그인은 GitHub 또는 npm과 같은 외부 소스를 참조해야 하며, `name`은 마켓플레이스 키와 일치해야 합니다. 여전히 각 플러그인을 `enabledPlugins`에서 별도로 활성화합니다. 이 예제는 하나의 플러그인을 인라인으로 선언합니다:5032`settings` 소스에 나열된 플러그인은 GitHub 또는 npm과 같은 외부 소스를 참조해야 하며 `name`은 마켓플레이스 키와 일치해야 합니다. 여전히 `enabledPlugins`에서 각 플러그인을 별도로 활성화합니다. 이 예제는 하나의 플러그인을 인라인으로 선언합니다:

4937 5033 

4938```json settings.json theme={null}5034```json settings.json theme={null}

4939{5035{


4957}5053}

4958```5054```

4959 5055 

4960`source: 'settings'` 아래의 플러그인 항목이 자체 `source`가 [`archive`](/docs/ko/plugin-marketplaces#zip-archives)인 경우 아카이브 다운로드를 위해 `headers`를 설정할 수 있습니다. `headers`에 넣을 값이 단기인 경우(예: 레지스트리가 요청 시 발급하는 토큰) 대신 `headersHelper` 명령어를 설정합니다. 항목은 둘 다 설정할 수 있습니다. 두 필드 모두 Claude Code v2.1.238 이상이 필요합니다.5056자체 `source`가 [`archive`](/docs/ko/plugins/marketplace-reference#archive-plugin-source)인 `source: 'settings'` 아래의 플러그인 항목은 아카이브 다운로드를 위해 `headers`를 설정할 수 있습니다. `headers`에 넣을 값이 단기간인 경우(예: 레지스트리가 요청 시 발행하는 토큰) 대신 `headersHelper` 명령어를 설정합니다. 항목은 둘 다 설정할 수 있습니다. 두 필드 모두 Claude Code v2.1.238 이상이 필요합니다.

4961 5057 

4962Claude Code는 항목의 `headers`와 명령어가 인쇄하는 것을 해당 플러그인의 아카이브 다운로드와 함께 보내고 다른 다운로드와는 함께 보내지 않습니다. Claude Code는 사용자가 [해당 플러그인 하나를 직접 설치 또는 업데이트할 때](/docs/ko/plugin-marketplaces#how-users-accept-a-headershelper-command)만 명령어를 실행합니다. 3가지 추가 규칙은 항목을 보유한 파일에 따라 다릅니다:5058Claude Code는 항목의 `headers` 및 명령어가 인쇄한 것을 해당 플러그인의 아카이브 다운로드와 함께 보내고 다른 다운로드와는 함께 보내지 않습니다. Claude Code는 사용자가 [해당 플러그인 하나를 직접 설치 또는 업데이트할 때](/docs/ko/plugins/host-marketplace#how-users-accept-a-headershelper-command)만 명령어를 실행합니다. 세 가지 추가 규칙은 항목을 보유한 파일에 따라 다릅니다:

4963 5059 

4964* **`strict`**: 마켓플레이스의 `marketplace.json`의 항목과 달리, 설정 파일의 항목은 인라인할 매니페스트 필드가 없으므로 `"strict": false`가 필요하지 않습니다. [엄격한 모드](/docs/ko/plugin-marketplaces#strict-mode)를 참조하십시오.5060* **`strict`**: 마켓플레이스의 `marketplace.json`의 항목과 달리 설정 파일의 항목은 인라인 매니페스트 필드가 없으므로 `"strict": false`가 필요하지 않습니다. [엄격 모드](/docs/ko/plugins/marketplace-reference#strict-mode)를 참조하십시오.

4965* **폴더 신뢰**: 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 항목의 경우 Claude Code는 사용자가 [해당 폴더도 신뢰한](/docs/ko/permissions#what-runs-before-you-trust-a-folder) 후에만 명령어를 실행합니다.5061* **폴더 신뢰**: 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 항목의 경우 Claude Code는 사용자가 [해당 폴더도 신뢰한](/docs/ko/permissions#what-runs-before-you-trust-a-folder) 후에만 명령어를 실행합니다.

4966* **헤더 필터**: Claude Code는 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 항목에서 [요청 라우팅 및 클라이언트 ID 헤더 이름](/docs/ko/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output)을 삭제합니다. 저장소가 해당 파일을 제공할 수 있기 때문입니다. Claude Code는 카탈로그 항목과 `--add-dir` 디렉터리의 설정 항목에 동일한 필터를 적용하고, 사용자 설정, `--settings` 파일 또는 관리되는 설정의 항목에는 필터를 적용하지 않습니다.5062* **헤더 필터**: Claude Code는 저장소가 해당 파일을 제공할 수 있으므로 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`의 항목에서 [요청 라우팅 및 클라이언트 ID 헤더 이름](/docs/ko/plugins/host-marketplace#when-claude-code-skips-a-headershelper-command-or-drops-its-output)을 삭제합니다. Claude Code는 카탈로그 항목 및 `--add-dir` 디렉터리의 설정 항목에 동일한 필터를 적용하고 사용자 설정, `--settings` 파일 또는 관리 설정의 항목에는 필터를 적용하지 않습니다.

4967 5063 

4968<h4 id="marketplace-key-aliases">5064<h4 id="marketplace-key-aliases">

4969 마켓플레이스 키 별칭5065 마켓플레이스 키 별칭


4971 5067 

4972Claude Code v2.1.232 이상에서는 `extraKnownMarketplaces`를 `additionalMarketplaces`로, `strictKnownMarketplaces`를 `allowedMarketplaces`로 쓸 수 있습니다. Claude Code는 각 별칭을 다음과 같이 취급합니다:5068Claude Code v2.1.232 이상에서는 `extraKnownMarketplaces`를 `additionalMarketplaces`로, `strictKnownMarketplaces`를 `allowedMarketplaces`로 쓸 수 있습니다. Claude Code는 각 별칭을 다음과 같이 취급합니다:

4973 5069 

4974* 이전 버전은 별칭을 무시하므로 혼합 Claude Code 버전의 플릿을 위한 관리되는 설정 파일과 같이 이전 버전도 읽는 파일에서 정규 철자를 유지합니다.5070* 이전 버전은 별칭을 무시하므로 혼합 Claude Code 버전의 플릿을 위한 관리 설정 파일과 같이 이전 버전도 읽는 파일에서 정규 철자를 유지합니다.

4975* 정규 키를 수용하는 모든 설정 파일에서 Claude Code는 별칭을 정규 키와 정확히 동일하게 읽습니다.5071* 정규 키를 수용하는 모든 설정 파일에서 Claude Code는 별칭을 정규 키와 정확히 동일하게 읽습니다.

4976* Claude Code는 파일을 업데이트할 때 `additionalMarketplaces`를 `extraKnownMarketplaces`로 다시 쓸 수 있습니다.5072* Claude Code는 파일을 업데이트할 때 `additionalMarketplaces`를 `extraKnownMarketplaces`로 다시 쓸 수 있습니다.

4977* 한 파일에서 두 철자를 모두 설정하면 Claude Code는 정규 값을 사용하고 별칭을 무시합니다.5073* 한 파일에서 두 철자를 모두 설정하면 Claude Code는 정규 값을 사용하고 별칭을 무시합니다.


4980 `pluginConfigs`5076 `pluginConfigs`

4981</h3>5077</h3>

4982 5078 

4983플러그인의 [`userConfig`](/docs/ko/plugins-reference#user-configuration) 구성 대화에서 제공하는 비민감 답변을 플러그인 ID로 키가 지정된 상태로 저장합니다. Claude Code는 대화를 작성할 때 이 키를 사용자 설정에 작성하므로 직접 편집할 필요가 없습니다. Claude Code는 민감한 옵션을 macOS Keychain에 저장하고, Keychain이 쓰기를 거부할 때 `~/.claude/.credentials.json`으로 폴백합니다. 지원되는 키체인이 없는 플랫폼에서는 `~/.claude/.credentials.json`에 저장합니다.5079플러그인의 [`userConfig`](/docs/ko/plugins/manifest-reference#user-configuration) 구성 대화에서 제공하는 민감하지 않은 답변을 플러그인 ID로 키가 지정된 상태로 저장합니다. Claude Code는 대화를 작성할 때 이 키를 사용자 설정에 작성하므로 직접 편집할 필요가 없습니다. Claude Code는 민감한 옵션을 macOS Keychain에 저장하고, Keychain이 쓰기를 거부할 때 `~/.claude/.credentials.json`으로 폴백합니다. 지원되는 키체인이 없는 플랫폼에서는 `~/.claude/.credentials.json`에 저장합니다.

4984 5080 

4985* **범위**: [`사용자 또는 관리됨`](#scopes)5081* **범위**: [`사용자 또는 관리`](#scopes)

4986* **유형**: 플러그인 ID를 `options` 필드가 있는 객체로 매핑하는 객체. 각 옵션 이름을 문자열, 숫자, Boolean 또는 문자열 배열로 매핑하고, 선택적 `mcpServers` 필드는 동일한 형태의 서버별 사용자 구성 값을 보유합니다5082* **유형**: 플러그인 ID를 `options` 필드가 있는 객체에 매핑하는 객체, 각 옵션 이름을 문자열, 숫자, 부울 또는 문자열 배열에 매핑하고, 동일한 형태의 서버별 사용자 구성 값을 보유하는 선택적 `mcpServers` 필드

4987* **기본값**: 설정되지 않음5083* **기본값**: 설정되지 않음

4988 5084 

4989이 예제는 `acme-tools`의 `deployer` 플러그인에 대한 `api_endpoint` 옵션을 저장합니다:5085이 예제는 `acme-tools`의 `deployer` 플러그인에 대한 `api_endpoint` 옵션을 저장합니다:


5000}5096}

5001```5097```

5002 5098 

5003기본 제공 플러그인은 `@builtin` 접미사가 있는 동일한 키 아래에 옵션을 저장합니다. 예를 들어, [**프로젝트 지침**](/docs/ko/memory#choose-which-instruction-files-load) 설정은 Claude Code가 `AGENTS.md` 파일을 읽는지 여부를 제어하며 `pluginConfigs["agents-md@builtin"].options.instructionFiles`입니다.5099기본 제공 플러그인은 `@builtin` 접미사가 있는 동일한 키 아래에 옵션을 저장합니다. 예를 들어 Claude Code가 `AGENTS.md` 파일을 읽는지 여부를 제어하는 [**프로젝트 지침**](/docs/ko/memory#choose-which-instruction-files-load) 설정은 `pluginConfigs["agents-md@builtin"].options.instructionFiles`입니다.

5004 5100 

5005Claude Code는 이 값을 플러그인 훅, MCP 및 LSP 구성에 대체하므로 프로젝트 및 로컬 항목을 무시합니다. 복제된 저장소는 이를 제공할 수 없습니다. v2.1.207 이전에는 프로젝트 및 로컬 설정도 읽혔습니다.5101Claude Code는 이 값을 플러그인 훅, MCP 및 LSP 구성에 대체하므로 프로젝트 및 로컬 항목을 무시합니다. 복제된 저장소는 이를 제공할 수 없습니다. v2.1.207 이전에는 프로젝트 및 로컬 설정도 읽혔습니다.

5006 5102 


5228}5324}

5229```5325```

5230 5326 

5231플러그인의 자체 `settings.json`도 이 키를 제공할 수 있습니다. [플러그인과 함께 기본 설정 제공](/docs/ko/plugins#ship-default-settings-with-your-plugin)을 참조하세요.5327플러그인의 자체 `settings.json`도 이 키를 제공할 수 있습니다. [플러그인과 함께 기본 설정 제공](/docs/ko/plugins/components#default-settings)을 참조하세요.

5232 5328 

5233<h3 id="crosssessioninbound">5329<h3 id="crosssessioninbound">

5234 `crossSessionInbound`5330 `crossSessionInbound`


5324 * `"in-process"`: 팀원은 메인 터미널 창 내부에서 실행됩니다5420 * `"in-process"`: 팀원은 메인 터미널 창 내부에서 실행됩니다

5325 * `"auto"`: tmux 내부에서 실행 중이거나 `PATH`에 `it2`가 있거나 tmux가 설치된 iTerm2 내부에서 분할 창을 사용합니다. 그 외에는 인프로세스입니다5421 * `"auto"`: tmux 내부에서 실행 중이거나 `PATH`에 `it2`가 있거나 tmux가 설치된 iTerm2 내부에서 분할 창을 사용합니다. 그 외에는 인프로세스입니다

5326 * `"tmux"`: 터미널에서 감지된 tmux 또는 iTerm2를 사용하여 분할 창을 만듭니다5422 * `"tmux"`: 터미널에서 감지된 tmux 또는 iTerm2를 사용하여 분할 창을 만듭니다

5327 * `"iterm2"`: Claude Code v2.1.186 이상에서 `it2` CLI를 통한 iTerm2 네이티브 분할 창5423 * `"iterm2"`: iTerm2 네이티브 분할 창을 `it2` CLI를 통해 사용합니다

5328* **Default**: `"in-process"`5424* **Default**: `"in-process"`

5329* **Per-session overrides**: `--teammate-mode`는 한 세션에 대해 이 키보다 우선합니다5425* **Per-session overrides**: `--teammate-mode`는 한 세션에 대해 이 키보다 우선합니다

5330 5426 


5334}5430}

5335```5431```

5336 5432 

5337`iterm2` 값에는 Claude Code v2.1.186 이상이 필요합니다.

5338 

5339<span id="worktree-settings" />5433<span id="worktree-settings" />

5340 5434 

5341<h3 id="worktree">5435<h3 id="worktree">


5671* **유형**: Boolean5765* **유형**: Boolean

5672 * `true`: Claude Code는 각 대화형 세션이 시작될 때 Remote Control을 자동으로 연결합니다5766 * `true`: Claude Code는 각 대화형 세션이 시작될 때 Remote Control을 자동으로 연결합니다

5673 * `false`: Claude Code는 `/remote-control`을 기다립니다5767 * `false`: Claude Code는 `/remote-control`을 기다립니다

5674* **기본값**: 설정되지 않음, 따라서 자동 연결은 설정된 조직의 관리 기본값을 따르고, 그렇지 않으면 Claude Code의 현재 기본값을 따릅니다5768* **기본값**: 설정되지 않음, 따라서 [자동 연결 기본값](/docs/ko/remote-control#enable-remote-control-for-all-sessions)이 적용됩니다

5675* **세션별 재정의**: `--remote-control`은 이 키가 `false`일 때도 한 세션에 대해 Remote Control을 켜고, 플래그는 한 세션에 대해 이를 끌 수 없습니다5769* **세션별 재정의**: `--remote-control`은 이 키가 `false`일 때도 한 세션에 대해 Remote Control을 켜고, 플래그는 한 세션에 대해 이를 끌 수 없습니다

5676 5770 

5677```json settings.json theme={null}5771```json settings.json theme={null}


5823 5917 

5824`/login` 클라우드 게이트웨이 화면이 연결하는 게이트웨이 URL을 설정하여 사람들이 주소를 입력하지 않고 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway)에 도달하도록 합니다. 화면에는 URL 필드가 없습니다: 이 키가 설정되면, 게이트웨이 URL을 표시하고 사람이 Enter를 누르면 연결합니다. 없으면, IT 관리자에게 문의하도록 알립니다.5918`/login` 클라우드 게이트웨이 화면이 연결하는 게이트웨이 URL을 설정하여 사람들이 주소를 입력하지 않고 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway)에 도달하도록 합니다. 화면에는 URL 필드가 없습니다: 이 키가 설정되면, 게이트웨이 URL을 표시하고 사람이 Enter를 누르면 연결합니다. 없으면, IT 관리자에게 문의하도록 알립니다.

5825 5919 

5826이 키 또는 `forceLoginMethod: "gateway"`는 머신을 게이트웨이 전용으로 만들므로, `/login`은 로그인 방법 선택기 없이 클라우드 게이트웨이 화면에서 열립니다. [관리자 정책이 클라우드 게이트웨이 로그인을 요구합니다](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)를 참조하여 남은 첫 번째 당사자 로그인 또는 API 키에 어떤 일이 발생하는지 확인하세요. 화면이 오류를 표시하는 대신 연결하도록 두 키를 모두 설정하세요.5920이 키 또는 `forceLoginMethod: "gateway"`는 머신을 게이트웨이 전용으로 만들므로, `CLAUDE_CODE_USE_*`로 클라우드 공급자를 선택하는 세션을 제외하고, `/login`은 로그인 방법 선택기 없이 클라우드 게이트웨이 화면에서 열립니다. [관리자 정책이 클라우드 게이트웨이 로그인을 요구합니다](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)를 참조하여 남은 첫 번째 당사자 로그인 또는 API 키에 어떤 일이 발생하는지 확인하세요. 화면이 오류를 표시하는 대신 연결하도록 두 키를 모두 설정하세요.

5827 5921 

5828* **범위**: [`관리됨`](#scopes). 머신의 소스에서만 읽습니다: `managed-settings.json`, macOS plist 또는 Windows HKLM 레지스트리, 또는 정책 도우미. Claude Code는 HKCU 및 서버 관리 설정에서 무시합니다.5922* **범위**: [`관리됨`](#scopes). 머신의 소스에서만 읽습니다: `managed-settings.json`, macOS plist 또는 Windows HKLM 레지스트리, 또는 정책 도우미. Claude Code는 HKCU 및 서버 관리 설정에서 무시합니다.

5829* **유형**: 문자열, 스키마를 포함한 전체 URL5923* **유형**: 문자열, 스키마를 포함한 전체 URL


6076 `cleanupPeriodDays`6170 `cleanupPeriodDays`

6077</h3>6171</h3>

6078 6172 

6079Claude Code가 [세션 기록 및 기타 애플리케이션 데이터](/docs/ko/claude-directory#cleaned-up-automatically)를 삭제하기 전에 보관하는 일 수를 설정합니다. Claude Code는 세션이 시작된 후 백그라운드 스윕으로 삭제를 실행하며, 보관 기간을 안전하게 결정할 수 있는 한 실행합니다.6173Claude Code가 [세션 기록 및 기타 애플리케이션 데이터](/docs/ko/claude-directory#cleaned-up-automatically)를 삭제하기 전에 보관하는 일 수를 설정합니다. Claude Code는 세션이 시작된 후 백그라운드 스윕으로 삭제를 실행하며, 보관 기간을 안전하게 결정할 수 있는 한 실행합니다. 스윕은 메시지를 표시하지 않고 기록을 삭제하므로, 보관 기간보다 오래 사용하지 않은 세션은 더 이상 [`/resume`](/docs/ko/sessions#resume-a-session) 선택기에 나타나지 않습니다.

6080 6174 

6081* **범위**: [`모든 파일`](#scopes)6175* **범위**: [`모든 파일`](#scopes)

6082* **유형**: 일 수, 정수, 최소값 `1`6176* **유형**: 일 수, 정수, 최소값 `1`


6173 엔터프라이즈 및 관리형 설정6267 엔터프라이즈 및 관리형 설정

6174</h2>6268</h2>

6175 6269 

6176조직이 관리형 설정을 계산, 새로 고침 및 결합하는 데 사용하는 키입니다. [관리형 설정 설정](/docs/ko/admin-setup)을 참조하십시오.6270조직이 관리형 설정을 계산, 새로고침 및 결합하는 데 사용하는 키입니다. [관리형 설정 설정](/docs/ko/admin-setup)을 참조하세요.

6177 6271 

6178<h3 id="disablesideloadflags">6272<h3 id="disablesideloadflags">

6179 `disableSideloadFlags`6273 `disableSideloadFlags`

6180</h3>6274</h3>

6181 6275 

6182시작 시 `--plugin-dir`, `--plugin-url`, `--agents` 및 `--mcp-config` CLI 플래그를 거부합니다. 사용자는 이러한 플래그를 전달하여 단일 실행을 위해 [`strictKnownMarketplaces`](#strictknownmarketplaces)를 우회할 수 있습니다. Claude Code는 거부된 플래그의 이름을 지정하는 오류로 종료되며, 현재 데스크톱 앱의 [Cowork](/docs/ko/desktop) 로컬 세션인 이러한 플래그로 CLI를 내부적으로 시작하는 표면에 동일한 검사를 적용합니다. [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 Claude Code는 서버가 `--mcp-config`를 통해 전달한 MCP 서버를 삭제합니다. 단, 프로세스 내 `type: "sdk"` 항목은 제외하고 세션을 시작합니다. Claude Code v2.1.193 이상이 필요합니다.6276`--plugin-dir`, `--plugin-url`, `--agents`, `--mcp-config` CLI 플래그를 시작 시 거부하여 사용자가 [`strictKnownMarketplaces`](#strictknownmarketplaces)를 단일 실행으로 우회하는 데 사용할 수 없도록 합니다. Claude Code는 거부된 플래그의 이름을 지정하는 오류로 종료되며, 현재 데스크톱 앱의 [Cowork](/docs/ko/desktop) 로컬 세션을 포함하여 이러한 플래그로 CLI를 내부적으로 시작하는 표면에 동일한 검사를 적용합니다. [클라우드 세션](/docs/ko/claude-code-on-the-web)에서 Claude Code는 `--mcp-config`를 통해 서버가 제공한 MCP 서버를 삭제합니다(인프로세스 `type: "sdk"` 항목 제외). 세션을 시작합니다. Claude Code v2.1.193 이상이 필요합니다.

6183 6277 

6184* **범위**: [`Managed`](#scopes)6278* **범위**: [`Managed`](#scopes)

6185* **유형**: Boolean6279* **유형**: Boolean

6186 * `true`: Claude Code는 시작 시 `--plugin-dir`, `--plugin-url`, `--agents` 및 `--mcp-config`를 거부하고 이들의 이름을 지정하는 오류로 종료됩니다. 단, 클라우드 세션에서는 서버가 `--mcp-config`를 통해 전달한 MCP 서버를 삭제합니다. 프로세스 내 `type: "sdk"` 항목은 제외하고 세션을 시작합니다.6280 * `true`: Claude Code는 시작 시 `--plugin-dir`, `--plugin-url`, `--agents`, `--mcp-config`를 거부하고 이름을 지정하는 오류로 종료됩니다. 단, 클라우드 세션에서는 `--mcp-config`를 통해 서버가 제공한 MCP 서버를 삭제합니다(인프로세스 `type: "sdk"` 항목 제외). 세션을 시작합니다.

6187 * `false`: Claude Code는 해당 플래그를 수락합니다.6281 * `false`: Claude Code는 해당 플래그를 수락합니다.

6188* **기본값**: `false`6282* **기본값**: `false`

6189 6283 


6193}6287}

6194```6288```

6195 6289 

6196Claude Code는 여전히 서버가 모두 프로세스 내 `type: "sdk"` 항목인 `--mcp-config`를 수락하므로 Agent SDK 및 VS Code 확장이 계속 작동합니다. 사용자는 여전히 `claude mcp add` 또는 `.mcp.json` 파일로 서버를 추가할 수 있습니다. 서버별 제어를 위해 [`allowedMcpServers`](/docs/ko/managed-mcp)도 설정하십시오. Claude Code v2.1.193 이상이 필요합니다.6290Claude Code는 여전히 서버가 모두 인프로세스 `type: "sdk"` 항목인 `--mcp-config`를 수락하므로 Agent SDK 및 VS Code 확장이 계속 작동합니다. 사용자는 여전히 `claude mcp add` 또는 `.mcp.json` 파일로 서버를 추가할 수 있습니다. 서버별 제어의 경우 [`allowedMcpServers`](/docs/ko/managed-mcp)도 설정하세요. Claude Code v2.1.193 이상이 필요합니다.

6291 

6292동일한 검사는 [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/ko/env-vars#variables) 환경 변수에 명명된 플러그인 폴더를 포함합니다. 이는 Claude Code v2.1.280 이상이 필요합니다. 변수가 폴더의 이름을 지정하면 Claude Code는 동일한 오류로 종료되며, 오류는 변수를 설정 해제하도록 지시합니다.

6197 6293 

6198클라우드 세션에서 Claude Code는 또한 서버 전달 중간 세션 MCP 업데이트를 무시합니다. 이는 클라우드 세션 구성 및 SDK `setMcpServers()` 호출이 이러한 세션에 도달하는 경로입니다. 프로세스 내 `type: "sdk"` 항목은 여기서도 면제됩니다. v2.1.239 이전에는 서버 전달 `--mcp-config`가 클라우드 세션이 시작되는 것을 차단했습니다.6294클라우드 세션에서 Claude Code는 또한 서버 제공 중간 세션 MCP 업데이트를 무시합니다. 이는 클라우드 세션 구성 및 SDK `setMcpServers()` 호출 뒤의 경로이며, 이러한 세션에 도달합니다. 인프로세스 `type: "sdk"` 항목은 거기서도 면제됩니다. v2.1.239 이전에는 서버 제공 `--mcp-config`가 클라우드 세션이 시작되는 것을 차단했습니다.

6199 6295 

6200<h3 id="forceremotesettingsrefresh">6296<h3 id="forceremotesettingsrefresh">

6201 `forceRemoteSettingsRefresh`6297 `forceRemoteSettingsRefresh`

6202</h3>6298</h3>

6203 6299 

6204Claude Code가 [서버 관리형 설정](/docs/ko/server-managed-settings)을 새로 가져올 때까지 CLI 시작을 차단합니다. 가져오기가 실패하면 Claude Code는 캐시된 설정이나 설정 없이 계속하지 않고 종료합니다. 환경이 관리형 정책 없이 세션이 실행되는 짧은 시간 창도 수용할 수 없을 때 설정하십시오.6300Claude Code가 [서버 관리형 설정](/docs/ko/server-managed-settings)을 새로 가져올 때까지 CLI 시작을 차단합니다. 가져오기가 실패하면 Claude Code는 캐시된 설정이나 설정 없이 계속하지 않고 종료합니다. 환경이 관리형 정책 없이 세션이 실행되는 짧은 기간도 허용할 수 없을 때 설정하세요.

6205 6301 

6206키가 설정되지 않으면 Claude Code는 가져오기에서 시작을 차단하지 않습니다. 단, 개발자가 시작 시 로그인할 때는 가져오기를 위해 최대 5초를 기다립니다. Cloud 게이트웨이 세션은 항상 기다리며, 게이트웨이에 도달할 수 없으면 종료됩니다.6302키가 설정되지 않으면 Claude Code는 가져오기에서 시작을 차단하지 않지만, 개발자가 시작 시 로그인할 때 가져오기를 위해 최대 5초를 기다립니다. Cloud 게이트웨이 세션은 항상 기다리며, 게이트웨이에 도달할 수 없으면 종료됩니다.

6207 6303 

6208* **범위**: [`Managed`](#scopes). Claude Code는 최우선 소스가 아닌 경우에도 관리자 제어 관리형 소스에서 `true`를 인정합니다.6304* **범위**: [`Managed`](#scopes). Claude Code는 최우선 소스가 아닌 경우에도 모든 관리자 제어 관리형 소스에서 `true`를 인정합니다.

6209* **유형**: Boolean6305* **유형**: Boolean

6210 * `true`: Claude Code는 서버 관리형 설정을 새로 가져올 때까지 시작을 차단하고 가져오기가 실패하면 종료합니다.6306 * `true`: Claude Code는 서버 관리형 설정을 새로 가져올 때까지 시작을 차단하고, 가져오기가 실패하면 종료합니다.

6211 * `false`: Claude Code는 가져오기에서 시작을 차단하지 않습니다. 단, 로그인 시작 시 최대 5초를 기다립니다.6307 * `false`: Claude Code는 가져오기에서 시작을 차단하지 않지만, 로그인 시작 시 가져오기를 위해 최대 5초를 기다립니다.

6212* **기본값**: `false`6308* **기본값**: `false`

6213 6309 

6214```json managed-settings.json theme={null}6310```json managed-settings.json theme={null}


6217}6313}

6218```6314```

6219 6315 

6220MDM 프로필 또는 관리형 설정 파일에 설정하여 첫 번째 서버 페이로드가 도착하기 전에 실패 폐쇄 시작을 적용합니다. Claude Code는 서버 관리형 설정을 가져오는 세션에서만 검사를 적용하므로 [이를 가져오지 않는](/docs/ko/server-managed-settings#platform-availability) 세션은 기다리지 않고 시작됩니다. `claude auth` 하위 명령은 면제되므로 사용자는 만료된 자격 증명이 가져오기 실패의 원인일 때 다시 인증할 수 있습니다. [실패 폐쇄 시작 적용](/docs/ko/server-managed-settings#enforce-fail-closed-startup)을 참조하십시오.6316MDM 프로필 또는 관리형 설정 파일에 설정하여 첫 번째 서버 페이로드가 도착하기 전에 실패 폐쇄 시작을 적용합니다. Claude Code는 서버 관리형 설정을 가져오는 세션에서만 검사를 적용하므로, [가져오지 않는](/docs/ko/server-managed-settings#platform-availability) 세션은 기다리지 않고 시작됩니다. `claude auth` 부명령은 면제되므로 사용자는 만료된 자격 증명이 가져오기 실패의 원인일 때 다시 인증할 수 있습니다. [실패 폐쇄 시작 적용](/docs/ko/server-managed-settings#enforce-fail-closed-startup)을 참조하세요.

6221 6317 

6222<h3 id="managedsourcesbehavior">6318<h3 id="managedsourcesbehavior">

6223 `managedSourcesBehavior`6319 `managedSourcesBehavior`

6224</h3>6320</h3>

6225 6321 

6226Claude Code가 조직이 전달하는 최우선 [관리형 소스](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)만 적용할지, 아니면 전달하는 모든 관리자 소스를 결합할지 선택합니다. 기본적으로 Claude Code는 [정책 키](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 전달하는 최우선 소스를 취하고 나머지는 무시합니다. 정책 키는 이 키와 `wslInheritsWindowsSettings`를 제외한 모든 설정 키입니다. 따라서 서버 관리형 설정이나 MDM 정책이 정책 키를 전달하면 `managed-settings.json` 파일은 [Claude Code가 모든 관리자 소스에서 읽는 키](/docs/ko/managed-settings#keys-read-from-every-admin-source)만 제공합니다. `"merge"`를 사용하면 전달하는 모든 관리자 소스가 하나의 결합된 정책에 키를 제공합니다. Claude Code v2.1.242 이상이 필요합니다.6322Claude Code가 조직이 제공하는 최우선 [관리형 소스](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)만 적용할지, 아니면 제공하는 모든 관리자 소스를 결합할지 선택합니다. 기본적으로 Claude Code는 [정책 키](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 전달하는 최우선 소스를 가져가고 나머지는 무시합니다. 정책 키는 이 키와 `wslInheritsWindowsSettings`를 제외한 모든 설정 키입니다. 해당 기본값에서 서버 관리형 설정 또는 MDM 정책이 정책 키를 제공하면 `managed-settings.json` 파일은 [Claude Code가 모든 관리자 소스에서 읽는 키](/docs/ko/managed-settings#keys-read-from-every-admin-source)만 제공합니다. `"merge"`를 사용하면 제공하는 모든 관리자 소스가 결합된 정책에 키를 제공합니다. Claude Code v2.1.242 이상이 필요합니다.

6227 6323 

6228최우선 소스 아래에 [순위가 지정된](/docs/ko/managed-settings#how-claude-code-combines-managed-sources) 모든 소스가 관리자의 제어 하에 있는 경우에만 `"merge"`를 설정하십시오. Claude Code는 `permissions.allow` 규칙과 같은 하위 소스의 항목을 정책에 추가하기 때문입니다.6324최우선 소스 아래에 [순위가 지정된](/docs/ko/managed-settings#how-claude-code-combines-managed-sources) 모든 소스가 관리자의 제어 하에 있는 경우에만 `"merge"`를 설정하세요. Claude Code는 `permissions.allow` 규칙과 같은 하위 소스의 항목을 정책에 추가하기 때문입니다.

6229 6325 

6230* **범위**: [`Managed`](#scopes). Claude Code는 이 키 또는 정책 키를 전달하는 최우선 소스에서 이 키를 읽고 순위가 낮은 모든 소스에서 이 키를 무시합니다. 따라서 하위 소스는 위의 소스와 결합하도록 자신을 선택할 수 없습니다. Windows HKCU 레지스트리나 [포함 호스트의 부모 설정](/docs/ko/managed-settings#let-an-embedding-host-add-policy)은 병합에 참여하지 않습니다.6326* **범위**: [`Managed`](#scopes). Claude Code는 이 키 또는 정책 키를 전달하는 최우선 소스에서 이 키를 읽고, 순위가 낮은 모든 소스에서 이 키를 무시합니다. 따라서 하위 소스는 위의 소스와 결합하도록 자신을 선택할 수 없습니다. Windows HKCU 레지스트리 또는 [포함 호스트의 부모 설정](/docs/ko/managed-settings#let-an-embedding-host-add-policy)은 병합에 참여하지 않습니다.

6231* **유형**: string, 다음 중 하나:6327* **유형**: string, 다음 중 하나:

6232 * `"first-wins"`: 정책 키를 전달하는 최우선 소스가 정책을 제공하고 하위 소스는 [Claude Code가 모든 관리자 소스에서 읽는 키](/docs/ko/managed-settings#keys-read-from-every-admin-source)만 제공합니다.6328 * `"first-wins"`: 정책 키를 전달하는 최우선 소스가 정책을 제공하고, 하위 소스는 [Claude Code가 모든 관리자 소스에서 읽는 키](/docs/ko/managed-settings#keys-read-from-every-admin-source)만 제공합니다.

6233 * `"merge"`: 전달하는 모든 관리자 소스가 아래 규칙으로 결합된 키를 제공합니다.6329 * `"merge"`: 제공하는 모든 관리자 소스가 키를 제공하며, 아래 규칙에 따라 결합됩니다.

6234* **기본값**: `"first-wins"`6330* **기본값**: `"first-wins"`

6235 6331 

6236배포하는 최우선 소스에 키를 전달합니다. 서버 관리형 설정을 받지 않는 머신은 Claude Code가 이 키 또는 정책 키를 전달하는 최우선 소스에서 키를 읽기 때문에 MDM 프로필에도 키가 필요합니다. `managed-settings.json` 파일은 최하위 순위 관리자 소스이므로 여기에 설정된 `"merge"`는 결합할 아래 소스가 없습니다. 서버 관리형 설정에서 키는 다음과 같습니다:6332배포하는 최우선 소스에서 키를 제공합니다. 서버 관리형 설정을 받지 않는 머신은 Claude Code가 이 키 또는 정책 키를 전달하는 최우선 소스에서 키를 읽기 때문에 MDM 프로필에도 키가 필요합니다. `managed-settings.json` 파일은 최하위 순위 관리자 소스이므로, 거기에 설정된 `"merge"`는 결합할 아래 소스가 없습니다. 서버 관리형 설정에서 키는 다음과 같습니다:

6237 6333 

6238```json theme={null}6334```json theme={null}

6239{6335{


6241}6337}

6242```6338```

6243 6339 

6244`"merge"` 아래에서 Claude Code는 각 키를 종류별로 결합합니다. 이 표는 각 종류에 대한 규칙을 제공합니다. 제한 허용 목록, 값 전체 취득 및 최우선 소스 전용 행은 포함하는 모든 키의 이름을 지정하고 다른 행은 예를 제공합니다:6340`"merge"` 아래에서 Claude Code는 각 키를 종류별로 결합합니다. 이 표는 각 종류에 대한 규칙을 제공합니다. 제한 허용 목록, 값 전체 및 최우선 소스 전용 행은 포함하는 모든 키의 이름을 지정하고, 다른 행은 예를 제공합니다:

6245 6341 

6246| 키의 종류 | Claude Code가 결합하는 방식 | 키 |6342| 키의 종류 | Claude Code가 결합하는 방법 | 키 |

6247| :- | :- | :- |6343| :- | :- | :- |

6248| 목록 | 모든 소스의 항목을 결합합니다. | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) 및 기타 목록 키 |6344| 목록 | 모든 소스의 항목을 결합합니다. | [`permissions.allow`](#permissions-allow), [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) 및 기타 목록 키 |

6249| 잠금 | 모든 소스가 설정하는 가장 엄격한 값을 적용합니다. 어떤 소스도 엄격한 값을 설정하지 않으면 최우선 소스에서만 더 느슨한 값을 적용합니다. | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) 및 기타 boolean 또는 enum 잠금 |6345| 잠금 | 모든 소스가 설정하는 가장 엄격한 값을 적용합니다. 어떤 소스도 엄격한 값을 설정하지 않으면 최우선 소스에서만 더 느슨한 값을 적용합니다. | [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly), [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) 및 기타 boolean 또는 enum 잠금 |

6250| 제한 허용 목록 | 하위 소스의 항목을 추가하지 않고 이를 설정하는 최우선 소스에서 전체 목록을 취합니다. 최우선 소스가 설정하지 않으면 다음 소스에서 전체 목록을 취합니다. | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) 및 [`fallbackModel`](#fallbackmodel) 체인 |6346| 제한 허용 목록 | 하위 소스의 항목을 추가하지 않고 설정하는 최우선 소스에서 목록 전체를 가져옵니다. 최우선 소스가 설정하지 않으면 다음 소스에서 전체를 가져옵니다. | [`availableModels`](#availablemodels), [`allowedMcpServers`](#allowedmcpservers), [`strictKnownMarketplaces`](#strictknownmarketplaces), [`allowedChannelPlugins`](#allowedchannelplugins) 및 [`fallbackModel`](#fallbackmodel) 체인 |

6251| 값 전체 취득 | 하위 소스의 항목이나 필드를 결합하지 않고 이를 설정하는 최우선 소스에서 전체 값을 취합니다. 최우선 소스가 설정하지 않으면 다음 소스에서 전체 값을 취합니다. | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |6347| 값 전체 | 하위 소스의 항목이나 필드를 결합하지 않고 설정하는 최우선 소스에서 값 전체를 가져옵니다. 최우선 소스가 설정하지 않으면 다음 소스에서 전체를 가져옵니다. | [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs), [`sandbox.ripgrep`](#sandbox-ripgrep) |

6252| 제공된 MCP 서버 | 모든 소스의 서버 이름을 결합합니다. 두 소스가 동일한 이름을 설정하면 상위 소스의 전체 항목을 적용합니다. | [`managedMcpServers`](#managedmcpservers) |6348| 제공된 MCP 서버 | 모든 소스의 서버 이름을 결합합니다. 두 소스가 동일한 이름을 설정하면 상위 소스의 전체 항목을 적용합니다. | [`managedMcpServers`](#managedmcpservers) |

6253| 최우선 소스에서만 읽기 | 정책 키를 전달하는 최우선 소스에서만 키를 읽으므로 최우선 소스가 설정하지 않을 때도 하위 소스의 값은 무시됩니다. | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), [`forceLoginMethod`](#forceloginmethod)의 `"claudeai"` 및 `"console"` 값, [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |6349| 최우선 소스에서만 읽기 | 정책 키를 전달하는 최우선 소스에서만 키를 읽으므로, 최우선 소스가 설정하지 않을 때에도 하위 소스의 값은 무시됩니다. | [`apiKeyHelper`](#apikeyhelper), [`awsAuthRefresh`](#awsauthrefresh), [`awsCredentialExport`](#awscredentialexport), [`gcpAuthRefresh`](#gcpauthrefresh), [`otelHeadersHelper`](#otelheadershelper), `proxyAuthHelper`, [`forceLoginOrgUUID`](#forceloginorguuid), [`forceLoginMethod`](#forceloginmethod)의 `"claudeai"` 및 `"console"` 값, [`parentSettingsBehavior`](#parentsettingsbehavior), [`modelPicker`](#modelpicker), [`policyHelper`](#policyhelper), [`permissions.defaultMode`](#permissions-defaultmode) |

6254| `env` | [관리자 소스 전체에서 변수별로 병합합니다](/docs/ko/managed-settings#keys-read-from-every-admin-source). `"first-wins"` 및 `"merge"` 모두에서 | [`env`](#env) |6350| `env` | [관리자 소스 전체에서 변수별로 병합합니다](/docs/ko/managed-settings#keys-read-from-every-admin-source). `"first-wins"` 및 `"merge"` 모두에서 | [`env`](#env) |

6255| 다른 모든 키 | 이를 설정하는 최우선 소스에서 값을 취합니다. | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |6351| 다른 모든 키 | 설정하는 최우선 소스에서 값을 가져옵니다. | [`cleanupPeriodDays`](#cleanupperioddays), [`model`](#model) |

6256 6352 

6257`sandbox.credentials.awsPairs` 및 `sandbox.ripgrep`을 전체로 취득하려면 Claude Code v2.1.257 이상이 필요합니다.6353`sandbox.credentials.awsPairs` 및 `sandbox.ripgrep`을 전체로 가져오려면 Claude Code v2.1.257 이상이 필요합니다.

6258 6354 

6259몇 가지 키는 표에 표시되지 않는 조건을 추가합니다:6355몇 가지 키는 표에 표시되지 않는 조건을 추가합니다:

6260 6356 

6261* **[`policyHelper`](#policyhelper)**: Claude Code는 정책 키를 전달하는 최우선 소스가 MDM 정책이거나 관리형 설정 파일일 때만 이를 인정하므로 서버 관리형 설정에서는 적용되지 않습니다.6357* **[`policyHelper`](#policyhelper)**: Claude Code는 정책 키를 전달하는 최우선 소스가 MDM 정책 또는 관리형 설정 파일일 때만 인정하므로, 서버 관리형 설정에서는 적용되지 않습니다.

6262* **[`modelOverrides`](#modeloverrides)**: `availableModels`와 쌍을 이룹니다. Claude Code는 이를 설정하는 최우선 소스에서 `modelOverrides`를 취합니다. 단, 상위 소스가 `modelOverrides` 없이 `availableModels`를 설정하는 경우는 제외합니다. 이 경우 모든 소스에서 `modelOverrides`를 무시합니다.6358* **[`modelOverrides`](#modeloverrides)**: `availableModels`와 쌍을 이룹니다. Claude Code는 설정하는 최우선 소스에서 `modelOverrides`를 가져옵니다. 단, 상위 소스가 `modelOverrides` 없이 `availableModels`를 설정하는 경우는 제외됩니다. 이 경우 모든 소스에서 `modelOverrides`를 무시합니다.

6263* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) 및 [`forceLoginMethod`](#forceloginmethod)의 `"gateway"` 값**: Claude Code는 서버 관리형 설정에서 이들을 읽지 않으므로 여기의 값은 MDM 정책이나 관리형 설정 파일에 설정된 값을 적용하거나 숨기지 않습니다. 머신의 관리자 소스 중에서 정책 키를 전달하는 최우선 순위 소스만 이들을 제공합니다. 서버 관리형 설정도 있는지 여부와 관계없이.6359* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) 및 [`forceLoginMethod`](#forceloginmethod)의 `"gateway"` 값**: Claude Code는 서버 관리형 설정에서 이들 중 어느 것도 읽지 않으므로, 거기의 값은 MDM 정책 또는 관리형 설정 파일에 설정된 값을 적용하거나 숨기지 않습니다. 머신의 관리자 소스 중에서 정책 키를 전달하는 최우선 순위 소스만 서버 관리형 설정도 있는지 여부와 관계없이 이들을 제공합니다.

6264 6360 

6265머신에서 결합된 소스를 확인하려면 `/status`를 실행하고 [`Setting sources` 행을 읽으십시오](/docs/ko/managed-settings#read-the-source-in-/status).6361머신에서 결합된 소스를 확인하려면 `/status`를 실행하고 [`Setting sources` 행을 읽으세요](/docs/ko/managed-settings#read-the-source-in-/status).

6266 6362 

6267<h3 id="parentsettingsbehavior">6363<h3 id="parentsettingsbehavior">

6268 `parentSettingsBehavior`6364 `parentSettingsBehavior`

6269</h3>6365</h3>

6270 6366 

6271Claude Code가 Agent SDK 또는 IDE 확장과 같은 포함 호스트 프로세스에서 제공하는 관리형 설정을 적용할지 선택합니다. 관리자 배포 관리형 계층도 있을 때. `"first-wins"`를 사용하면 Claude Code는 호스트 제공 설정을 삭제합니다. `"merge"`를 사용하면 제한 전용 필터를 통해 관리자 계층 아래에 적용합니다. 호스트가 자신의 제한을 시작하는 세션에 전달해야 할 때 `"merge"`를 설정하십시오. 예를 들어 Claude Desktop이 게이트웨이의 송신 허용 목록을 전달합니다.6367Claude Code가 Agent SDK 또는 IDE 확장과 같은 포함 호스트 프로세스에서 제공하는 관리형 설정을 적용할지 선택합니다. 관리자 배포 관리형 계층도 있을 때. `"first-wins"`를 사용하면 Claude Code는 호스트 제공 설정을 삭제합니다. `"merge"`를 사용하면 제한 전용 필터를 통해 관리자 계층 아래에 적용합니다. 호스트가 자신의 제한을 시작하는 세션에 전달해야 할 때 `"merge"`를 설정하세요. 예를 들어 Claude Desktop이 게이트웨이의 송신 허용 목록을 제공합니다.

6272 6368 

6273* **범위**: [`Managed`](#scopes). Claude Code는 최우선 관리자 제어 관리형 소스에서 이를 읽습니다.6369* **범위**: [`Managed`](#scopes). Claude Code는 최우선 관리자 제어 관리형 소스에서 읽습니다.

6274* **유형**: string, 다음 중 하나:6370* **유형**: string, 다음 중 하나:

6275 * `"first-wins"`: Claude Code는 관리자 배포 관리형 계층이 있을 때 호스트 제공 설정을 삭제합니다.6371 * `"first-wins"`: Claude Code는 관리자 배포 관리형 계층이 있을 때 호스트 제공 설정을 삭제합니다.

6276 * `"merge"`: Claude Code는 제한 전용 필터를 통해 관리자 계층 아래에 호스트 제공 설정을 적용합니다.6372 * `"merge"`: Claude Code는 제한 전용 필터를 통해 관리자 계층 아래에 호스트 제공 설정을 적용합니다.


6282}6378}

6283```6379```

6284 6380 

6285관리자 배포 관리형 계층이 없을 때 이 키는 효과가 없습니다. 호스트의 설정은 유일한 관리형 계층으로 적용되며 여전히 제한 값으로 필터링됩니다. 필터의 제한 및 관리형 소스가 상호 작용하는 방식은 [포함 호스트의 부모 설정](/docs/ko/managed-settings#parent-settings-from-embedding-hosts) 및 [부모 설정 제한](/docs/ko/claude-apps-gateway#restrict-parent-settings)을 참조하십시오.6381관리자 배포 관리형 계층이 없을 때 이 키는 효과가 없습니다. 호스트의 설정은 유일한 관리형 계층으로 적용되며, 여전히 제한 값으로 필터링됩니다. 필터의 제한 및 관리형 소스가 상호 작용하는 방식에 대해서는 [포함 호스트의 부모 설정](/docs/ko/managed-settings#parent-settings-from-embedding-hosts) 및 [부모 설정 제한](/docs/ko/claude-apps-gateway#restrict-parent-settings)을 참조하세요.

6286 6382 

6287<span id="compute-managed-settings-with-a-policy-helper" />6383<span id="compute-managed-settings-with-a-policy-helper" />

6288 6384 


6290 `policyHelper`6386 `policyHelper`

6291</h3>6387</h3>

6292 6388 

6293배포하는 실행 파일을 실행하여 시작 시 관리형 설정을 계산합니다. 정적 파일 대신 디바이스 상태, ID 또는 원격 서비스에서 정책을 파생할 수 있습니다. Claude Code는 첫 번째 프롬프트를 수락하기 전에 도우미를 실행하고 내보내는 설정을 세션의 관리형 설정으로 취급합니다.6389배포하는 실행 파일을 실행하여 시작 시 관리형 설정을 계산하므로 정적 파일 대신 디바이스 상태, ID 또는 원격 서비스에서 정책을 파생할 수 있습니다. Claude Code는 첫 번째 프롬프트를 수락하기 전에 도우미를 실행하고 내보내는 설정을 세션의 관리형 설정으로 처리합니다.

6294 6390 

6295* **범위**: [`Managed`](#scopes). macOS plist, Windows HKLM 레지스트리 또는 관리형 설정 파일에서 읽습니다. Claude Code는 [정책 키](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 전달하는 최우선 관리형 소스에서 키를 읽고 해당 소스가 이 세 가지 중 하나일 때만 도우미를 실행합니다. 서버 관리형 설정, HKCU 레지스트리 및 호스트 제공 부모 설정에서 키를 무시합니다.6391* **범위**: [`Managed`](#scopes). macOS plist, Windows HKLM 레지스트리 또는 관리형 설정 파일에서 읽습니다. Claude Code는 [정책 키](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 전달하는 최우선 관리형 소스에서 키를 읽고, 해당 소스가 이 세 가지 중 하나일 때만 도우미를 실행합니다. 서버 관리형 설정, HKCU 레지스트리 및 호스트 제공 부모 설정에서 키를 무시합니다.

6296* **유형**: `path`, `timeoutMs` 및 `refreshIntervalMs`가 있는 object6392* **유형**: `path`, `timeoutMs` 및 `refreshIntervalMs`가 있는 object

6297* **기본값**: 설정되지 않음. 따라서 도우미가 실행되지 않습니다.6393* **기본값**: 설정 해제되어 도우미가 실행되지 않습니다.

6298 6394 

6299서버 관리형 설정이 시작 시 정책을 전달하면 도우미의 소스보다 우선하고 도우미는 실행되지 않습니다.6395서버 관리형 설정이 시작 시 정책을 제공하면 도우미의 소스보다 우선하고 도우미는 실행되지 않습니다.

6300 6396 

6301나중에 설정 가져오기가 서버 관리형 설정이 제거되었음을 보고하면 Claude Code는 다음 시작을 기다리지 않고 그 시점에서 도우미를 실행합니다. 그 출력은 세션의 나머지를 관리하고 실패한 실행은 [실패한 시작 실행](#helper-failures)과 동일한 메시지로 세션을 종료합니다.6397나중에 설정 가져오기가 서버 관리형 설정이 제거되었음을 보고하면 Claude Code는 다음 시작을 기다리지 않고 그 시점에서 도우미를 실행합니다. 출력은 세션의 나머지를 관리하고, 실패한 실행은 [실패한 시작 실행](#helper-failures)과 동일한 메시지로 세션을 종료합니다.

6302 6398 

6303이 예제는 5초 시간 초과로 도우미를 실행하고 5분마다 다시 실행합니다:6399이 예제는 5초 시간 초과로 도우미를 실행하고 5분마다 다시 실행합니다:

6304 6400 


6316 도우미 출력 작성6412 도우미 출력 작성

6317</h4>6413</h4>

6318 6414 

6319Claude Code는 인수 없이 도우미를 실행하고 환경에 `CLAUDE_CODE_VERSION`을 설정하며 stdout에서 JSON 봉투를 읽습니다. 1 MiB로 제한됩니다.6415Claude Code는 인수 없이 도우미를 실행하고, 환경에서 `CLAUDE_CODE_VERSION`을 설정하고, stdout에서 JSON 봉투를 읽으며, 1 MiB로 제한됩니다.

6320 6416 

6321`managedSettings` 키 아래에 설정을 배치합니다. `managedSettings` 키가 없는 베어 설정 객체는 `managedSettings` undefined로 구문 분석되고 아무것도 적용하지 않으며 Claude Code는 오류를 보고하지 않습니다:6417`managedSettings` 키 아래에 설정을 배치합니다. `managedSettings` 키가 없는 베어 설정 객체는 `managedSettings` undefined로 구문 분석되고 아무것도 적용하지 않으며, Claude Code는 오류를 보고하지 않습니다:

6322 6418 

6323```json theme={null}6419```json theme={null}

6324{6420{


6328}6424}

6329```6425```

6330 6426 

6331도우미가 `managedSettings`를 내보낼 때 해당 객체는 실행의 유일한 관리형 설정 소스가 됩니다. Claude Code는 MDM, 파일 및 HKCU 소스를 무시하고 도우미의 출력에서만 [교차 소스 키](/docs/ko/managed-settings#keys-read-from-every-admin-source)를 읽으며 [부모 설정](/docs/ko/managed-settings#parent-settings-from-embedding-hosts)을 병합하지 않습니다.6427도우미가 `managedSettings`를 내보내면 해당 객체는 실행의 유일한 관리형 설정 소스가 됩니다. Claude Code는 MDM, 파일 및 HKCU 소스를 무시하고, 도우미의 출력에서만 [교차 소스 키](/docs/ko/managed-settings#keys-read-from-every-admin-source)를 읽고, [부모 설정](/docs/ko/managed-settings#parent-settings-from-embedding-hosts)을 병합하지 않습니다.

6332 6428 

6333시작 `forceRemoteSettingsRefresh` 검사는 도우미 전에 실행되고 모든 관리자 소스를 읽습니다. 도우미가 `managedSettings`를 생략하는 봉투로 0을 종료하면 관리형 설정을 제공하지 않으며 다른 소스가 평소대로 적용됩니다.6429시작 `forceRemoteSettingsRefresh` 검사는 도우미 전에 실행되고 모든 관리자 소스를 읽습니다. 도우미가 `managedSettings`를 생략하는 봉투로 0을 종료하면 관리형 설정을 제공하지 않으며, 다른 소스는 평소대로 적용됩니다.

6334 6430 

6335<h4 id="helper-failures">6431<h4 id="helper-failures">

6336 도우미 실패6432 도우미 실패

6337</h4>6433</h4>

6338 6434 

6339도우미 실행이 실패하는 경우:6435도우미 실행은 다음과 같은 경우 실패합니다:

6340 6436 

6341* `path`가 [`policyHelper.path`](#policyhelper-path)의 규칙을 위반합니다.6437* `path`가 [`policyHelper.path`](#policyhelper-path)의 규칙을 위반합니다.

6342* `path`에 일반 파일이 없습니다. Claude Code는 도우미를 시작하기 전에 동일한 `timeoutMs` 예산 내에서 파일을 확인하므로 응답하지 않는 네트워크 마운트로 인해 실행이 실패할 수 있습니다.6438* `path`에 일반 파일이 없습니다. Claude Code는 도우미를 시작하기 전에 동일한 `timeoutMs` 예산 내에서 파일을 확인하므로, 응답하지 않는 네트워크 마운트로 인해 실행이 실패할 수 있습니다.

6343* 도우미가 0이 아닌 값으로 종료되거나 `timeoutMs`가 경과할 때 여전히 실행 중이거나 예를 들어 실행 가능하지 않아 시작되지 않습니다.6439* 도우미가 0이 아닌 값으로 종료되거나, `timeoutMs`가 경과할 때 여전히 실행 중이거나, 예를 들어 실행 가능하지 않기 때문에 전혀 시작되지 않습니다.

6344* 도우미가 stdout 또는 stderr에 1 MiB 이상을 씁니다.6440* 도우미가 stdout 또는 stderr에 1 MiB 이상을 씁니다.

6345* stdout이 단일 JSON 객체가 아니거나 `managedSettings`에 [Claude Code가 복구할 수 없는 스키마 위반](/docs/ko/managed-settings#find-entries-claude-code-dropped)이 있습니다.6441* stdout이 단일 JSON 객체가 아니거나, `managedSettings`에 [Claude Code가 복구할 수 없는 스키마 위반](/docs/ko/managed-settings#find-entries-claude-code-dropped)이 있습니다.

6346 6442 

6347시작 실행이 실패하면 Claude Code는 이유를 인쇄하고 시작을 거부합니다. 0이 아닌 종료 후 이유에는 도우미의 stderr 또는 stderr가 비어 있을 때 stdout이 포함됩니다. 시간 초과 후 이유는 `timeoutMs` 제한의 이름을 지정하고 도우미의 출력을 포함하지 않습니다. 거부는 대화형 세션, `claude -p`, Agent SDK 세션, [백그라운드 세션](/docs/ko/agent-view) 및 대부분의 하위 명령을 포함합니다.6443시작 실행이 실패하면 Claude Code는 이유를 인쇄하고 시작을 거부합니다. 0이 아닌 종료 후 이유에는 도우미의 stderr 또는 stderr가 비어 있을 때 stdout이 포함됩니다. 시간 초과 후 이유는 `timeoutMs` 제한의 이름을 지정하고 도우미의 출력을 포함하지 않습니다. 거부는 대화형 세션, `claude -p`, Agent SDK 세션, [백그라운드 세션](/docs/ko/agent-view) 및 대부분의 부명령을 포함합니다.

6348 6444 

6349거부는 의도적이므로 중단 복원력이 필요한 도우미는 자신의 캐시에서 제공하고 0을 종료해야 합니다.6445거부는 의도적이므로 중단 복원력이 필요한 도우미는 자신의 캐시에서 제공하고 0을 종료해야 합니다.

6350 6446 

6351백그라운드 새로 고침이 실패하면 Claude Code는 마지막 성공한 정책을 적용 상태로 유지하고 `/status`는 새로 고침이 성공할 때까지 이유와 함께 실패한 새로 고침을 표시합니다. 각 새로 고침은 시작 실행과 동일한 `timeoutMs` 및 실패 규칙에서 실행됩니다.6447백그라운드 새로고침이 실패하면 Claude Code는 마지막 성공한 정책을 유지하고, `/status`는 새로고침이 성공할 때까지 이유와 함께 실패한 새로고침을 표시합니다. 각 새로고침은 시작 실행과 동일한 `timeoutMs` 및 실패 규칙에서 실행됩니다.

6352 6448 

6353`--debug`를 사용하면 Claude Code는 모든 실행에서 도우미의 stderr를 [디버그 로그](/docs/ko/debug-your-config)에 씁니다.6449`--debug`를 사용하면 Claude Code는 모든 실행에서 도우미의 stderr을 [디버그 로그](/docs/ko/debug-your-config)에 씁니다.

6354 6450 

6355Claude Code는 잘못된 `policyHelper` 값을 [삭제된 항목](/docs/ko/managed-settings#find-entries-claude-code-dropped)으로 보고하고 도우미를 실행하지 않고 나머지 관리형 설정에서 세션을 시작합니다. 잘못된 값에는 베어 경로 문자열 및 [최소값](#policyhelper-timeoutms) 아래의 `timeoutMs`가 포함됩니다.6451Claude Code는 잘못된 `policyHelper` 값을 [삭제된 항목](/docs/ko/managed-settings#find-entries-claude-code-dropped)으로 보고하고 도우미를 실행하지 않고 나머지 관리형 설정에서 세션을 시작합니다. 잘못된 값에는 베어 경로 문자열 및 [최소값](#policyhelper-timeoutms) 아래의 `timeoutMs`가 포함됩니다.

6356 6452 

6357도우미를 끄려면 이를 설정하는 소스에서 키를 제거합니다.6453도우미를 끄려면 설정하는 소스에서 키를 제거합니다.

6358 6454 

6359<h3 id="policyhelper-path">6455<h3 id="policyhelper-path">

6360 `policyHelper.path`6456 `policyHelper.path`

6361</h3>6457</h3>

6362 6458 

6363Claude Code가 실행하는 도우미 실행 파일의 이름을 지정합니다. 경로가 아래 규칙을 위반할 때 발생하는 일은 [도우미 실패](#helper-failures)를 참조하십시오.6459Claude Code가 실행하는 도우미 실행 파일의 이름을 지정합니다. 경로가 아래 규칙을 위반할 때 발생하는 일은 [도우미 실패](#helper-failures)를 참조하세요.

6364 6460 

6365* **범위**: [`Managed`](#scopes). [`policyHelper`](#policyhelper)가 읽히는 macOS plist, Windows HKLM 레지스트리 또는 관리형 설정 파일에서 읽습니다.6461* **범위**: [`Managed`](#scopes). [`policyHelper`](#policyhelper)가 읽히는 macOS plist, Windows HKLM 레지스트리 또는 관리형 설정 파일에서 읽습니다.

6366* **유형**: string, `.` 또는 `..` 세그먼트 없이 정규화된 형식의 절대 경로. Windows에서는 `.exe`로 끝나는 드라이브 문자 또는 UNC 경로6462* **유형**: string, `.` 또는 `..` 세그먼트 없이 정규화된 형식의 절대 경로. Windows에서는 `.exe`로 끝나는 드라이브 문자 또는 UNC 경로


6378 `policyHelper.timeoutMs`6474 `policyHelper.timeoutMs`

6379</h3>6475</h3>

6380 6476 

6381Claude Code가 도우미를 기다리는 시간을 설정합니다. 시간 초과 실행은 0이 아닌 종료와 동일한 방식으로 실패하므로 시작 시 Claude Code는 시작을 거부합니다.6477Claude Code가 도우미를 기다리는 시간을 설정하고, 실행을 실패로 처리합니다. 시간 초과 실행은 0이 아닌 종료와 동일한 방식으로 실패하므로 시작 시 Claude Code는 시작을 거부합니다.

6382 6478 

6383* **범위**: [`Managed`](#scopes). [`policyHelper`](#policyhelper)가 읽히는 macOS plist, Windows HKLM 레지스트리 또는 관리형 설정 파일에서 읽습니다.6479* **범위**: [`Managed`](#scopes). [`policyHelper`](#policyhelper)가 읽히는 macOS plist, Windows HKLM 레지스트리 또는 관리형 설정 파일에서 읽습니다.

6384* **유형**: integer, 밀리초, 최소 `1000`6480* **유형**: integer, 밀리초, 최소 `1000`


6397 `policyHelper.refreshIntervalMs`6493 `policyHelper.refreshIntervalMs`

6398</h3>6494</h3>

6399 6495 

6400Claude Code가 백그라운드에서 간격으로 도우미를 다시 실행하여 정책 변경이 실행 중인 세션에 도달하도록 합니다. 새로 고침이 성공하면 그 출력이 이전 관리형 설정을 다시 시작 없이 대체합니다. 새로 고침이 실패하면 Claude Code는 이미 가진 정책을 유지합니다.6496Claude Code가 백그라운드에서 간격으로 도우미를 다시 실행하여 정책 변경이 실행 중인 세션에 도달하도록 합니다. 새로고침이 성공하면 출력이 이전 관리형 설정을 다시 시작 없이 대체합니다. 새로고침이 실패하면 Claude Code는 이미 있는 정책을 유지합니다.

6401 6497 

6402* **범위**: [`Managed`](#scopes). [`policyHelper`](#policyhelper)가 읽히는 macOS plist, Windows HKLM 레지스트리 또는 관리형 설정 파일에서 읽습니다.6498* **범위**: [`Managed`](#scopes). [`policyHelper`](#policyhelper)가 읽히는 macOS plist, Windows HKLM 레지스트리 또는 관리형 설정 파일에서 읽습니다.

6403* **유형**: integer, 밀리초: 새로 고침을 비활성화하려면 `0`, 그렇지 않으면 최소 `60000`6499* **유형**: integer, 밀리초: 새로고침을 비활성화하려면 `0`, 그렇지 않으면 최소 `60000`

6404* **기본값**: 설정되지 않음. 따라서 Claude Code는 시작 시 도우미를 한 번 실행합니다.6500* **기본값**: 설정 해제되어 Claude Code가 시작 시 도우미를 한 번 실행합니다.

6405 6501 

6406이 예제는 5분마다 도우미를 다시 실행합니다:6502이 예제는 5분마다 도우미를 다시 실행합니다:

6407 6503 


6418 `wslInheritsWindowsSettings`6514 `wslInheritsWindowsSettings`

6419</h3>6515</h3>

6420 6516 

6421WSL의 Claude Code가 Windows 정책 체인에서 관리형 설정을 읽도록 합니다. HKLM 및 Windows 관리형 설정 파일이 `/etc/claude-code` 및 아래의 HKCU보다 우선합니다. 체인이 켜져 있는 동안 Claude Code는 `C:\Program Files\ClaudeCode\` 아래의 관리형 설정 파일이나 드롭인이 [정책 키](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 전달하지 않을 때만 `/etc/claude-code`를 읽습니다. Windows에 이미 배포한 정책을 WSL 세션으로 확장하도록 설정하여 동일한 머신의 호스트 세션과 동일한 규칙을 따르도록 합니다. Claude Code는 HKLM 레지스트리 키 또는 `C:\Program Files\ClaudeCode\` 아래의 관리형 설정 파일이나 드롭인에 설정된 경우에만 이를 인정합니다. 둘 다 쓰기 위해 Windows 관리자가 필요합니다.6517Claude Code on WSL이 Windows 정책 체인에서 관리형 설정을 읽도록 하여 HKLM 및 Windows 관리형 설정 파일이 `/etc/claude-code` 및 아래의 HKCU보다 우선하도록 합니다. 체인이 켜져 있는 동안 Claude Code는 [HKLM 레지스트리 값 또는 `C:\Program Files\ClaudeCode\` 폴더에 Windows 관리자 문서가 없을 때](/docs/ko/managed-settings#present-admin-documents)만 `/etc/claude-code`를 읽습니다. Windows에 이미 배포한 정책을 WSL 세션으로 확장하도록 설정하여 호스트 세션과 동일한 규칙을 따르도록 합니다. Claude Code는 HKLM 레지스트리 키 또는 `C:\Program Files\ClaudeCode\` 아래의 관리형 설정 파일 또는 드롭인에 설정된 경우에만 인정하며, 둘 다 Windows 관리자가 작성해야 합니다.

6422 6518 

6423* **범위**: [`Managed`](#scopes). 관리자 제어 Windows 소스에서.6519* **범위**: [`Managed`](#scopes). 관리자 제어 Windows 소스에서.

6424* **유형**: Boolean6520* **유형**: Boolean

6425 * `true`: WSL의 Claude Code는 Windows 정책 체인에서 관리형 설정을 읽고 `C:\Program Files\ClaudeCode\` 아래의 관리형 설정 파일이나 드롭인이 [정책 키](/docs/ko/managed-settings#how-claude-code-combines-managed-sources)를 전달하지 않을 때만 `/etc/claude-code`를 읽습니다.6521 * `true`: Claude Code on WSL은 Windows 정책 체인에서 관리형 설정을 읽고, Windows 관리자 문서가 없을 때만 `/etc/claude-code`를 읽습니다.

6426 * `false`: WSL은 `/etc/claude-code`만 읽습니다.6522 * `false`: WSL은 `/etc/claude-code`만 읽습니다.

6427* **기본값**: `false`. WSL은 `/etc/claude-code`만 읽습니다.6523* **기본값**: `false`, WSL은 `/etc/claude-code`만 읽습니다.

6428 6524 

6429```json managed-settings.json theme={null}6525```json managed-settings.json theme={null}

6430{6526{


6432}6528}

6433```6529```

6434 6530 

6435관리자 소스가 체인을 켜면 HKCU 정책은 HKCU도 키를 `true`로 설정할 때만 WSL에 참여합니다. 그 복사본은 체인을 자체적으로 켜지 않습니다. 이 키만 포함하는 Windows 소스는 정책 소스로 계산되지 않으므로 하위 우선 소스는 여전히 정책을 제공합니다. 이 키는 네이티브 Windows에 영향을 주지 않습니다.6531관리자 소스가 체인을 켜면 HKCU 정책은 HKCU도 키를 `true`로 설정할 때만 WSL에서 체인에 참여합니다. 해당 복사본은 체인을 자체적으로 켜지 않습니다. 이 키만 포함하고 `true` 또는 `false`로 설정된 Windows 소스는 정책 소스로 계산되지 않으므로 하위 우선 소스는 여전히 정책을 제공합니다. 이 키는 네이티브 Windows에 영향을 주지 않습니다.

6532 

6533Claude Code는 따옴표 있음 또는 없음으로 `true` 및 `false`를 읽고 `null`을 키 제거로 읽습니다. 다른 값을 보유하는 관리자 제어 Windows 소스는 체인이 켜져 있는 [현재 관리자 문서](/docs/ko/managed-settings#present-admin-documents)로 계산됩니다. `/etc/claude-code` 또는 HKCU는 적용되지 않으며, 시작 경고는 키의 이름을 지정합니다. 존재하지만 읽을 수 없는 HKLM 값 또는 Windows 폴더 파일도 체인이 켜져 있는지 여부와 관계없이 `/etc/claude-code`가 적용되는 것을 방지합니다. Claude Code v2.1.282 이상이 필요합니다.

6436 6534 

6437<h2 id="global-config-settings">6535<h2 id="global-config-settings">

6438 전역 설정6536 전역 설정


6482 6580 

6483Claude Code는 `settings.json`에서 이 키를 무시합니다.6581Claude Code는 `settings.json`에서 이 키를 무시합니다.

6484 6582 

6583<h3 id="claudeinchromedefaultenabled">

6584 `claudeInChromeDefaultEnabled`

6585</h3>

6586 

6587매번 `--chrome`을 전달하지 않고도 모든 대화형 CLI 세션을 [Chrome 통합](/docs/ko/chrome)이 켜진 상태로 시작합니다. [`claude remote-control`](/docs/ko/remote-control)을 실행하면 `bypassPermissions` 모드를 제외하고 시작하는 [프로젝트](/docs/ko/claude-projects) 스레드의 세션도 이 키를 따릅니다. `/chrome`을 실행하고 **기본적으로 활성화됨**을 선택하면 [Chrome 기본적으로 활성화](/docs/ko/chrome#enable-chrome-by-default)에 설명된 대로 이 키가 설정됩니다. `/config`에 **Chrome에서 Claude 기본적으로 활성화됨**으로 표시됩니다.

6588 

6589* **범위**: [`전역 설정`](#scopes)

6590* **유형**: Boolean

6591 * `true`: Claude Code가 대화형 CLI 세션이 시작될 때 Chrome 통합을 켭니다. `--chrome`을 전달할 때처럼 작동합니다

6592 * `false`: 대화형 CLI 세션이 Chrome 통합이 꺼진 상태로 시작되며, Claude Code는 [설정을 제안하는 것을 중단](/docs/ko/chrome#install-the-extension-when-claude-asks)합니다. 한 대화형 세션에 대해 켜려면 `--chrome`을 전달하세요

6593* **기본값**: 설정되지 않음. Chrome 통합이 꺼져 있고 Claude Code는 여전히 설정을 제안할 수 있습니다

6594* **세션별 재정의**: `--chrome` 및 [`--no-chrome`](/docs/ko/cli-reference)이 한 대화형 세션에 대해 이 키보다 우선합니다

6595 

6596```json ~/.claude.json theme={null}

6597{

6598 "claudeInChromeDefaultEnabled": true

6599}

6600```

6601 

6602Claude Code는 `settings.json`에서 이 키를 무시합니다.

6603 

6604<h3 id="copyfullresponse">

6605 `copyFullResponse`

6606</h3>

6607 

6608응답에 코드 블록이 포함되어 있을 때 표시되는 선택기 없이 [`/copy`](/docs/ko/commands)가 매번 전체 응답을 복사하도록 합니다. 해당 선택기에서 **항상 전체 응답 복사**를 선택하면 이 키가 `true`로 설정됩니다. `/config`에 **선택기 건너뛰기**로 표시됩니다.

6609 

6610* **범위**: [`전역 설정`](#scopes)

6611* **유형**: Boolean

6612 * `true`: `/copy`가 선택기를 표시하지 않고 전체 응답을 복사합니다

6613 * `false`: 응답에 코드 블록이 포함되어 있을 때 `/copy`가 한 코드 블록 또는 전체 응답을 선택하는 선택기를 표시합니다

6614* **기본값**: `false`

6615 

6616```json ~/.claude.json theme={null}

6617{

6618 "copyFullResponse": true

6619}

6620```

6621 

6622Claude Code는 `settings.json`에서 이 키를 무시합니다.

6623 

6485<h3 id="copyonselect">6624<h3 id="copyonselect">

6486 `copyOnSelect`6625 `copyOnSelect`

6487</h3>6626</h3>


6502 6641 

6503Claude Code는 `settings.json`에서 이 키를 무시합니다.6642Claude Code는 `settings.json`에서 이 키를 무시합니다.

6504 6643 

6644<h3 id="defaulttoagentsview">

6645 `defaultToAgentsView`

6646</h3>

6647 

6648인수 없이 `claude`를 실행할 때 새 대화 대신 [에이전트 보기](/docs/ko/agent-view)를 엽니다. 에이전트 보기가 [꺼져 있지](#disableagentview) 않은 한 `/config`에 **기본적으로 에이전트 보기 열기**로 표시됩니다.

6649 

6650* **범위**: [`전역 설정`](#scopes)

6651* **유형**: Boolean

6652 * `true`: 인수 없는 `claude`가 에이전트 보기를 열며, 에이전트 보기가 [꺼져 있지](#disableagentview) 않은 경우입니다

6653 * `false`: 인수 없는 `claude`가 새 대화를 시작합니다

6654* **기본값**: `false`

6655 

6656```json ~/.claude.json theme={null}

6657{

6658 "defaultToAgentsView": true

6659}

6660```

6661 

6662Claude Code는 `settings.json`에서 이 키를 무시합니다.

6663 

6505<h3 id="difftool">6664<h3 id="difftool">

6506 `diffTool`6665 `diffTool`

6507</h3>6666</h3>


6556 6715 

6557Claude Code는 `settings.json`에서 이 키를 무시합니다.6716Claude Code는 `settings.json`에서 이 키를 무시합니다.

6558 6717 

6718<h3 id="leftarrowopensagents">

6719 `leftArrowOpensAgents`

6720</h3>

6721 

6722빈 프롬프트에서 `←`를 눌러 [세션을 백그라운드로 보내고 에이전트 보기를 엽니다](/docs/ko/agent-view#switch-sessions-without-leaving-the-terminal). 이 키를 `false`로 설정하여 단축키를 끕니다. 에이전트 보기를 사용할 수 있을 때 `/config`에 **← 에이전트 보기 열기**로 표시됩니다.

6723 

6724* **범위**: [`전역 설정`](#scopes)

6725* **유형**: Boolean

6726 * `true`: 터미널에서 시작한 세션의 빈 프롬프트에서 `←`를 누르면 세션을 백그라운드로 보내고 에이전트 보기를 엽니다

6727 * `false`: Claude Code가 단축키를 끕니다. [에이전트 보기에서 연결한](/docs/ko/agent-view#attach-to-a-session) 세션에서 빈 프롬프트의 `←`는 여전히 분리됩니다

6728* **기본값**: `true`

6729 

6730```json ~/.claude.json theme={null}

6731{

6732 "leftArrowOpensAgents": false

6733}

6734```

6735 

6736Claude Code는 `settings.json`에서 이 키를 무시합니다.

6737 

6559<h3 id="permissionexplainerenabled">6738<h3 id="permissionexplainerenabled">

6560 `permissionExplainerEnabled`6739 `permissionExplainerEnabled`

6561</h3>6740</h3>


6570* **유형**: Boolean6749* **유형**: Boolean

6571* **기본값**: `true`6750* **기본값**: `true`

6572 6751 

6752<h3 id="prstatusfooterenabled">

6753 `prStatusFooterEnabled`

6754</h3>

6755 

6756현재 브랜치의 열린 풀 요청 또는 병합 요청에 대한 배지를 프롬프트 바닥글에 표시하며, 색상이 지정된 밑줄이 [상태](/docs/ko/interactive-mode#pr-review-status)를 표시합니다. `/config`에 **PR 상태 바닥글 표시**로 표시됩니다.

6757 

6758* **범위**: [`전역 설정`](#scopes)

6759* **유형**: Boolean

6760 * `true`: 바닥글이 [PR 검토 상태](/docs/ko/interactive-mode#pr-review-status)의 조건에서 배지를 표시합니다

6761 * `false`: Claude Code가 바닥글의 풀 요청 및 병합 요청 확인을 건너뛰고 해당 배지를 표시하지 않습니다. [에이전트 보기에서 연결한](/docs/ko/agent-view#attach-to-a-session) 세션은 여전히 [연결된](/docs/ko/agent-view#pull-request-status) 풀 요청에 대한 일반 링크를 표시할 수 있습니다

6762* **기본값**: `true`

6763 

6764```json ~/.claude.json theme={null}

6765{

6766 "prStatusFooterEnabled": false

6767}

6768```

6769 

6770Claude Code는 `settings.json`에서 이 키를 무시합니다.

6771 

6573<h3 id="teammatedefaultmodel">6772<h3 id="teammatedefaultmodel">

6574 `teammateDefaultModel`6773 `teammateDefaultModel`

6575</h3>6774</h3>

setup.md +3 −3

Details

37 37 

38<Tip>38<Tip>

39 그래픽 인터페이스를 선호하시나요? [Desktop 앱](/docs/ko/desktop-quickstart)을 사용하면 터미널 없이 Claude Code를 사용할 수 있습니다. [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) 또는 [Linux](/docs/ko/desktop-linux)용으로 다운로드하세요.39 그래픽 인터페이스를 선호하시나요? [Desktop 앱](/docs/ko/desktop-quickstart)을 사용하면 터미널 없이 Claude Code를 사용할 수 있습니다. [macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs), [Windows](https://claude.com/download?utm_source=claude_code\&utm_medium=docs) 또는 [Linux](/docs/ko/desktop-linux)용으로 다운로드하세요.

40 

41 터미널이 처음이신가요? 단계별 지침은 [터미널 가이드](/docs/ko/terminal-guide)를 참조하세요.

42</Tip>40</Tip>

43 41 

44Claude Code를 설치하려면 다음 방법 중 하나를 사용하십시오:42Claude Code를 설치하려면 터미널을 열고 시스템에 맞는 명령을 실행하십시오. 이전에 터미널을 사용해본 적이 없다면 [터미널 가이드](/docs/ko/terminal-guide)에서 터미널을 열고 명령을 붙여넣는 방법을 확인할 수 있습니다.

45 43 

46<Tabs>44<Tabs>

47 <Tab title="기본 설치 (권장)">45 <Tab title="기본 설치 (권장)">


63 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd61 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

64 ```62 ```

65 63 

64 설치 프로그램이 완료되면 새 터미널 창을 열고 `claude --version`을 실행하십시오. 설치가 제대로 되었으면 버전 번호가 출력됩니다. 셸에서 `claude`를 찾을 수 없거나 인식되지 않는다고 표시되면 설치 디렉토리가 아직 PATH에 없는 것입니다. [PATH 수정](/docs/ko/troubleshoot-install#command-not-found-claude-after-installation)을 참조하십시오.

65 

66 `The token '&&' is not a valid statement separator` 오류가 표시되면 CMD가 아닌 PowerShell에 있는 것입니다. `'irm' is not recognized as an internal or external command` 오류가 표시되면 PowerShell이 아닌 CMD에 있는 것입니다. PowerShell에 있을 때는 프롬프트에 `PS C:\`가 표시되고, CMD에 있을 때는 `PS` 없이 `C:\`만 표시됩니다.66 `The token '&&' is not a valid statement separator` 오류가 표시되면 CMD가 아닌 PowerShell에 있는 것입니다. `'irm' is not recognized as an internal or external command` 오류가 표시되면 PowerShell이 아닌 CMD에 있는 것입니다. PowerShell에 있을 때는 프롬프트에 `PS C:\`가 표시되고, CMD에 있을 때는 `PS` 없이 `C:\`만 표시됩니다.

67 67 

68 설치 명령이 `syntax error near unexpected token '<'`, `403` 또는 다른 curl 오류로 실패하면 [설치 문제 해결](/docs/ko/troubleshoot-install#find-your-error)을 참조하여 오류를 수정 방법과 일치시키고 대체 설치 방법을 확인하십시오.68 설치 명령이 `syntax error near unexpected token '<'`, `403` 또는 다른 curl 오류로 실패하면 [설치 문제 해결](/docs/ko/troubleshoot-install#find-your-error)을 참조하여 오류를 수정 방법과 일치시키고 대체 설치 방법을 확인하십시오.

sub-agents.md +156 −150

Details

8 8 

9Subagent는 특정 유형의 작업을 처리하는 특화된 AI 어시스턴트입니다. 부작업이 검색 결과, 로그 또는 다시 참조하지 않을 파일 콘텐츠로 주 대화를 넘칠 때 하나를 사용하세요: subagent는 자신의 컨텍스트에서 해당 작업을 수행하고 요약만 반환합니다. 동일한 지침으로 동일한 종류의 워커를 계속 생성할 때 사용자 정의 subagent를 정의합니다.9Subagent는 특정 유형의 작업을 처리하는 특화된 AI 어시스턴트입니다. 부작업이 검색 결과, 로그 또는 다시 참조하지 않을 파일 콘텐츠로 주 대화를 넘칠 때 하나를 사용하세요: subagent는 자신의 컨텍스트에서 해당 작업을 수행하고 요약만 반환합니다. 동일한 지침으로 동일한 종류의 워커를 계속 생성할 때 사용자 정의 subagent를 정의합니다.

10 10 

11각 subagent는 자체 컨텍스트 윈도우에서 실행되며 사용자 정의 시스템 프롬프트, 특정 도구 액세스 및 독립적인 권한을 가집니다. Claude가 subagent의 설명과 일치하는 작업을 만나면 해당 subagent에 위임하고, subagent는 독립적으로 작동하여 결과를 반환합니다. 실제로 컨텍스트 절감을 확인하려면 [컨텍스트 윈도우 시각화](/docs/ko/context-window)에서 subagent가 자신의 별도 윈도우에서 연구를 처리하는 세션을 안내합니다.11각 subagent는 자체 컨텍스트 윈도우에서 실행되며 사용자 정의 시스템 프롬프트, 특정 도구 액세스 및 독립적인 권한을 가집니다. 또한 자신의 요청을 전송하며, 이는 주 대화와 동일한 [사용 제한](/docs/ko/costs#plan-usage-breakdown)으로 계산됩니다. Claude가 subagent의 설명과 일치하는 작업을 만나면 해당 subagent에 위임하고, subagent는 독립적으로 작동하여 결과를 반환합니다. 실제로 컨텍스트 절감을 확인하려면 [컨텍스트 윈도우 시각화](/docs/ko/context-window)에서 subagent가 자신의 별도 윈도우에서 연구를 처리하는 세션을 안내합니다.

12 12 

13<Note>13<Note>

14 Subagent는 단일 세션 내에서 작동합니다. 많은 독립적인 세션을 병렬로 실행하고 한 곳에서 모니터링하려면 [background agents](/docs/ko/agent-view)를 참조하세요. 서로 메시지를 전달하는 별도의 세션의 경우 [cross-session messaging](/docs/ko/cross-session-messaging)을 참조하세요. Claude가 생성하고 감독하는 조정된 세션 팀의 경우 [agent teams](/docs/ko/agent-teams)를 참조하세요.14 Subagent는 단일 세션 내에서 작동합니다. 많은 독립적인 세션을 병렬로 실행하고 한 곳에서 모니터링하려면 [background agents](/docs/ko/agent-view)를 참조하세요. 서로 메시지를 전달하는 별도의 세션의 경우 [cross-session messaging](/docs/ko/cross-session-messaging)을 참조하세요. Claude가 생성하고 감독하는 조정된 세션 팀의 경우 [agent teams](/docs/ko/agent-teams)를 참조하세요.


230 </Tab>230 </Tab>

231</Tabs>231</Tabs>

232 232 

233`--agents` 플래그는 `prompt` 필드와 이러한 [프론트매터](#supported-frontmatter-fields) 필드를 포함하는 JSON을 허용합니다: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd`, 및 `isolation`. 파일 기반 서브에이전트의 마크다운 본문과 동등한 시스템 프롬프트에 `prompt`를 사용하세요. `color`과 `experimental`은 여기서 허용되지 않으며 거부되지 않고 무시됩니다.233[비대화형 모드](/docs/ko/headless)에서, `--agents`는 명령줄에 전달하기에 너무 큰 정의를 보유하는 JSON 파일의 경로도 허용합니다. 예를 들어, `claude -p --agents ./agents.json "Review my changes"`는 해당 파일에서 정의를 읽습니다. 대화형 세션에서 Claude Code는 파일 경로를 거부합니다. 파일 형식은 Claude Code v2.1.281 이상이 필요합니다.

234 234 

235JSON의 각 최상위 키는 에이전트의 이름입니다. 이름을 `-`로 시작하지 마세요.235JSON의 각 최상위 키는 에이전트의 이름이며, 그 값은 해당 에이전트의 정의입니다. 이름을 `-`로 시작하지 마세요. 정의는 다음 필드를 사용합니다:

236 

237* **`prompt`**: 에이전트의 시스템 프롬프트. 파일 기반 서브에이전트의 마크다운 본문과 동등합니다. `prompt`는 비어 있을 수 있습니다. `--agent`로 세션의 에이전트로 빈 `prompt`와 `memory` 필드가 없는 에이전트를 선택하면, 세션의 시스템 프롬프트는 변경되지 않습니다. 빈 `prompt`는 Claude Code v2.1.281 이상이 필요합니다.

238* **[프론트매터 필드](#supported-frontmatter-fields)**: `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd`, 및 `isolation`.

239* **무시되는 필드**: `color`과 `experimental`은 여기서 허용되지 않으며 거부되지 않고 무시됩니다.

236 240 

237Claude Code가 로드할 수 없는 값으로 수행하는 작업, 그리고 해당 확인을 건너뛰는 플래그 및 환경 변수는 [`Invalid --agents configuration`](/docs/ko/errors#invalid-agents-configuration)을 참조하세요.241Claude Code가 로드할 수 없는 값으로 수행하는 작업, 그리고 해당 확인을 건너뛰는 플래그 및 환경 변수는 [`Invalid --agents configuration`](/docs/ko/errors#invalid-agents-configuration)을 참조하세요.

238 242 


587 권한 모드591 권한 모드

588</h4>592</h4>

589 593 

590`permissionMode`를 설정하여 서브에이전트가 실행되는 권한 모드를 선택합니다. 모드의 구성 값을 사용하므로 수동 모드는 `default`입니다. 설정하지 않으면, 서브에이전트는 주 대화의 모드를 상속합니다. 주 대화의 모드는 Pro, Max, 및 Team 플랜에서 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)로 시작하거나, 설정 또는 조직이 변경하지 않으면 시작합니다.594`permissionMode`를 설정하여 서브에이전트가 실행되는 권한 모드를 선택합니다. 모드의 구성 값을 사용하므로 수동 모드는 `default`입니다. 설정하지 않으면, 서브에이전트는 주 대화의 [권한 모드](/docs/ko/permission-modes)를 상속합니다.

591 595 

592주 대화의 권한 모드는 Claude Code가 설정한 값을 사용하는지 결정합니다:596주 대화의 권한 모드는 Claude Code가 설정한 값을 사용하는지 결정합니다:

593 597 


851[훅](/docs/ko/hooks)에서 전체 훅 구성 형식을 참조하세요.855[훅](/docs/ko/hooks)에서 전체 훅 구성 형식을 참조하세요.

852 856 

853<h2 id="work-with-subagents">857<h2 id="work-with-subagents">

854 Subagent 작업858 서브에이전트와 함께 작업하기

855</h2>859</h2>

856 860 

857<h3 id="understand-automatic-delegation">861<h3 id="understand-automatic-delegation">

858 자동 위임 이해862 자동 위임 이해하기

859</h3>863</h3>

860 864 

861Claude는 요청의 작업 설명, subagent 구성의 `description` 필드, 현재 컨텍스트를 기반으로 자동으로 작업을 위임합니다. 적극적인 위임을 장려하려면 subagent의 description 필드에 "use proactively"와 같은 구문을 포함합니다.865Claude는 요청의 작업 설명, 서브에이전트 구성의 `description` 필드, 그리고 현재 컨텍스트를 기반으로 작업을 자동으로 위임합니다. 사전 예방적 위임을 장려하려면 서브에이전트의 설명 필드에 "use proactively"와 같은 문구를 포함하십시오.

862 866 

863설명을 간결하게 유지합니다: Claude Code는 subagent의 결합된 설명이 [15,000토큰 제한](/docs/ko/errors#agent-descriptions-are-over-the-15000-token-limit)을 초과할 때 시작 경고를 표시하며, 여전히 모든 subagent를 로드합니다.867설명은 간결하게 유지하십시오. Claude Code는 서브에이전트의 결합된 설명이 [15,000토큰 제한](/docs/ko/errors#agent-descriptions-are-over-the-15000-token-limit)을 초과할 때 시작 경고를 표시하며, 모든 서브에이전트를 계속 로드합니다.

864 868 

865subagent가 [플러그인](/docs/ko/plugins/overview)에 포함되어 있으면 현실적인 프롬프트에서 Claude가 이를 얼마나 안정적으로 위임하는지 한 번에 하나씩 확인하는 대신 측정할 수 있습니다: [`claude plugin eval`](/docs/ko/plugin-evals)은 플러그인 포함 여부와 관계없이 각 프롬프트를 실행하고 결과를 점수 매깁니다.869서브에이전트가 [플러그인](/docs/ko/plugins/overview)에 포함되어 있다면, 한 번에 하나씩 확인하는 대신 현실적인 프롬프트에서 Claude가 얼마나 안정적으로 위임하는지 측정할 수 있습니다. [`claude plugin eval`](/docs/ko/plugin-evals)은 플러그인 포함 여부와 관계없이 각 프롬프트를 실행하고 결과를 점수 매깁니다.

866 870 

867<h3 id="invoke-subagents-explicitly">871<h3 id="invoke-subagents-explicitly">

868 Subagent를 명시적으로 호출872 서브에이전트 명시적으로 호출하기

869</h3>873</h3>

870 874 

871자동 위임이 충분하지 않을 때 subagent를 직접 요청할 수 있습니다. 일회성 제안에서 세션 전체 기본값으로 확대되는 세 가지 패턴이 있습니다:875자동 위임이 충분하지 않을 때, 서브에이전트를 직접 요청할 수 있습니다. 일회성 제안에서 세션 전체 기본값으로 확대되는 세 가지 패턴이 있습니다.

872 876 

873* **자연어**: 프롬프트에서 subagent 이름을 지정합니다. Claude가 위임할지 결정합니다877* **자연어**: 프롬프트에서 서브에이전트의 이름을 지정하면 Claude가 위임 여부를 결정합니다.

874* **@-mention**: 한 작업에 대해 subagent가 실행되도록 보장합니다878* **@-멘션**: 서브에이전트가 한 작업에 대해 실행되도록 보장합니다.

875* **세션 전체**: 전체 세션이 `--agent` 플래그 또는 `agent` 설정을 통해 해당 subagent의 시스템 프롬프트, 도구 제한 및 모델을 사용합니다879* **세션 전체**: 전체 세션이 `--agent` 플래그 또는 `agent` 설정을 통해 해당 서브에이전트의 시스템 프롬프트, 도구 제한, 모델을 사용합니다.

876 880 

877자연어의 경우 특별한 구문이 없습니다. Subagent 이름을 지정하면 Claude는 일반적으로 위임합니다:881자연어의 경우 특별한 구문이 없습니다. 서브에이전트의 이름을 지정하면 Claude는 일반적으로 위임합니다.

878 882 

879```text wrap theme={null}883```text wrap theme={null}

880Use the test-runner subagent to fix failing tests884test-runner 서브에이전트를 사용하여 실패한 테스트를 수정하세요

881Have the code-reviewer subagent look at my recent changes885code-reviewer 서브에이전트에게 최근 변경 사항을 검토하도록 하세요

882```886```

883 887 

884**Subagent를 @-mention합니다.** `@`를 입력하고 파일을 @-mention하는 것과 동일한 방식으로 typeahead에서 subagent를 선택합니다. 이렇게 하면 Claude가 선택하도록 하는 대신 특정 subagent가 실행되도록 보장합니다:888**서브에이전트를 @-멘션하십시오.** `@`를 입력하고 파일을 @-멘션하는 것과 같은 방식으로 드롭다운에서 서브에이전트를 선택합니다. 이렇게 하면 Claude가 선택하도록 하는 대신 특정 서브에이전트가 실행되도록 보장합니다.

885 889 

886```text wrap theme={null}890```text wrap theme={null}

887@"code-reviewer (agent)" look at the auth changes891@"code-reviewer (agent)" auth 변경 사항을 검토하세요

888```892```

889 893 

890전체 메시지는 여전히 Claude로 이동하며, Claude는 요청한 내용을 기반으로 subagent의 작업 프롬프트를 작성합니다. @-mention은 Claude가 호출하는 subagent를 제어하며, 받는 프롬프트는 제어하지 않습니다.894전체 메시지는 여전히 Claude로 이동하며, Claude는 요청한 내용을 기반으로 서브에이전트의 작업 프롬프트를 작성합니다. @-멘션은 Claude가 호출하는 서브에이전트를 제어하며, 수신하는 프롬프트는 제어하지 않습니다.

891 895 

892활성화된 [플러그인](/docs/ko/plugins/overview)에서 제공하는 Subagent는 typeahead에 `my-plugin:code-reviewer` 또는 플러그인이 [agents를 하위 폴더로 구성](#choose-the-subagent-scope)할 때 `my-plugin:review:security`와 같은 범위가 지정된 이름으로 나타납니다. 세션에서 현재 실행 중인 명명된 background subagent도 typeahead에 나타나며 이름 옆에 상태를 표시합니다.896활성화된 [플러그인](/docs/ko/plugins/overview)에서 제공하는 서브에이전트는 `my-plugin:code-reviewer` 또는 플러그인이 [서브폴더로 에이전트를 구성](#choose-the-subagent-scope)할 때 `my-plugin:review:security`와 같은 범위가 지정된 이름으로 드롭다운에 나타납니다. 세션에서 현재 실행 중인 명명된 백그라운드 서브에이전트도 드롭다운에 나타나며, 이름 옆에 상태를 표시합니다.

893 897 

894선택기를 사용하지 않고 수동으로 mention을 입력할 수도 있습니다: 로컬 subagent의 경우 `@agent-<name>`, 플러그인 subagent의 경우 범위가 지정된 이름 뒤에 `@agent-`를 입력합니다. 예를 들어 `@agent-my-plugin:code-reviewer`입니다. 이 형식을 입력하는 동안 typeahead는 에이전트가 아닌 파일 일치를 표시합니다. 에이전트 mention은 제출할 때 여전히 해결됩니다.898피커를 사용하지 않고 멘션을 수동으로 입력할 수도 있습니다. 로컬 서브에이전트의 경우 `@agent-<name>`, 플러그인 서브에이전트의 경우 `@agent-` 뒤에 범위가 지정된 이름을 입력합니다. 예를 들어 `@agent-my-plugin:code-reviewer`입니다. 이 형식을 입력하는 동안 드롭다운은 에이전트가 아닌 파일 일치를 표시합니다. 에이전트 멘션은 제출할 때 여전히 해결됩니다.

895 899 

896**전체 세션을 subagent로 실행합니다.** [`--agent <name>`](/docs/ko/cli-reference)을 전달하여 주 스레드 자체가 해당 subagent의 시스템 프롬프트, 도구 제한 및 모델을 취하는 세션을 시작합니다:900**전체 세션을 서브에이전트로 실행하십시오.** [`--agent <name>`](/docs/ko/cli-reference)을 전달하여 메인 스레드 자체가 해당 서브에이전트의 시스템 프롬프트, 도구 제한, 모델을 갖는 세션을 시작합니다.

897 901 

898```bash theme={null}902```bash theme={null}

899claude --agent code-reviewer903claude --agent code-reviewer

900```904```

901 905 

902Subagent의 시스템 프롬프트는 [`--system-prompt`](/docs/ko/cli-reference)와 동일한 방식으로 기본 Claude Code 시스템 프롬프트를 완전히 대체합니다. `CLAUDE.md` 파일 및 프로젝트 메모리는 여전히 일반적인 메시지 흐름을 통해 로드됩니다. 에이전트의 정의가 [`omitClaudeMd`](#supported-frontmatter-fields)를 설정하더라도 로드됩니다. 에이전트 이름은 시작 헤더에 `@<name>`으로 나타나므로 활성화되었는지 확인할 수 있습니다.906에이전트의 [프롬프트가 비어 있지 않으면](#choose-the-subagent-scope), 서브에이전트의 시스템 프롬프트는 [`--system-prompt`](/docs/ko/cli-reference)와 같은 방식으로 기본 Claude Code 시스템 프롬프트를 완전히 대체합니다. `CLAUDE.md` 파일과 프로젝트 메모리는 에이전트의 정의가 [`omitClaudeMd`](#supported-frontmatter-fields)를 설정하더라도 일반적인 메시지 흐름을 통해 계속 로드됩니다.

907 

908에이전트 이름은 시작 헤더에 `@<name>`으로 나타나므로 활성화되었는지 확인할 수 있습니다.

903 909 

904이것은 내장 및 사용자 정의 subagent에서 작동하며, 세션을 재개할 때 선택이 유지됩니다: Claude Code는 에이전트의 도구 제한 및 모델을 대화와 함께 복원합니다. 세션을 재개할 때 에이전트가 더 이상 존재하지 않으면 세션은 기본 도구로 계속되며 [에이전트 이름을 지정하는 경고](/docs/ko/errors#session-agent-no-longer-available)를 표시합니다. 시스템 프롬프트의 경우 [재개된 대화에서 시스템 프롬프트 플래그](/docs/ko/cli-reference#system-prompt-flags-in-resumed-conversations)를 참조합니다.910이는 기본 제공 및 사용자 정의 서브에이전트와 함께 작동하며, 세션을 재개할 때 선택이 유지됩니다. Claude Code는 대화를 재개할 때 에이전트의 도구 제한 및 모델을 복원합니다. 재개할 때 에이전트가 더 이상 존재하지 않으면 세션은 기본 도구로 계속되며 [에이전트의 이름을 지정하는 경고](/docs/ko/errors#session-agent-no-longer-available)를 표시합니다. 두 경우 모두 시스템 프롬프트는 [재개된 대화에서 시스템 프롬프트 플래그](/docs/ko/cli-reference#system-prompt-flags-in-resumed-conversations)를 참조하십시오.

905 911 

906플러그인 제공 subagent의 경우 에이전트 이름만 전달하면 Claude Code가 찾을 수 있습니다:912플러그인에서 제공하는 서브에이전트의 경우 에이전트 이름만 전달하면 Claude Code가 찾습니다.

907 913 

908```bash theme={null}914```bash theme={null}

909claude --agent security-reviewer915claude --agent security-reviewer

910```916```

911 917 

912여러 플러그인이 동일한 이름의 에이전트를 제공하는 경우 범위가 지정된 이름을 전달하여 구분합니다:918여러 플러그인이 같은 이름의 에이전트를 제공하는 경우 범위가 지정된 이름을 전달하여 구분합니다.

913 919 

914```bash theme={null}920```bash theme={null}

915claude --agent my-plugin:security-reviewer921claude --agent my-plugin:security-reviewer

916```922```

917 923 

918플러그인이 에이전트를 `agents/` 디렉토리의 하위 폴더에 배치하면 범위가 지정된 이름에 하위 폴더를 포함합니다. 예를 들어 `claude --agent my-plugin:review:security`입니다.924플러그인이 에이전트를 `agents/` 디렉토리의 서브폴더에 배치하는 경우 범위가 지정된 이름에 서브폴더를 포함합니다. 예를 들어 `claude --agent my-plugin:review:security`입니다.

919 925 

920프로젝트의 모든 세션에 대한 기본값으로 만들려면 `.claude/settings.json`에서 `agent`를 설정합니다:926프로젝트의 모든 세션에 대한 기본값으로 설정하려면 `.claude/settings.json`에서 `agent`를 설정합니다.

921 927 

922```json theme={null}928```json theme={null}

923{929{


925}931}

926```932```

927 933 

928CLI 플래그가 둘 다 있으면 설정을 재정의합니다.934둘 다 있으면 CLI 플래그가 설정을 재정의합니다.

929 935 

930<h3 id="run-subagents-in-foreground-or-background">936<h3 id="run-subagents-in-foreground-or-background">

931 Subagent를 foreground 또는 background에서 실행937 서브에이전트를 포그라운드 또는 백그라운드에서 실행하기

932</h3>938</h3>

933 939 

934Subagent는 foreground 또는 background에서 실행할 수 있습니다:940서브에이전트는 포그라운드 또는 백그라운드에서 실행할 수 있습니다.

935 941 

936* **Foreground subagent**는 완료될 때까지 주 대화를 차단합니다. 권한 프롬프트는 발생하는 대로 사용자에게 전달됩니다.942* **포그라운드 서브에이전트**는 완료될 때까지 메인 대화를 차단합니다. 권한 프롬프트는 나타나는 대로 전달됩니다.

937* **Background subagent**는 계속 작업하는 동안 동시에 실행됩니다. Background subagent가 권한이 필요한 도구 호출에 도달하면 Claude Code는 프롬프트를 주 세션에 표시하고 요청하는 subagent의 이름을 지정합니다. 승인하여 subagent를 계속하거나 Esc를 눌러 subagent를 중지하지 않고 해당 도구 호출을 거부합니다.943* **백그라운드 서브에이전트**는 계속 작업하는 동안 동시에 실행됩니다. 백그라운드 서브에이전트가 권한이 필요한 도구 호출에 도달하면 Claude Code는 메인 세션에서 프롬프트를 표시하고 요청하는 서브에이전트의 이름을 지정합니다. 승인하여 서브에이전트를 계속하거나 Esc를 눌러 해당 도구 호출 하나를 거부하되 서브에이전트는 중지하지 않습니다.

938 944 

939Claude가 Agent 도구로 생성하는 각 subagent에 대해 Claude Code는 적용되는 다음 경우 중 첫 번째에서 foreground 또는 background를 선택합니다:945Claude가 Agent 도구로 생성하는 각 서브에이전트에 대해 Claude Code는 적용되는 첫 번째 경우에서 포그라운드 또는 백그라운드를 선택합니다.

940 946 

941* 진행 중인 [agent team](/docs/ko/agent-teams#limitations) 팀원이 subagent를 생성한 경우 Claude Code는 foreground에서 실행합니다. Claude Code는 정의가 [`background: true`](#supported-frontmatter-fields)를 설정하는 팀원의 subagent를 생성하려고 할 때 오류로 거부합니다. [fork 모드](#turn-fork-mode-on-or-off)가 꺼져 있고 [background 작업을 끄지 않은](/docs/ko/env-vars) 경우 Claude Code는 팀원이 `run_in_background: true`를 설정할 때도 오류로 거부합니다.947* 진행 중인 [에이전트 팀](/docs/ko/agent-teams#limitations) 팀원이 서브에이전트를 생성한 경우 Claude Code는 포그라운드에서 실행합니다. Claude Code는 정의가 [`background: true`](#supported-frontmatter-fields)를 설정하는 팀원의 서브에이전트를 생성하기를 거부하고 오류를 표시합니다. [포크 모드](#turn-fork-mode-on-or-off)가 꺼져 있고 [백그라운드 작업을 끄지 않은](/docs/ko/env-vars) 경우 Claude Code는 팀원이 `run_in_background: true`를 설정할 때도 오류를 표시하며 거부합니다.

942* [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ko/env-vars)를 `1`로 설정한 경우 Claude Code는 모든 종류의 세션에서 그리고 fork 모드가 켜져 있는지 여부와 관계없이 foreground에서 subagent를 실행합니다.948* [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/ko/env-vars)를 `1`로 설정하면 Claude Code는 모든 종류의 세션과 포크 모드 여부와 관계없이 포그라운드에서 서브에이전트를 실행합니다.

943* [fork 모드](#turn-fork-mode-on-or-off)가 켜져 있는 경우 (대화형 세션에서 기본값), Claude Code는 background에서 subagent를 실행하며, fork 및 non-fork subagent 모두 실행되고 Claude는 foreground를 요청할 수 없습니다.949* [포크 모드](#turn-fork-mode-on-or-off)가 켜져 있으면(대화형 세션에서 기본값) Claude Code는 포크 및 비포크 서브에이전트 모두 백그라운드에서 실행하며, Claude는 포그라운드를 요청할 수 없습니다.

944* fork 모드가 꺼져 있는 경우 Claude는 기본적으로 background에서 subagent를 실행하고 계속하기 전에 결과가 필요할 때 foreground에서 실행합니다. Fork 모드는 `-p`를 사용한 [non-interactive 모드](/docs/ko/headless)에서 그리고 켜지 않으면 Agent SDK에서 꺼져 있습니다. 특정 subagent를 Claude가 결과를 원할 때도 background에 유지하려면 frontmatter [`background`](#supported-frontmatter-fields) 필드를 `true`로 설정합니다.950* 포크 모드가 꺼져 있으면 Claude는 기본적으로 서브에이전트를 백그라운드에서 실행하고 계속하기 전에 결과가 필요할 때 포그라운드에서 실행합니다. 포크 모드는 `-p`를 사용한 [비대화형 모드](/docs/ko/headless)와 Agent SDK에서 꺼져 있으며, 켜지 않으면 꺼져 있습니다. 특정 서브에이전트를 Claude가 결과를 원할 때도 백그라운드에 유지하려면 프론트매터 [`background`](#supported-frontmatter-fields) 필드를 `true`로 설정합니다.

945 951 

946`context: fork`를 가진 skill의 경우 Claude Code는 fork 모드가 켜져 있는지 여부와 관계없이 [subagent에서 skill 실행](/docs/ko/skills#run-skills-in-a-subagent)의 규칙을 따릅니다.952`context: fork`를 가진 스킬의 경우 Claude Code는 포크 모드 여부와 관계없이 [서브에이전트에서 스킬 실행](/docs/ko/skills#run-skills-in-a-subagent)의 규칙을 따릅니다.

947 953 

948Background subagent는 대화 fork를 제외하고 foreground subagent보다 [더 작은 내장 도구 세트](#available-tools)로 실행되며, [재개된](#resume-subagents) foreground subagent를 제외합니다.954백그라운드 서브에이전트는 대화 포크 및 [재개된](#resume-subagents) 포그라운드 서브에이전트를 제외하고 포그라운드 서브에이전트보다 [더 작은 기본 제공 도구 세트](#available-tools)로 실행됩니다.

949 955 

950Background subagent는 주 세션에서 모든 권한 프롬프트를 표시합니다. 해당 프롬프트 중 하나에 세션의 나머지 기간 동안 지속되는 선택 (예: 세션의 나머지 기간 동안 지속되는 부여)으로 답변하면 Claude Code는 주 대화를 포함한 전체 세션에 답변을 적용합니다.956백그라운드 서브에이전트는 메인 세션에서 모든 권한 프롬프트를 표시합니다. 해당 도구 호출을 초과하는 지속되는 선택(예: 세션의 나머지 기간 동안 지속되는 부여)으로 이러한 프롬프트 중 하나에 답하면 Claude Code는 메인 대화를 포함한 전체 세션에 답변을 적용합니다.

951 957 

952Background subagent는 background [Bash 또는 PowerShell 명령](/docs/ko/tools-reference#background-commands) [실행을 해당 턴의 끝을 지나 계속 실행](/docs/ko/interactive-mode#how-backgrounding-works)할 수 있습니다. 해당 명령이 끝나면 Claude Code는 subagent에 알림을 보냅니다.958백그라운드 서브에이전트는 백그라운드 [Bash 또는 PowerShell 명령](/docs/ko/tools-reference#background-commands)을 [해당 턴의 끝을 넘어 실행](/docs/ko/interactive-mode#how-backgrounding-works)할 수 있습니다. 해당 명령이 끝나면 Claude Code는 서브에이전트에 알림을 보냅니다.

953 959 

954Background subagent의 결과는 나중의 턴에서 Claude에 완료 알림으로 도달합니다. Claude는 subagent의 결과를 보고하기 전에 해당 알림을 기다리며, 먼저 진행 상황을 묻는 경우 subagent가 여전히 실행 중임을 보고합니다. v2.1.211 이전에는 Claude가 때때로 완료되지 않은 background subagent의 결과를 보고했습니다.960백그라운드 서브에이전트의 결과는 나중 턴에서 완료 알림으로 Claude에 도달합니다. Claude는 해당 알림을 기다린 후 서브에이전트의 결과를 보고하며, 먼저 진행 상황을 묻는 경우 서브에이전트가 여전히 실행 중임을 보고합니다. v2.1.211 이전에는 Claude가 아직 완료되지 않은 백그라운드 서브에이전트의 결과를 보고하기도 했습니다.

955 961 

956다음을 수행할 수도 있습니다:962또한 직접 조종할 수 있습니다.

957 963 

958* fork 모드가 꺼져 있는 경우 Claude에 작업을 background 또는 foreground에서 실행하도록 요청964* 포크 모드가 꺼져 있으면 Claude에게 작업을 백그라운드 또는 포그라운드에서 실행하도록 요청합니다.

959* **Ctrl+B**를 눌러 실행 중인 작업을 background로 이동965* **Ctrl+B**를 눌러 실행 중인 작업을 백그라운드로 이동합니다.

960 966 

961Claude Code는 subagent가 어떻게 종료되었는지에 따라 두 가지 방식으로 프롬프트 입력 아래의 subagent 패널에서 background subagent의 행을 지웁니다:967Claude Code는 서브에이전트가 어떻게 끝났는지에 따라 두 가지 방식으로 프롬프트 입력 아래의 서브에이전트 패널에서 백그라운드 서브에이전트의 행을 지웁니다.

962 968 

963* Subagent가 성공적으로 완료되면 Claude Code는 해당 행을 즉시 제거하고 [화면 읽기 모드](/docs/ko/accessibility)를 제외하고 30초 동안 바닥글에 `/tasks to see subagents`를 표시합니다. 이 30초 동안 [`/tasks`](/docs/ko/commands)를 실행하고 subagent에서 `Enter`를 눌러 해당 트랜스크립트를 엽니다. v2.1.232 이전에는 Claude Code가 실패한 행과 동일하게 완료 후 30초 동안 행을 유지했으며 바닥글 힌트를 표시하지 않았습니다.969* 서브에이전트가 성공적으로 완료되면 Claude Code는 행을 즉시 제거하고 [화면 읽기 모드](/docs/ko/accessibility)를 제외하고 30초 동안 바닥글에 `/tasks to see subagents`를 표시합니다. 이 30초 동안 [`/tasks`](/docs/ko/commands)를 실행하고 서브에이전트에서 `Enter`를 눌러 해당 기록을 엽니다. v2.1.232 이전에는 Claude Code가 실패한 것과 같은 방식으로 서브에이전트가 완료된 후 30초 동안 행을 유지했으며 바닥글 힌트를 표시하지 않았습니다.

964* Subagent가 실패하거나 중지하면 Claude Code는 30초 동안 행을 유지합니다. 행을 더 빨리 지우려면 행을 선택하고 `x`를 누릅니다.970* 서브에이전트가 실패하거나 중지하면 Claude Code는 30초 동안 행을 유지합니다. 행을 더 빨리 지우려면 선택하고 `x`를 누릅니다.

965 971 

966완료된 background subagent는 [`/tasks`](/docs/ko/commands)에 나열된 상태로 유지되며, 완료로 표시되고 실행 중인 작업 아래로 정렬되며, 바닥글 힌트와 동일한 30초 동안 유지됩니다. 세부 정보 보기는 subagent가 완료될 때 열린 상태로 유지됩니다. 실패하거나 중지한 subagent는 목록을 떠납니다. v2.1.208 이전에는 완료된 subagent가 완료되는 순간 목록을 떠났고 세부 정보 보기가 닫혔습니다.972완료된 백그라운드 서브에이전트는 [`/tasks`](/docs/ko/commands)에 나열된 상태로 유지되며, 완료로 표시되고 실행 중인 작업 아래에 정렬되며, 바닥글 힌트와 동일한 30초 동안 유지됩니다. 서브에이전트가 완료될 때 세부 정보 보기가 열린 상태로 유지됩니다. 실패하거나 중지한 서브에이전트는 목록을 떠납니다. v2.1.208 이전에는 완료된 서브에이전트가 완료되는 순간 목록을 떠났고 세부 정보 보기가 닫혔습니다.

967 973 

968<h3 id="subagent-names">974<h3 id="subagent-names">

969 Subagent 이름975 서브에이전트 이름

970</h3>976</h3>

971 977 

972Claude는 Agent 도구 호출에서 `name` 매개변수를 전달하여 subagent에 이름을 지정할 수 있으며, 먼저 사용자에게 묻지 않고 자체적으로 이름을 지정할 수 있습니다. 이름은 subagent를 주소 지정 가능하게 만듭니다: Claude는 완료 후 [이름으로 메시지를 보내거나 재개](#resume-subagents)할 수 있습니다.978Claude는 Agent 도구 호출에서 `name` 매개변수를 전달하여 서브에이전트에 이름을 지정할 수 있으며, 먼저 묻지 않고 자체적으로 이름을 지정할 수 있습니다. 이름은 서브에이전트를 주소 지정 가능하게 만듭니다. Claude는 완료 후 [이름으로 메시지를 보내거나 재개](#resume-subagents)할 수 있습니다.

973 979 

974[agent teams](/docs/ko/agent-teams)가 활성화된 대화형 세션에서 주 대화에서 `name`으로 Claude가 생성하는 subagent는 호출이 [fork](#fork-the-current-conversation)이거나 호출 자체에서 `isolation`을 전달하는 경우를 제외하고 팀원으로 시작됩니다. Subagent의 frontmatter의 `isolation` 값은 이를 방지하지 않으며 팀원은 주 세션의 작업 디렉토리에서 실행됩니다. [Claude가 agent team을 시작하는 방법](/docs/ko/agent-teams#how-claude-starts-agent-teams)을 참조합니다.980[에이전트 팀](/docs/ko/agent-teams)이 활성화된 대화형 세션에서 Claude가 메인 대화에서 `name`으로 생성하는 서브에이전트는 호출이 [포크](#fork-the-current-conversation)이거나 호출 자체에서 `isolation`을 전달하지 않으면 팀원으로 시작합니다. 서브에이전트의 프론트매터의 `isolation` 값은 이를 방지하지 않으며, 팀원은 메인 세션의 작업 디렉토리에서 실행됩니다. [Claude가 에이전트 팀을 시작하는 방법](/docs/ko/agent-teams#how-claude-starts-agent-teams)을 참조하십시오.

975 981 

976<h3 id="api-errors-in-subagents">982<h3 id="api-errors-in-subagents">

977 Subagent의 API 오류983 서브에이전트의 API 오류

978</h3>984</h3>

979 985 

980[subagent의 응답을 스트림 중간에 중단](/docs/ko/errors#the-response-above-may-be-incomplete)하는 것이 있고 부분 응답에 텍스트가 포함되지만 도구 호출이 없으면 Claude Code는 실행을 종료하는 대신 subagent에 계속하도록 프롬프트합니다. 이는 대화형 세션에서도 발생합니다. 실행은 해당 연속이 사용될 때까지만 오류에서 종료됩니다.986무언가가 [서브에이전트의 응답을 스트림 중간에 중단](/docs/ko/errors#the-response-above-may-be-incomplete)하고 부분 응답에 텍스트가 포함되지만 도구 호출이 없으면 Claude Code는 실행을 종료하는 대신 서브에이전트에 계속하도록 프롬프트합니다. 이는 대화형 세션에서도 발생합니다. 실행은 이러한 연속이 사용될 때만 오류에서 종료됩니다.

981 987 

982v2.1.199부터 API 오류 (예: 사용 제한 또는 반복된 서버 오류)로 인해 실행이 종료된 subagent는 오류 텍스트를 subagent의 결과인 것처럼 반환하는 대신 해당 실패를 Claude에 보고합니다. Claude가 받는 내용은 subagent가 실행된 위치에 따라 다릅니다:988v2.1.199부터 API 오류(예: 사용 제한 또는 반복된 서버 오류)로 인해 실행이 종료되는 서브에이전트는 오류 텍스트를 서브에이전트의 결과인 것처럼 반환하는 대신 해당 실패를 Claude에 다시 보고합니다. Claude가 수신하는 내용은 서브에이전트가 실행된 위치에 따라 다릅니다.

983 989 

984* **Foreground**: 속도 제한, 과부하 또는 서버 오류가 이미 텍스트 출력을 생성한 subagent를 중단하면 Agent 도구는 해당 부분 출력을 subagent가 중단되었으며 작업을 완료하지 못했다는 메모와 함께 반환합니다. 아무것도 생성하지 않았거나 유일한 출력이 도구 호출이었던 subagent는 [`Agent terminated early due to an API error`](/docs/ko/errors#agent-terminated-early-due-to-an-api-error)로 실패하고 오류 세부 정보가 뒤따릅니다. v2.1.199에서는 도구 호출만 있는 형태를 중단한 속도 제한, 과부하 또는 서버 오류가 중단 메모만 포함하는 빈 부분 결과를 반환했습니다.990* **포그라운드**: 속도 제한, 과부하 또는 서버 오류가 이미 텍스트 출력을 생성한 서브에이전트를 중단하면 Agent 도구는 해당 부분 출력을 서브에이전트가 중단되었으며 작업을 완료하지 못했다는 메모와 함께 반환합니다. 아무것도 생성하지 않았거나 유일한 출력이 도구 호출인 서브에이전트는 [`Agent terminated early due to an API error`](/docs/ko/errors#agent-terminated-early-due-to-an-api-error)로 실패하며, 그 뒤에 오류 세부 정보가 따릅니다. v2.1.199에서 도구 호출 전용 형태를 중단한 속도 제한, 과부하 또는 서버 오류는 중단 메모만 포함하는 빈 부분 결과를 반환했습니다.

985* **Background**: subagent는 실패로 표시되며 Claude가 종료될 때 받는 메시지는 API 오류의 이름을 지정하고 subagent의 마지막 출력을 포함하므로 부분 작업이 손실되지 않습니다.991* **백그라운드**: 서브에이전트는 실패로 표시되며 Claude가 종료될 때 수신하는 메시지는 API 오류의 이름을 지정하고 서브에이전트의 마지막 출력을 포함하므로 부분 작업이 손실되지 않습니다.

986 992 

987[fallback 모델 체인](/docs/ko/model-config#fallback-model-chains)을 구성하고 subagent가 체인이 다루는 실패 (예: 모델을 사용할 수 없음)를 만나면 Claude Code는 subagent를 요청을 수락하는 체인의 첫 번째 모델로 전환합니다. Subagent는 오류에서 종료되는 대신 계속 작동합니다.993[폴백 모델 체인](/docs/ko/model-config#fallback-model-chains)을 구성하고 서브에이전트가 체인이 다루는 실패(예: 모델을 사용할 수 없음)를 만나면 Claude Code는 서브에이전트를 요청을 수락하는 체인의 첫 번째 모델로 전환합니다. 서브에이전트는 오류에서 종료되는 대신 계속 작동합니다.

988 994 

989기본 API 오류가 해결되면 Claude에 작업을 다시 시도하거나 [subagent를 재개](#resume-subagents)하도록 요청합니다.995기본 API 오류가 해결되면 Claude에게 작업을 다시 시도하거나 [서브에이전트를 재개](#resume-subagents)하도록 요청합니다.

990 996 

991<h3 id="subagent-output-scanning">997<h3 id="subagent-output-scanning">

992 Subagent 출력 스캔998 서브에이전트 출력 스캔

993</h3>999</h3>

994 1000 

995Claude Code는 Claude가 읽기 전에 각 subagent의 최종 보고서를 스캔합니다. Subagent는 파일, 웹 페이지 또는 명령 출력을 읽었을 수 있으며 이를 검토하지 않았으며, 해당 소스의 텍스트는 주 대화를 목표로 하는 지시를 전달할 수 있습니다. 스캔은 아무것도 제거하거나 다시 표현하지 않습니다. 보고서에서 알 수 있는 두 가지 종류의 변경을 수행합니다:1001Claude Code는 Claude가 읽기 전에 각 서브에이전트의 최종 보고서를 스캔합니다. 서브에이전트는 파일, 웹 페이지 또는 명령 출력을 읽었을 수 있으며, 이러한 소스의 텍스트는 메인 대화를 대상으로 하는 지침을 포함할 수 있습니다. 스캔은 아무것도 제거하거나 다시 표현하지 않습니다. 보고서에서 알 수 있는 두 가지 종류의 변경을 만듭니다.

996 1002 

997* **백슬래시 삽입**: 스캔은 `<system-reminder>` 태그 또는 `Human:` 또는 `Assistant:`로 시작하는 줄과 같은 Claude Code 자신의 출력을 모방하는 텍스트에 백슬래시를 삽입하므로 모방이 대화의 일부로 잘못 인식되는 대신 일반 텍스트로 읽힙니다.1003* **백슬래시 삽입**: 스캔은 `<system-reminder>` 태그 또는 `Human:` 또는 `Assistant:`로 시작하는 줄과 같은 Claude Code 자체의 출력을 모방하는 텍스트에 백슬래시를 삽입하므로 모방이 대화의 일부로 잘못 인식되는 대신 일반 텍스트로 읽힙니다.

998* **마커 줄**: 스캔은 `<system-reminder>`와 같은 태그를 모방하거나 `bypassPermissions` 또는 `--dangerously-skip-permissions`와 같은 권한 설정을 언급할 때 `[harness: subagent output matched instruction-shaped pattern(s):`로 시작하는 줄을 앞에 붙입니다. 권한 설정 언급은 마커 줄을 받지만 텍스트 자체는 작성된 대로 유지됩니다.1004* **마커 줄**: 스캔은 `<system-reminder>`와 같은 태그를 모방하거나 `bypassPermissions` 또는 `--dangerously-skip-permissions`와 같은 권한 설정을 언급할 때 `[harness: subagent output matched instruction-shaped pattern(s):`로 시작하는 줄을 앞에 붙입니다. 권한 설정 언급은 마커 줄을 받지만 텍스트 자체는 작성된 대로 유지됩니다.

999 1005 

1000스캔은 콘텐츠가 악의적인지 판단하지 않으며, 보고서의 지시가 할 수 있는 것을 변경하지 않습니다: 보고서가 Claude를 만드는 도구 호출은 여전히 세션의 [권한 확인](/docs/ko/permissions) 및 [샌드박싱](/docs/ko/sandboxing)을 거칩니다. [subagent가 도달할 수 있는 것을 제한](#control-subagent-capabilities)하는 것을 대체하지 않습니다.1006스캔은 콘텐츠가 악의적인지 판단하지 않으며 보고서의 지침이 할 수 있는 일을 변경하지 않습니다. 보고서가 Claude를 만드는 도구 호출은 여전히 세션의 [권한 확인](/docs/ko/permissions) 및 [샌드박싱](/docs/ko/sandboxing)을 거칩니다. [서브에이전트가 도달할 수 있는 것을 제한](#control-subagent-capabilities)하는 것의 대체물이 아닙니다.

1001 1007 

1002Claude Code는 subagent 출력을 주 대화로 반환하는 보고서 아래에 헤더를 표시합니다. 헤더는 보고서 내의 지시 또는 승인 주장이 subagent의 말이며 사용자로부터 권한을 가지지 않음을 명시합니다.1008서브에이전트의 결과로 Claude에 반환되는 보고서는 서브에이전트 출력으로 표시하는 헤더 아래에도 도착합니다. 헤더는 보고서 내의 지침 또는 승인 주장이 서브에이전트의 말이며 사용자로부터 권한을 갖지 않음을 나타냅니다.

1003 1009 

1004[background subagent의 보고서](#run-subagents-in-foreground-or-background)는 완료 알림 내에 도달하며, 이는 사용자의 메시지가 아닌 자동화된 이벤트로 표시됩니다.1010[백그라운드 서브에이전트의 보고서](#run-subagents-in-foreground-or-background)는 자동화된 이벤트가 아닌 사용자로부터의 메시지로 표시되는 완료 알림 내에 도착합니다.

1005 1011 

1006<Note>1012<Note>

1007 Subagent 출력 스캔에는 Claude Code v2.1.210 이상이 필요합니다.1013 서브에이전트 출력 스캔에는 Claude Code v2.1.210 이상이 필요합니다.

1008</Note>1014</Note>

1009 1015 

1010<h3 id="common-patterns">1016<h3 id="common-patterns">


1012</h3>1018</h3>

1013 1019 

1014<h4 id="isolate-high-volume-operations">1020<h4 id="isolate-high-volume-operations">

1015 대량 작업 격리1021 대용량 작업 격리

1016</h4>1022</h4>

1017 1023 

1018Subagent의 가장 효과적인 사용 중 하나는 많은 양의 출력을 생성하는 작업을 격리하는 것입니다. 테스트 실행, 문서 가져오기 또는 로그 파일 처리는 상당한 컨텍스트를 소비할 수 있습니다. 이를 subagent에 위임하면 자세한 출력이 subagent의 컨텍스트에 유지되고 관련 요약만 주 대화로 반환됩니다.1024서브에이전트의 가장 효과적인 사용 중 하나는 대량의 출력을 생성하는 작업을 격리하는 것입니다. 테스트 실행, 문서 가져오기 또는 로그 파일 처리는 상당한 컨텍스트를 소비할 수 있습니다. 이를 서브에이전트에 위임하면 자세한 출력은 서브에이전트의 컨텍스트에 유지되고 관련 요약만 메인 대화로 반환됩니다.

1019 1025 

1020```text wrap theme={null}1026```text wrap theme={null}

1021Use a subagent to run the test suite and report only the failing tests with their error messages1027서브에이전트를 사용하여 테스트 스위트를 실행하고 실패한 테스트와 오류 메시지만 보고하세요

1022```1028```

1023 1029 

1024<h4 id="run-parallel-research">1030<h4 id="run-parallel-research">

1025 병렬 연구 실행1031 병렬 연구 실행

1026</h4>1032</h4>

1027 1033 

1028독립적인 조사의 경우 여러 subagent를 생성하여 동시에 작동하도록 합니다:1034독립적인 조사의 경우 여러 서브에이전트를 생성하여 동시에 작업하도록 합니다.

1029 1035 

1030```text wrap theme={null}1036```text wrap theme={null}

1031Research the authentication, database, and API modules in parallel using separate subagents1037별도의 서브에이전트를 사용하여 인증, 데이터베이스 및 API 모듈을 병렬로 연구하세요

1032```1038```

1033 1039 

1034각 subagent는 자신의 영역을 독립적으로 탐색한 다음 Claude가 결과를 종합합니다. 이것은 연구 경로가 서로 의존하지 않을 때 가장 잘 작동합니다.1040각 서브에이전트는 자신의 영역을 독립적으로 탐색한 다음 Claude가 결과를 종합합니다. 이는 연구 경로가 서로 의존하지 않을 때 가장 잘 작동합니다.

1035 1041 

1036<Warning>1042<Warning>

1037 Subagent가 완료되면 결과가 주 대화로 반환됩니다. 각각 자세한 결과를 반환하는 많은 subagent를 실행하면 상당한 컨텍스트를 소비할 수 있습니다.1043 서브에이전트가 완료되면 결과가 메인 대화로 반환됩니다. 각각 자세한 결과를 반환하는 많은 서브에이전트를 실행하면 상당한 컨텍스트를 소비할 수 있으며, 각 서브에이전트는 실행되는 동안 자신의 토큰을 소비합니다.

1038</Warning>1044</Warning>

1039 1045 

1040지속적인 병렬 작업이 필요하거나 하나의 컨텍스트 윈도우에 맞지 않는 작업의 경우 [별도 세션](/docs/ko/agents)에서 실행하고 Claude가 [세션 간에 결과를 전달](/docs/ko/cross-session-messaging)하도록 합니다.1046병렬로 계속 실행되어야 하거나 하나의 컨텍스트 윈도우에 맞지 않는 작업의 경우 [별도의 세션](/docs/ko/agents)에서 실행하고 Claude가 [세션 간에 결과를 전달](/docs/ko/cross-session-messaging)하도록 합니다.

1041 1047 

1042<h4 id="chain-subagents">1048<h4 id="chain-subagents">

1043 Subagent 체인1049 서브에이전트 체인

1044</h4>1050</h4>

1045 1051 

1046다단계 워크플로우의 경우 Claude에 subagent를 순차적으로 사용하도록 요청합니다. 각 subagent는 작업을 완료하고 결과를 Claude에 반환하고, Claude는 관련 컨텍스트를 다음 subagent에 전달합니다.1052다단계 워크플로우의 경우 Claude에게 서브에이전트를 순차적으로 사용하도록 요청합니다. 각 서브에이전트는 작업을 완료하고 결과를 Claude에 반환하며, Claude는 관련 컨텍스트를 다음 서브에이전트에 전달합니다.

1047 1053 

1048```text wrap theme={null}1054```text wrap theme={null}

1049Use the code-reviewer subagent to find performance issues, then use the optimizer subagent to fix them1055code-reviewer 서브에이전트를 사용하여 성능 문제를 찾은 다음 optimizer 서브에이전트를 사용하여 수정하세요

1050```1056```

1051 1057 

1052<h3 id="choose-between-subagents-and-main-conversation">1058<h3 id="choose-between-subagents-and-main-conversation">

1053 Subagent와 주 대화 중 선택1059 서브에이전트와 메인 대화 중 선택

1054</h3>1060</h3>

1055 1061 

1056**주 대화**를 사용하는 경우:1062**메인 대화**를 사용하는 경우:

1057 1063 

1058* 작업이 빈번한 왕복 또는 반복적인 개선이 필요한 경우1064* 작업에 빈번한 왕복 또는 반복적 개선이 필요합니다.

1059* 여러 단계가 상당한 컨텍스트를 공유하는 경우 (계획, 구현, 테스트)1065* 여러 단계가 계획, 구현, 테스트와 같은 상당한 컨텍스트를 공유합니다.

1060* 빠르고 대상이 지정된 변경을 수행하는 경우1066* 빠르고 대상이 지정된 변경을 수행하고 있습니다.

1061* 지연시간이 중요한 경우. [Fork](#fork-the-current-conversation)가 아닌 subagent는 새로 시작하고 컨텍스트를 수집하는 데 시간이 걸릴 수 있습니다1067* 지연 시간이 중요합니다. [포크](#fork-the-current-conversation)가 아닌 서브에이전트는 새로 시작하며 컨텍스트를 수집하는 데 시간이 걸릴 수 있습니다.

1062 1068 

1063**Subagent**를 사용하는 경우:1069**서브에이전트**를 사용하는 경우:

1064 1070 

1065* 작업이 주 컨텍스트에서 필요하지 않은 자세한 출력을 생성하는 경우1071* 작업이 메인 컨텍스트에 필요하지 않은 자세한 출력을 생성합니다.

1066* 특정 도구 제한 또는 권한을 적용하려는 경우1072* 특정 도구 제한 또는 권한을 적용하려고 합니다.

1067* 작업이 자체 포함되어 있고 요약을 반환할 수 있는 경우1073* 작업이 자체 포함되어 있으며 요약을 반환할 수 있습니다.

1068 1074 

1069격리된 subagent 컨텍스트가 아닌 주 대화 컨텍스트에서 실행되는 재사용 가능한 프롬프트 또는 워크플로우를 원할 때 [Skills](/docs/ko/skills)를 대신 고려합니다.1075메인 대화 컨텍스트가 아닌 격리된 서브에이전트 컨텍스트에서 실행되는 재사용 가능한 프롬프트 또는 워크플로우를 원할 때 [스킬](/docs/ko/skills)을 대신 고려하십시오.

1070 1076 

1071대화에 이미 있는 항목에 대한 빠른 질문의 경우 subagent 대신 [`/btw`](/docs/ko/interactive-mode#side-questions-with-%2Fbtw)를 사용합니다. 전체 컨텍스트를 보지만 도구 액세스가 없으며 답변은 기록에 추가되지 않습니다.1077대화에 이미 있는 것에 대한 질문의 경우 서브에이전트 대신 [`/btw`](/docs/ko/interactive-mode#side-questions-with-%2Fbtw)를 사용하십시오. 전체 컨텍스트를 보지만 도구 액세스가 없으며 답변이 기록에 추가되지 않습니다.

1072 1078 

1073<h3 id="let-subagents-spawn-their-own-subagents">1079<h3 id="let-subagents-spawn-their-own-subagents">

1074 Subagent가 자신의 subagent를 생성하도록 허용1080 서브에이전트가 자신의 서브에이전트를 생성하도록 허용

1075</h3>1081</h3>

1076 1082 

1077기본적으로 subagent는 주 대화 아래 최대 3개 계층까지 자신의 subagent를 생성할 수 있습니다. 깊이 제한에서 Claude Code는 [fork](#fork-the-current-conversation)를 제외한 모든 subagent에서 `Agent` 도구를 보류하므로 제한에서 subagent는 위임된 작업을 자체적으로 수행하고 하나의 요약을 반환합니다. 제한에서 fork는 상속된 도구 목록에서 `Agent`를 유지하지만 도구는 생성하는 대신 오류를 반환합니다.1083기본적으로 서브에이전트는 메인 대화 아래로 최대 3개 계층까지 자신의 서브에이전트를 생성할 수 있습니다. 깊이 제한에서 Claude Code는 [포크](#fork-the-current-conversation)를 제외한 모든 서브에이전트에서 `Agent` 도구를 보류하므로 제한에서 서브에이전트는 위임된 작업을 자체적으로 수행하고 하나의 요약을 반환합니다. 제한에서 포크는 상속된 도구 목록에서 `Agent`를 유지하지만 도구는 생성하는 대신 오류를 반환합니다.

1078 1084 

1079중첩된 subagent는 위임된 작업이 자체적으로 병렬 하위 작업으로 분할될 때 적합합니다. 예를 들어 각 발견에 대해 검증자를 발송하는 검토자 subagent를 사용하면 중간 출력이 주 대화에 도달하지 않습니다. 최상위 subagent의 요약만 사용자에게 반환됩니다. 대화형 세션에서 background subagent를 시작한 subagent는 결과를 받기 전에 기다립니다. [Non-interactive 모드](/docs/ko/headless) 및 Agent SDK에서 시작 subagent는 기다리지 않으므로 시작 subagent가 종료된 후 완료되는 중첩된 background subagent는 주 대화에 보고합니다.1085중첩된 서브에이전트는 자체적으로 병렬 부작업으로 분할되는 위임된 작업에 적합합니다. 예를 들어 검토자 서브에이전트가 발견 항목당 검증자를 발송합니다. 대화형 세션에서는 최상위 서브에이전트의 요약만 반환되고 중간 출력은 메인 대화 밖에 유지됩니다. 백그라운드 서브에이전트를 시작하는 서브에이전트는 완료되기 전에 결과를 기다립니다. [비대화형 모드](/docs/ko/headless) 및 Agent SDK에서 시작 서브에이전트는 기다리지 않으므로 시작자가 종료된 후 완료되는 중첩된 백그라운드 서브에이전트는 메인 대화에 대신 보고합니다.

1080 1086 

1081제한을 변경하려면 [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ko/env-vars)를 주 대화 아래에서 원하는 subagent 계층 수로 설정합니다. 예를 들어 [`settings.json`](/docs/ko/settings)의 이 항목은 중첩을 2개 계층으로 제한합니다:1087제한을 변경하려면 [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/ko/env-vars)를 메인 대화 아래에서 원하는 서브에이전트 계층 수로 설정합니다. 예를 들어 [`settings.json`](/docs/ko/settings)의 이 항목은 중첩을 2개 계층으로 제한합니다.

1082 1088 

1083```json theme={null}1089```json theme={null}

1084{1090{


1088}1094}

1089```1095```

1090 1096 

1091이 값을 사용하면 subagent는 자신의 두 번째 계층으로 위임할 수 있으며 해당 두 번째 계층은 추가로 위임할 수 없습니다. `1`로 설정하여 중첩을 끕니다.1097이 값을 사용하면 서브에이전트는 자신의 두 번째 계층으로 위임할 수 있으며 해당 두 번째 계층은 더 이상 위임할 수 없습니다. `1`로 설정하여 중첩을 끕니다.

1092 1098 

1093중첩된 subagent는 최상위 subagent와 동일한 방식으로 구성되며 동일한 [범위](#choose-the-subagent-scope)에서 해결됩니다. 한 subagent가 생성되지 않도록 하려면 (예: 읽기 전용으로 유지해야 하는 검토자) [`tools`](#available-tools) 목록에서 `Agent`를 생략하거나 `disallowedTools`에 추가합니다.1099중첩된 서브에이전트는 최상위 서브에이전트와 같은 방식으로 구성되며 동일한 [범위](#choose-the-subagent-scope)에서 해결됩니다. 한 서브에이전트(예: 읽기 전용으로 유지해야 하는 검토자)가 중첩이 켜져 있는 동안 생성되지 않도록 하려면 [`tools`](#available-tools) 목록에서 `Agent`를 생략하거나 `disallowedTools`에 추가합니다.

1094 1100 

1095Claude Code는 중첩된 subagent를 프롬프트 입력 아래의 subagent 패널에 트리로 표시하고 패널에서 여전히 자손을 가진 각 행을 `(+N)` 개수로 표시합니다. 행을 열면 해당 subagent의 형제 및 직접 자식이 `main`으로 돌아가는 경로와 함께 표시됩니다.1101터미널에서 Claude Code는 중첩된 서브에이전트를 프롬프트 입력 아래의 서브에이전트 패널에 트리로 표시하고 패널에서 여전히 자손이 있는 각 행을 `(+N)` 개수로 표시합니다. 행을 열어 해당 서브에이전트의 형제 및 직계 자식을 `main`으로 돌아가는 경로와 함께 봅니다.

1096 1102 

1097<Note>1103<Note>

1098 이전 버전은 다른 기본값을 사용했습니다:1104 이전 버전은 다른 기본값을 사용했습니다.

1099 1105 

1100 * **v2.1.172부터 v2.1.216**: subagent는 기본적으로 중첩될 수 있으며 최대 5개 계층 깊이까지 가능했으며 제한을 변경할 수 없었습니다.1106 * **v2.1.172부터 v2.1.216까지**: 서브에이전트는 기본적으로 최대 5개 계층 깊이까지 중첩될 수 있었으며 제한을 변경할 수 없었습니다.

1101 * **v2.1.217부터 v2.1.218**: 제한이 기본값 1로 설정되어 subagent가 제한을 높이지 않으면 자신의 subagent를 생성할 수 없었습니다. v2.1.219는 기본값을 3으로 올렸습니다.1107 * **v2.1.217부터 v2.1.218까지**: 제한이 기본값 1로 설정되어 있어 서브에이전트가 올리지 않으면 자신의 서브에이전트를 생성할 수 없었습니다. v2.1.219는 기본값을 3으로 올렸습니다.

1102</Note>1108</Note>

1103 1109 

1104<h3 id="concurrent-subagent-limit">1110<h3 id="concurrent-subagent-limit">

1105 동시 subagent 제한1111 동시 서브에이전트 제한

1106</h3>1112</h3>

1107 1113 

1108두 가지 제한이 subagent 사용을 제어하며 각각 자신의 변수를 가집니다: 이것은 너무 많은 subagent가 실행 중일 때 Claude가 더 많은 subagent를 생성하지 못하도록 하며 [깊이 제한](#let-subagents-spawn-their-own-subagents)은 subagent가 얼마나 깊게 중첩되는지를 제한합니다. 세션 동안 Claude가 생성할 수 있는 subagent의 총 수에는 제한이 없습니다.1114두 제한이 서브에이전트 사용을 제어하며, 각각 자신의 변수를 가집니다. 이 제한은 Claude가 너무 많은 서브에이전트가 실행되는 동안 더 많은 서브에이전트를 생성하지 못하도록 하며, [깊이 제한](#let-subagents-spawn-their-own-subagents)은 서브에이전트가 얼마나 깊게 중첩되는지를 제한합니다. 세션 동안 Claude가 생성할 수 있는 서브에이전트의 총 개수에는 제한이 없습니다.

1109 1115 

1110기본적으로 세션에서 20개의 subagent가 실행 중일 때 Agent 도구로 다른 subagent를 생성하려고 하면 `Concurrent subagent limit reached`로 실패하며 오류는 Claude에 재시도하지 않도록 알립니다. 실행 중인 개수가 제한 아래로 떨어지면 생성이 다시 성공합니다. 제한을 변경하려면 [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/ko/env-vars)를 양의 정수로 설정합니다. [ultracode](/docs/ko/model-config#adjust-effort-level)가 활성화된 세션은 면제됩니다: 제한이 적용되지 않습니다. Claude Code v2.1.217 이상이 필요합니다.1116기본적으로 20개의 서브에이전트가 세션에서 실행 중일 때 Agent 도구로 다른 서브에이전트를 생성하면 `Concurrent subagent limit reached`로 실패하며 오류는 Claude에 재시도하지 않도록 지시합니다. 실행 중인 개수가 제한 아래로 떨어지면 생성이 다시 성공합니다. 제한을 변경하려면 [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/ko/env-vars)를 양의 정수로 설정합니다. [ultracode](/docs/ko/model-config#adjust-effort-level)가 활성화된 세션은 면제됩니다. 제한이 적용되지 않습니다. Claude Code v2.1.217 이상이 필요합니다.

1111 1117 

1112제한은 Claude가 Agent 도구로 생성하는 subagent만 차단하지만 다른 실행은 동일한 슬롯을 차지합니다:1118제한은 Claude가 Agent 도구로 생성하는 서브에이전트만 차단하지만 다른 실행은 동일한 슬롯을 차지합니다.

1113 1119 

1114* [`/subtask`](#fork-the-current-conversation)로 시작하는 세션 내 fork는 실행 중일 때 슬롯을 차지하며 제한으로 차단되지 않습니다.1120* [`/subtask`](#fork-the-current-conversation)로 시작하는 세션 내 포크는 실행되는 동안 슬롯을 차지하며 제한에 의해 차단되지 않습니다.

1115* [완료된 subagent를 재개](#resume-subagents)하면 제한을 확인하지 않고 새로운 슬롯을 차지하므로 재개는 실행 중인 개수를 제한 이상으로 밀어낼 수 있습니다.1121* [서브에이전트를 재개](#resume-subagents)하면 이미 완료된 서브에이전트는 제한을 확인하지 않고 새 슬롯을 차지하므로 재개는 실행 중인 개수를 제한을 초과하여 밀어낼 수 있습니다.

1116 1122 

1117[workflow](/docs/ko/workflows) 에이전트 및 [agent team](/docs/ko/agent-teams) 팀원과 같은 다른 기능이 실행하는 에이전트는 대신 자신의 제한을 따릅니다.1123[워크플로우](/docs/ko/workflows) 에이전트 및 [에이전트 팀](/docs/ko/agent-teams) 팀원과 같은 다른 기능이 실행하는 에이전트는 대신 자신의 제한을 따릅니다.

1118 1124 

1119<h3 id="manage-subagent-context">1125<h3 id="manage-subagent-context">

1120 Subagent 컨텍스트 관리1126 서브에이전트 컨텍스트 관리

1121</h3>1127</h3>

1122 1128 

1123<h4 id="what-loads-at-startup">1129<h4 id="what-loads-at-startup">

1124 시작 시 로드되는 항목1130 시작 시 로드되는 것

1125</h4>1131</h4>

1126 1132 

1127각 subagent는 새로운 격리된 컨텍스트 윈도우로 시작합니다. 대화 기록, 이미 호출한 skills, 또는 Claude가 이미 읽은 파일을 보지 못합니다. Claude는 작업을 요약하는 위임 메시지를 작성하고 subagent는 여기서부터 작동합니다. 예외는 [fork](#fork-the-current-conversation)이며, 이는 새로 시작하는 대신 부모 대화를 상속합니다.1133각 서브에이전트는 새로운 격리된 컨텍스트 윈도우로 시작합니다. 대화 기록, 이미 호출한 스킬, 또는 Claude가 이미 읽은 파일을 보지 못합니다. Claude는 작업을 요약하는 위임 메시지를 작성하고 서브에이전트는 거기서부터 작동합니다. 예외는 부모 대화를 상속하는 [포크](#fork-the-current-conversation)입니다.

1128 1134 

1129비fork subagent의 초기 컨텍스트에는 다음이 포함됩니다:1135비포크 서브에이전트의 초기 컨텍스트에는 다음이 포함됩니다.

1130 1136 

1131* **시스템 프롬프트**: 에이전트 자신의 프롬프트 및 Claude Code가 추가하는 환경 세부 정보이며, 전체 Claude Code 시스템 프롬프트는 아닙니다. 사용자 정의 subagent는 [markdown body](#write-subagent-files) 또는 `prompt` 필드에서 정의합니다. 내장 에이전트는 미리 정의된 프롬프트를 가집니다.1137* **시스템 프롬프트**: 에이전트 자신의 프롬프트와 Claude Code가 추가하는 환경 세부 정보이며, Claude Code 시스템 프롬프트는 아닙니다. 사용자 정의 서브에이전트는 [마크다운 본문](#write-subagent-files) 또는 `prompt` 필드에서 정의합니다. 기본 제공 에이전트는 미리 정의된 프롬프트를 가집니다.

1132* **작업 메시지**: Claude가 작업을 넘길 때 작성하는 위임 프롬프트입니다.1138* **작업 메시지**: Claude가 작업을 넘길 때 작성하는 위임 프롬프트입니다.

1133* **CLAUDE.md 파일**: 주 대화가 로드하는 [CLAUDE.md 계층 구조](/docs/ko/memory#how-claude-md-files-load)의 모든 수준이며, `~/.claude/CLAUDE.md`, 프로젝트 규칙, `CLAUDE.local.md`, 관리되는 정책 파일 및 모든 [`AGENTS.md` 파일](/docs/ko/memory#agents-md)을 포함합니다. 내장 Explore 및 Plan 에이전트는 이를 건너뜁니다. 정의가 [`omitClaudeMd`](#supported-frontmatter-fields)를 설정하는 subagent는 관리되는 정책 파일만 로드하거나 정의가 [관리되는 설정](#choose-the-subagent-scope)에서 올 때 아무것도 로드하지 않습니다.1139* **CLAUDE.md 파일**: 메인 대화가 로드하는 [CLAUDE.md 계층 구조](/docs/ko/memory#how-claude-md-files-load)의 모든 수준(\~/.claude/CLAUDE.md, 프로젝트 규칙, CLAUDE.local.md, 관리되는 정책 파일, 그리고 프로젝트 지침으로 로드된 모든 [`AGENTS.md` 파일](/docs/ko/memory#agents-md)). 기본 제공 Explore 및 Plan 에이전트는 이를 건너뜁니다. 정의가 [`omitClaudeMd`](#supported-frontmatter-fields)를 설정하는 서브에이전트는 관리되는 정책 파일만 로드하거나 정의가 [관리되는 설정](#choose-the-subagent-scope)에서 올 때 아무것도 로드하지 않습니다.

1134* **Git 상태**: subagent가 시작될 때 Claude Code가 저장소에서 읽는 스냅샷입니다. Git 저장소 외부에서 또는 스냅샷이 꺼져 있을 때 없습니다. [`includeGitInstructions`](/docs/ko/settings-reference#includegitinstructions)를 참조합니다. Explore 및 Plan은 관계없이 이를 건너뜁니다.1140* **Git 상태**: 서브에이전트가 시작할 때 Claude Code가 저장소에서 읽는 스냅샷입니다. Git 저장소 외부에서는 없거나 스냅샷이 꺼져 있을 때마다 없습니다. [`includeGitInstructions`](/docs/ko/settings-reference#includegitinstructions)를 참조하십시오. Explore 및 Plan은 관계없이 건너뜁니다.

1135* **미리 로드된 skills**: 에이전트의 [`skills` 필드](#preload-skills-into-subagents)에 명명된 모든 skill의 전체 내용입니다. 내장 에이전트는 skills를 미리 로드하지 않습니다.1141* **미리 로드된 스킬**: 에이전트의 [`skills` 필드](#preload-skills-into-subagents)에 명명된 모든 스킬의 전체 콘텐츠입니다. 기본 제공 에이전트는 스킬을 미리 로드하지 않습니다.

1136* **형제 명단**: `main` 및 세션의 다른 모든 명명된 에이전트를 나열하는 시스템 알림이며, 각각은 [`SendMessage`](#resume-subagents)에 대한 유효한 `to` 값입니다. Claude Code v2.1.206 이상이 필요합니다. 명단은 subagent의 도구에 `SendMessage`가 포함되고 Claude가 생성할 때 이름을 지정했거나 [agent teams](/docs/ko/agent-teams) 팀원으로 실행되는 다른 에이전트가 하나 이상 있을 때만 나타납니다. 이는 subagent가 시작될 때 촬영한 스냅샷이므로 나중에 명명된 에이전트는 나타나지 않습니다.1142* **형제 명단**: `main` 및 세션의 다른 모든 명명된 에이전트를 나열하는 [시스템 알림](/docs/ko/glossary#system-reminder)이며, 각각은 [`SendMessage`](#resume-subagents)에 대한 유효한 `to` 값입니다. Claude Code v2.1.206 이상이 필요합니다. 명단은 서브에이전트의 도구에 `SendMessage`가 포함되고 최소한 다른 하나의 에이전트가 이름을 가질 때만 나타나며, Claude가 생성할 때 이름을 지정했거나 [에이전트 팀](/docs/ko/agent-teams) 팀원으로 실행되는지 여부입니다. 이는 서브에이전트가 시작할 때 찍은 스냅샷이므로 나중에 명명된 에이전트는 나타나지 않습니다.

1137 1143 

1138사용자, 프로젝트 및 로컬 CLAUDE.md 파일 없이 자신의 subagent를 시작하려면 frontmatter 또는 `--agents` JSON에서 [`omitClaudeMd: true`](#supported-frontmatter-fields)를 설정합니다.1144사용자, 프로젝트, 로컬 CLAUDE.md 파일 없이 자신의 서브에이전트 중 하나를 시작하려면 프론트매터 또는 `--agents` JSON에서 [`omitClaudeMd: true`](#supported-frontmatter-fields)를 설정합니다.

1139 1145 

1140주 대화는 여전히 이러한 subagent의 결과를 읽을 때 전체 CLAUDE.md를 가지므로 대부분의 규칙이 subagent 자체에 도달할 필요가 없습니다. 규칙이 필요한 경우 (예: "`vendor/` 디렉토리 무시"), subagent에 위임할 때 Claude에 제공하는 프롬프트에서 이를 다시 명시합니다.1146메인 대화는 이러한 서브에이전트의 결과를 읽을 때 여전히 전체 CLAUDE.md를 가지므로 대부분의 규칙이 서브에이전트 자체에 도달할 필요가 없습니다. 규칙이 필요한 경우(예: "`vendor/` 디렉토리 무시"), 위임할 때 Claude에 제공하는 프롬프트에서 다시 명시하십시오.

1141 1147 

1142git 상태를 받는 subagent를 변경할 수 없습니다. Explore 및 Plan만 이를 건너뜁니다.1148어떤 서브에이전트가 git 상태를 수신하는지 변경할 수 없습니다. Explore 및 Plan만 건너뜁니다.

1143 1149 

1144일부 주 대화 상태는 비fork subagent에 도달하지 않습니다:1150일부 메인 대화 상태는 비포크 서브에이전트에 도달하지 않습니다.

1145 1151 

1146* **출력 스타일**: subagent는 자신의 시스템 프롬프트를 실행하므로 [출력 스타일](/docs/ko/output-styles)은 응답을 형성하지 않습니다. [fork](#fork-the-current-conversation)의 경우는 예외입니다.1152* **출력 스타일**: 서브에이전트는 자신의 시스템 프롬프트를 실행하므로 [포크](#fork-the-current-conversation)를 제외하고 [출력 스타일](/docs/ko/output-styles)이 응답을 형성하지 않습니다.

1147* **자동 메모리**: 주 대화의 [자동 메모리](/docs/ko/memory#auto-memory)는 로드되지 않습니다. Subagent에 자신의 지속적인 메모리를 제공하려면 [`memory` 필드](#enable-persistent-memory)를 사용합니다.1153* **자동 메모리**: 메인 대화의 [자동 메모리](/docs/ko/memory#auto-memory)는 로드되지 않습니다. 서브에이전트에 자신의 지속적인 메모리를 제공하려면 [`memory` 필드](#enable-persistent-memory)를 사용합니다.

1148* **컨텍스트 윈도우 크기**: subagent의 컨텍스트 윈도우는 부모의 컨텍스트 윈도우가 아닌 자신의 모델로 크기가 조정됩니다. 더 작은 윈도우를 가진 모델로 위임하면 해당 subagent는 더 작은 윈도우를 받습니다.1154* **컨텍스트 윈도우 크기**: 서브에이전트의 컨텍스트 윈도우는 자신의 모델에 의해 크기가 조정되며, 부모의 모델이 아닙니다. 더 작은 윈도우를 가진 모델로 위임하면 해당 서브에이전트에 더 작은 윈도우를 제공합니다.

1149 1155 

1150<h4 id="resume-subagents">1156<h4 id="resume-subagents">

1151 Subagent 재개1157 서브에이전트 재개

1152</h4>1158</h4>

1153 1159 

1154각 subagent 호출은 이전 subagent를 계속하는 대신 새로운 인스턴스를 만듭니다. 처음부터 시작하는 대신 기존 subagent의 작업을 계속하려면 Claude에 재개하도록 요청합니다.1160각 서브에이전트 호출은 이전 호출을 계속하는 대신 새 인스턴스를 생성합니다. 기존 서브에이전트의 작업을 계속하려면 처음부터 시작하는 대신 Claude에게 재개하도록 요청합니다.

1155 1161 

1156재개된 subagent는 모든 이전 도구 호출, 결과 및 추론을 포함한 전체 대화 기록을 유지합니다. Subagent가 [자신의 background subagent를 생성](#let-subagents-spawn-their-own-subagents)한 경우 해당 기록은 실행 중일 때 전달한 결과를 포함합니다. Subagent는 새로 시작하는 대신 정확히 중단한 위치에서 계속됩니다.1162재개된 서브에이전트는 모든 이전 도구 호출, 결과, 추론을 포함한 전체 대화 기록을 유지합니다. 서브에이전트가 [자신의 백그라운드 서브에이전트](#let-subagents-spawn-their-own-subagents)를 생성한 경우 해당 기록에는 실행되는 동안 전달한 결과가 포함됩니다. 서브에이전트는 새로 시작하는 대신 정확히 중단한 위치에서 계속됩니다.

1157 1163 

1158* Subagent가 완료되면 Claude는 에이전트 ID를 받습니다.1164* 서브에이전트가 완료되면 Claude는 에이전트 ID를 수신합니다.

1159* 내장 Explore 및 Plan 에이전트는 일회성이며 에이전트 ID를 반환하지 않으므로 Claude는 재개할 수 없습니다. 작업을 계속해야 할 때는 `general-purpose` 또는 사용자 정의 subagent를 사용합니다.1165* 기본 제공 Explore 및 Plan 에이전트는 일회성이며 에이전트 ID를 반환하지 않으므로 Claude는 재개할 수 없습니다. 작업을 계속해야 할 때 `general-purpose` 또는 사용자 정의 서브에이전트를 사용합니다.

1160* Subagent가 [`maxTurns`](#supported-frontmatter-fields) 제한에서 중지되면 Claude Code는 반환된 출력을 부분으로 표시합니다. 에이전트 ID를 반환하는 subagent의 경우 Claude Code는 또한 결과에서 Claude가 중단한 위치에서 계속하도록 subagent에 메시지를 보낼 수 있음을 기록합니다.1166* 서브에이전트가 [`maxTurns`](#supported-frontmatter-fields) 제한에서 중지되면 Claude Code는 반환된 출력을 부분으로 표시합니다. 에이전트 ID를 반환하는 서브에이전트의 경우 Claude Code는 또한 Claude가 중단한 위치에서 계속하도록 서브에이전트에 메시지를 보낼 수 있음을 결과에 표시합니다.

1161 1167 

1162Claude는 `SendMessage` 도구를 에이전트의 ID 또는 이름을 `to` 필드로 사용하여 재개합니다. `SendMessage`는 [agent teams](/docs/ko/agent-teams)가 활성화되어야 하는 `shutdown_request` 및 `plan_approval_response`와 같은 구조화된 팀 프로토콜 메시지를 필요로 하지 않습니다. Subagent 및 팀원 이상으로 cross-session 메시징이 활성화된 세션에서 Claude는 동일한 도구를 사용하여 [다른 Claude Code 세션](/docs/ko/cross-session-messaging)에 메시지를 보낼 수 있으며, 이 머신 또는 [그 이상](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)에 있습니다.1168Claude는 에이전트의 ID 또는 이름을 `to` 필드로 하여 `SendMessage` 도구를 사용하여 재개합니다. `SendMessage`는 [에이전트 팀](/docs/ko/agent-teams)이 활성화되어야 하지 않습니다. `shutdown_request` 및 `plan_approval_response`와 같은 구조화된 팀 프로토콜 메시지만 필요합니다. 서브에이전트 및 팀원을 넘어 교차 세션 메시징이 활성화된 세션에서 Claude는 동일한 도구를 사용하여 [다른 Claude Code 세션](/docs/ko/cross-session-messaging)에 메시지를 보낼 수 있으며, 이 머신 또는 [그 이상](/docs/ko/cross-session-messaging#message-sessions-on-other-machines)입니다.

1163 1169 

1164Subagent를 재개하려면 Claude에 이전 작업을 계속하도록 요청합니다:1170서브에이전트를 재개하려면 Claude에게 이전 작업을 계속하도록 요청합니다.

1165 1171 

1166```text wrap theme={null}1172```text wrap theme={null}

1167Use the code-reviewer subagent to review the authentication module1173code-reviewer 서브에이전트를 사용하여 인증 모듈을 검토하세요

1168[Agent completes]1174[에이전트 완료]

1169 1175 

1170Continue that code review and now analyze the authorization logic1176해당 코드 검토를 계속하고 이제 권한 부여 논리를 분석하세요

1171[Claude resumes the subagent with full context from previous conversation]1177[Claude는 이전 대화의 전체 컨텍스트로 서브에이전트를 재개합니다]

1172```1178```

1173 1179 

1174Claude가 완료된 subagent에 `SendMessage` 도구로 메시지를 보낼 때 새로운 `Agent` 호출 없이 background에서 자동으로 재개됩니다. `TaskStop` 도구로 Claude가 중단한 subagent도 마찬가지입니다. 중단된 실행이 종료되면 재개됩니다. 재개된 실행은 [원래 실행이 워밍한 프롬프트 캐시](/docs/ko/prompt-caching#subagents-and-the-cache)를 계속 읽을 수 있으며 subagent가 처음 실행된 위치에서 [도구 세트](#run-subagents-in-foreground-or-background)를 유지합니다.1180Claude가 `SendMessage` 도구로 완료된 서브에이전트에 메시지를 보낼 때 서브에이전트는 새 `Agent` 호출 없이 백그라운드에서 재개됩니다. 동일한 사항이 Claude가 `TaskStop` 도구로 중지한 서브에이전트에 적용되며, 중지된 실행이 종료되면 적용됩니다. 재개된 실행은 서브에이전트가 처음 실행된 위치에서 [도구 세트](#run-subagents-in-foreground-or-background)를 유지하고 원본 실행이 워밍한 [프롬프트 캐시](/docs/ko/prompt-caching#subagents-and-the-cache)를 계속 읽을 수 있습니다.

1175 1181 

1176Subagent가 `SendMessage` 도구를 가지면 해당 메시지도 보낼 수 있습니다. 대화형 세션에서 재개된 에이전트는 주 대화가 아닌 재개한 subagent에 보고합니다. 해당 subagent는 결과를 받기 전에 완료를 기다립니다. Subagent가 이를 시작한 에이전트 (예: 자신의 런처)에 메시지를 보낼 때 Claude Code는 결과를 리디렉션하지 않고 해당 에이전트를 재개합니다.1182`SendMessage` 도구를 가진 서브에이전트는 해당 메시지도 보낼 수 있습니다. 대화형 세션에서 재개된 에이전트는 메인 대화가 아닌 재개한 서브에이전트에 다시 보고합니다. 해당 서브에이전트는 자신의 작업을 완료하기 전에 결과를 기다립니다. 서브에이전트가 자신이 보고하는 에이전트(예: 자신의 시작자)에 메시지를 보낼 때 Claude Code는 결과를 리디렉션하지 않고 해당 에이전트를 재개합니다.

1177 1183 

1178직접 중단한 subagent (예: `/tasks`에서 `x` 또는 SDK `stop_task` 요청)는 자동으로 재개되지 않습니다. Claude가 메시지를 보내면 메시지는 거부되고 Claude는 에이전트가 취소되었음을 알립니다.1184자신이 중지한 서브에이전트(`/tasks`에서 `x` 또는 SDK `stop_task` 요청)는 자동으로 재개되지 않습니다. Claude가 메시지를 보내면 메시지가 거부되고 Claude는 에이전트가 취소되었음을 알립니다.

1179 1185 

1180[subagent 패널의 해당 행이 여전히 있는 동안](#run-subagents-in-foreground-or-background) 해당 트랜스크립트에 입력하여 직접 재개할 수 있습니다. 그 후 Claude의 메시지가 다시 자동으로 재개할 수 있습니다.1186[해당 서브에이전트의 행이 여전히 서브에이전트 패널에 있는 동안](#run-subagents-in-foreground-or-background) 해당 기록에 입력하여 직접 재개할 수 있습니다. 그 후 Claude의 메시지는 다시 자동으로 재개할 수 있습니다.

1181 1187 

1182재개는 동일한 ID 아래에서 에이전트의 새로운 실행을 시작하므로 이미 실패했거나 완료된 subagent는 작업 목록 및 Agent SDK의 작업 이벤트에서 다시 실행 중으로 표시됩니다. v2.1.205 이전에는 재개된 실행이 작동하는 동안 이전의 실패했거나 완료된 상태를 계속 표시했습니다.1188재개는 동일한 ID 아래에서 에이전트의 새 실행을 시작하므로 이미 실패했거나 완료된 서브에이전트는 작업 목록 및 Agent SDK의 작업 이벤트에서 다시 실행 중으로 표시됩니다. v2.1.205 이전에는 재개된 실행이 작동하는 동안 이전 실패 또는 완료 상태를 계속 표시했습니다.

1183 1189 

1184v2.1.199부터 `SendMessage`는 이름이 여전히 대화에서 이전에 도달한 동일한 에이전트를 참조하는지 확인합니다. 더 새로운 에이전트가 이름을 가져간 경우 (예: 이름을 재사용한 다시 생성된 background 에이전트), Claude Code는 잘못된 에이전트에 전달하는 대신 전송을 거부하며 오류는 이름이 현재 도달하는 에이전트를 보고하므로 Claude가 재대상화할 수 있습니다. 여전히 실행 중인 이전 에이전트에 도달하려면 Claude는 생성 결과의 에이전트 ID로 주소를 지정합니다. 확인은 현재 대화로 범위가 지정되며 `/clear`에서 재설정됩니다.1190v2.1.199부터 `SendMessage`는 이름이 여전히 대화에서 이전에 도달한 동일한 에이전트를 참조하는지 확인합니다. 더 새로운 에이전트가 이름을 가져간 경우(예: 이름을 재사용한 재생성된 백그라운드 에이전트) Claude Code는 잘못된 에이전트에 전달하는 대신 전송을 거부하며 오류는 이름이 현재 도달하는 에이전트를 보고하므로 Claude가 재대상화할 수 있습니다. 여전히 실행 중인 이전 에이전트에 도달하려면 Claude는 생성할 때 수신한 에이전트 ID로 주소를 지정합니다. 확인은 현재 대화로 범위가 지정되고 `/clear`에서 재설정됩니다.

1185 1191 

1186v2.1.198부터 subagent는 이를 시작한 에이전트의 메시지를 일반적인 작업 지시로 취급하며, 중간 작업 과정 수정을 포함하고 자신의 권한 설정 내에서 작동합니다. 메시지를 보낸 사람과 관계없이 두 가지 제한이 여전히 유지됩니다: 어떤 에이전트의 메시지도 보류 중인 권한 프롬프트에 대한 승인으로 계산되지 않으며, 어떤 에이전트 메시지도 subagent의 권한 설정, `CLAUDE.md` 또는 구성을 변경할 수 없습니다. 권한 시스템 또는 자신의 메시지만 승인을 부여할 수 있습니다.1192v2.1.198부터 서브에이전트는 시작한 에이전트로부터의 메시지를 일반적인 작업 방향(중간 작업 과정 수정 포함)으로 취급하고 자신의 권한 설정 내에서 작동합니다. 두 제한은 여전히 누가 메시지를 보냈는지 관계없이 유지됩니다. 어떤 에이전트로부터의 메시지도 보류 중인 권한 프롬프트에 대한 승인으로 계산되지 않으며, 어떤 에이전트 메시지도 서브에이전트의 권한 설정, `CLAUDE.md`, 또는 구성을 변경할 수 없습니다. 권한 시스템 또는 자신의 메시지만 승인을 부여할 수 있습니다.

1187 1193 

1188에이전트 ID를 명시적으로 참조하려면 Claude에 ID를 요청할 수도 있으며, `~/.claude/projects/{project}/{sessionId}/subagents/`의 트랜스크립트 파일에서 ID를 찾을 수 있습니다. 각 트랜스크립트는 `agent-{agentId}.jsonl`로 저장됩니다.1194또한 Claude에게 에이전트 ID를 명시적으로 참조하려는 경우 요청하거나 `~/.claude/projects/{project}/{sessionId}/subagents/`의 기록 파일에서 ID를 찾을 수 있습니다. 각 기록은 `agent-{agentId}.jsonl`로 저장됩니다.

1189 1195 

1190Subagent 트랜스크립트는 주 대화와 독립적으로 유지됩니다:1196서브에이전트 기록은 메인 대화와 독립적으로 유지됩니다.

1191 1197 

1192* **주 대화 압축**: 주 대화가 압축될 때 subagent 트랜스크립트는 영향을 받지 않습니다. 별도 파일에 저장됩니다.1198* **메인 대화 압축**: 메인 대화가 압축될 때 서브에이전트 기록은 영향을 받지 않습니다. 별도의 파일에 저장됩니다.

1193* **세션 지속성**: Subagent 트랜스크립트는 세션 내에서 유지됩니다. 동일한 세션을 재개하여 Claude Code를 다시 시작한 후 [subagent를 재개](#resume-subagents)할 수 있습니다.1199* **세션 지속성**: 서브에이전트 기록은 세션 내에서 유지됩니다. Claude Code를 다시 시작하여 동일한 세션을 재개하면 [서브에이전트를 재개](#resume-subagents)할 수 있습니다.

1194* **자동 정리**: Claude Code는 `cleanupPeriodDays` 보존 기간 (기본값: 30일) 후 subagent 트랜스크립트를 삭제하며 [보존 스윕 규칙](/docs/ko/claude-directory#cleaned-up-automatically)을 따릅니다.1200* **자동 정리**: Claude Code는 `cleanupPeriodDays` 보존 기간(기본값 30일) 후 서브에이전트 기록을 삭제하며, [보존 스윕 규칙](/docs/ko/claude-directory#cleaned-up-automatically)을 따릅니다.

1195 1201 

1196<h4 id="auto-compaction">1202<h4 id="auto-compaction">

1197 자동 압축1203 자동 압축

1198</h4>1204</h4>

1199 1205 

1200Subagent는 주 대화와 동일한 논리를 사용하여 자동 압축을 지원합니다. 압축은 동일한 조건에서 트리거되며, `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`는 subagent에도 적용됩니다. 재정의가 적용되는 시기는 [환경 변수](/docs/ko/env-vars)를 참조하세요.1206서브에이전트는 메인 대화와 동일한 논리를 사용하여 자동 압축을 지원합니다. 압축은 동일한 조건에서 트리거되며 `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`는 서브에이전트에도 적용됩니다. 재정의가 적용되는 시기는 [환경 변수](/docs/ko/env-vars)를 참조하십시오.

1201 1207 

1202압축 이벤트는 subagent 트랜스크립트 파일에 기록됩니다:1208압축 이벤트는 서브에이전트 기록 파일에 기록됩니다.

1203 1209 

1204```json theme={null}1210```json theme={null}

1205{1211{

Details

339 ```339 ```

340</CodeGroup>340</CodeGroup>

341 341 

342<h2 id="cap-response-width-in-wide-terminals">

343 넓은 터미널에서 응답 너비 제한하기

344</h2>

345 

346넓은 터미널에서 Claude의 응답에 있는 각 줄의 문장이 창의 전체 너비로 표시됩니다. 대신 문장을 설정된 열 수에서 줄바꿈하려면 설정에서 [`maxProseWidth`](/docs/ko/settings-reference#maxprosewidth)를 설정하십시오.

347 

342<h2 id="paste-large-content">348<h2 id="paste-large-content">

343 대용량 콘텐츠 붙여넣기349 대용량 콘텐츠 붙여넣기

344</h2>350</h2>

Details

13사용자 정의 도구를 추가하려면 [MCP 서버](/docs/ko/mcp)를 연결합니다. 재사용 가능한 프롬프트 기반 워크플로우로 Claude를 확장하려면 [스킬](/docs/ko/skills)을 작성합니다. 이는 새 도구 항목을 추가하는 대신 기존 `Skill` 도구를 통해 실행됩니다.13사용자 정의 도구를 추가하려면 [MCP 서버](/docs/ko/mcp)를 연결합니다. 재사용 가능한 프롬프트 기반 워크플로우로 Claude를 확장하려면 [스킬](/docs/ko/skills)을 작성합니다. 이는 새 도구 항목을 추가하는 대신 기존 `Skill` 도구를 통해 실행됩니다.

14 14 

15<Info>15<Info>

16 Pro, Max 및 Team 플랜에서 Claude Code는 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 세션을 시작합니다. 여기서 분류기가 사용자 대신 이러한 프롬프트의 대부분을 결정합니다. `권한 필요` 열은 작업 디렉토리 내의 경로에 대해 [수동 모드](/docs/ko/permission-modes)에서 도구가 프롬프트하는지 여부를 보여줍니다. `Read`, `Grep` 및 `Glob`을 포함한 파일 액세스 도구는 아니오로 표시되지만 [작업 디렉토리 및 추가 디렉토리](/docs/ko/permissions#working-directories) 외부의 경로에 대해 여전히 프롬프트합니다. `Bash`는 예로 표시되지만 프롬프트 없이 기본 제공 [읽기 전용 명령](/docs/ko/permissions#read-only-commands) 세트를 실행합니다.16 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 분류기가 대부분의 권한 프롬프트를 사용자 대신 결정합니다. `권한 필요` 열은 작업 디렉토리 내의 경로에 대해 [수동 모드](/docs/ko/permission-modes)에서 도구가 프롬프트하는지 여부를 보여줍니다. `Read`, `Grep` 및 `Glob`을 포함한 파일 액세스 도구는 아니오로 표시되지만 [작업 디렉토리 및 추가 디렉토리](/docs/ko/permissions#working-directories) 외부의 경로에 대해 여전히 프롬프트합니다. `Bash`는 예로 표시되지만 프롬프트 없이 기본 제공 [읽기 전용 명령](/docs/ko/permissions#read-only-commands) 세트를 실행합니다.

17</Info>17</Info>

18 18 

19| 도구 | 설명 | 권한 필요 |19| 도구 | 설명 | 권한 필요 |


34| `Glob` | 패턴 매칭을 기반으로 파일을 찾습니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Glob 도구 동작](#glob-tool-behavior)을 참조하세요 | 아니오 |34| `Glob` | 패턴 매칭을 기반으로 파일을 찾습니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Glob 도구 동작](#glob-tool-behavior)을 참조하세요 | 아니오 |

35| `Grep` | 파일 내용에서 패턴을 검색합니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Grep 도구 동작](#grep-tool-behavior)을 참조하세요 | 아니오 |35| `Grep` | 파일 내용에서 패턴을 검색합니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Grep 도구 동작](#grep-tool-behavior)을 참조하세요 | 아니오 |

36| `ListAgents` | Claude가 `SendMessage`로 메시지를 보낼 수 있는 에이전트를 나열합니다. 세션의 서브에이전트, [에이전트 팀](/docs/ko/agent-teams) 팀원, 다른 로컬 Claude Code 세션, 그리고 이 세션이 [Remote Control](/docs/ko/remote-control)에 연결되어 있는 동안 [웹의 Claude Code](/docs/ko/claude-code-on-the-web) 세션 및 다른 머신의 Remote Control 세션입니다. `/list-agents` 명령을 지원합니다. [크로스 세션 메시징](/docs/ko/cross-session-messaging)을 참조하세요. Claude Code v2.1.224 이상이 필요하며 [크로스 세션 메시징이 활성화된](/docs/ko/cross-session-messaging#availability) 세션에만 나타납니다. 팀원 행 및 이 세션의 자체 이름을 보여주는 첫 번째 줄은 v2.1.239 이상이 필요합니다 | 아니오 |36| `ListAgents` | Claude가 `SendMessage`로 메시지를 보낼 수 있는 에이전트를 나열합니다. 세션의 서브에이전트, [에이전트 팀](/docs/ko/agent-teams) 팀원, 다른 로컬 Claude Code 세션, 그리고 이 세션이 [Remote Control](/docs/ko/remote-control)에 연결되어 있는 동안 [웹의 Claude Code](/docs/ko/claude-code-on-the-web) 세션 및 다른 머신의 Remote Control 세션입니다. `/list-agents` 명령을 지원합니다. [크로스 세션 메시징](/docs/ko/cross-session-messaging)을 참조하세요. Claude Code v2.1.224 이상이 필요하며 [크로스 세션 메시징이 활성화된](/docs/ko/cross-session-messaging#availability) 세션에만 나타납니다. 팀원 행 및 이 세션의 자체 이름을 보여주는 첫 번째 줄은 v2.1.239 이상이 필요합니다 | 아니오 |

37| `ListMcpResourcesTool` | 연결된 [MCP 서버](/docs/ko/mcp)에서 노출한 리소스를 나열합니다 | 아니오 |37| `ListMcpResourcesTool` | 연결된 [MCP 서버](/docs/ko/mcp)에서 노출한 리소스를 나열합니다. [MCP Apps UI 리소스](/docs/ko/mcp#reference-mcp-resources)는 제외합니다. 이는 호스트 애플리케이션이 렌더링할 페이지입니다 | 아니오 |

38| `LSP` | 언어 서버를 통한 코드 인텔리전스: 정의로 이동, 참조 찾기, 유형 오류 및 경고 보고. [LSP 도구 동작](#lsp-tool-behavior)을 참조하세요 | 아니오 |38| `LSP` | 언어 서버를 통한 코드 인텔리전스: 정의로 이동, 참조 찾기, 유형 오류 및 경고 보고. [LSP 도구 동작](#lsp-tool-behavior)을 참조하세요 | 아니오 |

39| `Monitor` | 백그라운드에서 명령을 실행하고 각 출력 줄을 Claude에게 다시 피드하므로 로그 항목, 파일 변경 또는 폴링된 상태에 대화 중에 반응할 수 있습니다. WebSocket을 열고 각 수신 메시지를 이벤트로 처리할 수도 있습니다. [Monitor 도구](#monitor-tool)를 참조하세요 | 예 |39| `Monitor` | 백그라운드에서 명령을 실행하고 각 출력 줄을 Claude에게 다시 피드하므로 로그 항목, 파일 변경 또는 폴링된 상태에 대화 중에 반응할 수 있습니다. WebSocket을 열고 각 수신 메시지를 이벤트로 처리할 수도 있습니다. [Monitor 도구](#monitor-tool)를 참조하세요 | 예 |

40| `NotebookEdit` | Jupyter 노트북 셀을 수정합니다. [NotebookEdit 도구 동작](#notebookedit-tool-behavior)을 참조하세요 | 예 |40| `NotebookEdit` | Jupyter 노트북 셀을 수정합니다. [NotebookEdit 도구 동작](#notebookedit-tool-behavior)을 참조하세요 | 예 |


47| `ScheduleWakeup` | [자체 페이스 `/loop`](/docs/ko/scheduled-tasks#let-claude-choose-the-interval)의 다음 반복을 다시 예약합니다. Claude는 각 반복이 끝날 때 이를 호출하여 다음 반복이 실행될 시기를 선택합니다. 1분에서 1시간 사이입니다. 직접 호출하지 않습니다. 루프를 대신 종료하려면 Claude는 `stop: true`로 호출하여 보류 중인 웨이크업을 취소합니다. `stop` 필드는 Claude Code v2.1.202 이상이 필요합니다. 보류 중인 웨이크업은 [Stop 훅 입력](/docs/ko/hooks#stop-input)의 `session_crons`에 나타납니다 | 아니오 |47| `ScheduleWakeup` | [자체 페이스 `/loop`](/docs/ko/scheduled-tasks#let-claude-choose-the-interval)의 다음 반복을 다시 예약합니다. Claude는 각 반복이 끝날 때 이를 호출하여 다음 반복이 실행될 시기를 선택합니다. 1분에서 1시간 사이입니다. 직접 호출하지 않습니다. 루프를 대신 종료하려면 Claude는 `stop: true`로 호출하여 보류 중인 웨이크업을 취소합니다. `stop` 필드는 Claude Code v2.1.202 이상이 필요합니다. 보류 중인 웨이크업은 [Stop 훅 입력](/docs/ko/hooks#stop-input)의 `session_crons`에 나타납니다 | 아니오 |

48| `SendFeedback` | Claude Code에 대한 피드백 보고서를 작성합니다. 제품 문제 또는 세션에서 Claude의 자체 동작을 다룹니다. 검토할 수 있도록 머신에서 대기열에 넣습니다. Claude Code는 초안을 보내도록 선택할 때까지 아무것도 보내지 않습니다. [SendFeedback 도구 동작](#sendfeedback-tool-behavior)을 참조하세요. Claude Code v2.1.238 이상이 필요합니다 | 아니오 |48| `SendFeedback` | Claude Code에 대한 피드백 보고서를 작성합니다. 제품 문제 또는 세션에서 Claude의 자체 동작을 다룹니다. 검토할 수 있도록 머신에서 대기열에 넣습니다. Claude Code는 초안을 보내도록 선택할 때까지 아무것도 보내지 않습니다. [SendFeedback 도구 동작](#sendfeedback-tool-behavior)을 참조하세요. Claude Code v2.1.238 이상이 필요합니다 | 아니오 |

49| `SendMessage` | 다른 에이전트에게 메시지를 보냅니다. [에이전트 팀](/docs/ko/agent-teams) 팀원, [에이전트 ID 또는 이름으로 재개하는](/docs/ko/sub-agents#resume-subagents) \[서브에이전트], 또는 다른 Claude Code 세션 중 하나입니다. 이 머신 또는 그 이상입니다. 다른 세션으로 메시징하려면 Claude Code v2.1.224 이상이 필요합니다. [크로스 세션 메시징](/docs/ko/cross-session-messaging)은 Claude가 도달할 수 있는 세션, [메시지가 도착할 때의 모습](/docs/ko/cross-session-messaging#what-a-message-looks-like), 및 [다른 세션이 유휴 상태가 될 때 Claude가 공지를 받는 방법](/docs/ko/cross-session-messaging#get-a-notice-when-another-session-goes-idle)을 다룹니다. Claude는 선택적 `summary` 입력을 포함할 수 있습니다. 일반적으로 5-10단어이며, Claude Code는 한 줄 미리보기로 표시합니다. Claude가 [일반 텍스트 메시지](/docs/ko/cross-session-messaging#limitations)에서 생략하면 Claude Code는 메시지의 첫 번째 줄을 요약으로 사용합니다. Claude Code는 200자보다 긴 요약을 줄임표로 자릅니다 | 아니오 |49| `SendMessage` | 다른 에이전트에게 메시지를 보냅니다. [에이전트 팀](/docs/ko/agent-teams) 팀원, [에이전트 ID 또는 이름으로 재개하는](/docs/ko/sub-agents#resume-subagents) \[서브에이전트], 또는 다른 Claude Code 세션 중 하나입니다. 이 머신 또는 그 이상입니다. 다른 세션으로 메시징하려면 Claude Code v2.1.224 이상이 필요합니다. [크로스 세션 메시징](/docs/ko/cross-session-messaging)은 Claude가 도달할 수 있는 세션, [메시지가 도착할 때의 모습](/docs/ko/cross-session-messaging#what-a-message-looks-like), 및 [다른 세션이 유휴 상태가 될 때 Claude가 공지를 받는 방법](/docs/ko/cross-session-messaging#get-a-notice-when-another-session-goes-idle)을 다룹니다. Claude는 선택적 `summary` 입력을 포함할 수 있습니다. 일반적으로 5-10단어이며, Claude Code는 한 줄 미리보기로 표시합니다. Claude가 [일반 텍스트 메시지](/docs/ko/cross-session-messaging#limitations)에서 생략하면 Claude Code는 메시지의 첫 번째 줄을 요약으로 사용합니다. Claude Code는 200자보다 긴 요약을 줄임표로 자릅니다 | 아니오 |

50| `SendUserFile` | 세션의 파일을 선택적 캡션과 함께 사용자에게 보냅니다. 생성된 보고서, 다이어그램, 스크린샷 또는 빌드된 아티팩트가 트랜스크립트에서만 언급되는 대신 장치에 도달합니다. v2.1.196부터 선택적 `display` 입력은 프레젠테이션을 제어합니다. `render`는 파일을 클라이언트에서 인라인으로 열고, `attach`는 다운로드 카드만 표시하며, 설정되지 않으면 클라이언트가 파일 유형으로 결정합니다. [Remote Control](/docs/ko/remote-control) 클라이언트가 연결되어 있거나 [웹의 Claude Code](/docs/ko/claude-code-on-the-web)와 같은 관리형 클라우드 환경에서 실행될 때 사용 가능합니다. 배달은 Anthropic 호스팅 인프라를 통해 실행되므로 도구는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 사용할 수 없습니다 | 아니오 |50| `SendUserFile` | 세션의 파일을 선택적 캡션과 함께 사용자에게 보냅니다. 생성된 보고서, 다이어그램, 스크린샷 또는 빌드된 아티팩트가 트랜스크립트에서만 언급되는 대신 장치에 도달합니다. v2.1.196부터 선택적 `display` 입력은 프레젠테이션을 제어합니다. `render`는 파일을 클라이언트에서 인라인으로 열고, `attach`는 다운로드 카드만 표시하며, 설정되지 않으면 클라이언트가 파일 유형으로 결정합니다. [Remote Control](/docs/ko/remote-control) 클라이언트가 연결되어 있거나 [웹의 Claude Code](/docs/ko/claude-code-on-the-web) 세션에서 사용 가능합니다. 배달은 Anthropic 호스팅 인프라를 통해 실행되므로 도구는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 사용할 수 없습니다 | 아니오 |

51| `ShareOnboardingGuide` | `ONBOARDING.md`를 업로드하고 팀원이 Claude Code에서 열 수 있는 공유 링크를 반환합니다. 가이드가 작성된 후 `/team-onboarding`에서 호출됩니다. claude.ai 구독자가 Pro, Max, Team 및 Enterprise 플랜에서 사용 가능합니다 | 예 |51| `ShareOnboardingGuide` | `ONBOARDING.md`를 업로드하고 팀원이 Claude Code에서 열 수 있는 공유 링크를 반환합니다. 가이드가 작성된 후 `/team-onboarding`에서 호출됩니다. claude.ai 구독자가 Pro, Max, Team 및 Enterprise 플랜에서 사용 가능합니다 | 예 |

52| `Skill` | 주 대화 내에서 [스킬](/docs/ko/skills#control-who-invokes-a-skill)을 실행합니다 | 예 |52| `Skill` | 주 대화 내에서 [스킬](/docs/ko/skills#control-who-invokes-a-skill)을 실행합니다 | 예 |

53| `SubagentHandback` | 서브에이전트의 최종 보고서를 해당 서브에이전트의 결과를 받는 대화에 전달합니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서만 제공되며, Agent 도구가 [포크](/docs/ko/sub-agents#fork-the-current-conversation) 이외의 로컬에서 실행하는 서브에이전트에만 제공되며, 터미널 CLI, IDE 확장, 클라우드 세션 및 Agent SDK에서 사용 가능합니다. 분류기는 보고서가 전달되기 전에 검토합니다. Claude Code v2.1.271 이상이 필요합니다 | 아니오 |53| `SubagentHandback` | 서브에이전트의 최종 보고서를 해당 서브에이전트의 결과를 받는 대화에 전달합니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서만 제공되며, Agent 도구가 [포크](/docs/ko/sub-agents#fork-the-current-conversation) 이외의 로컬에서 실행하는 서브에이전트에만 제공되며, 터미널 CLI, IDE 확장, 클라우드 세션 및 Agent SDK에서 사용 가능합니다. 분류기는 보고서가 전달되기 전에 검토합니다. Claude Code v2.1.271 이상이 필요합니다 | 아니오 |

Details

41| `running scripts is disabled on this system` 또는 `PSSecurityException` | [npm shim이 실행되도록 허용](#running-scripts-is-disabled-on-this-system) |41| `running scripts is disabled on this system` 또는 `PSSecurityException` | [npm shim이 실행되도록 허용](#running-scripts-is-disabled-on-this-system) |

42| `Error: claude native binary not installed` | [npm 설치 완료](#native-binary-not-found-after-npm-install) |42| `Error: claude native binary not installed` | [npm 설치 완료](#native-binary-not-found-after-npm-install) |

43| 업데이트 또는 재설치 중 `npm error code ENOTEMPTY` | [남은 패키지 디렉터리 제거](#npm-enotempty-during-update-or-reinstall) |43| 업데이트 또는 재설치 중 `npm error code ENOTEMPTY` | [남은 패키지 디렉터리 제거](#npm-enotempty-during-update-or-reinstall) |

44| Windows에서 설치 후 `'claude' is not recognized` | [`claude.exe`를 백업에서 복원](#claude-exe-missing-after-an-update-on-windows) |

44| Windows에서 설치 명령이 스크립트 텍스트를 인쇄하고 아무것도 설치되지 않음 | [전체 설치 명령 실행](#wrong-install-command-on-windows) |45| Windows에서 설치 명령이 스크립트 텍스트를 인쇄하고 아무것도 설치되지 않음 | [전체 설치 명령 실행](#wrong-install-command-on-windows) |

45| `App unavailable in region` | Claude Code는 귀국에서 사용할 수 없습니다. [지원되는 국가](https://www.anthropic.com/supported-countries)를 참조하세요. |46| `App unavailable in region` | Claude Code는 귀국에서 사용할 수 없습니다. [지원되는 국가](https://www.anthropic.com/supported-countries)를 참조하세요. |

46| `unable to get local issuer certificate` | [회사 CA 인증서 구성](#tls-or-ssl-connection-errors) |47| `unable to get local issuer certificate` | [회사 CA 인증서 구성](#tls-or-ssl-connection-errors) |

47| `OAuth error` 또는 `403 Forbidden` | [인증 수정](#login-and-authentication) |48| `OAuth error` 또는 `403 Forbidden` | [인증 수정](#login-and-authentication) |

49| `Claude Code access has not been granted for this account` | [Claude Code를 포함하는 역할 얻기](#claude-code-access-has-not-been-granted-for-this-account) |

48| 설정 중 `Unable to connect to Anthropic services` | 오류 참조에서 [Anthropic 서비스에 연결할 수 없음](/docs/ko/errors#unable-to-connect-to-anthropic-services)을 참조하세요 |50| 설정 중 `Unable to connect to Anthropic services` | 오류 참조에서 [Anthropic 서비스에 연결할 수 없음](/docs/ko/errors#unable-to-connect-to-anthropic-services)을 참조하세요 |

49| `Could not load the default credentials` 또는 `Could not load credentials from any providers` | [Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry 자격증명](#bedrock-agent-platform-or-foundry-credentials-not-loading) |51| `Could not load the default credentials` 또는 `Could not load credentials from any providers` | [Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry 자격증명](#bedrock-agent-platform-or-foundry-credentials-not-loading) |

50| `ChainedTokenCredential authentication failed` 또는 `CredentialUnavailableError` | [Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry 자격증명](#bedrock-agent-platform-or-foundry-credentials-not-loading) |52| `ChainedTokenCredential authentication failed` 또는 `CredentialUnavailableError` | [Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry 자격증명](#bedrock-agent-platform-or-foundry-credentials-not-loading) |


149 source ~/.bashrc151 source ~/.bashrc

150 ```152 ```

151 153 

154 macOS의 Bash의 경우 대신 `~/.bash_profile`에 줄을 추가하세요. macOS의 터미널은 Bash를 로그인 셸로 시작하며, 이는 `~/.bashrc`를 무시하고 존재하는 `~/.bash_profile`, `~/.bash_login` 또는 `~/.profile` 중 첫 번째만 읽습니다. 이미 `~/.bash_login` 또는 `~/.profile`이 있고 `~/.bash_profile`이 없으면 `~/.bash_profile`을 만드는 대신 해당 파일에 줄을 넣으세요:

155 

156 ```bash theme={null}

157 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile

158 source ~/.bash_profile

159 ```

160 

152 또는 터미널을 닫았다가 다시 여세요.161 또는 터미널을 닫았다가 다시 여세요.

153 162 

154 fish 또는 Nushell과 같은 다른 셸의 경우 셸의 자체 구성 구문을 사용하여 `~/.local/bin`을 PATH에 추가한 다음 터미널을 다시 시작하세요.163 fish 또는 Nushell과 같은 다른 셸의 경우 셸의 자체 구성 구문을 사용하여 `~/.local/bin`을 PATH에 추가한 다음 터미널을 다시 시작하세요.


593irm https://claude.ai/install.ps1 | iex602irm https://claude.ai/install.ps1 | iex

594```603```

595 604 

605<h3 id="claude-exe-missing-after-an-update-on-windows">

606 Windows에서 업데이트 후 `claude.exe` 누락

607</h3>

608 

609Claude Code가 Windows에서 업데이트된 직후 터미널이 `'claude' is not recognized`를 보고하면 `%USERPROFILE%\.local\bin`에 여전히 `claude.exe`가 포함되어 있는지 확인하세요. 해당 디렉토리가 PATH에 없으면 [PATH 수정](#command-not-found-claude-after-installation)을 참조하세요. Windows에서 업데이트하려면 Claude Code는 기존 `claude.exe`를 백업으로 옆으로 이름을 바꾸고 새 버전을 제자리에 이동합니다. 새 버전을 제자리에 이동하지 못하고 Claude Code가 백업을 다시 이름을 바꿀 수도 없으면 디렉토리는 백업을 유지하지만 `claude.exe`가 없습니다.

610 

611백업은 `claude.exe.old.` 다음에 숫자 타임스탬프가 오는 동일한 디렉토리의 파일입니다. PowerShell에서 다음을 실행하여 최신 백업을 `claude.exe`로 이름을 바꾸세요:

612 

613```powershell theme={null}

614Get-ChildItem "$env:USERPROFILE\.local\bin\claude.exe.old.*" | Sort-Object Name | Select-Object -Last 1 | Rename-Item -NewName claude.exe

615```

616 

617그런 다음 `claude --version`을 실행하여 수정을 확인하세요. 복원된 `claude.exe`는 버전 번호를 인쇄합니다.

618 

619`claude.exe.old.*` 파일이 없거나 이름 바꾸기 후에도 `claude`가 여전히 실패하면 대신 다시 설치하세요:

620 

621```powershell theme={null}

622irm https://claude.ai/install.ps1 | iex

623```

624 

625v2.1.281 이전에는 Claude Code가 `claude.exe`가 여전히 누락된 동안 백업을 삭제할 수 있었습니다.

626 

596<h3 id="install-killed-on-low-memory-linux-servers">627<h3 id="install-killed-on-low-memory-linux-servers">

597 저메모리 Linux 서버에서 설치 중단628 저메모리 Linux 서버에서 설치 중단

598</h3>629</h3>


992* **Anthropic Console 사용자**: 계정에 "Claude Code" 또는 "Developer" 역할이 있는지 확인. 관리자는 Anthropic Console의 설정 → 멤버에서 이를 할당합니다.1023* **Anthropic Console 사용자**: 계정에 "Claude Code" 또는 "Developer" 역할이 있는지 확인. 관리자는 Anthropic Console의 설정 → 멤버에서 이를 할당합니다.

993* **프록시 뒤에 있음**: 회사 프록시가 API 요청을 방해할 수 있습니다. 프록시 설정은 [네트워크 구성](/docs/ko/network-config)을 참조하세요.1024* **프록시 뒤에 있음**: 회사 프록시가 API 요청을 방해할 수 있습니다. 프록시 설정은 [네트워크 구성](/docs/ko/network-config)을 참조하세요.

994 1025 

1026<h3 id="claude-code-access-has-not-been-granted-for-this-account">

1027 Claude Code 액세스가 이 계정에 대해 부여되지 않음

1028</h3>

1029 

1030Claude Code에서 로그인한 후 로그인 페이지에 `Authorization failed`와 함께 `Claude Code access has not been granted for this account. Contact your administrator.` 메시지가 표시되면 Claude Enterprise 조직이 역할을 Custom으로 설정했으며 그룹에 할당된 [사용자 정의 역할](https://support.claude.com/en/articles/13930452) 중 Claude Code를 부여하는 역할이 없습니다. Custom 역할에서는 해당 사용자 정의 역할에서만 액세스 권한을 얻으므로 Claude Code에서 변경하는 것은 이 오류를 해결하지 못합니다.

1031 

1032액세스 권한을 얻으려면:

1033 

10341. Claude 조직의 Owner에게 Claude Code 액세스를 부여하는 사용자 정의 역할을 그룹 중 하나에 할당하거나 역할을 Custom에서 User와 같은 표준 역할로 변경하도록 요청하세요. Owner는 조직의 [역할 설정](https://claude.ai/admin-settings/roles)에서 역할을 관리합니다.

10352. Owner가 변경한 후 `claude`를 실행하고 다시 로그인하세요.

1036 

995<h3 id="this-organization-has-been-disabled-with-an-active-subscription">1037<h3 id="this-organization-has-been-disabled-with-an-active-subscription">

996 이 조직은 활성 구독으로 비활성화되었습니다1038 이 조직은 활성 구독으로 비활성화되었습니다

997</h3>1039</h3>

Details

17| 세션이 자동 모드에서 시작되었거나 Claude가 묻지 않고 파일을 편집하고 명령을 실행함 | [세션이 시작되는 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in) |17| 세션이 자동 모드에서 시작되었거나 Claude가 묻지 않고 파일을 편집하고 명령을 실행함 | [세션이 시작되는 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in) |

18| `API Error: 5xx`, `529 Overloaded`, `429`, 요청 검증 오류 | [오류 참조](/docs/ko/errors) |18| `API Error: 5xx`, `529 Overloaded`, `429`, 요청 검증 오류 | [오류 참조](/docs/ko/errors) |

19| `model not found` 또는 `you may not have access to it` | [오류 참조](/docs/ko/errors#theres-an-issue-with-the-selected-model) |19| `model not found` 또는 `you may not have access to it` | [오류 참조](/docs/ko/errors#theres-an-issue-with-the-selected-model) |

20| Claude가 실행하는 명령이 `Your disk quota is full`, `is full (ENOSPC)` 또는 `Command output was lost`로 실패함 | [오류 참조](/docs/ko/errors#disk-quota-or-temp-filesystem-is-full) |

20| VS Code 확장이 Claude에 연결되지 않거나 감지하지 못함 | [VS Code 통합](/docs/ko/vs-code#fix-common-issues) |21| VS Code 확장이 Claude에 연결되지 않거나 감지하지 못함 | [VS Code 통합](/docs/ko/vs-code#fix-common-issues) |

21| VS Code 또는 SDK 앱에서 `Claude Code process exited with code 1` | [오류 참조](/docs/ko/errors#claude-code-process-exited-with-code-n) |22| VS Code 또는 SDK 앱에서 `Claude Code process exited with code 1` | [오류 참조](/docs/ko/errors#claude-code-process-exited-with-code-n) |

22| JetBrains 플러그인 또는 IDE가 감지되지 않음 | [JetBrains 통합](/docs/ko/jetbrains#troubleshooting) |23| JetBrains 플러그인 또는 IDE가 감지되지 않음 | [JetBrains 통합](/docs/ko/jetbrains#troubleshooting) |

Details

30 음성 받아쓰기 활성화30 음성 받아쓰기 활성화

31</h2>31</h2>

32 32 

33`/voice`를 실행하여 받아쓰기를 활성화합니다. 처음 활성화할 때 Claude Code는 마이크 확인을 실행합니다. macOS에서는 터미널에 대한 시스템 마이크 권한 프롬프트를 트리거합니다(이전에 부여되지 않은 경우).33`/voice`를 실행하여 받아쓰기를 활성화합니다. 활성화하면 Claude Code는 마이크 확인을 실행합니다. macOS에서는 터미널에 대한 시스템 마이크 권한 프롬프트를 트리거합니다(이전에 부여되지 않은 경우).

34 34 

35```35```

36/voice36/voice


190* **Linux에서 `Voice mode requires SoX for audio recording`**: 네이티브 오디오 모듈을 로드할 수 없고 폴백이 설치되지 않았습니다. 오류 메시지에 표시된 명령으로 SoX를 설치하세요. 예: `sudo apt-get install sox`.190* **Linux에서 `Voice mode requires SoX for audio recording`**: 네이티브 오디오 모듈을 로드할 수 없고 폴백이 설치되지 않았습니다. 오류 메시지에 표시된 명령으로 SoX를 설치하세요. 예: `sudo apt-get install sox`.

191* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX가 설치되어 있지만 호스트에 오디오 캡처 장치가 없습니다. 예를 들어 헤드리스 서버 또는 컨테이너입니다. 마이크가 있는 머신에서 Claude Code를 실행하세요. v2.1.195부터 Linux의 Claude Code는 이 상황에서 이 메시지를 보고합니다. 이전 버전은 SoX가 이미 설치되어 있어도 설치하도록 요청했습니다.191* **`Voice mode requires a microphone, but SoX could not open an audio capture device`**: SoX가 설치되어 있지만 호스트에 오디오 캡처 장치가 없습니다. 예를 들어 헤드리스 서버 또는 컨테이너입니다. 마이크가 있는 머신에서 Claude Code를 실행하세요. v2.1.195부터 Linux의 Claude Code는 이 상황에서 이 메시지를 보고합니다. 이전 버전은 SoX가 이미 설치되어 있어도 설치하도록 요청했습니다.

192* **`Voice mode could not find a working audio recorder in WSL`**: WSLg는 ALSA 장치가 아닌 PulseAudio를 통해 오디오를 라우팅하므로 SoX는 PulseAudio 백엔드가 명시적으로 설치되어야 합니다. `sudo apt install sox libsox-fmt-pulse`를 실행하세요. `sox`만 설치하면 ALSA 백엔드가 함께 설치되는데, WSL에서는 `/dev/snd` 장치가 없기 때문에 녹음할 수 없습니다.192* **`Voice mode could not find a working audio recorder in WSL`**: WSLg는 ALSA 장치가 아닌 PulseAudio를 통해 오디오를 라우팅하므로 SoX는 PulseAudio 백엔드가 명시적으로 설치되어야 합니다. `sudo apt install sox libsox-fmt-pulse`를 실행하세요. `sox`만 설치하면 ALSA 백엔드가 함께 설치되는데, WSL에서는 `/dev/snd` 장치가 없기 때문에 녹음할 수 없습니다.

193* **`Voice input is failing repeatedly and has been paused`**: 음성 받아쓰기가 10초 이내에 3번의 캡처 실패를 겪었습니다. Claude Code는 첫 번째 실패 이후 10초가 경과할 때까지 받아쓰기를 일시 중지합니다. 마이크가 시작되지 않거나 레코더가 시작되었다가 오디오를 생성하지 않고 중지되는지 여부에 관계없이 실패가 계산됩니다. 이는 일반적으로 이 호스트의 마이크 또는 오디오 스택이 오디오를 캡처할 수 없음을 의미합니다. 예를 들어 헤드리스 서버, 오디오 패스스루가 없는 원격 셸 또는 거부된 마이크 권한이 있습니다. 작동하는 입력 장치를 확인하고 위의 항목에서 근본 원인을 해결한 다음 음성을 다시 트리거하세요. v2.1.202 이전에는 시작 실패만 일시 중지로 계산되었습니다.193* **`Voice input is failing repeatedly and has been paused`**: 음성 받아쓰기가 10초 이내에 3번의 실패를 겪었습니다. Claude Code는 첫 번째 실패 이후 10초가 경과할 때까지 받아쓰기를 일시 중지합니다. 이는 일반적으로 이 호스트의 마이크 또는 오디오 스택이 오디오를 캡처할 수 없음을 의미합니다. 예를 들어 헤드리스 서버, 오디오 패스스루가 없는 원격 셸 또는 거부된 마이크 권한이 있습니다. 작동하는 입력 장치를 확인하고 위의 항목에서 근본 원인을 해결한 다음 음성을 다시 트리거하세요. v2.1.202 이전에는 시작 실패만 일시 중지로 계산되었습니다.

194* **누르고 있기 모드에서 `Space`를 누르고 있어도 아무것도 일어나지 않음**: 누르고 있는 동안 프롬프트 입력을 봅니다. 공백이 계속 누적되면 음성 받아쓰기가 꺼져 있을 가능성이 높습니다. `/voice hold`를 실행하여 활성화하세요. 1\~2개의 공백만 나타나고 그 다음 아무것도 없으면 음성 받아쓰기는 켜져 있지만 누르고 있기 감지가 트리거되지 않습니다. 누르고 있기 감지는 터미널이 키 반복 이벤트를 보내야 하므로 OS 수준에서 키 반복이 비활성화되면 누르고 있는 키를 감지할 수 없습니다. 키 반복 요구 사항을 피하려면 `/voice tap`으로 탭 모드로 전환하세요.194* **누르고 있기 모드에서 `Space`를 누르고 있어도 아무것도 일어나지 않음**: 누르고 있는 동안 프롬프트 입력을 봅니다. 공백이 계속 누적되면 음성 받아쓰기가 꺼져 있을 가능성이 높습니다. `/voice hold`를 실행하여 활성화하세요. 1\~2개의 공백만 나타나고 그 다음 아무것도 없으면 음성 받아쓰기는 켜져 있지만 누르고 있기 감지가 트리거되지 않습니다. 누르고 있기 감지는 터미널이 키 반복 이벤트를 보내야 하므로 OS 수준에서 키 반복이 비활성화되면 누르고 있는 키를 감지할 수 없습니다. 키 반복 요구 사항을 피하려면 `/voice tap`으로 탭 모드로 전환하세요.

195* **탭 모드에서 `Space`를 탭하면 녹음 대신 공백을 입력함**: 첫 번째 탭은 프롬프트 입력이 비어 있을 때만 녹음을 시작합니다. 먼저 입력을 지우거나 `/voice tap`을 실행하여 탭 모드에 있는지 확인하세요.195* **탭 모드에서 `Space`를 탭하면 녹음 대신 공백을 입력함**: 첫 번째 탭은 프롬프트 입력이 비어 있을 때만 녹음을 시작합니다. 먼저 입력을 지우거나 `/voice tap`을 실행하여 탭 모드에 있는지 확인하세요.

196* **`No audio detected from microphone`**: 녹음이 시작되었지만 침묵을 캡처했습니다. 올바른 입력 장치가 시스템 기본값으로 설정되어 있고 입력 수준이 음소거되거나 0에 가깝지 않은지 확인하세요. Windows에서는 설정 → 시스템 → 사운드 → 입력을 열고 마이크를 선택하세요. macOS에서는 시스템 설정 → 사운드 → 입력을 열어보세요.196* **`No audio detected from microphone`**: 녹음이 시작되었지만 침묵을 캡처했습니다. 올바른 입력 장치가 시스템 기본값으로 설정되어 있고 입력 수준이 음소거되거나 0에 가깝지 않은지 확인하세요. Windows에서는 설정 → 시스템 → 사운드 → 입력을 열고 마이크를 선택하세요. macOS에서는 시스템 설정 → 사운드 → 입력을 열어보세요.

vs-code.md +49 −26

Details

109 109 

110프롬프트 상자는 여러 기능을 지원합니다:110프롬프트 상자는 여러 기능을 지원합니다:

111 111 

112* **권한 모드**: 프롬프트 상자 하단의 모드 표시기를 클릭하여 권한 모드를 전환합니다. Pro, Max, Team 플랜에서는 Auto가 기본 시작 권한 모드입니다. [확장 프로그램이 시작 권한 모드를 선택하는 방법](/docs/ko/permission-modes#switch-permission-modes)과 표시기가 제공하는 모든 권한 모드를 참조하세요.112* **권한 모드**: 프롬프트 상자 하단의 모드 표시기를 클릭하여 권한 모드를 전환합니다. Claude Code v2.1.283 이상에서는 Auto가 기본 시작 권한 모드이며, 이전 버전에서는 Pro, Max, Team 플랜에서만 사용 가능합니다. [확장 프로그램이 시작 권한 모드를 선택하는 방법](/docs/ko/permission-modes#switch-permission-modes)과 표시기가 제공하는 모든 권한 모드를 참조하세요.

113 * **Auto**: 분류기가 사용자에게 묻는 대신 대부분의 작업을 검토합니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 검토하고 차단하는 항목을 참조하세요.113 * **Auto**: 분류기가 사용자에게 묻는 대신 대부분의 작업을 검토합니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 검토하고 차단하는 항목을 참조하세요.

114 * **Manual**: Claude가 파일 편집 및 대부분의 셸 명령 전에 권한을 요청합니다.114 * **Manual**: Claude가 파일 편집 및 대부분의 셸 명령 전에 권한을 요청합니다.

115 * **Plan**: Claude가 수행할 작업을 설명하고 변경 작업을 시작하기 전에 승인을 기다립니다. VS Code는 자동으로 계획을 전체 Markdown 문서로 열어서 Claude가 시작하기 전에 피드백을 제공하기 위해 인라인 주석을 추가할 수 있습니다.115 * **Plan**: Claude가 수행할 작업을 설명하고 변경 작업을 시작하기 전에 승인을 기다립니다. VS Code는 자동으로 계획을 전체 Markdown 문서로 열어서 Claude가 시작하기 전에 피드백을 제공하기 위해 인라인 주석을 추가할 수 있습니다.


123* **모델**: 명령 메뉴에서 \*\*Switch model…\*\*을 선택하여 세션 중간에 모델을 변경합니다. 프롬프트 상자 하단의 모델 이름을 클릭하여 동일한 선택기를 열 수도 있습니다.123* **모델**: 명령 메뉴에서 \*\*Switch model…\*\*을 선택하여 세션 중간에 모델을 변경합니다. 프롬프트 상자 하단의 모델 이름을 클릭하여 동일한 선택기를 열 수도 있습니다.

124 124 

125 현재 모델이 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 지원하는 경우 선택기에 **Effort** 행도 표시되며 모델 이름 버튼은 선택된 수준을 표시합니다. `max` 이외의 수준을 선택하면 Claude Code는 사용자 설정의 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 아래에서 현재 모델에 대한 기본값으로 저장합니다. `max`는 현재 세션에만 적용됩니다. 모델 이름 버튼과 **Effort** 행에는 Claude Code v2.1.257 이상이 필요합니다.125 현재 모델이 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 지원하는 경우 선택기에 **Effort** 행도 표시되며 모델 이름 버튼은 선택된 수준을 표시합니다. `max` 이외의 수준을 선택하면 Claude Code는 사용자 설정의 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 아래에서 현재 모델에 대한 기본값으로 저장합니다. `max`는 현재 세션에만 적용됩니다. 모델 이름 버튼과 **Effort** 행에는 Claude Code v2.1.257 이상이 필요합니다.

126 

127 [동적 워크플로우](/docs/ko/workflows)가 활성화되고 현재 모델이 이를 지원하는 경우 **Effort** 행 아래에 **Ultracode** 스위치가 나타납니다. 이를 켜서 Claude가 이 세션의 각 실질적인 작업에 대해 선택된 노력 수준에서 [워크플로우](/docs/ko/workflows#let-claude-decide-with-ultracode)를 계획하도록 합니다. 켜져 있는 동안 모델 이름 버튼은 수준 뒤에 `· Ultracode`를 표시합니다. 스위치에는 Claude Code v2.1.284 이상이 필요합니다.

126* **명령 메뉴**: `/`를 클릭하거나 `/`를 입력하여 명령 메뉴를 엽니다. 옵션에는 파일 첨부, 모델 전환, 확장 사고 토글이 포함됩니다.128* **명령 메뉴**: `/`를 클릭하거나 `/`를 입력하여 명령 메뉴를 엽니다. 옵션에는 파일 첨부, 모델 전환, 확장 사고 토글이 포함됩니다.

127 129 

128 Customize 섹션은 MCP 서버, 명령, 출력 스타일, hooks, 메모리, 지시사항, 권한 및 플러그인과 같은 항목을 포함합니다. 터미널 아이콘이 있는 항목은 통합 터미널에서 열립니다.130 Customize 섹션은 MCP 서버, 명령, 출력 스타일, hooks, 메모리, 지시사항, 권한 및 플러그인과 같은 항목을 포함합니다. 터미널 아이콘이 있는 항목은 통합 터미널에서 열립니다.


149 * 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 이상이 필요합니다.151 * 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 이상이 필요합니다.

150 152 

151 Claude의 최신 할 일 목록은 계속 표시되며, Claude가 묻는 보류 중인 질문의 텍스트도 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. Claude가 [subagents](/docs/ko/sub-agents)를 실행하는 동안 최신 활동이 있는 라이브 진행 행이 이들을 시작한 도구 호출 그룹 아래에 나타납니다. Claude Code v2.1.269 이상이 필요합니다.153 Claude의 최신 할 일 목록은 계속 표시되며, Claude가 묻는 보류 중인 질문의 텍스트도 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. Claude가 [subagents](/docs/ko/sub-agents)를 실행하는 동안 최신 활동이 있는 라이브 진행 행이 이들을 시작한 도구 호출 그룹 아래에 나타납니다. Claude Code v2.1.269 이상이 필요합니다.

152 * 계정에서 로그아웃하려면 Settings 섹션에서 **Sign out**을 선택하거나 `/logout`을 입력합니다. [타사 공급자](#use-third-party-providers)에서는 메뉴가 둘 다 제공하지 않습니다. Claude Code v2.1.277 이상이 필요합니다.154 * Anthropic 계정에서 로그아웃하려면 Settings 섹션에서 **Sign out**을 선택하거나 `/logout`을 입력합니다. [타사 공급자](#use-third-party-providers)에서는 메뉴가 둘 다 제공하지 않습니다. Claude Code v2.1.277 이상이 필요합니다.

153 * 버그를 보고하려면 메뉴 하단의 **Report a problem**을 클릭하거나 `/bug` 또는 `/feedback`을 입력하고 선택적으로 보고서를 미리 채우는 설명을 입력합니다. 보고서를 제출하고 1차 연결에서 Anthropic에 로그인한 경우 Claude Code는 이를 Anthropic에 보냅니다. 타사 공급자에서 또는 Anthropic 자격 증명 없이 대화 상자가 여전히 열리지만 제출하면 오류가 표시되고 아무것도 전송되지 않습니다. CLI의 `/bug`와 달리 확장 프로그램은 로컬 아카이브를 작성하지 않습니다. Claude Code v2.1.229 이상이 필요합니다.155 * 버그를 보고하려면 메뉴 하단의 **Report a problem**을 클릭하거나 `/bug` 또는 `/feedback`을 입력하고 선택적으로 보고서를 미리 채우는 설명을 입력합니다. 보고서를 제출하고 1차 연결에서 Anthropic에 로그인한 경우 Claude Code는 이를 Anthropic에 보냅니다. Claude Code v2.1.229 이상이 필요합니다.

156 

157 타사 공급자에서 또는 Anthropic 자격 증명 없이 아무것도 전송되지 않습니다. 대화 상자는 작성하기 전에 그렇게 말합니다. 보고서를 제출하면 알려진 API 키 및 토큰 패턴이 수정된 상태로 [로컬 아카이브 `~/.claude/feedback-bundles/` 아래에](/docs/ko/data-usage#telemetry-services) 저장됩니다. 해당 파일을 Anthropic 계정 담당자에게 보내거나 지원 요청에 첨부합니다. 확인에서 파일 이름을 지정하고 **Show folder** 버튼을 포함합니다. 컴퓨터에 보고서를 저장하려면 Claude Code v2.1.284 이상이 필요합니다.

154 158 

155 조직의 정책이 제품 피드백을 끄면 **Report a problem**이 메뉴에 나타나지 않으며, `/bug` 및 `/feedback`은 보고서를 열지 않고 `Feedback is turned off by your organization's policy or this environment's settings.` 공지를 표시합니다.159 조직의 정책이 제품 피드백을 끄면 **Report a problem**이 메뉴에 나타나지 않으며, `/bug` 및 `/feedback`은 보고서를 열지 않고 `Feedback is turned off by your organization's policy or this environment's settings.` 공지를 표시합니다. Claude Code v2.1.284 이상에서는 `DISABLE_FEEDBACK_COMMAND` 또는 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 환경 변수를 설정하면 피드백도 꺼지고 보고서를 열면 해당 공지가 표시됩니다.

156* **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 이상이 필요합니다.160* **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 이상이 필요합니다.

157* **응답 복사**: 응답 위에 마우스를 올리고 **Copy response**를 클릭하여 클립보드에 복사하거나 `/copy`를 입력하여 최신 응답을 복사합니다. `/copy 2`는 두 번째 마지막 응답을 복사합니다. Claude Code v2.1.277 이상이 필요합니다.161* **응답 복사**: 응답 위에 마우스를 올리고 **Copy response**를 클릭하여 클립보드에 복사하거나 `/copy`를 입력하여 최신 응답을 복사합니다. `/copy 2`는 두 번째 마지막 응답을 복사합니다. Claude Code v2.1.277 이상이 필요합니다.

158* **Context indicator**: 프롬프트 상자는 Claude의 컨텍스트 윈도우를 얼마나 사용하고 있는지 보여줍니다. Claude는 필요할 때 자동으로 압축하거나 `/compact`를 수동으로 실행할 수 있습니다.162* **Context indicator**: 프롬프트 상자는 Claude의 컨텍스트 윈도우를 얼마나 사용하고 있는지 보여줍니다. Claude는 필요할 때 자동으로 압축하거나 `/compact`를 수동으로 실행할 수 있습니다.

159* **Prompt cache clock**: 컨텍스트 표시기 옆의 시계 아이콘은 대화의 [prompt cache](/docs/ko/prompt-caching)가 만료되기 전에 남은 시간을 추정합니다. 캐시의 5분 또는 1시간 [수명](/docs/ko/prompt-caching#cache-lifetime)에서 카운트다운되며, 캐시를 사용하는 각 응답은 카운트다운을 다시 시작합니다. 압축과 별개로 [캐시를 무효화하는 작업](/docs/ko/prompt-caching#actions-that-invalidate-the-cache)은 시계를 재설정하지 않으므로 모델을 전환한 후에도 남은 시간을 표시할 수 있습니다.163* **Prompt cache clock**: 컨텍스트 표시기 옆의 시계 아이콘은 대화의 [prompt cache](/docs/ko/prompt-caching)가 만료되기 전에 남은 시간을 추정합니다. 캐시의 5분 또는 1시간 [수명](/docs/ko/prompt-caching#cache-lifetime)에서 카운트다운되며, 캐시를 사용하는 각 응답은 카운트다운을 다시 시작합니다. 압축과 별개로 [캐시를 무효화하는 작업](/docs/ko/prompt-caching#actions-that-invalidate-the-cache)은 시계를 재설정하지 않으므로 모델을 전환한 후에도 남은 시간을 표시할 수 있습니다.


242 </Step>246 </Step>

243 247 

244 <Step title="Select a session to resume">248 <Step title="Select a session to resume">

245 클라우드 세션을 찾아보거나 검색합니다. 모든 세션을 클릭하여 다운로드하고 로컬에서 대화를 계속합니다.249 세션을 찾아보거나 검색합니다. 하나를 클릭하여 대화를 로컬에서 계속합니다.

246 </Step>250 </Step>

247</Steps>251</Steps>

248 252 

249<Note>253<Note>

250 GitHub 저장소로 시작한 웹 세션만 Web 탭에 나타납니다. 재개하면 대화 기록이 로컬로 로드되며, 변경 사항은 claude.ai로 다시 동기화되지 않습니다.254 폴더를 GitHub 저장소로 열면 Web 탭에 해당 저장소의 세션만 표시됩니다.

255 

256 클라우드 세션을 재개하면 확장 프로그램이 대화 기록의 복사본을 다운로드합니다. 변경 사항은 claude.ai로 다시 동기화되지 않습니다.

251</Note>257</Note>

252 258 

259Web 탭은 또한 [Remote Control](/docs/ko/remote-control) 세션을 나열합니다. 열려 있는 폴더에서 실행된 세션을 클릭하면 확장 프로그램이 복사본을 다운로드하는 대신 해당 로컬 대화를 열고, 이미 표시 중인 탭이 있으면 해당 탭에 포커스를 맞춥니다. 확장 프로그램이 다른 Claude 프로세스가 대화를 열어 두었을 가능성을 배제할 수 없으면 대신 다운로드된 복사본을 받습니다.

260 

261대화의 일부가 다운로드에 실패하면 오류가 나타나고 복사본이 저장되지 않습니다. 세션을 다시 선택하여 다시 시도합니다. 아직 다운로드할 대화가 없는 세션을 선택하면 오류가 대신 계속할 위치를 알려줍니다.

262 

253<h3 id="check-account-and-usage">263<h3 id="check-account-and-usage">

254 계정 및 사용량 확인264 계정 및 사용량 확인

255</h3>265</h3>


269 워크플로우 사용자 정의279 워크플로우 사용자 정의

270</h2>280</h2>

271 281 

272Claude 패널의 위치를 변경하고, 여러 대화를 실행하며, 세션 목록을 그룹으로 정렬하거나 터미널 모드로 전환할 수 있습니다.282Claude 패널의 위치를 변경하고, 여러 대화를 실행하며, 세션 목록을 그룹화하거나 필터링하거나, 터미널 모드로 전환할 수 있습니다.

273 283 

274<h3 id="choose-where-claude-lives">284<h3 id="choose-where-claude-lives">

275 Claude가 위치할 곳 선택285 Claude가 위치할 곳 선택

276</h3>286</h3>

277 287 

278Claude 패널을 드래그하여 VS Code의 어느 곳이든 위치를 변경할 수 있습니다. 패널의 탭이나 제목 표시줄을 잡고 다음 위치로 드래그합니다:288Claude 패널을 드래그하여 VS Code의 어디든지 위치를 변경할 수 있습니다. 패널의 탭이나 제목 표시줄을 잡고 다음 위치로 드래그합니다:

279 289 

280* **보조 사이드바**: 창의 오른쪽입니다. 코드를 작성하는 동안 Claude를 계속 볼 수 있습니다.290* **보조 사이드바**: 창의 오른쪽입니다. 코드를 작성하는 동안 Claude를 계속 볼 수 있습니다.

281* **주 사이드바**: 탐색기, 검색 등의 아이콘이 있는 왼쪽 사이드바입니다.291* **기본 사이드바**: Explorer, Search 등의 아이콘이 있는 왼쪽 사이드바입니다.

282* **편집기 영역**: Claude를 파일과 함께 탭으로 엽니다. 부수적인 작업에 유용합니다.292* **편집기 영역**: Claude를 파일과 함께 탭으로 엽니다. 부수적인 작업에 유용합니다.

283 293 

284Claude가 새 편집기 그룹에서 탭을 열 때, 확장 프로그램은 해당 그룹을 잠금으로써 Claude 탭이 포커스되어 있는 동안 열린 파일이 그 옆이 아닌 다른 그룹으로 이동합니다.294Claude가 새 편집기 그룹에서 탭을 열면, 확장 프로그램이 해당 그룹을 잠금으로써 Claude 탭에 포커스가 있는 동안 열어 놓은 파일이 그 옆이 아닌 다른 그룹으로 이동합니다.

285 295 

286확장 프로그램이 그룹을 잠금으로써 방지하려면 [편집기 그룹 잠금 설정](vscode://settings/claudeCode.lockEditorGroups)을 끕니다. 이미 잠긴 그룹은 잠금을 해제할 때까지 잠긴 상태로 유지됩니다. 이 설정은 Claude Code v2.1.274 이상이 필요합니다.296확장 프로그램이 그룹을 잠금으로부터 방지하려면, [Lock Editor Groups 설정](vscode://settings/claudeCode.lockEditorGroups)을 끕니다. 이미 잠금으로 설정된 그룹은 잠금을 해제할 때까지 잠금 상태로 유지됩니다. 이 설정은 Claude Code v2.1.274 이상이 필요합니다.

287 297 

288<Tip>298<Tip>

289 주 Claude 세션에는 사이드바를 사용하고 부수적인 작업을 위해 추가 탭을 엽니다. Claude는 선호하는 위치를 기억합니다. 활동 표시줄 세션 목록 아이콘은 Claude 패널과 별개입니다: 세션 목록은 항상 활동 표시줄에 표시되지만, Claude 패널 아이콘은 패널이 왼쪽 사이드바에 도킹되어 있을 때만 표시됩니다.299 기본 Claude 세션에는 사이드바를 사용하고 부수적인 작업을 위해 추가 탭을 엽니다. Claude는 선호하는 위치를 기억합니다. Activity Bar 세션 목록 아이콘은 Claude 패널과 별개입니다: 세션 목록은 항상 Activity Bar에 표시되지만, Claude 패널 아이콘은 패널이 왼쪽 사이드바에 도킹되어 있을 때만 표시됩니다.

290</Tip>300</Tip>

291 301 

292**Developer: Reload Window**를 실행하거나 VS Code를 다시 시작한 후, 채팅이 대화와 함께 돌아오는지 여부는 채팅이 열려 있던 위치에 따라 달라집니다:302**Developer: Reload Window**를 실행하거나 VS Code를 다시 시작한 후, 채팅이 대화와 함께 돌아오는지 여부는 채팅이 열려 있던 위치에 따라 달라집니다:


294* **편집기 탭**: 대화가 탭과 함께 돌아옵니다.304* **편집기 탭**: 대화가 탭과 함께 돌아옵니다.

295* **사이드바**: 지난 10분 이내에 메시지를 보냈거나 Claude가 응답한 경우 대화가 돌아옵니다. 돌아오지 않으면 [세션 기록](#resume-past-conversations)에서 대화를 재개합니다.305* **사이드바**: 지난 10분 이내에 메시지를 보냈거나 Claude가 응답한 경우 대화가 돌아옵니다. 돌아오지 않으면 [세션 기록](#resume-past-conversations)에서 대화를 재개합니다.

296 306 

297다시 로드가 Claude의 단계 중간에 중단된 경우, 대화가 돌아올 때 Claude는 해당 단계를 계속하며, 채팅의 공지사항이 계속을 표시합니다. Claude Code v2.1.274 이상이 필요합니다. 단계가 1시간 이상 전에 중단되었거나 세션이 다른 곳에서 열려 있으면, 대화가 유휴 상태로 돌아옵니다.307다시 로드가 Claude의 단계 중간에 중단된 경우, 대화가 돌아올 때 Claude가 해당 단계를 계속하며, 채팅의 공지사항이 계속을 표시합니다. Claude Code v2.1.274 이상이 필요합니다. 단계가 1시간 이상 전에 중단되었거나 세션이 다른 곳에서 열려 있으면, 대화가 유휴 상태로 돌아옵니다.

298 308 

299계속을 끄려면 [다시 로드 후 계속 설정](vscode://settings/claudeCode.continueAfterReload)을 열고 선택을 해제합니다.309계속을 끄려면, [Continue After Reload 설정](vscode://settings/claudeCode.continueAfterReload)을 열고 선택을 해제합니다.

300 310 

301<h3 id="run-multiple-conversations">311<h3 id="run-multiple-conversations">

302 여러 대화 실행312 여러 대화 실행

303</h3>313</h3>

304 314 

305명령 팔레트에서 **새 탭에서 열기** 또는 **새 창에서 열기**를 사용하여 추가 대화를 시작합니다. 각 대화는 자체 기록과 컨텍스트를 유지하므로 여러 작업을 병렬로 진행할 수 있습니다.315Command Palette에서 **Open in New Tab** 또는 **Open in New Window**를 사용하여 추가 대화를 시작합니다. 각 대화는 자체 기록과 컨텍스트를 유지하므로 여러 작업을 병렬로 작업할 수 있습니다.

306 316 

307탭을 사용할 때, 스파크 아이콘의 작은 색상 점은 상태를 나타냅니다: 파란색은 권한 요청이 대기 중임을 의미하고, 주황색은 탭이 숨겨진 동안 Claude가 완료되었음을 의미합니다.317탭을 사용할 때, spark 아이콘의 작은 색상 점은 상태를 나타냅니다: 파란색은 권한 요청이 대기 중임을 의미하고, 주황색은 Claude가 탭이 숨겨진 동안 완료되었음을 의미합니다.

308 318 

309<h3 id="organize-sessions-into-groups">319<h3 id="organize-sessions-into-groups">

310 세션을 그룹으로 정렬320 세션을 그룹으로 구성

311</h3>321</h3>

312 322 

313활동 표시줄의 세션 목록에서 관련 세션을 명명된 축소 가능한 그룹으로 수집할 수 있습니다. Claude Code v2.1.229 이상이 필요합니다.323Activity Bar의 세션 목록에서, 관련 세션을 명명된 축소 가능한 그룹으로 수집할 수 있습니다. Claude Code v2.1.229 이상이 필요합니다.

314 324 

315* **세션 그룹화 또는 그룹 해제**: 세션을 마우스 오른쪽 버튼으로 클릭하여 그룹을 만들거나, 기존 그룹으로 이동하거나, 그룹에서 제거합니다. 각 세션은 한 번에 하나의 그룹에만 속하므로, 다른 그룹으로 이동하면 첫 번째 그룹에서 제거됩니다.325* **세션을 그룹화하거나 그룹 해제**: 세션을 마우스 오른쪽 버튼으로 클릭하여 세션에서 그룹을 만들거나, 기존 그룹으로 이동하거나, 그룹에서 제거합니다. 각 세션은 한 번에 하나의 그룹에만 속하므로, 다른 그룹으로 이동하면 첫 번째 그룹에서 제거됩니다.

316* **여러 세션을 한 번에 이동**: `Cmd`-클릭(Mac) / `Ctrl`-클릭(Windows/Linux)으로 각 세션을 선택하거나, `Shift`-클릭으로 범위를 선택한 후 선택 항목을 마우스 오른쪽 버튼으로 클릭합니다.326* **여러 세션을 한 번에 이동**: `Cmd`-클릭(Mac) / `Ctrl`-클릭(Windows/Linux) 각 세션을 하거나, `Shift`-클릭으로 범위를 선택한 후 선택 항목을 마우스 오른쪽 버튼으로 클릭합니다.

317* **탭에서 세션 그룹화**: 명령 팔레트에서 **Claude Code: Add Session Tab to Group**을 실행한 후 그룹을 선택하거나 만듭니다. Claude Code v2.1.257 이상이 필요합니다.327* **탭에서 세션을 그룹화**: Command Palette에서 **Claude Code: Add Session Tab to Group**을 실행한 후 그룹을 선택하거나 만듭니다. Claude Code v2.1.257 이상이 필요합니다.

318* **그룹 이름 바꾸기 또는 삭제**: 그룹 헤더를 마우스 오른쪽 버튼으로 클릭합니다. 그룹을 삭제하면 그룹만 제거되고 해당 세션은 그룹화되지 않은 목록으로 돌아갑니다.328* **그룹 이름 바꾸기 또는 삭제**: 그룹 헤더를 마우스 오른쪽 버튼으로 클릭합니다. 그룹을 삭제하면 그룹만 제거되고 해당 세션은 그룹화되지 않은 목록으로 돌아갑니다.

319 329 

320확장 프로그램은 작업 영역 폴더별로 그룹을 저장하므로, 창을 다시 로드해도 유지되며 같은 폴더를 여는 모든 창에 표시됩니다. 목록을 검색할 때 확장 프로그램은 모든 그룹에서 일치하는 항목을 하나의 평면 목록으로 표시합니다.330확장 프로그램은 워크스페이스 폴더별로 그룹을 저장하므로, 창 다시 로드 후에도 유지되며 같은 폴더를 열 때마다 모든 창에 표시됩니다. 목록을 검색할 때, 확장 프로그램은 모든 그룹에서 일치하는 항목을 하나의 평면 목록으로 표시합니다.

331 

332<h3 id="filter-the-sessions-list">

333 세션 목록 필터링

334</h3>

335 

336Activity Bar의 긴 세션 목록을 좁히려면, 목록 맨 위의 두 필터 컨트롤을 사용합니다. Claude Code v2.1.271 이상이 필요합니다. 보관된 세션은 필터가 켜져 있는 동안 표시되지 않습니다.

337 

338* **활성**: 이 토글을 켜서 입력이 필요하거나 작업 중이거나 읽지 않은 세션과 마지막으로 포커스한 Claude 탭의 세션만 표시합니다.

339* **상태별 필터**: 깔때기 아이콘을 클릭한 후 **입력 필요**, **작업 중** 또는 **완료됨**을 확인하여 해당 상태의 세션을 표시합니다. **열기** 또는 **닫기**를 확인하여 세션이 열려 있는지 여부로 좁힙니다. 세션은 이 창에 탭이 있거나 이 머신의 다른 Claude Code 프로세스(예: 터미널)에서 실행 중일 때 열려 있는 것으로 간주됩니다.

340 

341**활성**이 켜져 있고 상태, **열기** 또는 **닫기**를 확인하면, 목록은 확인 항목과 일치하는 모든 세션도 표시합니다. 설정한 필터는 창 다시 로드 후에도 유지됩니다.

321 342 

322<h3 id="switch-to-terminal-mode">343<h3 id="switch-to-terminal-mode">

323 터미널 모드로 전환344 터미널 모드로 전환

324</h3>345</h3>

325 346 

326기본적으로 확장 프로그램은 그래픽 채팅 패널을 엽니다. CLI 스타일 인터페이스를 선호하는 경우 [터미널 사용 설정](vscode://settings/claudeCode.useTerminal)을 열고 확인란을 선택합니다.347기본적으로 확장 프로그램은 그래픽 채팅 패널을 엽니다. CLI 스타일 인터페이스를 선호하면, [Use Terminal 설정](vscode://settings/claudeCode.useTerminal)을 열고 확인란을 선택합니다.

327 348 

328VS Code 설정(`Mac에서 Cmd+,` 또는 `Windows/Linux에서 Ctrl+,`)을 열고, 확장 프로그램 → Claude Code로 이동한 후 **터미널 사용**을 선택할 수도 있습니다.349VS Code 설정(`Cmd+,` Mac 또는 `Ctrl+,` Windows/Linux)을 열고, Extensions → Claude Code로 이동한 후 **Use Terminal**을 확인할 수도 있습니다.

329 350 

330<h2 id="manage-plugins">351<h2 id="manage-plugins">

331 플러그인 관리352 플러그인 관리


506확장 프로그램에는 두 가지 유형의 설정이 있습니다:527확장 프로그램에는 두 가지 유형의 설정이 있습니다:

507 528 

508* **VS Code의 확장 프로그램 설정**: VS Code 내에서 확장 프로그램의 동작을 제어합니다. `Cmd+,`(Mac) 또는 `Ctrl+,`(Windows/Linux)로 열고, Extensions → Claude Code로 이동합니다. `/`를 입력하고 \*\*General config…\*\*를 선택하여 설정을 열 수도 있습니다.529* **VS Code의 확장 프로그램 설정**: VS Code 내에서 확장 프로그램의 동작을 제어합니다. `Cmd+,`(Mac) 또는 `Ctrl+,`(Windows/Linux)로 열고, Extensions → Claude Code로 이동합니다. `/`를 입력하고 \*\*General config…\*\*를 선택하여 설정을 열 수도 있습니다.

509* **`~/.claude/settings.json`의 Claude Code 설정**: 확장 프로그램과 CLI 간에 공유됩니다. 허용된 명령, 환경 변수, hooks 및 MCP 서버에 사용합니다. Pro, Max 및 Team 플랜에서는 권한 모드 대화가 시작되는 입력 중 하나이기도 합니다. [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에서 순서를 나열합니다. 자세한 내용은 [설정](/docs/ko/settings)을 참조하세요.530* **`~/.claude/settings.json`의 Claude Code 설정**: 확장 프로그램과 CLI 간에 공유됩니다. 허용된 명령, 환경 변수, hooks 및 MCP 서버에 사용합니다. Claude Code v2.1.283 이상에서는 권한 모드 대화가 시작되는 입력 중 하나이기도 하며, 이전 버전에서는 Pro, Max 및 Team 플랜에서만 해당됩니다. [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에서 순서를 나열합니다. 자세한 내용은 [설정](/docs/ko/settings)을 참조하세요.

510 531 

511<Tip>532<Tip>

512 `settings.json`에 `"$schema": "https://json.schemastore.org/claude-code-settings.json"`을 추가하여 VS Code에서 직접 사용 가능한 모든 설정에 대한 자동 완성 및 인라인 유효성 검사를 받습니다.533 `settings.json`에 `"$schema": "https://json.schemastore.org/claude-code-settings.json"`을 추가하여 VS Code에서 직접 사용 가능한 모든 설정에 대한 자동 완성 및 인라인 유효성 검사를 받습니다.


720 741 

721**선택 및 열린 파일 컨텍스트.** 연결되어 있는 동안 CLI는 현재 편집기 선택 항목과 활성 파일의 경로를 각 프롬프트에 컨텍스트로 포함합니다. 이 경우 트랜스크립트에 `⧉ Selected N lines from <file>` 줄이 표시됩니다.742**선택 및 열린 파일 컨텍스트.** 연결되어 있는 동안 CLI는 현재 편집기 선택 항목과 활성 파일의 경로를 각 프롬프트에 컨텍스트로 포함합니다. 이 경우 트랜스크립트에 `⧉ Selected N lines from <file>` 줄이 표시됩니다.

722 743 

744[Claude가 작업하는 동안 메시지를 대기열에 추가](/docs/ko/interactive-mode#queue-messages-while-claude-works)하면 `Enter`를 누를 때 있던 선택 항목을 유지하며, 그 이후에 선택하는 항목은 무시됩니다.

745 

723`.env`와 같은 민감한 파일을 제외하려면 해당 경로에 대한 [`Read` 거부 규칙](/docs/ko/permissions#read-and-edit)을 추가하십시오. 일치하는 거부 규칙은 선택된 텍스트와 해당 파일에 대한 열린 파일 공지가 Claude에 도달하는 것을 모두 방지합니다.746`.env`와 같은 민감한 파일을 제외하려면 해당 경로에 대한 [`Read` 거부 규칙](/docs/ko/permissions#read-and-edit)을 추가하십시오. 일치하는 거부 규칙은 선택된 텍스트와 해당 파일에 대한 열린 파일 공지가 Claude에 도달하는 것을 모두 방지합니다.

724 747 

725[Attach Open File 설정](#extension-settings)을 끄면 CLI는 해당 파일에서 텍스트를 선택한 경우에만 활성 파일의 경로를 받습니다.748[Attach Open File 설정](#extension-settings)을 끄면 CLI는 해당 파일에서 텍스트를 선택한 경우에만 활성 파일의 경로를 받습니다.

workflows.md +15 −7

Details

161 ultracode로 Claude가 결정하도록 하기161 ultracode로 Claude가 결정하도록 하기

162</h3>162</h3>

163 163 

164Ultracode는 `xhigh` [추론 노력](/docs/ko/model-config#adjust-effort-level)을 자동 워크플로우 조율과 결합하는 Claude Code 설정입니다. 활성화하면 Claude는 요청을 기다리는 대신 각 실질적인 작업을 위한 워크플로우를 계획합니다.164Ultracode는 Claude Code 설정으로, 세션이 실행되는 모든 [노력 수준](/docs/ko/model-config#adjust-effort-level)에서 자동 워크플로우 조율을 켭니다. 활성화하면 Claude는 요청을 기다리는 대신 각 실질적인 작업을 위한 워크플로우를 계획합니다. Claude Code 프롬프트에서 켜십시오:

165 165 

166```text wrap theme={null}166```text wrap theme={null}

167/effort ultracode167/effort ultracode

168```168```

169 169 

170ultracode가 이미 활성화된 상태로 세션을 시작하려면 `claude --effort ultracode`로 실행하십시오. Claude Code v2.1.203 이상이 필요합니다.170ultracode가 이미 켜진 상태로 세션을 시작하려면 `claude --effort ultracode`로 실행하십시오. 이는 노력 수준을 `xhigh`로도 설정합니다. Claude Code v2.1.203 이상이 필요합니다.

171 171 

172ultracode를 켜면서 모델을 선택하려면 `/model` 선택기의 노력 슬라이더를 화살표 키로 `ultracode`로 이동하십시오. [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)은 ultracode를 켜는 경로를 나열합니다.172`/effort` 슬라이더에서 켜려면 `Tab`을 눌러 **Ultracode** 토글을 뒤집은 다음 `Enter`를 눌러 적용하십시오. [노력 수준 조정](/docs/ko/model-config#adjust-effort-level)은 ultracode를 켜는 경로를 나열합니다.

173 173 

174ultracode가 활성화되면 Claude는 작업이 워크플로우를 보증하는지 결정합니다. 단일 요청은 여러 워크플로우로 변할 수 있습니다: 코드를 이해하기 위한 하나, 변경을 수행하기 위한 하나, 검증하기 위한 하나입니다. 이는 세션의 모든 작업에 적용되므로 각 요청은 더 낮은 노력 수준보다 더 많은 토큰을 사용하고 더 오래 걸립니다.174ultracode가 켜지면 Claude는 작업이 워크플로우를 보증하는지 결정합니다. 단일 요청은 여러 워크플로우로 변할 수 있습니다: 코드를 이해하기 위한 하나, 변경을 수행하기 위한 하나, 검증하기 위한 하나입니다. 이는 세션의 모든 작업에 적용되므로 각 요청은 워크플로우 없는 동일한 요청보다 더 많은 토큰을 사용하고 더 오래 걸립니다. 구독 요금제에서 이러한 토큰은 사용량 한도에서 차감되므로 ultracode가 켜진 세션은 ultracode가 꺼진 동일한 작업보다 세션 또는 주간 한도에 더 빨리 도달합니다.

175 175 

176`/effort ultracode`는 현재 세션 동안 지속됩니다; 모든 세션이 이것으로 시작하도록 하려면 [`ultracode`](/docs/ko/settings-reference#ultracode) 설정을 지정하십시오. 일상적인 작업으로 돌아갈 때 `/effort high`로 내려갑니다. `/effort` 메뉴는 [ultracode를 사용할 수 있을 때](/docs/ko/model-config#when-ultracode-is-available)만 이를 제공합니다.176ultracode를 켜면 이미 대규모 실행에 옵트인되므로 활성화된 동안 이러한 확인이 적용되지 않습니다:

177 

178* [`Large workflow` 경고](#cost)는 워크플로우 실행에 나타나지 않습니다

179* 세션의 [동시 서브에이전트 한도](/docs/ko/sub-agents#concurrent-subagent-limit)는 Claude가 Agent 도구로 생성하는 서브에이전트에 대해 적용되지 않습니다

180* 자동 권한 모드에서는 [첫 번째 워크플로우 실행을 승인](#approve-the-plan-before-it-runs)하도록 요청받지 않습니다

181 

182`/effort ultracode`는 현재 세션 동안 지속됩니다; 모든 세션이 이것으로 시작하도록 하려면 [`ultracode`](/docs/ko/settings-reference#ultracode) 설정을 지정하십시오. 일상적인 작업으로 돌아갈 때 `/effort ultracode off`로 끄십시오. `/effort` 슬라이더는 [ultracode를 사용할 수 있을 때](/docs/ko/model-config#when-ultracode-is-available)만 토글을 제공합니다.

177 183 

178<h3 id="approve-the-plan-before-it-runs">184<h3 id="approve-the-plan-before-it-runs">

179 실행 전 계획 승인하기185 실행 전 계획 승인하기


192 198 

193| 권한 모드 | 프롬프트가 표시되는 경우 |199| 권한 모드 | 프롬프트가 표시되는 경우 |

194| :- | :- |200| :- | :- |

195| 자동 | 첫 번째 실행만. 모든 **예**는 사용자 설정에 동의를 기록하고, 나중의 실행은 프롬프트 없이 시작합니다. ultracode가 활성화되면 완전히 건너뜁니다 |201| 자동 | 첫 번째 실행만. 모든 **예**는 사용자 설정에 동의를 기록하고, 나중의 실행은 프롬프트 없이 시작합니다. ultracode가 켜지면 완전히 건너뜁니다 |

196| 수동, 편집 수락 | 해당 워크플로우에 대해 **예, 다시 묻지 않기**를 선택하지 않은 한 모든 실행 |202| 수동, 편집 수락 | 해당 워크플로우에 대해 **예, 다시 묻지 않기**를 선택하지 않은 한 모든 실행 |

197| 권한 무시 | Claude Code는 프롬프트하지 않습니다. 실행이 즉시 시작됩니다 |203| 권한 무시 | Claude Code는 프롬프트하지 않습니다. 실행이 즉시 시작됩니다 |

198| `claude -p`, Agent SDK | Claude Code는 프롬프트하지 않습니다 |204| `claude -p`, Agent SDK | Claude Code는 프롬프트하지 않습니다 |


516 522 

517전체 조직을 위해 워크플로우를 끄려면 [관리 설정](/docs/ko/server-managed-settings)에서 `"disableWorkflows": true`를 설정하거나 [Claude Code 관리 설정](https://claude.ai/admin-settings/claude-code) 페이지의 토글을 사용합니다.523전체 조직을 위해 워크플로우를 끄려면 [관리 설정](/docs/ko/server-managed-settings)에서 `"disableWorkflows": true`를 설정하거나 [Claude Code 관리 설정](https://claude.ai/admin-settings/claude-code) 페이지의 토글을 사용합니다.

518 524 

519워크플로우가 비활성화되면 번들된 워크플로우 명령과 `/workflow-authoring` 스킬을 사용할 수 없으며, `ultracode` 키워드는 더 이상 실행을 트리거하지 않으며, `ultracode`는 `/effort` 메뉴에서 제거됩니다.525워크플로우가 비활성화되면 번들된 워크플로우 명령과 `/workflow-authoring` 스킬을 사용할 수 없으며, `ultracode` 키워드는 더 이상 실행을 트리거하지 않으며, **Ultracode** 토글은 `/effort`에서 제거됩니다. 이미 진행 중인 실행은 계속 진행됩니다.

526 

527워크플로우를 끄면 [ultracode](#let-claude-decide-with-ultracode)도 사용할 수 없게 됩니다. ultracode만 제외하는 관리 설정은 없습니다: [사용 가능한](/docs/ko/model-config#when-ultracode-is-available) 곳이면 사용자는 `/effort ultracode`로 켤 수 있습니다. [노력 상한](/docs/ko/model-config#organization-effort-limits)은 ultracode가 켜진 세션이 실행하는 노력 수준을 낮추지만 ultracode를 끄지는 않습니다.

520 528 

521<h2 id="related-resources">529<h2 id="related-resources">

522 관련 리소스530 관련 리소스

worktrees.md +3 −3

Details

62대화형 worktree 세션을 종료할 때 Claude는 worktree에서 제거로 인해 삭제될 작업을 확인합니다: 변경되거나 추적되지 않은 파일, 체크아웃된 서브모듈 내의 커밋되지 않은 작업, 그리고 새로운 커밋입니다.62대화형 worktree 세션을 종료할 때 Claude는 worktree에서 제거로 인해 삭제될 작업을 확인합니다: 변경되거나 추적되지 않은 파일, 체크아웃된 서브모듈 내의 커밋되지 않은 작업, 그리고 새로운 커밋입니다.

63 63 

64* **Worktree가 깨끗함**: 이름 없는 세션의 경우 Claude는 worktree와 해당 브랜치를 자동으로 제거합니다. [이름이 지정된](/docs/ko/sessions#name-your-sessions) 세션은 나중을 위해 worktree를 유지할 수 있도록 먼저 프롬프트를 표시합니다.64* **Worktree가 깨끗함**: 이름 없는 세션의 경우 Claude는 worktree와 해당 브랜치를 자동으로 제거합니다. [이름이 지정된](/docs/ko/sessions#name-your-sessions) 세션은 나중을 위해 worktree를 유지할 수 있도록 먼저 프롬프트를 표시합니다.

65* **Worktree에 작업이 있음**: Claude는 worktree를 유지하거나 제거할지 묻습니다. 유지하면 디렉토리와 브랜치가 보존되어 나중에 돌아올 수 있습니다. 제거하면 worktree 디렉토리와 해당 브랜치가 삭제되며, 그 안의 모든 작업도 함께 삭제됩니다.65* **Worktree에 작업이 있음**: Claude는 worktree를 유지하거나 제거할지 묻습니다. 유지하면 디렉토리와 브랜치가 보존됩니다. 나중에 돌아오려면 Claude Code가 종료 시 출력하는 `claude --worktree <name> --resume` 명령을 실행합니다. 제거하면 worktree 디렉토리와 해당 브랜치가 삭제되며, 그 안의 모든 작업도 함께 삭제됩니다

66* **Worktree의 상태를 확인할 수 없음**: Claude Code가 worktree의 변경 사항을 계산할 수 없거나 서브모듈 체크아웃을 검사할 수 없을 때, worktree를 자동으로 제거하지 않고 프롬프트를 표시합니다. 프롬프트는 확인할 수 없었던 항목을 명시합니다.66* **Worktree의 상태를 확인할 수 없음**: Claude Code가 worktree의 변경 사항을 계산할 수 없거나 서브모듈 체크아웃을 검사할 수 없을 때, worktree를 자동으로 제거하지 않고 프롬프트를 표시합니다. 프롬프트는 확인할 수 없었던 항목을 명시합니다.

67 67 

68`-p`를 사용한 비대화형 실행에는 종료 프롬프트가 없으므로 Claude는 해당 worktree를 정리하지 않으며, Claude Code는 생성 시 각 worktree에 대해 가져온 잠금을 유지합니다. 나중 세션의 [stale-lock sweep](#clean-up-subagent-and-background-session-worktrees)이 이를 해제할 때까지 유지됩니다. 하나를 제거하려면 `git worktree remove`를 실행합니다. git이 worktree가 잠겨 있다고 거부하면 먼저 `git worktree unlock`을 실행합니다.68`-p`를 사용한 비대화형 실행에는 종료 프롬프트가 없으므로 Claude는 해당 worktree를 정리하지 않으며, Claude Code는 생성 시 각 worktree에 대해 가져온 잠금을 유지합니다. 나중 세션의 [stale-lock sweep](#clean-up-subagent-and-background-session-worktrees)이 이를 해제할 때까지 유지됩니다. 하나를 제거하려면 `git worktree remove`를 실행합니다. git이 worktree가 잠겨 있다고 거부하면 먼저 `git worktree unlock`을 실행합니다.


73 worktree 세션 재개73 worktree 세션 재개

74</h2>74</h2>

75 75 

76Worktree 내부에 있던 세션을 재개할 때 Claude Code는 세션을 해당 worktree로 반환합니다. 이는 대화형 재개, [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용한 `--continue` 및 `--resume`, 그리고 Agent SDK에 적용됩니다. Worktree 내부로 돌아가면 Claude는 여전히 [`ExitWorktree`](/docs/ko/tools-reference) 도구로 이를 종료할 수 있습니다.76[worktree를 종료하지 않고](#clean-up-worktrees) 끝난 세션을 재개할 때 Claude Code는 세션을 해당 worktree로 반환합니다. 이는 대화형 재개, [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용한 `--continue` 및 `--resume`, 그리고 Agent SDK에 적용됩니다. `--continue`는 실행한 디렉토리 아래에 기록된 가장 최근 세션을 선택합니다. Worktree 내부로 돌아가면 Claude는 여전히 [`ExitWorktree`](/docs/ko/tools-reference) 도구로 이를 종료할 수 있습니다.

77 77 

78Claude Code가 세션을 worktree로 반환하기 전에 worktree가 여전히 메인 체크아웃과 별도의 체크아웃인지 확인하고, 확인에 실패한 worktree로 다시 들어가기를 거부합니다. Git worktree의 경우 확인은 git 메타데이터를 읽습니다. [`WorktreeCreate` 훅](#non-git-version-control)이 생성한 것과 같은 git 메타데이터가 없는 worktree는 확인을 통과할 수 있습니다. Claude Code가 여전히 거부하는 경우는 [Claude Code가 worktree 사용을 거부](#claude-code-refuses-to-use-a-worktree)에 나열되어 있으며 복구 방법도 함께 제시됩니다. 메시지 및 각각에서 복구하는 방법은 [세션이 worktree 외부에서 재개](#the-session-resumes-outside-its-worktree)를 참조합니다.78Claude Code가 세션을 worktree로 반환하기 전에 worktree가 여전히 메인 체크아웃과 별도의 체크아웃인지 확인하고, 확인에 실패한 worktree로 다시 들어가기를 거부합니다. Git worktree의 경우 확인은 git 메타데이터를 읽습니다. [`WorktreeCreate` 훅](#non-git-version-control)이 생성한 것과 같은 git 메타데이터가 없는 worktree는 확인을 통과할 수 있습니다. Claude Code가 여전히 거부하는 경우는 [Claude Code가 worktree 사용을 거부](#claude-code-refuses-to-use-a-worktree)에 나열되어 있으며 복구 방법도 함께 제시됩니다. 메시지 및 각각에서 복구하는 방법은 [세션이 worktree 외부에서 재개](#the-session-resumes-outside-its-worktree)를 참조합니다.

79 79 

80실행 위치와 재개 방식에 따라 Claude Code가 다시 들어가는 것이 변경됩니다:80실행 위치와 재개 방식에 따라 Claude Code가 다시 들어가는 것이 변경됩니다:

81 81 

82* **실행 디렉토리**: 메인 체크아웃 또는 저장소의 다른 디렉토리에서 재개합니다. Claude Code는 실행 위치 내부에서 실행하더라도 `.claude/worktrees/` 아래에서 git으로 생성한 worktree로 다시 들어갑니다. 다른 worktree 내부에서 실행할 때 Claude Code는 거기서 이를 보증할 수 있는 경우에만 다시 들어갑니다: 자체 저장소인 worktree, git 메타데이터가 없는 worktree, 또는 `git worktree add`로 생성한 worktree의 서브디렉토리에서 실행하면 거부되므로 메인 체크아웃에서 실행합니다.82* **실행 디렉토리**: 메인 체크아웃 또는 저장소의 다른 디렉토리에서 `--resume`으로 재개합니다. Claude Code는 실행 위치 내부에서 실행하더라도 `.claude/worktrees/` 아래에서 git으로 생성한 worktree로 다시 들어갑니다. 다른 worktree 내부에서 실행할 때 Claude Code는 거기서 이를 보증할 수 있는 경우에만 다시 들어갑니다: 자체 저장소인 worktree, git 메타데이터가 없는 worktree, 또는 `git worktree add`로 생성한 worktree의 서브디렉토리에서 실행하면 거부되므로 메인 체크아웃에서 실행합니다.

83* **`--fork-session`**: 포크된 세션은 Claude를 실행한 디렉토리에서 시작하며 Claude Code는 원본 세션의 worktree를 그대로 둡니다.83* **`--fork-session`**: 포크된 세션은 Claude를 실행한 디렉토리에서 시작하며 Claude Code는 원본 세션의 worktree를 그대로 둡니다.

84* **삭제된 worktree**: worktree 디렉토리가 더 이상 존재하지 않으면 Claude Code는 Claude를 실행한 디렉토리에서 세션을 재개합니다. Worktree가 없어졌음을 알려주고 세션의 worktree 바인딩을 지웁니다.84* **삭제된 worktree**: worktree 디렉토리가 더 이상 존재하지 않으면 Claude Code는 Claude를 실행한 디렉토리에서 세션을 재개합니다. Worktree가 없어졌음을 알려주고 세션의 worktree 바인딩을 지웁니다.

85 85