SpyBara
Go Premium

Documentation 2026-11-03 23:58 UTC to 2026-11-04 23:59 UTC

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

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

232| :- | :- | :- |232| :- | :- | :- |

233| `"default"` | 승인이 필요하고 허용 규칙에 해당하지 않는 도구 호출은 `canUseTool` 콜백을 트리거하며, 콜백이 없으면 거부됩니다 | 사용자 지정 승인 콜백이 있는 대화형 애플리케이션 |233| `"default"` | 승인이 필요하고 허용 규칙에 해당하지 않는 도구 호출은 `canUseTool` 콜백을 트리거하며, 콜백이 없으면 거부됩니다 | 사용자 지정 승인 콜백이 있는 대화형 애플리케이션 |

234| `"acceptEdits"` | 파일 편집과 일반적인 파일 시스템 명령(`mkdir`, `touch`, `mv`, `cp` 등)을 자동 승인하며, 그 외 Bash 명령은 기본 규칙을 따릅니다 | 프로토타이핑 중이거나 격리된 디렉터리에서 작업할 때처럼 Claude의 편집을 신뢰하고 더 빠르게 반복하려는 경우 |234| `"acceptEdits"` | [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 내의 파일 편집과 일반적인 파일 시스템 명령(`mkdir`, `touch`, `mv`, `cp` 등)을 자동 승인하며, 그 외 Bash 명령은 기본 규칙을 따릅니다 | 프로토타이핑 중이거나 격리된 디렉터리에서 작업할 때처럼 Claude의 편집을 신뢰하고 더 빠르게 반복하려는 경우 |

235| `"plan"` | Claude가 소스 파일을 편집하지 않고 탐색하고 계획합니다. 파일 편집은 절대 자동 승인되지 않으며 `canUseTool` 콜백을 통해 확인을 요청합니다 | 코드 리뷰 중이거나 변경 전에 승인해야 할 때처럼 Claude가 변경 사항을 실행하지 않고 제안하기를 원하는 경우 |235| `"plan"` | Claude가 탐색하고 계획합니다. Claude의 파일 도구로 수행하는 편집은 허용 규칙에 해당하더라도 `canUseTool` 콜백으로 전달됩니다 | 코드 리뷰 중이거나 대규모 변경 전처럼 Claude가 먼저 계획을 작성하기를 원하는 경우 |

236| `"dontAsk"` | 절대 확인을 요청하지 않습니다. [권한 규칙](https://code.claude.com/docs/ko/settings-reference.md#permission-settings)으로 사전 승인된 도구와, 작업 디렉터리 내 파일 읽기처럼 `default` 모드에서 승인이 필요 없는 호출은 실행됩니다. 그 외에 확인을 요청했을 모든 호출은 거부되지만, 설치한 [mod](https://code.claude.com/docs/ko/plugins/mods/overview.md)가 [그중 일부 호출](https://code.claude.com/docs/ko/permissions.md#precedence-among-rules-hooks-and-mods)을 여전히 승인할 수 있습니다. [네트워크 경로에서의 읽기](https://code.claude.com/docs/ko/permissions.md#network-paths) 같은 몇몇 호출은 허용했더라도 거부됩니다. 목록은 [Don't ask 모드](https://code.claude.com/docs/ko/agent-sdk/permissions.md#don’t-ask-mode-dontask)를 참조하세요 | 호출을 승인할 사람이 없는 헤드리스 에이전트 |236| `"dontAsk"` | 절대 확인을 요청하지 않습니다. [권한 규칙](https://code.claude.com/docs/ko/settings-reference.md#permission-settings)으로 사전 승인된 도구와, 작업 디렉터리 내 파일 읽기처럼 `default` 모드에서 승인이 필요 없는 호출은 실행됩니다. 그 외에 확인을 요청했을 모든 호출은 거부되지만, 설치한 [mod](https://code.claude.com/docs/ko/plugins/mods/overview.md)가 [그중 일부 호출](https://code.claude.com/docs/ko/permissions.md#precedence-among-rules-hooks-and-mods)을 여전히 승인할 수 있습니다. [네트워크 경로에서의 읽기](https://code.claude.com/docs/ko/permissions.md#network-paths) 같은 몇몇 호출은 허용했더라도 거부됩니다. 목록은 [Don't ask 모드](https://code.claude.com/docs/ko/agent-sdk/permissions.md#don’t-ask-mode-dontask)를 참조하세요 | 호출을 승인할 사람이 없는 헤드리스 에이전트 |

237| `"auto"` | 모델 분류기를 사용해 셸 명령, 네트워크 요청 같은 작업을 검토하고, 검토한 각 작업을 허용하거나 차단합니다. 사용 가능 여부와 결정 순서는 [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)를 참조하세요 | 도구 사용에 대한 안전장치는 유지하려는 자율 에이전트 |237| `"auto"` | 모델 분류기를 사용해 셸 명령, 네트워크 요청 같은 작업을 검토하고, 검토한 각 작업을 허용하거나 차단합니다. 사용 가능 여부와 결정 순서는 [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)를 참조하세요 | 도구 사용에 대한 안전장치는 유지하려는 자율 에이전트 |

238| `"bypassPermissions"` | `allowedTools`에 나열하지 않은 도구에 대한 호출을 포함해, 도구 호출을 승인 요청 없이 실행합니다. 몇몇 호출은 여전히 `canUseTool` 콜백으로 전달되며, 해당 목록은 [Bypass permissions 모드](https://code.claude.com/docs/ko/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions)에 나와 있습니다. TypeScript SDK에서는 `options`에 `allowDangerouslySkipPermissions: true`도 필요합니다. Unix에서 root로 실행할 때는 사용할 수 없습니다. 에이전트의 작업이 중요한 시스템에 영향을 줄 수 없는 격리된 환경에서만 사용하세요 | CI, 컨테이너 또는 기타 격리된 환경 |238| `"bypassPermissions"` | `allowedTools`에 나열하지 않은 도구에 대한 호출을 포함해, 도구 호출을 승인 요청 없이 실행합니다. 몇몇 호출은 여전히 `canUseTool` 콜백으로 전달되며, 해당 목록은 [Bypass permissions 모드](https://code.claude.com/docs/ko/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions)에 나와 있습니다. TypeScript SDK에서는 `options`에 `allowDangerouslySkipPermissions: true`도 필요합니다. Unix에서 root로 실행할 때는 사용할 수 없습니다. 에이전트의 작업이 중요한 시스템에 영향을 줄 수 없는 격리된 환경에서만 사용하세요 | CI, 컨테이너 또는 기타 격리된 환경 |

239 239 

240대화형 애플리케이션에서는 `"default"`와 도구 승인 콜백을 함께 사용해 승인 프롬프트를 표시하세요. 개발 머신의 자율 에이전트에서는 `"acceptEdits"`가 파일 편집과 일반적인 파일 시스템 명령(`mkdir`, `touch`, `mv`, `cp` 등)을 자동 승인하면서도 그 외 `Bash` 명령은 허용 규칙으로 계속 통제합니다. `"bypassPermissions"`는 CI, 컨테이너 또는 기타 격리된 환경에서만 사용하세요. 자세한 내용은 [권한](https://code.claude.com/docs/ko/agent-sdk/permissions.md)을 참조하세요.240대화형 애플리케이션에서는 `"default"`와 도구 승인 콜백을 함께 사용해 승인 프롬프트를 표시하세요. 개발 머신에서 파일을 편집하는 에이전트에는 `"acceptEdits"`를 사용하세요. `"bypassPermissions"`는 CI, 컨테이너 또는 기타 격리된 환경에서만 사용하세요. 자세한 내용은 [권한](https://code.claude.com/docs/ko/agent-sdk/permissions.md)을 참조하세요.

241 241 

242### 모델242### 모델

243 243 

Details

14>14>

15> [mod](https://code.claude.com/docs/ko/plugins/mods/overview.md)가 포함된 플러그인을 로드하는 경우 [규칙과 훅 사이에서 mod의 결정이 차지하는 위치](https://code.claude.com/docs/ko/permissions.md#precedence-among-rules-hooks-and-mods)를 참조하세요.15> [mod](https://code.claude.com/docs/ko/plugins/mods/overview.md)가 포함된 플러그인을 로드하는 경우 [규칙과 훅 사이에서 mod의 결정이 차지하는 위치](https://code.claude.com/docs/ko/permissions.md#precedence-among-rules-hooks-and-mods)를 참조하세요.

16 16 

17Claude가 도구를 요청할 때 SDK는 다음 순서로 권한을 확인합니다.17Claude가 도구를 요청하면 Claude Code는 다음 단계에서 호출을 확인합니다. 각 단계는 호출을 결정하거나, `canUseTool` 콜백으로 보내거나, 다음 단계로 넘길 수 있습니다.

18 18 

19**1. Hooks**19**1. 훅**

20 20 

21먼저 [hooks](https://code.claude.com/docs/ko/agent-sdk/hooks.md)를 실행합니다. 훅은 호출을 완전히 거부하거나 통과시킬 수 있습니다. `allow`를 반환하는 훅은 아래의 거부 및 확인 규칙을 건너뛰지 않습니다. 이러한 규칙은 훅 결과와 관계없이 평가됩니다.21[훅](https://code.claude.com/docs/ko/agent-sdk/hooks.md)을 실행합니다. 훅은 호출을 즉시 거부하거나 다음 단계로 넘길 수 있습니다. `allow`를 반환하는 훅이라도 아래의 거부(deny) 및 확인(ask) 규칙을 건너뛰지 않으며, 이 규칙들은 훅 결과와 관계없이 평가됩니다.

22 22 

23또한 `allow`를 반환하는 `PreToolUse` 훅은 `rm -rf ~`처럼 Claude Code가 [중요 경로](https://code.claude.com/docs/ko/permission-modes.md#critical-paths)로 인식하는 대상에 대한 `rm` 또는 `rmdir` 명령을 승인할 수 없습니다. 플랜 모드에서 해당 `allow`가 어떻게 작동하는지는 [플랜 모드의 훅 승인](https://code.claude.com/docs/ko/permissions.md#hook-approvals-in-plan-mode)을 참조하세요.23또한 `allow`를 반환하는 `PreToolUse` 훅은 `rm -rf ~`처럼 Claude Code가 [중요 경로](https://code.claude.com/docs/ko/permission-modes.md#critical-paths)로 인식하는 대상에 대한 `rm` 또는 `rmdir` 명령을 승인할 수 없습니다. 플랜 모드에서 해당 `allow`가 어떻게 작동하는지는 [플랜 모드의 훅 승인](https://code.claude.com/docs/ko/permissions.md#hook-approvals-in-plan-mode)을 참조하세요.

24 24 

25**2. 거부 규칙**25**2. 거부 규칙**

26 26 

27`disallowed_tools` 또는 [settings.json](https://code.claude.com/docs/ko/settings-reference.md#permission-settings)의 거부 규칙이 일치하면 [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) 모드에서도, 훅이 `allow`를 반환한 경우에도 호출이 거부되며 [`canUseTool`](https://code.claude.com/docs/ko/agent-sdk/user-input)은 호출되지 않습니다.27`disallowed_tools` 또는 [SDK가 로드하는 설정 파일](#rules-in-settings-files)의 거부 규칙이 일치하면 호출이 거부되며 [`canUseTool`](https://code.claude.com/docs/ko/agent-sdk/user-input)은 호출되지 않습니다. [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) 모드에서도, 훅이 `allow`를 반환한 경우에도 호출은 이러한 방식으로 거부됩니다.

28 28 

29TypeScript SDK에서 [사용자 정의 도구](https://code.claude.com/docs/ko/agent-sdk/custom-tools.md#require-approval-for-specific-tools)의 `permission_policy`를 [`always_deny`](https://code.claude.com/docs/ko/agent-sdk/typescript#mcpservertoolpolicy)로 설정하면 해당 도구에 대한 호출은 이 단계에서 거부됩니다.29TypeScript SDK에서 [사용자 정의 도구](https://code.claude.com/docs/ko/agent-sdk/custom-tools.md#require-approval-for-specific-tools)의 `permission_policy`를 [`always_deny`](https://code.claude.com/docs/ko/agent-sdk/typescript#mcpservertoolpolicy)로 설정하면 해당 도구에 대한 호출은 이 단계에서 거부됩니다.

30 30 


32 32 

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

34 34 

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

36 36 

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

38 38 


42 42 

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

44 44 

45* `bypassPermissions` 모드에서 Claude Code는 이 단계에 도달하는 모든 것을 승인합니다. 단, 인식된 [중요 경로 제거](https://code.claude.com/docs/ko/permission-modes.md#critical-paths)와 [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/ko/permission-modes#dangerous-rm-operation-not-ruled-out)으로 표시된 Bash 명령은 승인되지 않고 대신 전달됩니다.45* `bypassPermissions` 모드에서 Claude Code는 [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)에 해당하지 않는 한 이 단계에 도달하는 각 호출을 승인합니다. 이러한 작업 중 어떤 것이 `canUseTool` 콜백으로 전달되는지는 [Bypass permissions mode](#bypass-permissions-mode-bypasspermissions)를 참조하세요.

46 * 프롬프트 없이 이러한 제거를 실행하려면 [중요 경로 제거 프롬프트 끄기](https://code.claude.com/docs/ko/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode)를 참조하세요.

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

48* `plan` 모드에서 Claude Code는 allow 규칙과 관계없이 파일 편집 도구를 `canUseTool` 콜백으로 보냅니다.47* `plan` 모드에서는 일부 호출이 콜백에 도달하며, 자동 모드를 사용할 수 있는 경우 다른 호출은 대신 자동 모드의 분류기로 전달됩니다. 자세한 내용은 [Plan mode](#plan-mode-plan)를 참조하세요.

49* 다른 모드에서는 요청이 전달됩니다.48* `default` 및 `dontAsk` 모드에서는 호출이 allow 규칙으로 넘어갑니다.

49* `auto` 모드는 [Auto mode](#auto-mode-auto)를 참조하세요.

50 50 

51**5. 허용 규칙**51**5. 허용 규칙**

52 52 


91 91 

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

93 93 

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

95 

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

97 

98> [!WARNING]94> [!WARNING]

99>95>

100> **자동 승인된 도구는 `canUseTool`에 도달하지 않습니다.** `acceptEdits` 또는 `bypassPermissions`에 의해 또는 허용 규칙에 의해 이전 단계에서 승인된 도구 호출은 `canUseTool` 콜백을 건너뛰므로, 거기에 넣은 권한 검사는 해당 도구에 대해 자동으로 무시됩니다.96> **자동 승인된 도구는 `canUseTool`에 도달하지 않습니다.** `acceptEdits` 또는 `bypassPermissions`에 의해 또는 허용 규칙에 의해 이전 단계에서 승인된 도구 호출은 `canUseTool` 콜백을 건너뛰므로, 거기에 넣은 권한 검사는 해당 도구에 대해 자동으로 무시됩니다.


105>101>

106> * 애플리케이션이 [`always_ask`](https://code.claude.com/docs/ko/agent-sdk/custom-tools#require-approval-for-specific-tools)로 표시한 사용자 지정 도구: 콜백에서 호출을 결정합니다. 이러한 호출이 도착하지 않도록 하려면 [세션 중에 정책을 변경](https://code.claude.com/docs/ko/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance)합니다. `auto`, `plan`, `bypassPermissions` 모드에서는 [`always_ask` 호출을 승인할 수 있는 권한 모드](https://code.claude.com/docs/ko/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)에 나열된 경우에 호출이 콜백 전에 승인될 수 있습니다102> * 애플리케이션이 [`always_ask`](https://code.claude.com/docs/ko/agent-sdk/custom-tools#require-approval-for-specific-tools)로 표시한 사용자 지정 도구: 콜백에서 호출을 결정합니다. 이러한 호출이 도착하지 않도록 하려면 [세션 중에 정책을 변경](https://code.claude.com/docs/ko/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance)합니다. `auto`, `plan`, `bypassPermissions` 모드에서는 [`always_ask` 호출을 승인할 수 있는 권한 모드](https://code.claude.com/docs/ko/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)에 나열된 경우에 호출이 콜백 전에 승인될 수 있습니다

107>103>

108> * 인식된 `rm` 및 `rmdir` [중요 경로 제거](https://code.claude.com/docs/ko/permission-modes.md#critical-paths): `default`, `acceptEdits`, `bypassPermissions` 모드에서는 콜백에서 제거를 허용하거나 거부하며, 이때 [`decisionReason`](https://code.claude.com/docs/ko/agent-sdk/typescript#canusetool)은 `Dangerous rm`으로 시작합니다. `auto` 및 `plan` 모드의 경우 [각 권한 모드의 중요 경로 제거](https://code.claude.com/docs/ko/permission-modes.md#critical-path-removals-in-each-permission-mode)를 참조하십시오. 이러한 제거를 인식하는 검사는 [일부 명령을 놓칠 수 있습니다](https://code.claude.com/docs/ko/permission-modes.md#critical-paths)104> * 인식된 `rm` 및 `rmdir` [중요 경로 제거](https://code.claude.com/docs/ko/permission-modes.md#critical-paths): `default`, `acceptEdits`, `bypassPermissions` 모드에서는 콜백에서 제거를 허용하거나 거부하며, 이때 [`decisionReason`](https://code.claude.com/docs/ko/agent-sdk/typescript#canusetool)은 `Dangerous rm`으로 시작합니다. `auto` 및 `plan` 모드의 경우 [각 권한 모드의 중요 경로 제거](https://code.claude.com/docs/ko/permission-modes.md#critical-path-removals-in-each-permission-mode)를 참조하십시오

109>105>

110> * **단순 이름**: `Read` 또는 `mcp__github__get_issue`와 같은 항목은 [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)과 [네트워크 경로에서의 읽기](https://code.claude.com/docs/ko/permissions.md#network-paths)를 제외하고 해당 도구에 대한 모든 호출을 자동 승인합니다.106> * **단순 이름**: `Read` 또는 `mcp__github__get_issue`와 같은 항목은 [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)과 [네트워크 경로에서의 읽기](https://code.claude.com/docs/ko/permissions.md#network-paths)를 제외하고 해당 도구에 대한 모든 호출을 자동 승인합니다.

111>107>

112> * **범위 지정 규칙**: `Bash(npm test *)`와 같은 항목은 일치하는 호출만 자동 승인하며, 승인이 필요한 다른 `Bash` 호출은 여전히 콜백으로 넘어갑니다.108> * **범위 지정 규칙**: `Bash(npm test *)`와 같은 항목은 일치하는 호출을 자동 승인하며, 승인이 필요한 다른 `Bash` 호출은 권한 모드로 넘어갑니다.

113>109>

114> 모든 도구 호출에서 실행되어야 하는 검사의 경우 [`PreToolUse` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks)을 사용합니다: 훅은 다른 모든 단계 전에 실행되고, 훅 거부는 `bypassPermissions` 모드에서도 적용됩니다.110> 허용 규칙, `acceptEdits` 또는 `bypassPermissions`가 승인하는 호출을 검사하려면 [`PreToolUse` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks)을 사용합니다. 이 훅은 이러한 호출에 대해서도 실행됩니다. 훅 거부는 `bypassPermissions` 모드에서도 적용됩니다.

115 111 

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

117 113 


128 124 

129> [!WARNING]125> [!WARNING]

130>126>

131> **`allowed_tools`는 `bypassPermissions`를 제한하지 않습니다.** `allowed_tools`는 나열한 도구를 사전 승인합니다. 나열되지 않은 다른 도구는 허용 규칙과 일치하지 않으며 권한 모드로 넘어가고, 여기서 `bypassPermissions`는 이들을 승인합니다. `allowed_tools=["Read"]`를 `permission_mode="bypassPermissions"`와 함께 설정하면 `Bash`, `Write`, `Edit`을 포함한 모든 도구를 여전히 승인합니다. `bypassPermissions`가 필요하지만 특정 도구를 차단하려면 `disallowed_tools`를 사용합니다.127> **`allowed_tools`는 `bypassPermissions`를 제한하지 않습니다.** `allowed_tools`는 나열한 도구를 사전 승인합니다. `bypassPermissions` 모드에서 Claude Code는 나열되지 않은 도구에 대한 호출이 [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)에 해당하지 않는 한 이를 승인합니다.

128>

129> `allowed_tools=["Read"]`를 `permission_mode="bypassPermissions"`와 함께 설정하더라도 Claude Code는 여전히 `Bash`, `Write`, `Edit`과 같은 도구에 대한 호출을 승인합니다. `bypassPermissions`가 필요하지만 특정 도구를 차단하려면 `disallowed_tools`를 사용합니다. 이 모드에서도 여전히 `canUseTool` 콜백에 도달하는 호출에 대해서는 [권한 우회 모드](#bypass-permissions-mode-bypasspermissions)를 참조하십시오.

132 130 

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

134 132 

133프로젝트의 `.claude/settings.json`에 있는 허용 규칙이 언제 적용되는지는 [프로젝트 허용 규칙과 워크스페이스 신뢰](https://code.claude.com/docs/ko/permissions.md#project-allow-rules-and-workspace-trust)를 참조하십시오.

134 

135### 규칙의 경로 패턴

136 

137`Read` 및 `Edit`에 대한 범위 지정 규칙은 경로 패턴을 사용합니다. `Edit(path)` 규칙은 `Write` 및 `NotebookEdit`을 포함하여 파일을 쓰는 모든 기본 제공 도구를 관리하므로, 이들 도구에 대한 경로 규칙은 모두 `Edit(path)`로 작성합니다. 경로 규칙을 `Write(path)` 또는 `NotebookEdit(path)`로 작성하면 [어떤 호출과도 일치하지 않으며](https://code.claude.com/docs/ko/permissions.md#path-rules-that-never-match) 아무런 효과가 없습니다.

138 

139`allowed_tools` 및 `disallowed_tools`에서 절대 경로는 `//`로, 세션의 작업 디렉터리 내부 경로는 단일 `/`로 경로 패턴을 시작합니다:

140 

141* **`//path`**: `Edit(//secrets/**)` 거부 규칙을 사용하면 Claude Code는 Claude의 파일 도구와 [`tee` 및 `> file` 리디렉션과 같은 Bash 명령](https://code.claude.com/docs/ko/permissions#what-read-and-edit-rules-cover)에 의한 디스크의 `/secrets` 아래 쓰기를 차단합니다. Claude가 실행하는 스크립트가 직접 파일을 여는 경우에는 여전히 `/secrets` 아래에 쓸 수 있습니다. 운영 체제 수준의 강제 적용에 대해서는 [샌드박스 처리된 Bash 도구 구성](https://code.claude.com/docs/ko/sandboxing.md)을 참조하십시오.

142* **`/path`**: `Edit(/secrets/**)`는 작업 디렉터리 내부의 `secrets` 디렉터리와 일치합니다.

143 

144경로 패턴을 시작하는 다른 방법은 [Read 및 Edit 규칙](https://code.claude.com/docs/ko/permissions.md#read-and-edit)을 참조하십시오.

145 

135## 권한 모드146## 권한 모드

136 147 

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


146| :- | :- | :- |157| :- | :- | :- |

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

148| `dontAsk` | 확인을 요청하는 대신 거부 | 원래 확인을 요청했을 모든 호출은 `canUseTool`을 호출하지 않고 거부되지만, 사용자가 설치한 [mod](https://code.claude.com/docs/ko/plugins/mods/overview.md)는 여전히 [그중 일부 호출](https://code.claude.com/docs/ko/permissions.md#precedence-among-rules-hooks-and-mods)을 승인할 수 있습니다. `allowed_tools` 또는 `settings.json` 허용 규칙으로 승인된 호출은 실행되며, `default` 모드에서 승인이 필요 없는 호출도 실행됩니다. [네트워크 경로에서의 읽기](https://code.claude.com/docs/ko/permissions.md#network-paths)와 같은 일부 호출은 `allowed_tools` 또는 허용 규칙이 일치하더라도 거부됩니다. 전체 목록은 [묻지 않음 모드](#don’t-ask-mode-dontask)를 참조하세요 |159| `dontAsk` | 확인을 요청하는 대신 거부 | 원래 확인을 요청했을 모든 호출은 `canUseTool`을 호출하지 않고 거부되지만, 사용자가 설치한 [mod](https://code.claude.com/docs/ko/plugins/mods/overview.md)는 여전히 [그중 일부 호출](https://code.claude.com/docs/ko/permissions.md#precedence-among-rules-hooks-and-mods)을 승인할 수 있습니다. `allowed_tools` 또는 `settings.json` 허용 규칙으로 승인된 호출은 실행되며, `default` 모드에서 승인이 필요 없는 호출도 실행됩니다. [네트워크 경로에서의 읽기](https://code.claude.com/docs/ko/permissions.md#network-paths)와 같은 일부 호출은 `allowed_tools` 또는 허용 규칙이 일치하더라도 거부됩니다. 전체 목록은 [묻지 않음 모드](#don’t-ask-mode-dontask)를 참조하세요 |

149| `acceptEdits` | 파일 편집 자동 수락 | 파일 편집과 [파일 시스템 작업](#accept-edits-mode-acceptedits)(`mkdir`, `rm`, `mv` 등)이 자동으로 승인됩니다 |160| `acceptEdits` | 파일 편집 자동 수락 | [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 내부의 파일 편집과 [파일 시스템 작업](#accept-edits-mode-acceptedits)(`mkdir`, `rm`, `mv` 등)이 자동으로 승인됩니다 |

150| `bypassPermissions` | 권한 확인 우회 | [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)과, [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md) 외부에서 애플리케이션이 [`always_ask`로 지정한](https://code.claude.com/docs/ko/agent-sdk/custom-tools#require-approval-for-specific-tools) 커스텀 도구를 제외하고 도구가 권한 프롬프트 없이 실행됩니다. 주의해서 사용하세요 |161| `bypassPermissions` | 권한 확인 우회 | [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)과, [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md) 외부에서 애플리케이션이 [`always_ask`로 지정한](https://code.claude.com/docs/ko/agent-sdk/custom-tools#require-approval-for-specific-tools) 커스텀 도구를 제외하고 도구가 권한 프롬프트 없이 실행됩니다. 주의해서 사용하세요 |

151| `plan` | 플랜 모드 | Claude가 소스 파일을 편집하지 않고 탐색하고 계획합니다. 파일 편집은 자동 승인되지 않으며 `canUseTool` 콜백을 통해 확인을 요청합니다 |162| `plan` | 플랜 모드 | Claude가 탐색하고 계획합니다. Claude의 파일 도구로 수행하는 편집은 허용 규칙이 일치하더라도 `canUseTool` 콜백으로 전달됩니다 |

152| `auto` | 모델 분류 기반 승인 | 모델 분류기가 셸 명령 및 네트워크 요청과 같은 작업을 검토하고, 검토하는 각 작업을 허용하거나 차단합니다. 사용 가능 여부와 결정 순서는 [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)를 참조하세요 |163| `auto` | 모델 분류 기반 승인 | 모델 분류기가 셸 명령 및 네트워크 요청과 같은 작업을 검토하고, 검토하는 각 작업을 허용하거나 차단합니다. 사용 가능 여부와 결정 순서는 [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)를 참조하세요 |

153 164 

154> [!WARNING]165> [!WARNING]


267 278 

268**자동 승인되는 작업:**279**자동 승인되는 작업:**

269 280 

270* 파일 편집(Edit, Write 도구)281* Edit, Write, NotebookEdit 도구를 사용한 파일 편집

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

272 283 

273두 가지 모두 작업 디렉터리 또는 `additionalDirectories` 내부의 경로에만 적용됩니다. `acceptEdits` 모드에서 Claude Code는 Claude가 다음을 수행할 때 요청을 자동 승인하지 않습니다.284두 가지 모두 작업 디렉터리 또는 사용자가 추가한 디렉터리 내부의 경로에 적용됩니다. 디렉터리는 Python에서는 `add_dirs`로, TypeScript에서는 `additionalDirectories`로 추가합니다. `acceptEdits` 모드에서 Claude Code는 Claude가 다음을 수행할 때 요청을 자동 승인하지 않습니다.

274 285 

275* 해당 범위 밖의 경로에서 작업하는 경우286* 해당 범위 밖의 경로에서 작업하는 경우

276* 보호된 경로에 쓰는 경우287* [보호된 경로](https://code.claude.com/docs/ko/permission-modes.md#protected-paths)에 쓰는 경우

277* Claude Code가 [중요 경로](https://code.claude.com/docs/ko/permission-modes.md#critical-paths)로 인식하는 경로를 `rm` 또는 `rmdir`로 삭제하는 경우288* Claude Code가 [중요 경로](https://code.claude.com/docs/ko/permission-modes.md#critical-paths)로 인식하는 경로를 `rm` 또는 `rmdir`로 삭제하는 경우

278* 예를 들어 옵션, glob, 또는 `timeout 5`나 `LANG=C` 접두사와 함께 [`touch`](https://code.claude.com/docs/ko/permission-modes#auto-approve-file-edits-with-acceptedits-mode)를 실행하는 경우289* 예를 들어 옵션, glob, 또는 `timeout 5`나 `LANG=C` 접두사와 함께 [`touch`](https://code.claude.com/docs/ko/permission-modes#auto-approve-file-edits-with-acceptedits-mode)를 실행하는 경우

279 290 


293 304 

294`PreToolUse` 훅이 인식된 중요 경로 삭제, 네트워크 경로에서의 읽기 또는 `always_ask`로 지정된 도구 호출에 대해 `allow`를 반환하더라도 해당 호출은 여전히 거부됩니다. 이러한 삭제를 인식하는 검사는 [일부 명령을 놓칠 수 있습니다](https://code.claude.com/docs/ko/permission-modes.md#critical-paths).305`PreToolUse` 훅이 인식된 중요 경로 삭제, 네트워크 경로에서의 읽기 또는 `always_ask`로 지정된 도구 호출에 대해 `allow`를 반환하더라도 해당 호출은 여전히 거부됩니다. 이러한 삭제를 인식하는 검사는 [일부 명령을 놓칠 수 있습니다](https://code.claude.com/docs/ko/permission-modes.md#critical-paths).

295 306 

296**사용 시기:** 헤드리스 에이전트에 고정되고 명시적인 도구 집합을 제공하고, `canUseTool`이 없다는 점에 암묵적으로 의존하기보다 확실한 거부를 선호하는 경우에 사용합니다.307**사용 시기:** 헤드리스 에이전트를 실행하며, 원래 확인을 요청했을 각 호출을 확실히 거부하려는 경우에 사용합니다.

297 308 

298#### 권한 우회 모드(`bypassPermissions`)309#### 권한 우회 모드(`bypassPermissions`)

299 310 


303>314>

304> 매우 주의해서 사용하세요. 이 모드에서 Claude는 완전한 시스템 액세스 권한을 가집니다. 가능한 모든 작업을 신뢰할 수 있는 통제된 환경에서만 사용하세요.315> 매우 주의해서 사용하세요. 이 모드에서 Claude는 완전한 시스템 액세스 권한을 가집니다. 가능한 모든 작업을 신뢰할 수 있는 통제된 환경에서만 사용하세요.

305>316>

306> `allowed_tools`는 이 모드를 제한하지 않습니다. 나열한 도구뿐만 아니라 모든 도구가 승인됩니다. 다음 제어는 여전히 적용됩니다.317> `allowed_tools`는 이 모드를 제한하지 않으며, 목록에 포함하지 않은 도구에 대한 호출도 승인됩니다. 다음 제어는 여전히 적용됩니다:

307>318>

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

309> * [조직이 `ask`로 설정한](https://code.claude.com/docs/ko/mcp#organization-controls-on-connector-tools) 커넥터 도구, 사용자 상호작용이 필요한 도구, 그리고 인식된 [중요 경로 삭제](https://code.claude.com/docs/ko/permission-modes.md#critical-paths)는 여전히 `canUseTool` 콜백으로 넘어갑니다. 이러한 삭제를 인식하는 검사는 [일부 명령을 놓칠 수 있으며](https://code.claude.com/docs/ko/permission-modes.md#critical-paths), [중요 경로 삭제 프롬프트를 끌 수도 있습니다](https://code.claude.com/docs/ko/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md) 외부에서는 애플리케이션이 [`always_ask`로 지정한](https://code.claude.com/docs/ko/agent-sdk/custom-tools#require-approval-for-specific-tools) 커스텀 도구 호출도 콜백으로 넘어갑니다.320> * [조직이 `ask`로 설정한](https://code.claude.com/docs/ko/mcp#organization-controls-on-connector-tools) 커넥터 도구, 사용자 상호작용이 필요한 도구, 인식된 [중요 경로 삭제](https://code.claude.com/docs/ko/permission-modes.md#critical-paths), 그리고 [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/ko/permission-modes#dangerous-rm-operation-not-ruled-out)으로 표시된 Bash 명령은 여전히 `canUseTool` 콜백으로 넘어갑니다. 중요 경로 삭제를 인식하는 검사는 [일부 명령을 놓칠 수 있으며](https://code.claude.com/docs/ko/permission-modes.md#critical-paths), [중요 경로 삭제 프롬프트를 끌 수도 있습니다](https://code.claude.com/docs/ko/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md) 외부에서는 애플리케이션이 [`always_ask`로 지정한](https://code.claude.com/docs/ko/agent-sdk/custom-tools#require-approval-for-specific-tools) 커스텀 도구 호출도 콜백으로 넘어갑니다.

310> * [세션 간 메시징 보호 장치](https://code.claude.com/docs/ko/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)는 여전히 적용됩니다.321> * [세션 간 메시징 보호 장치](https://code.claude.com/docs/ko/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)는 여전히 적용됩니다.

311 322 

312#### 플랜 모드(`plan`)323#### 플랜 모드(`plan`)

313 324 

314Claude는 소스 파일을 편집하지 않고 코드베이스를 탐색하여 계획을 작성합니다. 플랜 모드에서는 허용 규칙이 일치하거나 `PreToolUse` 훅이 `allow`를 반환하더라도 파일 편집이 자동 승인되지 않습니다. 대신 `canUseTool` 콜백을 통해 확인을 요청합니다.325Claude는 코드베이스를 탐색하여 계획을 작성합니다. 계획하는 동안 [보호된 경로](https://code.claude.com/docs/ko/permission-modes.md#protected-paths) 외부에서 Claude의 파일 도구로 수행하는 편집은 허용 규칙이 일치하거나 `PreToolUse` 훅이 `allow`를 반환하더라도 `canUseTool` 콜백에 도달합니다. [`AskUserQuestion`](https://code.claude.com/docs/ko/agent-sdk/user-input#handle-clarifying-questions) 호출도 허용 규칙이 해당 도구를 지정하더라도 콜백에 도달합니다.

326 

327[자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)를 사용할 수 있는 경우, 허용 규칙이 승인하지 않는 다음 호출을 Claude Code는 계획 중에 콜백 대신 [자동 모드의 분류기](https://code.claude.com/docs/ko/permission-modes.md#analyze-before-you-edit-with-plan-mode)로 보내 검토하게 합니다.

328 

329* 셸 명령

330* 웹 가져오기

331* 웹 검색

332* 서버가 읽기 전용으로 표시한 MCP 도구 호출

333 

334이 검토는 기본적으로 켜져 있습니다. 끄려면 `query()`에 전달하는 `settings` 옵션 또는 사용자 설정에서 [`useAutoModeDuringPlan`](https://code.claude.com/docs/ko/settings-reference#useautomodeduringplan)을 `false`로 설정합니다. 검토가 꺼져 있는 동안에는 웹 검색과 읽기 전용으로 표시된 MCP 도구 호출이 콜백에 도달합니다.

315 335 

316세션에서 자동 모드를 사용할 수 있는 동안에는 Claude가 계획 중에 실행하는 명령이 기본적으로 콜백에 도달하지 않습니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)가 사용하는 분류기 모델이 [대신 이를 검토](https://code.claude.com/docs/ko/permission-modes.md#analyze-before-you-edit-with-plan-mode)하기 때문입니다. 이 검토가 켜져 있으면 분류기는 허용 규칙이 없는 `WebFetch` 호출처럼 원래 콜백에 도달했을 읽기 전용 호출도 승인할 수 있습니다.336셸 명령과 웹 가져오기의 경우, 각 호출이 콜백에 도달하는지 여부는 다음 표와 같습니다.

337 

338| 계획 중 호출 | 검토 켜짐 | 검토 꺼짐 또는 자동 모드 사용 불가 |

339| :- | :- | :- |

340| `ls`와 같은 [읽기 전용](https://code.claude.com/docs/ko/permissions.md#read-only-commands) 셸 명령 | 콜백에 도달하지 않고 실행됩니다 | 콜백에 도달하지 않고 실행됩니다 |

341| [중요 경로 삭제](https://code.claude.com/docs/ko/permission-modes.md#critical-paths)를 제외하고, 허용 규칙이 승인하지 않는 그 밖의 셸 명령 | 분류기로 전달되며, 분류기가 콜백 없이 승인하거나 거부합니다 | 콜백에 도달합니다 |

342| [사전 승인된 문서 도메인](https://code.claude.com/docs/ko/tools-reference.md#webfetch-tool-behavior)에 대한 `WebFetch` 호출 | 콜백에 도달하지 않고 실행됩니다 | 콜백에 도달하지 않고 실행됩니다 |

343| 허용 규칙이 승인하지 않는 그 밖의 `WebFetch` 호출 | 분류기로 전달되며, 분류기가 콜백 없이 승인하거나 거부합니다 | 콜백에 도달합니다 |

344 

345분류기가 여러 호출을 연속으로 거부한 후 어떻게 되는지는 [반복 차단 임계값](https://code.claude.com/docs/ko/permission-modes.md#repeated-block-thresholds)을 참조하세요.

317 346 

318> [!NOTE]347> [!NOTE]

319>348>

320> TypeScript SDK에서 `permissionMode: 'plan'`과 함께 `allowDangerouslySkipPermissions: true`를 설정하더라도, 파일 편집은 여전히 `canUseTool` 콜백에 도달합니다. 플랜 모드로 시작하는 세션을 나중에 `setPermissionMode()`로 `bypassPermissions`로 전환하려면 처음부터 `allowDangerouslySkipPermissions`를 설정해야 합니다.349> TypeScript SDK에서 `permissionMode: 'plan'`과 함께 `allowDangerouslySkipPermissions: true`를 설정하더라도, 파일 편집은 여전히 `canUseTool` 콜백에 도달합니다. 플랜 모드로 시작하는 세션을 나중에 `setPermissionMode()`로 `bypassPermissions`로 전환하려면 처음부터 `allowDangerouslySkipPermissions`를 설정해야 합니다.

321 350 

322Claude는 계획을 확정하기 전에 요구 사항을 명확히 하기 위해 `AskUserQuestion`을 사용할 수 있습니다. 이러한 프롬프트를 처리하는 방법은 [승인 및 사용자 입력 처리](https://code.claude.com/docs/ko/agent-sdk/user-input.md#handle-clarifying-questions)를 참조하세요.351**사용 시기:** 코드 리뷰 중이거나 대규모 변경 전처럼, Claude가 먼저 계획을 작성하기를 원하는 경우에 사용합니다.

323 

324**사용 시기:** 코드 리뷰 중이거나 변경 사항이 적용되기 전에 승인해야 하는 경우처럼, Claude가 변경 사항을 실행하지 않고 제안하기를 원하는 경우에 사용합니다.

325 352 

326#### 자동 모드(`auto`)353#### 자동 모드(`auto`)

327 354 

Details

1175PermissionMode = Literal[1175PermissionMode = Literal[

1176 "default", # Standard permission behavior1176 "default", # Standard permission behavior

1177 "acceptEdits", # Auto-accept file edits1177 "acceptEdits", # Auto-accept file edits

1178 "plan", # Planning mode - explore without editing1178 "plan", # Planning mode - Claude explores and plans

1179 "dontAsk", # Deny anything not pre-approved instead of prompting1179 "dontAsk", # Deny anything not pre-approved instead of prompting

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

1181 "auto", # A model classifier reviews actions such as shell commands and network requests1181 "auto", # A model classifier reviews actions such as shell commands and network requests


1214 1214 

1215`PermissionResult` (`PermissionResultAllow` 또는 `PermissionResultDeny`)를 반환합니다.1215`PermissionResult` (`PermissionResultAllow` 또는 `PermissionResultDeny`)를 반환합니다.

1216 1216 

1217콜백은 대화형 권한 프롬프트의 SDK 대체입니다: [권한 평가 흐름](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)이 프롬프트로 해결될 때만 호출됩니다. `allowed_tools` 항목, 설정 허용 규칙 또는 `acceptEdits` 또는 `bypassPermissions`와 같은 권한 모드로 이미 승인된 도구 호출은 이를 호출하지 않습니다. 모든 도구 호출을 제어하려면 [`PreToolUse` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks)을 대신 사용합니다.1217콜백은 대화형 권한 프롬프트를 대체합니다. SDK는 [권한 평가 흐름](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)이 프롬프트로 귀결될 때 `can_use_tool`을 호출합니다. 다음 두 가지 방식 중 하나로 승인된 호출은 `can_use_tool`을 호출하지 않고 실행됩니다:

1218 

1219* `allowed_tools` 항목 또는 설정 허용 규칙이 승인하는 호출

1220* 권한 모드가 승인하는 호출 (예: `acceptEdits` 모드에서의 파일 편집)

1221 

1222이러한 호출을 검사하려면 해당 호출에 대해서도 실행되는 [`PreToolUse` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks)을 사용합니다.

1218 1223 

1219허용 규칙은 [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)을 사전 승인하지 않습니다. 이 중 어떤 작업이 콜백에 도달하는지, 그리고 `dontAsk` 및 `auto` 모드에서 어떤 일이 발생하는지는 [권한 평가 방식](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)을 참조하십시오.1224허용 규칙은 [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)을 사전 승인하지 않습니다. 이 중 어떤 작업이 콜백에 도달하는지, 그리고 `dontAsk` 및 `auto` 모드에서 어떤 일이 발생하는지는 [권한 평가 방식](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)을 참조하십시오.

1220 1225 


3659 3664 

3660> [!NOTE]3665> [!NOTE]

3661>3666>

3662> 기본 제공 샌드박스 프록시는 요청된 호스트명을 기반으로 네트워크 허용 목록을 적용하며 TLS 트래픽을 종료하거나 검사하지 않으므로, [도메인 프론팅](https://en.wikipedia.org/wiki/Domain_fronting)과 같은 기술이 이를 우회할 수 있습니다. 자세한 내용은 [샌드박싱 보안 제한 사항](https://code.claude.com/docs/ko/sandboxing.md#security-limitations)을 참조하고, TLS 종료 프록시 구성은 [안전한 배포](https://code.claude.com/docs/ko/agent-sdk/secure-deployment.md#traffic-forwarding)를 참조하십시오.3667> 기본 제공 샌드박스 프록시는 요청된 호스트명을 기반으로 네트워크 허용 목록을 적용합니다. 기본적으로 프록시는 TLS 트래픽을 종료하거나 검사하지 않으므로, [도메인 프론팅](https://en.wikipedia.org/wiki/Domain_fronting)과 같은 기술이 허용 목록을 우회할 가능성이 있습니다. 자세한 내용은 [샌드박싱 보안 제한 사항](https://code.claude.com/docs/ko/sandboxing.md#security-limitations)을 참조하고, TLS 종료 프록시 구성은 [안전한 배포](https://code.claude.com/docs/ko/agent-sdk/secure-deployment.md#traffic-forwarding)를 참조하십시오.

3663 3668 

3664### `SandboxIgnoreViolations`3669### `SandboxIgnoreViolations`

3665 3670 

Details

22 22 

23Claude Code에는 일반적인 문제를 해결하는 여러 보안 기능이 포함되어 있습니다. 전체 세부사항은 [보안 설명서](https://code.claude.com/docs/ko/security.md)를 참조하십시오.23Claude Code에는 일반적인 문제를 해결하는 여러 보안 기능이 포함되어 있습니다. 전체 세부사항은 [보안 설명서](https://code.claude.com/docs/ko/security.md)를 참조하십시오.

24 24 

25* **권한 시스템**: 모든 도구 및 bash 명령을 허용, 차단 또는 사용자 승인 요청으로 구성할 수 있습니다. glob 패턴을 사용하여 "모든 npm 명령 허용" 또는 "sudo가 있는 모든 명령 차단"과 같은 규칙을 만듭니다. 조직은 모든 사용자에게 적용되는 정책을 설정할 수 있습니다. [권한](https://code.claude.com/docs/ko/permissions.md)을 참조하십시오.25* **권한 시스템**: 권한 규칙은 도구 호출을 실행할지, 차단할지, 아니면 먼저 승인을 요청할지 결정합니다. Bash 규칙이 놓치는 형식과 규칙이 권한 모드와 결합되는 방식은 [Bash 규칙이 일치하지 않는 항목](https://code.claude.com/docs/ko/permissions.md#bash-rule-limits) 및 [권한 구성](https://code.claude.com/docs/ko/agent-sdk/permissions.md)을 참조하십시오. 관리자는 [관리형 설정](https://code.claude.com/docs/ko/permissions.md#managed-settings)에서도 규칙을 설정할 수 있습니다.

26* **권한을 위한 명령 파싱**: bash 명령을 실행하기 전에 Claude Code는 이를 AST로 파싱하고 결과를 권한 규칙과 비교합니다. 깔끔하게 파싱할 수 없거나 허용 규칙과 일치하지 않는 명령은 명시적 승인이 필요합니다. `eval`과 같은 작은 구성 집합은 허용 규칙에 관계없이 항상 승인이 필요합니다. 이는 권한 게이트이지 샌드박스가 아닙니다. `rm` 및 `rmdir`에 대한 [중요 경로 확인](https://code.claude.com/docs/ko/permission-modes.md#critical-paths) 및 [보호된 경로](https://code.claude.com/docs/ko/permission-modes.md#protected-paths) 목록과 같은 기본 제공 안전 검사를 제외하고, 대상 경로나 효과에서 명령이 위험한지 여부를 추론하지 않습니다.26* **중요 경로 제거**: 권한 모드가 `default`로 설정된 경우, 작업 디렉터리나 다른 [중요 경로](https://code.claude.com/docs/ko/permission-modes.md#critical-paths)를 제거하는 것으로 인식된 `rm` 또는 `rmdir` 명령은 승인이 필요합니다. 일치하는 허용 규칙이 있어도 이 승인은 생략되지 않습니다. 이는 권한 게이트이지 샌드박스가 아닙니다. 에이전트가 쓸 수 있는 대상을 제어하려면 [파일 시스템 제어](#filesystem-configuration)를 사용하십시오.

27* **웹 검색 요약**: 검색 결과는 원본 콘텐츠를 컨텍스트에 직접 전달하는 대신 요약되어 악성 웹 콘텐츠로부터의 프롬프트 주입 위험을 줄입니다.27* **웹 검색 요약**: 검색 결과는 원본 콘텐츠를 컨텍스트에 직접 전달하는 대신 요약되어 악성 웹 콘텐츠로부터의 프롬프트 주입 위험을 줄입니다.

28* **샌드박스 모드**: Bash 명령은 파일 시스템 및 네트워크 접근을 제한하는 샌드박스 환경에서 실행될 수 있습니다. 자세한 내용은 [샌드박싱 설명서](https://code.claude.com/docs/ko/sandboxing.md)를 참조하십시오.28* **샌드박스 모드**: Bash 명령은 파일 시스템 및 네트워크 접근을 제한하는 샌드박스 환경에서 실행될 수 있습니다. 자세한 내용은 [샌드박싱 설명서](https://code.claude.com/docs/ko/sandboxing.md)를 참조하십시오.

29 29 


83**작동 방식:**83**작동 방식:**

84 84 

85* **파일 시스템**: OS 기본 요소(`bubblewrap` on Linux, `sandbox-exec` on macOS)를 사용하여 구성된 경로에 대한 읽기/쓰기 접근을 제한합니다85* **파일 시스템**: OS 기본 요소(`bubblewrap` on Linux, `sandbox-exec` on macOS)를 사용하여 구성된 경로에 대한 읽기/쓰기 접근을 제한합니다

86* **네트워크**: 네트워크 네임스페이스(Linux)를 제거하거나 Seatbelt 프로필(macOS)을 사용하여 네트워크 트래픽을 기본 제공 프록시를 통해 라우팅합니다86* **네트워크**: 명령을 자체 네트워크 네임스페이스(Linux) 또는 Seatbelt 프로필(macOS)에서 실행하고, 구성된 도메인을 허용하는 기본 제공 프록시를 통해 트래픽을 라우팅합니다. 프록시를 거치지 않고 외부 호스트에 연결하면 실패합니다.

87* **구성**: 도메인 및 파일 시스템 경로에 대한 JSON 기반 허용 목록87* **구성**: 도메인 및 파일 시스템 경로에 대한 JSON 기반 허용 목록

88 88 

89**설정:**89**설정:**

90 90 

91```bash theme={null}91설치, 구성 및 실행 단계는 [런타임 설정 및 실행](https://code.claude.com/docs/ko/sandbox-environments.md#set-up-and-launch-the-runtime)을 참조하십시오.

92npm install @anthropic-ai/sandbox-runtime

93```

94 

95그런 다음 허용된 경로 및 도메인을 지정하는 구성 파일을 만듭니다.

96 92 

97**보안 고려사항:**93**보안 고려사항:**

98 94 

991. **동일 호스트 커널**: VM과 달리 샌드박스 프로세스는 호스트 커널을 공유합니다. 커널 취약점은 이론적으로 탈출을 가능하게 할 수 있습니다. 일부 위협 모델의 경우 이는 허용되지만, 커널 수준 격리가 필요한 경우 gVisor 또는 별도의 VM을 사용하십시오.951. **동일 호스트 커널**: VM과 달리 샌드박스 프로세스는 호스트 커널을 공유합니다. 커널 취약점은 이론적으로 탈출을 가능하게 할 수 있습니다. 일부 위협 모델의 경우 이는 허용되지만, 커널 수준 격리가 필요한 경우 gVisor 또는 별도의 VM을 사용하십시오.

100 96 

1012. **TLS 검사 없음**: 프록시는 클라이언트가 제공한 호스트명을 기반으로 도메인을 허용 목록에 추가하며 암호화된 트래픽을 종료하거나 검사하지 않습니다. 샌드박스 내부에서 실행되는 코드는 잠재적으로 [도메인 프론팅](https://en.wikipedia.org/wiki/Domain_fronting) 또는 유사한 기술을 사용하여 허용 목록 외부의 호스트에 도달할 수 있습니다. 위협 모델이 더 강력한 보장을 요구하는 경우, [TLS 종료 프록시](#traffic-forwarding)를 구성하십시오. 자세한 내용은 [샌드박싱 보안 제한사항](https://code.claude.com/docs/ko/sandboxing.md#security-limitations)을 참조하십시오. 별도로, 에이전트가 허용된 도메인에 대한 허용 자격증명을 가지고 있는 경우, 해당 도메인을 사용하여 다른 네트워크 요청을 트리거하거나 데이터를 유출할 수 없도록 하십시오.972. **TLS 검사 없음**: 기본적으로 프록시는 클라이언트가 제공한 호스트명을 기반으로 도메인을 허용 목록에 추가하며 암호화된 트래픽을 종료하거나 검사하지 않습니다. 샌드박스 내부에서 실행되는 코드는 잠재적으로 [도메인 프론팅](https://en.wikipedia.org/wiki/Domain_fronting) 또는 유사한 기술을 사용하여 허용 목록 외부의 호스트에 도달할 수 있습니다. 위협 모델이 더 강력한 보장을 요구하는 경우, [트래픽 전달](#traffic-forwarding)에 설명된 대로 트래픽을 검사하는 TLS 종료 프록시를 사용하십시오. 자세한 내용은 [샌드박싱 보안 제한사항](https://code.claude.com/docs/ko/sandboxing.md#security-limitations)을 참조하십시오.

98 

993. **허용된 도메인의 자격 증명**: 에이전트가 허용된 도메인에 대해 광범위한 권한의 자격 증명을 가지고 있는 경우, 해당 도메인을 사용하여 다른 네트워크 요청을 트리거하거나 데이터를 유출할 수 없도록 하십시오.

102 100 

103많은 단일 개발자 및 CI/CD 사용 사례의 경우, sandbox-runtime은 최소한의 설정으로 상당히 높은 수준을 제공합니다. 아래 섹션은 더 강력한 격리가 필요한 배포를 위해 컨테이너 및 VM을 다룹니다.101많은 단일 개발자 및 CI/CD 사용 사례의 경우, sandbox-runtime은 최소한의 설정으로 상당히 높은 수준을 제공합니다. 아래 섹션은 더 강력한 격리가 필요한 배포를 위해 컨테이너 및 VM을 다룹니다.

104 102 


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

136| `--read-only` | 컨테이너의 루트 파일 시스템을 불변으로 만들어 에이전트가 변경사항을 유지하는 것을 방지합니다 |134| `--read-only` | 컨테이너의 루트 파일 시스템을 불변으로 만들어 에이전트가 변경사항을 유지하는 것을 방지합니다 |

137| `--tmpfs /tmp:...` | 컨테이너가 중지될 때 지워지는 쓰기 가능한 임시 디렉토리를 제공합니다 |135| `--tmpfs /tmp:...` | 컨테이너가 중지될 때 지워지는 쓰기 가능한 임시 디렉토리를 제공합니다 |

138| `--network none` | 모든 네트워크 인터페이스를 제거합니다. 에이전트는 아래에 마운트된 Unix 소켓을 통해 통신합니다 |136| `--network none` | 컨테이너를 외부 네트워크로부터 차단합니다 |

139| `--memory 2g` | 메모리 사용을 2GB로 제한하여 리소스 고갈을 방지합니다 |137| `--memory 2g` | 메모리 사용을 2GB로 제한하여 리소스 고갈을 방지합니다 |

140| `--pids-limit 100` | 프로세스 수를 100으로 제한하여 포크 폭탄을 방지합니다 |138| `--pids-limit 100` | 프로세스 수를 100으로 제한하여 포크 폭탄을 방지합니다 |

141| `--user 1000:1000` | 루트가 아닌 사용자로 실행합니다 |139| `--user 1000:1000` | 루트가 아닌 사용자로 실행합니다 |


144 142 

145**Unix 소켓 아키텍처:**143**Unix 소켓 아키텍처:**

146 144 

147`--network none`을 사용하면 컨테이너에는 네트워크 인터페이스가 전혀 없습니다. 에이전트가 외부 세계에 도달할 수 있는 유일한 방법은 호스트에서 실행되는 프록시에 연결된 마운트된 Unix 소켓을 통하는 것입니다. 이 프록시는 도메인 허용 목록을 적용하고, 자격증명을 주입하며, 모든 트래픽을 기록할 수 있습니다.145`--network none`을 사용하면 컨테이너 내부에서 DNS 조회나 다른 호스트로의 직접 연결이 실패합니다. 컨테이너의 코드가 다른 호스트에 도달할 수 있도록 하려면 호스트에서 프록시를 실행하고 해당 Unix 소켓을 컨테이너에 마운트하십시오. [Claude Code가 프록시를 사용하도록 구성](#configuring-claude-code-to-use-a-proxy)에 나온 것처럼 `ANTHROPIC_BASE_URL` 또는 `HTTP_PROXY`가 `localhost`의 포트를 가리키도록 설정하는 경우, 컨테이너 내부에서 해당 포트를 소켓으로 중계하십시오.

148 146 

149이는 [sandbox-runtime](https://github.com/anthropics/sandbox-runtime)에서 사용하는 것과 동일한 아키텍처입니다. 에이전트가 프롬프트 인젝션을 통해 손상되더라도, 임의의 서버로 데이터를 유출할 수 없습니다. 프록시를 통해서만 통신할 수 있으며, 프록시는 어떤 도메인에 도달할 수 있는지 제어합니다. 자세한 내용은 [Claude Code 샌드박싱 블로그 게시물](https://www.anthropic.com/engineering/claude-code-sandboxing)을 참조하십시오.147이 프록시를 설정하여 도메인 허용 목록을 적용하고, 자격 증명을 주입하며, 모든 트래픽을 로그에 기록할 수 있습니다.

148 

149> [!WARNING]

150>

151> 프록시의 허용 목록 내에서 에이전트는 허용된 모든 도메인으로 데이터를 보낼 수 있습니다. 에이전트에 필요한 도메인만 허용하십시오.

150 152 

151**추가 강화 옵션:**153**추가 강화 옵션:**

152 154 

Details

1340 | "default" // Standard permission behavior1340 | "default" // Standard permission behavior

1341 | "acceptEdits" // Auto-accept file edits1341 | "acceptEdits" // Auto-accept file edits

1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt

1343 | "plan" // Planning mode - explore without editing1343 | "plan" // Planning mode - Claude explores and plans

1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved

1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests

1346```1346```


1349 1349 

1350도구 사용을 제어하기 위한 사용자 정의 권한 함수 타입입니다.1350도구 사용을 제어하기 위한 사용자 정의 권한 함수 타입입니다.

1351 1351 

1352이 함수는 대화형 권한 프롬프트를 대체하는 SDK 기능으로, [권한 평가 흐름](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)이 프롬프트로 귀결될 때만 호출됩니다. `allowedTools` 항목, 설정의 allow 규칙, 또는 `acceptEdits`나 `bypassPermissions` 같은 권한 모드에 의해 이미 승인된 도구 호출은 이 함수를 호출하지 않습니다. 모든 도구 호출을 제어하려면 대신 [`PreToolUse` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks)을 사용하세요.1352이 함수는 대화형 권한 프롬프트를 대체합니다. SDK는 [권한 평가 흐름](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)이 프롬프트로 귀결될 때 `canUseTool`을 호출합니다. 다음 방법 중 하나로 승인된 호출은 `canUseTool`을 호출하지 않고 실행됩니다.

1353 

1354* `allowedTools` 항목 또는 설정의 allow 규칙이 승인한 호출

1355* `acceptEdits` 모드에서의 파일 편집처럼 권한 모드가 승인한 호출

1356 

1357이러한 호출을 검사하려면 이들에 대해서도 실행되는 [`PreToolUse` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks)을 사용합니다.

1353 1358 

1354allow 규칙은 [어떤 모드에서도 자동 승인되지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)을 사전 승인하지 않습니다. 그중 어떤 작업이 콜백에 도달하는지, 그리고 `dontAsk` 및 `auto` 모드에서 어떻게 처리되는지는 [권한 평가 방식](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)을 참조하세요.1359allow 규칙은 [어떤 모드에서도 자동 승인되지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)을 사전 승인하지 않습니다. 그중 어떤 작업이 콜백에 도달하는지, 그리고 `dontAsk` 및 `auto` 모드에서 어떻게 처리되는지는 [권한 평가 방식](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)을 참조하세요.

1355 1360 


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

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

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

2014* `~/.claude.json`이 유효한 JSON이 아니어서 Claude Code가 거부한 시작으로, `config_file_invalid`를 가집니다.

2009 2015 

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

2011 2017 


2030 | "bypass_root"2036 | "bypass_root"

2031 | "org_config_required_unavailable"2037 | "org_config_required_unavailable"

2032 | "org_config_refused"2038 | "org_config_refused"

2033 | "sandbox_required_unavailable";2039 | "sandbox_required_unavailable"

2040 | "config_file_invalid";

2034```2041```

2035 2042 

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


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

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

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

2067| `config_file_invalid` | `~/.claude.json`이 유효한 JSON이 아닙니다. Claude Code는 파일을 변경하지 않고 그대로 두므로, 누군가 파일을 복구할 때까지 재시도해도 같은 방식으로 실패합니다. `errors`에는 파일 이름과 복원 또는 복구 방법이 나와 있습니다. [Configuration error in \~/.claude.json](https://code.claude.com/docs/ko/errors.md#configuration-error-in-claude-json)을 참조하세요. TypeScript Agent SDK v0.3.318 이상과 Claude Code v2.1.318 이상이 필요합니다 |

2060 2068 

2061### `SDKSystemMessage`2069### `SDKSystemMessage`

2062 2070 


6104 6112 

6105> [!NOTE]6113> [!NOTE]

6106>6114>

6107> 기본 제공 샌드박스 프록시는 요청된 호스트명을 기반으로 `allowedDomains`를 적용하며 TLS 트래픽을 종료하거나 검사하지 않으므로 [도메인 프론팅](https://en.wikipedia.org/wiki/Domain_fronting)과 같은 기술이 이를 우회할 수 있습니다. 자세한 내용은 [샌드박싱 보안 제한 사항](https://code.claude.com/docs/ko/sandboxing.md#security-limitations)을 참조하고 TLS 종료 프록시 구성에 대해서는 [안전한 배포](https://code.claude.com/docs/ko/agent-sdk/secure-deployment.md#traffic-forwarding)를 참조합니다.6115> 기본 제공 샌드박스 프록시는 요청된 호스트명을 기반으로 `allowedDomains`를 적용합니다. 기본적으로 프록시는 TLS 트래픽을 종료하거나 검사하지 않으므로 [도메인 프론팅](https://en.wikipedia.org/wiki/Domain_fronting)과 같은 기술로 `allowedDomains`를 우회할 가능성이 있습니다. 자세한 내용은 [샌드박싱 보안 제한 사항](https://code.claude.com/docs/ko/sandboxing.md#security-limitations)을 참조하고 TLS 종료 프록시 구성에 대해서는 [안전한 배포](https://code.claude.com/docs/ko/agent-sdk/secure-deployment.md#traffic-forwarding)를 참조합니다.

6108 6116 

6109### `SandboxFilesystemConfig`6117### `SandboxFilesystemConfig`

6110 6118 

Details

47콜백은 두 가지 경우에 실행됩니다:47콜백은 두 가지 경우에 실행됩니다:

48 48 

491. **도구가 승인 필요**: Claude가 [권한 규칙](https://code.claude.com/docs/ko/agent-sdk/permissions.md) 또는 권한 모드에 의해 자동 승인되지 않은 도구를 사용하려고 합니다. 도구에 대해 `tool_name`을 확인합니다(예: `"Bash"`, `"Write"`).491. **도구가 승인 필요**: Claude가 [권한 규칙](https://code.claude.com/docs/ko/agent-sdk/permissions.md) 또는 권한 모드에 의해 자동 승인되지 않은 도구를 사용하려고 합니다. 도구에 대해 `tool_name`을 확인합니다(예: `"Bash"`, `"Write"`).

502. **Claude가 질문함**: Claude가 `AskUserQuestion` 도구를 호출합니다. `tool_name == "AskUserQuestion"`을 확인하여 다르게 처리합니다. `tools` 배열을 지정하는 경우 이것이 작동하려면 `AskUserQuestion`을 포함하십시오. 자세한 내용은 [명확화 질문 처리](#handle-clarifying-questions)를 참조하십시오.502. **Claude가 질문하는 경우**: Claude가 `AskUserQuestion` 도구를 호출합니다. 이를 다르게 처리하려면 `tool_name == "AskUserQuestion"`인지 확인합니다. `tools` 배열을 지정하는 경우 이 기능이 작동하도록 `AskUserQuestion`을 포함해야 합니다. 자세한 내용은 [명확화 질문 처리](#handle-clarifying-questions)를 참조하세요.

51 51 

52> [!WARNING]52> [!WARNING]

53>53>

54> **콜백은 자동 승인된 도구에 대해서는 실행되지 않습니다.** [권한 평가 흐름](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)의 이전 단계에서 허용 규칙이나 `acceptEdits` 또는 `bypassPermissions`와 같은 모드가 `canUseTool`을 확인하기 전에 호출을 해결합니다. `allowed_tools`에 도구를 나열하면, 요청이 질문 규칙이나 `plan` 모드에 의해 프롬프트로 다시 라우팅되는 경우에만 해당 도구에 대한 `canUseTool` 확인이 실행됩니다([평가 흐름](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated) 참조). 모든 도구 호출에 적용되어야 하는 로직의 경우 흐름의 나머지 부분 전에 실행되고 요청을 허용, 거부 또는 수정할 수 있는 [`PreToolUse` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks)을 사용하십시오.54> **`canUseTool`이 실행되기 전에 이전 단계에서 호출을 허용하거나 거부할 수 있습니다.** [권한 평가 흐름](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)은 콜백보다 먼저 거부 규칙, 권한 모드, 허용 규칙을 확인합니다.

55>55>

56> 허용 규칙이 [어떤 모드도 자동 승인하지 않는 작업](https://code.claude.com/docs/ko/permission-modes.md#actions-no-mode-auto-approves)을 사전 승인하지 않습니다. 어떤 작업이 콜백에 도달하고 `dontAsk` 및 `auto` 모드에서 무엇이 발생하는지는 [권한이 평가되는 방식](https://code.claude.com/docs/ko/agent-sdk/permissions.md#how-permissions-are-evaluated)을 참조하십시오.56> 규칙이나 권한 모드가 이미 허용한 호출에 대해서도 검사를 실행하려면 [`PreToolUse` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks)을 사용하십시오. 이 훅은 해당 호출에 대해서도 실행되며 호출을 허용, 거부 또는 수정할 수 있습니다.

57 57 

58또한 [`PermissionRequest` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks#available-hooks)을 사용하여 Claude가 승인을 기다리고 있을 때 외부 알림(Slack, 이메일, 푸시)을 보낼 수 있습니다.58또한 [`PermissionRequest` 훅](https://code.claude.com/docs/ko/agent-sdk/hooks#available-hooks)을 사용하여 Claude가 승인을 기다리고 있을 때 외부 알림(Slack, 이메일, 푸시)을 보낼 수 있습니다.

59 59 

agent-view.md +2 −2

Details

1020 1020 

1021macOS에서 백그라운드 세션 호스트는 자체 프로세스로 실행되며 터미널과 별도로 보호된 폴더에 대한 액세스를 요청합니다. 백그라운드 세션이 `~/Desktop`, `~/Documents`, `~/Downloads` 또는 다른 보호된 위치를 읽을 때 `Operation not permitted`를 보고하면, 시스템 설정의 개인정보 보호 및 보안 > 파일 및 폴더에서 액세스를 허용하거나 항목에 대해 전체 디스크 액세스를 활성화합니다.1021macOS에서 백그라운드 세션 호스트는 자체 프로세스로 실행되며 터미널과 별도로 보호된 폴더에 대한 액세스를 요청합니다. 백그라운드 세션이 `~/Desktop`, `~/Documents`, `~/Downloads` 또는 다른 보호된 위치를 읽을 때 `Operation not permitted`를 보고하면, 시스템 설정의 개인정보 보호 및 보안 > 파일 및 폴더에서 액세스를 허용하거나 항목에 대해 전체 디스크 액세스를 활성화합니다.

1022 1022 

1023기본 설치 프로그램을 사용하면 항목이 Claude Code로 표시되고 권한이 업데이트 전체에서 유지됩니다. Homebrew 또는 npm과 같은 다른 설치 방법을 사용하면 항목이 바이너리 경로를 표시하며 업데이트 후 다시 권한을 부여해야 할 수 있습니다.1023어느 목록에서든 Claude Code라는 이름의 항목, 또는 `claude` 바이너리의 경로나 파일 이름으로 된 항목을 찾습니다. 해당 파일 이름은 `2.1.316`과 같은 버전 번호일 수 있습니다. Claude Code가 업데이트된 후 `Operation not permitted`가 다시 발생하면, 새 버전 이름으로 된 항목과 같은 새 항목을 찾습니다. 해당 항목이 있으면 액세스를 허용합니다.

1024 1024 

1025### macOS에서 백그라운드 세션이 로컬 네트워크 호스트에 도달할 수 없음1025### macOS에서 백그라운드 세션이 로컬 네트워크 호스트에 도달할 수 없음

1026 1026 


1067| v2.1.296 | [세션이 백그라운드로 이동하는 동안](#switch-sessions-without-leaving-the-terminal) 입력한 프롬프트나 `!` 셸 명령은 중지되거나 전송되지 않은 상태로 남으며, 그 텍스트는 프롬프트 기록에 유지됩니다. 이 릴리스 이전에는 응답이나 명령이 더 이상 볼 수 없는 곳에서 계속 실행되었으며, `←` 직후 보낸 프롬프트가 보이지 않는 곳에서 두 번 실행될 수 있었습니다. `SessionStart` 훅이 아직 실행 중일 때 입력한 프롬프트는 손실되었습니다. 전송되지도 않았고 프롬프트 기록에도 남지 않았습니다. |1067| v2.1.296 | [세션이 백그라운드로 이동하는 동안](#switch-sessions-without-leaving-the-terminal) 입력한 프롬프트나 `!` 셸 명령은 중지되거나 전송되지 않은 상태로 남으며, 그 텍스트는 프롬프트 기록에 유지됩니다. 이 릴리스 이전에는 응답이나 명령이 더 이상 볼 수 없는 곳에서 계속 실행되었으며, `←` 직후 보낸 프롬프트가 보이지 않는 곳에서 두 번 실행될 수 있었습니다. `SessionStart` 훅이 아직 실행 중일 때 입력한 프롬프트는 손실되었습니다. 전송되지도 않았고 프롬프트 기록에도 남지 않았습니다. |

1068| v2.1.295 | [연결된 백그라운드 세션](#attach-to-a-session)의 유휴 프롬프트에서 `Ctrl+C`는 [자체 페이스 `/loop`](https://code.claude.com/docs/ko/scheduled-tasks#let-claude-choose-the-interval)의 보류 중인 깨우기를 건드리지 않으므로, 두 번 누르면 분리되고 루프는 계속 실행됩니다. 해당 프롬프트에서 `Esc`는 [자체 페이스 루프를 중지](https://code.claude.com/docs/ko/scheduled-tasks.md#stop-a-loop)하고 `Pending wakeup cancelled` 알림을 표시합니다. 이 릴리스 이전에는 첫 번째 `Ctrl+C`가 아무런 알림 없이 자체 페이스 루프를 종료할 수 있었으며, `Esc`는 세션과 함께 백그라운드로 이동한 루프를 중지하지 않았습니다. |1068| v2.1.295 | [연결된 백그라운드 세션](#attach-to-a-session)의 유휴 프롬프트에서 `Ctrl+C`는 [자체 페이스 `/loop`](https://code.claude.com/docs/ko/scheduled-tasks#let-claude-choose-the-interval)의 보류 중인 깨우기를 건드리지 않으므로, 두 번 누르면 분리되고 루프는 계속 실행됩니다. 해당 프롬프트에서 `Esc`는 [자체 페이스 루프를 중지](https://code.claude.com/docs/ko/scheduled-tasks.md#stop-a-loop)하고 `Pending wakeup cancelled` 알림을 표시합니다. 이 릴리스 이전에는 첫 번째 `Ctrl+C`가 아무런 알림 없이 자체 페이스 루프를 종료할 수 있었으며, `Esc`는 세션과 함께 백그라운드로 이동한 루프를 중지하지 않았습니다. |

1069| v2.1.295 | macOS 및 Linux에서 [감독자](#keep-sessions-running-after-the-supervisor-stops)가 실행 중이지 않을 때 `claude agents`가 종료되면 스스로 새 감독자를 시작하지 않습니다. 그러면 `claude agents`를 다시 실행하지 않는 한 실행 중인 세션은 약 1분 후에 중지되며, 에이전트 뷰는 종료하면서 이를 알리는 알림을 출력할 수 있습니다. 이 릴리스 이전에는 종료하는 `claude agents`가 새 감독자를 시작했습니다. |1069| v2.1.295 | macOS 및 Linux에서 [감독자](#keep-sessions-running-after-the-supervisor-stops)가 실행 중이지 않을 때 `claude agents`가 종료되면 스스로 새 감독자를 시작하지 않습니다. 그러면 `claude agents`를 다시 실행하지 않는 한 실행 중인 세션은 약 1분 후에 중지되며, 에이전트 뷰는 종료하면서 이를 알리는 알림을 출력할 수 있습니다. 이 릴리스 이전에는 종료하는 `claude agents`가 새 감독자를 시작했습니다. |

1070| v2.1.295 | 네이티브 설치 프로그램을 사용하는 macOS에서 업데이트 후 함께 다시 시작되는 백그라운드 세션은 사용자가 부여한 [보호된 폴더 액세스](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos)를 보유한 동일한 Claude Code 항목으로 실행됩니다. 이 릴리스 이전에는 이러한 세션이 대신 바이너리 자체 경로로 실행될 수 있었습니다. macOS는 해당 경로를 별도 항목으로 나열하므로 업데이트 후 폴더 액세스 프롬프트가 다시 나타날 수 있었습니다. |1070| v2.1.295 | 네이티브 설치 프로그램을 사용하는 macOS에서 업데이트 후 함께 다시 시작되는 백그라운드 세션은 동일한 `~/.local/share/claude/ClaudeCode.app` 폴더에서 호스트 프로세스를 실행합니다. 이 릴리스 이전에는 이러한 프로세스가 대신 바이너리 자체 경로에서 실행될 수 있었습니다. macOS는 해당 경로를 별도 항목으로 나열할 수 있으므로 업데이트 후 [폴더 액세스 프롬프트](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos)가 다시 나타날 수 있었습니다. |

1071| v2.1.290 | [`claude attach` 및 `claude logs`](#manage-sessions-from-the-shell)는 ID 대신 세션 이름의 일부를 받을 수 있습니다. |1071| v2.1.290 | [`claude attach` 및 `claude logs`](#manage-sessions-from-the-shell)는 ID 대신 세션 이름의 일부를 받을 수 있습니다. |

1072| v2.1.290 | 작업 중인 세션에 [엿보기 회신](#peek-and-reply)으로 보낸 `/model`, `/effort`, `/rename`, `/usage`는 즉시 실행됩니다. |1072| v2.1.290 | 작업 중인 세션에 [엿보기 회신](#peek-and-reply)으로 보낸 `/model`, `/effort`, `/rename`, `/usage`는 즉시 실행됩니다. |

1073| v2.1.290 | 전달할 수 없는 [엿보기 회신](#peek-and-reply)은 `/`로 시작하거나, 세션의 프로세스가 실행 중인 동안 미리 정의된 선택지가 있는 질문에 답하는 경우 더 이상 다음 재시작을 위해 저장되지 않습니다. |1073| v2.1.290 | 전달할 수 없는 [엿보기 회신](#peek-and-reply)은 `/`로 시작하거나, 세션의 프로세스가 실행 중인 동안 미리 정의된 선택지가 있는 질문에 답하는 경우 더 이상 다음 재시작을 위해 저장되지 않습니다. |

Details

460export ANTHROPIC_BEDROCK_SERVICE_TIER=priority460export ANTHROPIC_BEDROCK_SERVICE_TIER=priority

461```461```

462 462 

463Claude Code는 이를 각 요청의 `X-Amzn-Bedrock-Service-Tier` 헤더로 보냅니다. 계층 가용성은 모델 및 지역에 따라 다릅니다. 예약된 용량은 이 설정 대신 [프로비저닝된 처리량](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) ARN을 모델 ID로 사용합니다.463Claude Code는 이 변수가 있는 세션에서 보내는 모든 [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) 요청에 이 값을 `X-Amzn-Bedrock-Service-Tier` 헤더로 보냅니다. 단, [모델 액세스 확인](#startup-model-checks)은 예외입니다. 이 설정은 [Mantle 엔드포인트](#use-the-mantle-endpoint)로 보내는 요청이나 [Claude apps 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway)를 통한 요청에는 영향을 주지 않습니다. 계층 가용성은 모델 및 지역에 따라 다릅니다. 예약된 용량은 이 설정 대신 [프로비저닝된 처리량](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) ARN을 모델 ID로 사용합니다.

464 

465터미널에서 시작하는 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md#settings-and-provider)에도 적용하려면 설정의 [`env`](https://code.claude.com/docs/ko/settings-reference#env) 블록에 `ANTHROPIC_BEDROCK_SERVICE_TIER`를 설정하십시오. 이러한 세션은 [supervisor](https://code.claude.com/docs/ko/agent-view.md#the-supervisor-process)를 시작한 셸이 해당 값을 export한 경우에만 export한 값을 받습니다.

464 466 

465## AWS Guardrails467## AWS Guardrails

466 468 


488 490 

489### Mantle 활성화491### Mantle 활성화

490 492 

491AWS 자격 증명이 이미 구성되어 있으면 `CLAUDE_CODE_USE_MANTLE`을 설정하여 요청을 Mantle 엔드포인트로 라우팅하십시오:493AWS 자격 증명이 이미 구성되어 있으면 `CLAUDE_CODE_USE_MANTLE`과 AWS 지역을 설정하십시오:

492 494 

493```bash theme={null}495```bash theme={null}

494export CLAUDE_CODE_USE_MANTLE=1496export CLAUDE_CODE_USE_MANTLE=1


518export CLAUDE_CODE_USE_MANTLE=1520export CLAUDE_CODE_USE_MANTLE=1

519```521```

520 522 

521Mantle 모델을 `/model` 선택기에 표시하려면 [설정 파일](https://code.claude.com/docs/ko/settings.md)의 `availableModels`에 ID를 나열하십시오. 이 설정은 선택기를 나열된 항목으로 제한하므로 유지하려는 버전 접두사 또는 전체 ID를 나열하십시오. Mantle ID와 `haiku` 별칭은 동일한 모델 제품군으로 해결되므로 병합은 더 구체적인 항목만 유지합니다. [병합 동작](https://code.claude.com/docs/ko/model-config.md#merge-behavior)을 참조하십시오:523Mantle 모델을 `/model` 선택기에 표시하려면 [설정 파일](https://code.claude.com/docs/ko/settings.md)의 `availableModels`에 ID를 나열하십시오. 이 설정은 선택기를 나열된 항목으로 제한하기도 합니다. `anthropic.claude-haiku-4-5`를 나열하면 선택기에서 단순 `haiku` 별칭이 제거되므로, 계속 선택할 수 있도록 유지하려는 버전의 버전 접두사 또는 전체 ID도 함께 나열하십시오. Mantle ID와 `haiku` 별칭은 동일한 모델 제품군으로 해결되므로 병합은 더 구체적인 항목만 유지합니다. [병합 동작](https://code.claude.com/docs/ko/model-config.md#merge-behavior)을 참조하십시오:

522 524 

523```json theme={null}525```json theme={null}

524{526{


588 590 

589* 모델을 [추론 프로필](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html) ID로 지정하십시오591* 모델을 [추론 프로필](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html) ID로 지정하십시오

590 592 

591Claude Code는 Amazon Bedrock [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)를 사용하며 Converse API를 지원하지 않습니다.

592 

593### 게이트웨이 또는 프록시 뒤의 스트리밍 오류593### 게이트웨이 또는 프록시 뒤의 스트리밍 오류

594 594 

595Amazon Bedrock은 `InvokeModelWithResponseStream` 응답을 `Content-Type: application/vnd.amazon.eventstream` 헤더가 있는 바이너리 이벤트 스트림 형식으로 스트리밍합니다. Claude Code와 Amazon Bedrock 사이의 게이트웨이 또는 프록시는 응답 본문과 `Content-Type`을 포함한 헤더를 Amazon Bedrock이 보낸 그대로 전달해야 합니다.595Amazon Bedrock은 `InvokeModelWithResponseStream` 응답을 `Content-Type: application/vnd.amazon.eventstream` 헤더가 있는 바이너리 이벤트 스트림 형식으로 스트리밍합니다. Claude Code와 Amazon Bedrock 사이의 게이트웨이 또는 프록시는 응답 본문과 `Content-Type`을 포함한 헤더를 Amazon Bedrock이 보낸 그대로 전달해야 합니다.


612 612 

613### Mantle 엔드포인트 오류613### Mantle 엔드포인트 오류

614 614 

615`CLAUDE_CODE_USE_MANTLE`을 설정한 후 `/status`에 `Amazon Bedrock (Mantle)`이 표시되지 않으면 변수가 프로세스에 도달하지 않습니다. Claude Code를 시작한 셸에서 내보내졌는지 확인하거나 [설정 파일](https://code.claude.com/docs/ko/settings.md)의 `env` 블록에 설정하십시오.615`CLAUDE_CODE_USE_MANTLE`을 설정한 후 `/status`에 `Amazon Bedrock (Mantle)`이 표시되지 않으면 변수가 프로세스에 도달하지 않습니다. `claude`를 실행한 셸에서 내보내졌는지 확인하거나 [설정 파일](https://code.claude.com/docs/ko/settings.md)의 `env` 블록에 설정하십시오.

616 616 

617Mantle 엔드포인트의 `403`이 의미하는 바는 오류가 IAM 작업을 이름으로 지정하는지 여부에 따라 다릅니다.617Mantle 엔드포인트의 `403`이 의미하는 바는 오류가 IAM 작업을 이름으로 지정하는지 여부에 따라 다릅니다.

618 618 

619* 오류가 `bedrock-mantle:` 작업을 이름으로 지정하면 IAM 자격에 해당 작업을 부여하십시오.619* 오류가 `bedrock-mantle:` 작업을 이름으로 지정하면 IAM 자격에 해당 작업을 부여하십시오.

620* 오류가 작업을 이름으로 지정하지 않고 자격 증명이 유효하면 AWS 계정이 요청한 모델에 대한 액세스 권한을 부여받지 않았습니다. 액세스를 요청하려면 AWS 계정 팀에 문의하십시오.620* 오류가 작업을 이름으로 지정하지 않고 자격 증명이 유효하면 AWS 계정이 요청한 모델에 대한 액세스 권한을 부여받지 않았습니다. 액세스를 요청하려면 AWS 계정 팀에 문의하십시오.

621 621 

622모델 ID를 이름으로 지정하는 `400`은 해당 모델이 Mantle에서 제공되지 않음을 의미합니다. Mantle은 표준 Amazon Bedrock 카탈로그와 별개의 자체 모델 라인업을 가지고 있으므로 `us.anthropic.claude-sonnet-4-6`과 같은 추론 프로필 ID는 작동하지 않습니다. Mantle 형식 ID를 사용하거나 [두 엔드포인트를 모두 활성화](#run-mantle-alongside-the-invoke-api)하여 Claude Code가 각 요청을 모델을 사용할 수 있는 엔드포인트로 라우팅하도록 하십시오.622모델 ID를 이름으로 지정하는 `400`은 해당 모델이 Mantle에서 제공되지 않음을 의미합니다. Mantle은 표준 Amazon Bedrock 카탈로그와 별개의 자체 모델 라인업을 가지고 있으므로 `us.anthropic.claude-sonnet-4-6`과 같은 추론 프로필 ID는 작동하지 않습니다. Mantle 형식 ID를 사용하거나 [두 엔드포인트를 모두 활성화](#run-mantle-alongside-the-invoke-api)하여 Claude Code가 추론 프로필 ID를 Invoke API로 보내도록 하십시오.

623 623 

624## 추가 리소스624## 추가 리소스

625 625 

Details

155- Integration tests need DATABASE_URL set, see .env.example155- Integration tests need DATABASE_URL set, see .env.example

156```156```

157 157 

158세션에서 `/context`를 실행하여 Claude가 파일을 로드했는지 확인하십시오.158세션에서 [`/context all`](https://code.claude.com/docs/ko/commands#all-commands)을 실행하여 Claude가 파일을 로드했는지 확인하십시오.

159 159 

160타입 검사 줄에는 명령만 있다는 점에 주목하십시오. Claude는 작업하면서 자신의 작업을 확인할 수 있도록 명령을 알아야 합니다. Claude가 작업을 마치기 전에 타입 검사 통과를 Claude Code가 *강제*하도록 하려면 [`Stop` 훅](#enforce-the-check-with-a-stop-hook)을 사용해야 합니다. 이 파일에 `Always typecheck before you finish` 같은 줄을 넣으면 대부분은 작동하지만 매번 작동하지는 않습니다.160타입 검사 줄에는 명령만 있다는 점에 주목하십시오. Claude는 작업하면서 자신의 작업을 확인할 수 있도록 명령을 알아야 합니다. Claude가 작업을 마치기 전에 타입 검사 통과를 Claude Code가 *강제*하도록 하려면 [`Stop` 훅](#enforce-the-check-with-a-stop-hook)을 사용해야 합니다. 이 파일에 `Always typecheck before you finish` 같은 줄을 넣으면 대부분은 작동하지만 매번 작동하지는 않습니다.

161 161 


544스크립트에서는 거의 항상 몇 가지 플래그를 더 사용하게 됩니다.544스크립트에서는 거의 항상 몇 가지 플래그를 더 사용하게 됩니다.

545 545 

546* [`--bare`](https://code.claude.com/docs/ko/headless#start-faster-with-bare-mode)는 저장소와 머신 모두의 훅, 스킬, 플러그인, MCP 서버, `CLAUDE.md` 파일을 건너뛰므로, 실행이 어디서 이루어지든 동일하게 동작합니다. 또한 claude.ai 로그인을 전혀 사용하지 않습니다. 인증은 `ANTHROPIC_API_KEY`, `--settings`로 전달하는 파일의 `apiKeyHelper`, 또는 클라우드 제공업체의 자격 증명에서 가져옵니다.546* [`--bare`](https://code.claude.com/docs/ko/headless#start-faster-with-bare-mode)는 저장소와 머신 모두의 훅, 스킬, 플러그인, MCP 서버, `CLAUDE.md` 파일을 건너뛰므로, 실행이 어디서 이루어지든 동일하게 동작합니다. 또한 claude.ai 로그인을 전혀 사용하지 않습니다. 인증은 `ANTHROPIC_API_KEY`, `--settings`로 전달하는 파일의 `apiKeyHelper`, 또는 클라우드 제공업체의 자격 증명에서 가져옵니다.

547* `--append-system-prompt`, `--mcp-config`, `--settings`는 실행에 *실제로* 필요한 것을 명시적으로 전달합니다.547* `--append-system-prompt`, `--mcp-config`, `--settings`는 실행에 *실제로* 필요한 것을 명시적으로 전달합니다. `--settings`로 전달하는 훅은 [`--bare`에서 실행되지 않으므로](https://code.claude.com/docs/ko/headless#start-faster-with-bare-mode), 훅이 필요한 실행에는 `--bare`를 사용하지 마십시오.

548* `--allowedTools`는 도구를 사전 승인하며, [`--permission-mode dontAsk`](https://code.claude.com/docs/ko/permission-modes#allow-only-pre-approved-tools-with-dontask-mode)는 그 밖에 확인을 요청했을 모든 작업을 거부합니다.548* `--allowedTools`는 도구를 사전 승인하며, [`--permission-mode dontAsk`](https://code.claude.com/docs/ko/permission-modes#allow-only-pre-approved-tools-with-dontask-mode)는 그 밖에 확인을 요청했을 모든 작업을 거부합니다.

549* `--output-format json`은 파싱할 단일 결과 객체를 제공하며, `--verbose`와 함께 `stream-json`을 사용하면 이벤트가 발생할 때마다 스트리밍합니다.549* `--output-format json`은 파싱할 단일 결과 객체를 제공하며, `--verbose`와 함께 `stream-json`을 사용하면 이벤트가 발생할 때마다 스트리밍합니다.

550 550 

Details

494 494 

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

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

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

498* [`groups` 목록](#send-each-team-to-its-own-upstream)이 없으면 게이트웨이가 허용하는 모든 개발자가 이 업스트림을 사용할 수 있습니다. 개발자가 사용할 수 있는 모델을 제한하려면 [`managed`](#managed) 정책에서 `availableModels`를 설정하십시오.498* [`groups` 목록](#send-each-team-to-its-own-upstream)이 없으면 게이트웨이가 허용하는 모든 개발자가 이 업스트림을 사용할 수 있습니다. 개발자가 사용할 수 있는 모델을 제한하려면 [`managed`](#managed) 정책에서 `availableModels`를 설정하십시오.

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

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


556| `region` | 예 | AWS 리전입니다. 게이트웨이는 이로부터 엔드포인트를 `https://bedrock-mantle.<region>.api.aws/anthropic`으로 도출합니다. |556| `region` | 예 | AWS 리전입니다. 게이트웨이는 이로부터 엔드포인트를 `https://bedrock-mantle.<region>.api.aws/anthropic`으로 도출합니다. |

557| `models` | 예 | AWS 계정이 Mantle에서 부여받은 모델로, `claude-haiku-4-5`처럼 클라이언트가 보내는 이름으로 지정합니다. 이 모델만 이 업스트림으로 가며, 다른 모든 모델은 다음 업스트림으로 건너뜁니다. |557| `models` | 예 | AWS 계정이 Mantle에서 부여받은 모델로, `claude-haiku-4-5`처럼 클라이언트가 보내는 이름으로 지정합니다. 이 모델만 이 업스트림으로 가며, 다른 모든 모델은 다음 업스트림으로 건너뜁니다. |

558| `auth` | 아니요 | [Amazon Bedrock](#amazon-bedrock) 업스트림의 `auth` 블록과 같은 키를 같은 규칙으로 받습니다. |558| `auth` | 아니요 | [Amazon Bedrock](#amazon-bedrock) 업스트림의 `auth` 블록과 같은 키를 같은 규칙으로 받습니다. |

559| `assume_role` | 아니요 | 이 업스트림의 요청이 거치는 역할로, [개발자별 귀속](#per-developer-aws-cost-attribution)을 위한 `session_name`을 포함하여 [`bedrock` 업스트림](#bedrock-in-another-aws-account)과 동일한 키를 사용합니다. 역할에 Mantle의 IAM 작업을 부여하십시오. Claude Code v2.1.318 이상을 실행하는 게이트웨이가 필요합니다. 이전 버전의 게이트웨이는 시작 시 `Unrecognized key(s) in object: 'assume_role'`과 함께 종료됩니다. |

559| `base_url` | 아니요 | 도출된 엔드포인트를 재정의합니다. 끝의 `/anthropic` 경로를 유지하십시오. |560| `base_url` | 아니요 | 도출된 엔드포인트를 재정의합니다. 끝의 `/anthropic` 경로를 유지하십시오. |

560 561 

561업스트림의 AWS ID에 추론과 토큰 계산을 위한 Mantle 자체 IAM 작업을 부여하십시오. 이 작업은 [Mantle 엔드포인트 사용](https://code.claude.com/docs/ko/amazon-bedrock.md#use-the-mantle-endpoint)에 나열되어 있습니다.562업스트림의 AWS ID에 추론과 토큰 계산을 위한 Mantle 자체 IAM 작업을 부여하십시오. 이 작업은 [Mantle 엔드포인트 사용](https://code.claude.com/docs/ko/amazon-bedrock.md#use-the-mantle-endpoint)에 나열되어 있습니다.


565`bedrock` 업스트림의 `guardrail`과 `assume_role` 설정은 Mantle이 처리하는 요청에는 적용되지 않습니다.566`bedrock` 업스트림의 `guardrail`과 `assume_role` 설정은 Mantle이 처리하는 요청에는 적용되지 않습니다.

566 567 

567* **`guardrail`**: 게이트웨이는 Mantle로 보내는 요청에 [Bedrock 가드레일](#apply-an-amazon-bedrock-guardrail)을 적용하지 않으므로, 어떤 `bedrock` 업스트림이든 `guardrail`을 설정한 상태에서 `mantle` 업스트림이 나열되면 시작을 거부합니다.568* **`guardrail`**: 게이트웨이는 Mantle로 보내는 요청에 [Bedrock 가드레일](#apply-an-amazon-bedrock-guardrail)을 적용하지 않으므로, 어떤 `bedrock` 업스트림이든 `guardrail`을 설정한 상태에서 `mantle` 업스트림이 나열되면 시작을 거부합니다.

568* **`assume_role`**: `mantle` 업스트림은 [`assume_role`](#bedrock-in-another-aws-account)을 받지 않습니다. Mantle이 처리하는 요청은 `mantle` 업스트림 자체의 `auth` 자격 증명으로 전송되며, [개발자별로 귀속](#per-developer-aws-cost-attribution)되지 않습니다.569* **`assume_role`**: `mantle` 업스트림 자체에 설정하십시오. 설정하지 않으면 Mantle이 처리하는 요청은 `mantle` 업스트림 자체의 `auth` 자격 증명으로 전송됩니다.

569 570 

570Mantle 자체 오류 응답의 의미는 [Mantle 엔드포인트 오류](https://code.claude.com/docs/ko/amazon-bedrock.md#mantle-endpoint-errors)를 참조하십시오.571Mantle 자체 오류 응답의 의미는 [Mantle 엔드포인트 오류](https://code.claude.com/docs/ko/amazon-bedrock.md#mantle-endpoint-errors)를 참조하십시오.

571 572 

Details

424| 로그: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, 개발자가 매 `session.ttl_hours`마다 `Cloud gateway session expired`를 봄 | IdP가 새로 고침 토큰을 수락했지만 함께 id\_token을 반환하지 않았으므로 gateway가 IdP의 userinfo 엔드포인트에 사용자의 클레임을 요청했습니다. IdP가 새로 고쳐진 액세스 토큰을 거기서 거부했습니다. gateway가 `temporarily_unavailable`으로 응답하므로 Claude Code는 새로 고침 토큰을 유지하지만 세션을 갱신할 수 없습니다. v2.1.260 이전의 gateway 버전은 `(at …)` 세부 정보 없이 동일한 줄을 기록합니다. | [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/ko/claude-apps-gateway-config#oidc)를 설정하세요. gateway v2.1.260 이상에서 사용 가능하므로 새로 고침 요청이 `openid`를 다시 요청합니다. Okta와 같은 일부 IdP는 요청할 때만 새로 고침 시 id\_token을 반환합니다. PingFederate에서는 대신 **Applications > OAuth > OpenID Connect Policy Management** 아래에서 **Return ID Token On Refresh Grant**를 활성화하세요. 키는 PingFederate의 동작을 변경하지 않습니다. 여전히 생략하는 다른 IdP의 경우 userinfo 엔드포인트가 새로 고침으로 발급된 액세스 토큰을 수락하는지 확인하세요. 임시 방편으로 [`session.ttl_hours`](https://code.claude.com/docs/ko/claude-apps-gateway-config#session)를 높이세요. 프로비저닝 해제 트레이드오프는 [Identity provider setup](#identity-provider-setup)을 참조하세요. |424| 로그: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, 개발자가 매 `session.ttl_hours`마다 `Cloud gateway session expired`를 봄 | IdP가 새로 고침 토큰을 수락했지만 함께 id\_token을 반환하지 않았으므로 gateway가 IdP의 userinfo 엔드포인트에 사용자의 클레임을 요청했습니다. IdP가 새로 고쳐진 액세스 토큰을 거기서 거부했습니다. gateway가 `temporarily_unavailable`으로 응답하므로 Claude Code는 새로 고침 토큰을 유지하지만 세션을 갱신할 수 없습니다. v2.1.260 이전의 gateway 버전은 `(at …)` 세부 정보 없이 동일한 줄을 기록합니다. | [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/ko/claude-apps-gateway-config#oidc)를 설정하세요. gateway v2.1.260 이상에서 사용 가능하므로 새로 고침 요청이 `openid`를 다시 요청합니다. Okta와 같은 일부 IdP는 요청할 때만 새로 고침 시 id\_token을 반환합니다. PingFederate에서는 대신 **Applications > OAuth > OpenID Connect Policy Management** 아래에서 **Return ID Token On Refresh Grant**를 활성화하세요. 키는 PingFederate의 동작을 변경하지 않습니다. 여전히 생략하는 다른 IdP의 경우 userinfo 엔드포인트가 새로 고침으로 발급된 액세스 토큰을 수락하는지 확인하세요. 임시 방편으로 [`session.ttl_hours`](https://code.claude.com/docs/ko/claude-apps-gateway-config#session)를 높이세요. 프로비저닝 해제 트레이드오프는 [Identity provider setup](#identity-provider-setup)을 참조하세요. |

425| 개발자가 로그인한 후 해당 세션의 모든 요청이 `431` 오류로 실패함 | 모든 요청의 `Authorization` 헤더에 있는 세션 토큰이 개발자의 IdP 그룹을 나열하므로, 많은 그룹에 속한 개발자의 경우 헤더 합계가 게이트웨이가 허용하는 크기를 초과할 수 있음 | 어떤 제한이 적용되는지와 무엇을 변경해야 하는지는 [로그인 후 요청 헤더가 너무 큼](#request-headers-too-large-after-sign-in)을 참조하세요 |425| 개발자가 로그인한 후 해당 세션의 모든 요청이 `431` 오류로 실패함 | 모든 요청의 `Authorization` 헤더에 있는 세션 토큰이 개발자의 IdP 그룹을 나열하므로, 많은 그룹에 속한 개발자의 경우 헤더 합계가 게이트웨이가 허용하는 크기를 초과할 수 있음 | 어떤 제한이 적용되는지와 무엇을 변경해야 하는지는 [로그인 후 요청 헤더가 너무 큼](#request-headers-too-large-after-sign-in)을 참조하세요 |

426| 모든 Amazon Bedrock 요청이 502를 반환함. 로그가 `Could not load credentials from any providers`를 표시함 | EC2에서 IMDSv2의 기본 홉 제한 1이 컨테이너 내부의 인스턴스 메타데이터 요청을 차단함. 부트 및 `/readyz`는 AWS SDK가 클라이언트 구성이 아닌 첫 번째 요청에서 인스턴스 자격 증명을 확인하므로 어쨌든 통과함 | `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`로 홉 제한을 높이거나 시작 템플릿에서 설정하세요. 변경 사항은 인스턴스의 모든 컨테이너에 적용됩니다. 가능한 경우 ECS 작업 역할을 선호하세요. 이는 ECS 컨테이너 자격 증명 엔드포인트에서 자격 증명을 읽고 변경을 완전히 피하거나, 노출을 제한하기 위해 전용 gateway 인스턴스에 변경을 적용하세요. |426| 모든 Amazon Bedrock 요청이 502를 반환함. 로그가 `Could not load credentials from any providers`를 표시함 | EC2에서 IMDSv2의 기본 홉 제한 1이 컨테이너 내부의 인스턴스 메타데이터 요청을 차단함. 부트 및 `/readyz`는 AWS SDK가 클라이언트 구성이 아닌 첫 번째 요청에서 인스턴스 자격 증명을 확인하므로 어쨌든 통과함 | `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`로 홉 제한을 높이거나 시작 템플릿에서 설정하세요. 변경 사항은 인스턴스의 모든 컨테이너에 적용됩니다. 가능한 경우 ECS 작업 역할을 선호하세요. 이는 ECS 컨테이너 자격 증명 엔드포인트에서 자격 증명을 읽고 변경을 완전히 피하거나, 노출을 제한하기 위해 전용 gateway 인스턴스에 변경을 적용하세요. |

427| 로그: Google 자격 증명 파일의 type이 `external_account`인 업스트림에서 `upstream <name>: Google issued an access token that expires in <N>s`를 포함하는 경고 | 요청은 해당 액세스 토큰이 만료될 때까지 성공하지만, 그 전에 `credential_source`가 가리키는 토큰이 갱신되지 않으면 이후 실패함. | 프로세스가 해당 토큰을 파일에 기록하는 경우, 이전 토큰이 만료되기 5분 이상 전에 새 토큰을 기록하도록 하세요 |

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

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

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

Details

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

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

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

134| `backups/` | `~/.claude.json`의 이전 버전, Claude Code가 파일을 다시 쓸 때 복사됨. Claude Code는 가장 최신 5개와 구문 분석할 수 없는 모든 버전의 복사본을 유지합니다. |134| `backups/` | `~/.claude.json`의 이전 버전, Claude Code가 파일을 다시 쓸 때 복사됨. Claude Code는 가장 최신 5개와 구문 분석할 수 없는 모든 버전의 복사본을 유지합니다. 나이 기준을 넘으면 구성을 담고 있는 마지막 복사본도 삭제됩니다. 현재 파일이 구문 분석 가능하고, 구성을 담고 있으며, 8 MiB 미만이면 해당 파일의 새 복사본이 남습니다. |

135| `feedback-bundles/` | 타사 제공자에서 또는 Anthropic 자격증명이 구성되지 않았을 때 `/feedback`이 작성한 수정된 트랜스크립트 아카이브. Anthropic 계정 팀에 보내기 위한 것입니다 |135| `feedback-bundles/` | 타사 제공자에서 또는 Anthropic 자격증명이 구성되지 않았을 때 `/feedback`이 작성한 수정된 트랜스크립트 아카이브. Anthropic 계정 팀에 보내기 위한 것입니다 |

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

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


288| `~/.claude/tasks/` | 아직 사용 중인 것을 포함한 [작업 목록](https://code.claude.com/docs/ko/interactive-mode.md#task-list) |288| `~/.claude/tasks/` | 아직 사용 중인 것을 포함한 [작업 목록](https://code.claude.com/docs/ko/interactive-mode.md#task-list) |

289| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | [동기화된 skills](https://code.claude.com/docs/ko/skills.md#how-synced-skills-behave) 및 [동기화된 plugins](https://code.claude.com/docs/ko/plugins/loading.md#synced-plugins)를 복구할 기회. Claude Code가 제거한 것 |289| `~/.claude/skills/.trash/`, `~/.claude/plugins/.trash/` | [동기화된 skills](https://code.claude.com/docs/ko/skills.md#how-synced-skills-behave) 및 [동기화된 plugins](https://code.claude.com/docs/ko/plugins/loading.md#synced-plugins)를 복구할 기회. Claude Code가 제거한 것 |

290| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Claude Code가 삭제했거나 읽을 수 없는 plugin 설치 기록의 복사본. 아무것도 이를 다시 읽지 않습니다 |290| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Claude Code가 삭제했거나 읽을 수 없는 plugin 설치 기록의 복사본. 아무것도 이를 다시 읽지 않습니다 |

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

292| `~/.claude/backups/` | [`~/.claude.json`을 복원하는 데](https://code.claude.com/docs/ko/errors#configuration-error-in-claude-json) 사용할 수 있는 이전 복사본 |

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

293 294 

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

Details

480* **"Unable to access your repository"**: 스레드의 클론이 실패할 때 스레드가 보고합니다. GitHub가 클론을 거부했거나, 프로젝트에 지정된 이름으로 저장소를 찾을 수 없거나, 스레드가 시작하도록 요청받은 브랜치가 존재하지 않는 경우입니다.480* **"Unable to access your repository"**: 스레드의 클론이 실패할 때 스레드가 보고합니다. GitHub가 클론을 거부했거나, 프로젝트에 지정된 이름으로 저장소를 찾을 수 없거나, 스레드가 시작하도록 요청받은 브랜치가 존재하지 않는 경우입니다.

481* **"Claude can't access" 저장소**: **New project** 대화 상자 또는 **Project settings**에서 저장소를 저장할 때 표시됩니다. 메시지 뒤에는 설치 링크와 재연결 링크가 이어집니다. Claude GitHub App이 해당 저장소에 없으면 설치 링크를 사용하고, 있다면 재연결 링크를 사용합니다. GitHub App은 Claude에 연결한 계정과 연동되지 않은 상태로 GitHub에 설치될 수 있기 때문입니다. 메시지에 GitHub App이 일시 중지되었거나 이 저장소를 포함하지 않는다고 표시되면, 링크를 따라 GitHub로 이동하여 수정합니다.481* **"Claude can't access" 저장소**: **New project** 대화 상자 또는 **Project settings**에서 저장소를 저장할 때 표시됩니다. 메시지 뒤에는 설치 링크와 재연결 링크가 이어집니다. Claude GitHub App이 해당 저장소에 없으면 설치 링크를 사용하고, 있다면 재연결 링크를 사용합니다. GitHub App은 Claude에 연결한 계정과 연동되지 않은 상태로 GitHub에 설치될 수 있기 때문입니다. 메시지에 GitHub App이 일시 중지되었거나 이 저장소를 포함하지 않는다고 표시되면, 링크를 따라 GitHub로 이동하여 수정합니다.

482 482 

483이러한 오류를 수정하려면 메시지에 표시된 버튼(예: **Install GitHub App** 또는 **Select repositories on GitHub**)을 클릭한 다음 **Check again**을 클릭합니다. 앱을 승인하지 않은 소유자나 Claude를 제외하는 IP 허용 목록처럼 GitHub 조직 측에서 차단된 경우에는 메시지에 대신 **See how to fix** 링크가 표시됩니다. 버튼이 없다면 [GitHub 액세스 설정](#set-up-github-access)을 따른 다음 메시지를 다시 보내 재시도합니다.483"Couldn't start the session" 또는 "Unable to access your repository"에 대한 GitHub 액세스를 수정하려면 메시지에 표시된 버튼(예: **Install on GitHub** 또는 **Select repositories**)을 클릭합니다. 버튼이 없다면 [GitHub 액세스 설정](#set-up-github-access)을 따릅니다. 수정한 후에는 프로젝트 대화에서 Claude에게 같은 작업을 위한 새 스레드를 시작하도록 요청합니다.

484 484 

485### 스레드가 사용 한도에 도달한 경우485### 스레드가 사용 한도에 도달한 경우

486 486 


505 505 

506| 메시지 | 조치 방법 |506| 메시지 | 조치 방법 |

507| :- | :- |507| :- | :- |

508| "Unable to connect to repository"와 "Claude couldn't reach GitHub to fetch your repository" | 잠시 기다린 다음 메시지를 다시 보내 재시도합니다 |508| "Unable to connect to repository"와 "Claude couldn't reach GitHub to fetch your repository" | 잠시 기다린 다음 프로젝트 대화에서 Claude에게 같은 작업을 위한 새 스레드를 시작하도록 요청합니다 |

509| "Unable to connect to repository"와 "Claude couldn't access your repository or environment" | GitHub 계정에 저장소에 대한 푸시 권한이 있어야 하며, 환경이 여전히 존재해야 합니다. **Project settings > Environment**에서 두 가지를 모두 확인한 다음 재시도합니다 |509| "Unable to connect to repository"와 "Claude couldn't access your repository or environment" | GitHub 계정에 저장소에 대한 푸시 권한이 있어야 하며, 환경이 여전히 존재해야 합니다. **Project settings > Environment**에서 두 가지를 모두 확인한 다음 재시도합니다 |

510| "Couldn't show the setup proposal" | 열려 있는 앱이 Claude가 보낸 **Setup recommendations**보다 오래된 버전입니다. 페이지를 새로 고치거나 데스크톱 앱을 다시 시작하거나, Claude에게 설정을 다시 제안하도록 요청합니다 |510| "Couldn't show the setup proposal" | 열려 있는 앱이 Claude가 보낸 **Setup recommendations**보다 오래된 버전입니다. 페이지를 새로 고치거나 데스크톱 앱을 다시 시작하거나, Claude에게 설정을 다시 제안하도록 요청합니다 |

511| "The project's environment was removed" | **Project settings > Environment**에서 다른 환경을 선택합니다. 변경 사항은 새 스레드에 적용됩니다 |511| "The project's environment was removed" | **Project settings > Environment**에서 다른 환경을 선택합니다. 변경 사항은 새 스레드에 적용됩니다 |

Details

14 14 

15`/context` 명령은 현재 세션의 컨텍스트 윈도우를 차지하는 모든 항목을 시스템 프롬프트, 시스템 도구, MCP 도구, 사용자 정의 서브에이전트(로드된 소스 포함), 메모리 파일, 스킬 및 대화 메시지로 분류하여 표시합니다. 먼저 이를 실행하여 `CLAUDE.md`, 규칙 또는 스킬 설명이 실제로 존재하는지 확인합니다. `/context`의 스킬 섹션에는 `/skills`에서 나열하지 않는 [번들 스킬](https://code.claude.com/docs/ko/skills.md#bundled-skills)도 포함됩니다.15`/context` 명령은 현재 세션의 컨텍스트 윈도우를 차지하는 모든 항목을 시스템 프롬프트, 시스템 도구, MCP 도구, 사용자 정의 서브에이전트(로드된 소스 포함), 메모리 파일, 스킬 및 대화 메시지로 분류하여 표시합니다. 먼저 이를 실행하여 `CLAUDE.md`, 규칙 또는 스킬 설명이 실제로 존재하는지 확인합니다. `/context`의 스킬 섹션에는 `/skills`에서 나열하지 않는 [번들 스킬](https://code.claude.com/docs/ko/skills.md#bundled-skills)도 포함됩니다.

16 16 

17[전체 화면 모드](https://code.claude.com/docs/ko/fullscreen.md)에서는 `/context`가 항목별 분류를 접어서 표시하므로, `/context all`을 실행하여 펼칩니다.

18 

17특정 카테고리에 대한 세부 정보는 전용 명령으로 팔로우업합니다:19특정 카테고리에 대한 세부 정보는 전용 명령으로 팔로우업합니다:

18 20 

19| 명령 | 표시 내용 |21| 명령 | 표시 내용 |

desktop.md +71 −14

Details

84 84 

85권한 모드는 세션 중에 Claude가 가질 자율성을 제어합니다: 파일 편집, 명령 실행 또는 둘 다 전에 묻는지 여부입니다. 프롬프트 상자 아래 줄의 모드 선택기를 사용하여 언제든지 권한 모드를 전환할 수 있습니다. 각 변경 사항을 직접 승인하려면 Manual로 전환합니다.85권한 모드는 세션 중에 Claude가 가질 자율성을 제어합니다: 파일 편집, 명령 실행 또는 둘 다 전에 묻는지 여부입니다. 프롬프트 상자 아래 줄의 모드 선택기를 사용하여 언제든지 권한 모드를 전환할 수 있습니다. 각 변경 사항을 직접 승인하려면 Manual로 전환합니다.

86 86 

87새 로컬 세션의 기본 모드를 설정하려면 [설정 파일](https://code.claude.com/docs/ko/settings.md#where-settings-live)에 `permissions.defaultMode`를 추가합니다. 데스크톱 앱은 CLI와 동일한 설정 파일을 읽습니다. 선택기에서 선택한 모드는 폴더별로 기억되며 해당 폴더의 `defaultMode`보다 우선하지만, Plan은 현재 세션에만 적용됩니다.87새 로컬 세션의 기본 권한 모드를 설정하려면 [설정 파일](https://code.claude.com/docs/ko/settings.md#where-settings-live)에 `permissions.defaultMode`를 추가합니다. 로컬 세션에서 선택한 모드는 폴더별로 기억되며 프로젝트의 `.claude/` 설정에 있는 `defaultMode`보다 우선합니다. 그래도 새 로컬 세션은 `~/.claude/settings.json` 또는 관리형 설정의 `defaultMode`로 시작될 수 있으므로 첫 번째 메시지를 보내기 전에 선택기를 확인하세요. Plan을 선택하면 현재 세션에만 적용됩니다.

88 88 

89| 모드 | 설정 키 | 동작 |89| 모드 | 설정 키 | 동작 |

90| - | - | - |90| - | - | - |


1289 1289 

1290> [!WARNING]1290> [!WARNING]

1291>1291>

1292> Claude 계정으로 Desktop에 로그인하는 경우 작업이 밤새 실행될 것으로 기대하지 마세요. Desktop은 Desktop이 실행 중이고 연결되어 있는 동안에만 작업의 로그인을 갱신하므로, 연결이 끊긴 후 작업의 로그인이 만료될 수 있으며 그러면 작업이 중지됩니다. 연결이 끊길 때 남아 있는 시간은 상황에 따라 다르며, 단 몇 분일 수도 있습니다.1292> Claude 계정으로 Desktop에 로그인하는 경우 작업이 밤새 실행될 것이라고 기대하지 마십시오. Desktop은 실행 중이고, 연결되어 있고, 로그인된 동안에만 작업의 로그인을 갱신하므로, 연결이 끊긴 후 작업의 로그인이 만료될 수 있으며 그러면 작업이 중지됩니다. 연결이 끊길 때 남은 시간은 경우에 따라 다르며 몇 분밖에 되지 않을 수도 있습니다.

1293>1293>

1294> 지금까지 수행한 작업은 원격 머신에 남아 있으며, 돌아와서 메시지를 보내 계속할 수 있습니다.1294> 지금까지 수행한 작업은 원격 머신에 남아 있으며, 돌아와서 메시지를 보내 계속할 수 있습니다.

1295>1295>

1296> 작업을 밤새 실행해야 하는 경우:1296> 작업을 밤새 실행해야 하는 경우:

1297>1297>

1298> * 덮개를 열고 Desktop을 실행한 상태로 [컴퓨터를 깨어 있는 상태](https://code.claude.com/docs/ko/desktop-scheduled-tasks.md#how-scheduled-tasks-run)와 온라인 상태로 유지하세요1298> * [컴퓨터를 깨어 있는 상태](https://code.claude.com/docs/ko/desktop-scheduled-tasks.md#how-scheduled-tasks-run)와 온라인 상태로 유지하고, 덮개를 연 채로 Desktop을 실행하고 로그인된 상태로 두십시오

1299> * 원격 머신과 경로상의 모든 점프 호스트에 대해 SSH 에이전트가 보유한 키처럼 프롬프트 없이 작동하는 로그인을 사용하세요. 그러면 연결이 끊겼을 때 Desktop이 자동으로 다시 연결할 수 있습니다.1299> * 원격 머신과 경로상의 모든 점프 호스트에 대해 SSH 에이전트가 보유한 키처럼 프롬프트 없이 작동하는 로그인을 사용하세요. 그러면 연결이 끊겼을 때 Desktop이 자동으로 다시 연결할 수 있습니다.

1300>1300>

1301> 컴퓨터가 절전 상태이거나 꺼져 있는 동안 실행되어야 하는 작업이라면 대신 [클라우드 세션](#run-long-running-tasks-in-the-cloud)을 시작하세요.1301> 컴퓨터가 절전 상태이거나 꺼져 있는 동안 실행되어야 하는 작업이라면 대신 [클라우드 세션](#run-long-running-tasks-in-the-cloud)을 시작하세요.


1303* **절전 또는 네트워크 끊김 후**: 프로세스가 [여전히 실행 중](#limits-while-desktop-is-disconnected)이고 Desktop이 프롬프트 없이 로그인할 수 있으면 실행 중인 작업을 되찾을 수 있습니다. 그렇지 않으면 [메시지를 보내세요](#reconnect-after-sleep-or-a-network-loss).1303* **절전 또는 네트워크 끊김 후**: 프로세스가 [여전히 실행 중](#limits-while-desktop-is-disconnected)이고 Desktop이 프롬프트 없이 로그인할 수 있으면 실행 중인 작업을 되찾을 수 있습니다. 그렇지 않으면 [메시지를 보내세요](#reconnect-after-sleep-or-a-network-loss).

1304* **종료 후**: 작업은 계속 실행되지만, Desktop이 해당 프로세스에 다시 연결할 수 없으면 세션이 다시 열릴 때 작업을 잃습니다. 종료하기 전에 [Desktop이 다시 연결할 수 있는 경우](#reopen-a-session-after-you-quit-desktop)를 확인합니다. 작업을 잃었다면 메시지를 보내 계속합니다.1304* **종료 후**: 작업은 계속 실행되지만, Desktop이 해당 프로세스에 다시 연결할 수 없으면 세션이 다시 열릴 때 작업을 잃습니다. 종료하기 전에 [Desktop이 다시 연결할 수 있는 경우](#reopen-a-session-after-you-quit-desktop)를 확인합니다. 작업을 잃었다면 메시지를 보내 계속합니다.

1305 1305 

1306돌아왔을 때 작업이 완료되지 않았다면 Desktop이 다시 연결할 수 없다는 안내, 인증 오류 또는 대기 중인 요청이 있는지 확인하세요:1306돌아왔는데 작업이 완료되지 않았다면 Desktop의 로그인 페이지, Desktop이 재연결할 수 없다는 안내, 인증 오류 또는 대기 중인 요청이 있는지 확인하십시오:

1307 1307 

1308* **로그인 페이지**: 로그인합니다. 작업이 중지되었다면 메시지를 보내 계속합니다. Enterprise 플랜에서는 조직이 활동 여부와 관계없이 [로그인 후 일정 일수가 지나면 로그아웃](https://support.claude.com/en/articles/13163631-configuring-session-security-settings)시킬 수 있습니다. Claude 계정을 사용하는 경우 로그아웃된 동안에는 Desktop이 작업의 로그인을 갱신하지 않으므로 작업이 중지될 수 있습니다.

1308* **Desktop이 다시 연결할 수 없음**: 세션에 이유가 표시되며, 알림에도 표시될 수 있습니다. Desktop에서 [로그인이 필요](#reconnect-after-sleep-or-a-network-loss)할 수 있습니다.1309* **Desktop이 다시 연결할 수 없음**: 세션에 이유가 표시되며, 알림에도 표시될 수 있습니다. Desktop에서 [로그인이 필요](#reconnect-after-sleep-or-a-network-loss)할 수 있습니다.

1309* **인증 오류**: [로그인 토큰 또는 자격 증명](#limits-while-desktop-is-disconnected)이 만료되었을 수 있습니다. Claude 계정을 사용하는 경우 메시지를 보내 계속하세요. 타사 제공업체를 사용하는 경우 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)를 참조하세요.1310* **인증 오류**: [로그인 토큰 또는 자격 증명](#limits-while-desktop-is-disconnected)이 만료되었을 수 있습니다. Claude 계정을 사용하는 경우 메시지를 보내 계속하세요. 타사 제공업체를 사용하는 경우 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)를 참조하세요.

1310* **대기 중인 요청**: [요청에 응답합니다](#handle-requests-that-arrive-while-you-are-away)1311* **대기 중인 요청**: [요청에 응답합니다](#handle-requests-that-arrive-while-you-are-away)


1602 1603 

1603> [!NOTE]1604> [!NOTE]

1604>1605>

1605> 명령으로 만드는 연결은 macOS 또는 Linux에서 Claude 계정으로 로그인한 Claude Desktop v3.6556.0 이상이 필요합니다. 관리자는 [명령을 팀에 배포](#distribute-commands-to-your-team)할 수 있습니다.1606> 명령으로 만드는 연결을 사용하려면 macOS 또는 Linux에서는 Claude Desktop v3.6556.0 이상, Windows에서는 v4.16336.0 이상이 필요하며 Claude 계정으로 로그인해야 합니다. Windows에서는 Desktop이 [OpenSSH 클라이언트를 통해 연결](#use-your-ssh-configuration)해야 합니다. 관리자는 [팀에 명령을 배포](#distribute-commands-to-your-team)할 수 있습니다.

1606 1607 

1607Desktop은 연결할 때마다가 아니라 연결을 만들거나 [다른 머신을 만들](#create-another-machine) 때만 명령을 실행합니다. 각 항목은 하나의 연결이며, 이 연결은 Desktop이 해당 항목의 명령으로부터 마지막으로 저장한 호스트를 가리킵니다.1608Desktop은 연결할 때마다가 아니라 연결을 만들거나 [다른 머신을 만들](#create-another-machine) 때만 명령을 실행합니다. 각 항목은 하나의 연결이며, 이 연결은 Desktop이 해당 항목의 명령으로부터 마지막으로 저장한 호스트를 가리킵니다.

1608 1609 


1632}1633}

1633```1634```

1634 1635 

1636Windows에서는 `acme-dev` 같은 단순 이름이 작동하지 않으므로 [명령을 프로그램의 전체 경로로 시작](#write-the-command-on-windows)하세요.

1637 

1635각 항목은 다음 필드를 받으며, `id`, `name`, `command`는 필수입니다.1638각 항목은 다음 필드를 받으며, `id`, `name`, `command`는 필수입니다.

1636 1639 

1637| 필드 | 값 |1640| 필드 | 값 |


1646 1649 

1647##### 명령 작성하기1650##### 명령 작성하기

1648 1651 

1649Desktop은 셸이나 터미널 없이 프로그램을 직접 시작합니다.1652Windows에서는 [Windows에서 명령 작성](#write-the-command-on-windows)부터 시작하세요. 이 섹션에서 다음 규칙 중 어떤 것이 Windows에 적용되는지 설명합니다.

1653 

1654macOS와 Linux에서 Desktop은 셸이나 터미널 없이 프로그램을 직접 시작합니다.

1650 1655 

1651* **프로그램**: 공백 없이 이름 또는 `/`부터 시작하는 전체 경로를 작성합니다. Desktop은 로그인 셸이 내보내는 `PATH`에서 단순 이름을 찾습니다. `./acme-dev`와 같은 상대 경로, `~`로 시작하는 경로, 셸 별칭 및 함수는 작동하지 않습니다.1656* **프로그램**: 이름을 쓰거나 `/`부터 시작하는 전체 경로를 씁니다. Desktop은 로그인 셸이 내보내는 `PATH`에서 단순 이름을 찾습니다. `./acme-dev` 같은 상대 경로, `~`로 시작하는 경로, 셸 별칭과 함수는 작동하지 않습니다.

1652* **인수**: 일반 인수는 공백으로 구분합니다. 명령에는 공백, ASCII 문자, 숫자, `+,-./:=@_~` 문자만 포함할 수 있으며, 어떤 단어도 `~`로 시작할 수 없습니다.1657* **경로의 공백**: `'/Users/you/My Tools/make-devbox' create`처럼 프로그램의 전체 경로를 작은따옴표로 감쌉니다. 작은따옴표든 큰따옴표든 따옴표를 사용하려면 Claude Desktop v4.16336.0 이상이 필요하며, 프로그램 경로를 감쌀 때에만 작동합니다.

1653* **스크립트**: 따옴표, 파이프, 변수, `?` 또는 `&`가 포함된 URL 등 다른 것이 필요하면 스크립트에 넣습니다. 스크립트를 실행 가능하게 만들고 `#!` 줄로 시작한 다음, `command`를 `/Users/you/bin/make-devbox`와 같은 전체 경로로 설정합니다. macOS에서는 macOS가 스크립트를 차단할 수 있는 Documents, Desktop, Downloads 폴더에 스크립트를 두지 마세요.1658* **인수**: 인수는 공백으로 구분합니다. 따옴표 밖에서 명령에는 공백, ASCII 문자, 숫자, `+,-./:=@_~` 문자만 사용할 수 있으며, 어떤 단어도 `~`로 시작할 수 없습니다. 따옴표로 감싼 경로에는 `(`, `)`, `&` 같은 다른 문자도 일부 사용할 수 있습니다.

1659* **스크립트**: 따옴표로 감싼 인수, 파이프, 변수, `?` 또는 `&`가 있는 URL처럼 그 밖의 것이 필요하다면 스크립트에 넣습니다. 스크립트를 실행 가능하게 만들고, `#!` 줄로 시작하고, `command`를 `/Users/you/bin/make-devbox`처럼 스크립트의 전체 경로로 설정합니다. macOS에서는 macOS가 스크립트를 차단할 수 있는 Documents, Desktop, Downloads 폴더에 스크립트를 두지 마세요.

1654* **입력**: 프로그램은 입력이나 터미널을 받지 않으므로 그곳에서 사용자에게 확인을 요청할 수 없습니다. 도구가 브라우저나 프롬프트를 통해 로그인하는 경우, 먼저 터미널에서 로그인하고 해당 로그인이 만료될 때마다 다시 로그인합니다.1660* **입력**: 프로그램은 입력이나 터미널을 받지 않으므로 그곳에서 사용자에게 확인을 요청할 수 없습니다. 도구가 브라우저나 프롬프트를 통해 로그인하는 경우, 먼저 터미널에서 로그인하고 해당 로그인이 만료될 때마다 다시 로그인합니다.

1655* **환경**: 프로그램은 로그인 셸이 내보내는 변수와 함께 홈 디렉터리에서 실행됩니다. Desktop은 [`ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand)의 경우와 마찬가지로 시작할 때 이 변수를 읽으므로, 변수를 변경한 후에는 Desktop을 종료했다가 다시 엽니다.1661* **환경**: 프로그램은 로그인 셸이 내보내는 변수와 함께 홈 디렉터리에서 실행됩니다. Desktop은 [`ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand)의 경우와 마찬가지로 시작할 때 이 변수를 읽으므로, 변수를 변경한 후에는 Desktop을 종료했다가 다시 엽니다.

1656* **시간 제한**: Desktop은 10분이 지나도 실행 중인 프로그램을 중지합니다. Desktop의 진행 메시지에는 프로그램의 출력이 표시되지 않습니다. 프로그램을 더 일찍 중지하려면 해당 메시지 옆의 **Cancel**을 선택합니다.1662* **시간 제한**: Desktop은 10분이 지나도 실행 중인 프로그램을 중지합니다. Desktop의 진행 메시지에는 프로그램의 출력이 표시되지 않습니다. 프로그램을 더 일찍 중지하려면 해당 메시지 옆의 **Cancel**을 선택합니다.


1680 1686 

1681명령이 실패하면 Desktop 메시지의 **View details**에 명령이 표준 오류에 마지막으로 쓴 줄이 있는 경우 해당 줄이 표시됩니다.1687명령이 실패하면 Desktop 메시지의 **View details**에 명령이 표준 오류에 마지막으로 쓴 줄이 있는 경우 해당 줄이 표시됩니다.

1682 1688 

1689##### Windows에서 명령 작성

1690 

1691Windows에서는 `command`를 드라이브 문자부터 시작하는 `.exe`, `.cmd` 또는 `.bat` 파일의 전체 경로로 시작합니다. Desktop은 `PATH`에서 단순 이름을 찾지 않으므로, `command`가 `acme-dev create`인 항목은 [회색](#if-a-command-is-missing-or-gray)으로 표시됩니다.

1692 

1693`%USERPROFILE%\.claude\settings.json`의 다음 항목은 `C:\Program Files\Acme\acme-dev.exe`를 인수 `create`와 함께 실행합니다. JSON에서는 각 백슬래시를 두 번 쓰거나 대신 `/`를 씁니다. 경로에 공백이 있으므로 작은따옴표를 사용했습니다.

1694 

1695```json settings.json theme={null}

1696{

1697 "sshHostCommands": [

1698 {

1699 "id": "devbox",

1700 "name": "Dev box",

1701 "command": "'C:\\Program Files\\Acme\\acme-dev.exe' create"

1702 }

1703 ]

1704}

1705```

1706 

1707경로의 공백, 입력, 시간 제한, 프로그램이 출력하는 내용에 대해서는 [명령 작성](#write-the-command)의 규칙을 따르세요. 그 외의 규칙 대신 다음을 따르세요.

1708 

1709* **프로그램**: `\\server\share` 같은 네트워크 경로, `%USERPROFILE%` 같은 변수, ASCII 이외의 문자를 사용하지 마세요. 경로에 이 중 하나라도 있으면 항목이 회색으로 표시됩니다. 사용자 폴더 이름에 이러한 문자가 있다면 프로그램을 해당 폴더 밖에 두세요.

1710* **인수**: 명령 작성의 인수 규칙을 따릅니다. 명령에는 `\`도 사용할 수 있지만, 어떤 단어도 이 문자로 끝날 수 없습니다.

1711* **스크립트**: Desktop이 `cmd.exe`를 통해 실행하는 `.cmd` 또는 `.bat` 파일을 사용합니다. 따옴표 안에서도 파일 경로에는 `&`, `^`, `;`를 사용할 수 없습니다. 직접 작성하는 파일에서는 `%*`로 인수를 읽으세요. `%1`부터 `%9`까지는 인수를 `,`와 `=`에서 분할하기 때문입니다.

1712* **환경**: 프로그램은 셸 프로필의 환경 변수가 아니라 Desktop 앱의 환경 변수를 받습니다. 변수를 변경한 후에는 Desktop을 종료했다가 다시 여세요.

1713* **테스트**: Desktop이 읽는 출력을 확인하려면 명령 프롬프트에서 명령을 실행합니다. 공백이 있는 경로는 큰따옴표로 감싸고 입력 없음에는 `NUL`을 사용합니다. 예: `"C:\Program Files\Acme\acme-dev.exe" create < NUL > host.txt`. 파일에는 호스트만 있어야 합니다. 테스트는 머신도 만들므로, 나중에 도구로 삭제하세요.

1714 

1715##### 다른 줄을 출력하는 Windows 도구 감싸기

1716 

1717도구가 진행 메시지처럼 호스트 앞에 다른 줄을 출력한다면, 호스트만 출력하는 배치 파일로 감쌉니다. 다음 파일은 도구 출력의 마지막 줄을 출력하며, 도구가 실패하면 도구의 코드로 종료합니다.

1718 

1719```batch make-devbox.cmd theme={null}

1720@echo off

1721setlocal

1722set "host="

1723set "out=%TEMP%\acme-dev-%RANDOM%.txt"

1724call "C:\Program Files\Acme\acme-dev.exe" create > "%out%"

1725set "code=%ERRORLEVEL%"

1726for /f "usebackq delims=" %%L in ("%out%") do set "host=%%L"

1727del "%out%"

1728if not "%code%"=="0" exit /b %code%

1729setlocal EnableDelayedExpansion

1730echo(!host!

1731```

1732 

1733`command`를 파일의 전체 경로로 설정합니다(JSON에서는 예: `C:\\tools\\make-devbox.cmd`). 마지막 두 줄은 호스트를 명령으로 실행하지 않고 출력하므로 그대로 유지하세요.

1734 

1683##### 새 호스트에 연결하기1735##### 새 호스트에 연결하기

1684 1736 

1685각 새 호스트에 처음 연결할 때 두 가지 질문에 답합니다.1737각 새 호스트에 처음 연결할 때 두 가지 질문에 답합니다.

1686 1738 

1687* **호스트 키**: OpenSSH의 기본 호스트 키 검사를 사용하는 경우, 키의 지문을 확인한 다음 연결할지 선택합니다. 이 질문을 건너뛰려면 명령이 호스트를 출력하기 전에 도구가 머신을 만들 때 알게 된 키를 사용하여 `~/.ssh/known_hosts`에 키를 추가하도록 합니다. 22가 아닌 포트의 경우 해당 줄은 `[host]:port`로 시작합니다. 도구가 호스트 이름을 재사용하는 경우 이전 키의 줄도 제거합니다.1739* **호스트 키**: OpenSSH의 기본 호스트 키 검사에서는 키의 지문을 확인한 다음 연결할지 선택합니다. 이 질문을 건너뛰려면 명령이 호스트를 출력하기 전에 키를 `~/.ssh/known_hosts`(Windows에서는 `%USERPROFILE%\.ssh\known_hosts`)에 추가하도록 합니다.

1740 * 도구가 머신을 만들 때 알게 된 키를 사용합니다

1741 * 22 이외의 포트에서는 줄을 `[host]:port`로 시작합니다

1742 * 도구가 호스트 이름을 재사용한다면 이전 키의 줄도 제거합니다

1688* **폴더**: 그곳에서 여는 폴더를 신뢰할지 선택합니다1743* **폴더**: 그곳에서 여는 폴더를 신뢰할지 선택합니다

1689 1744 

1690이러한 호스트에 대해서는 호스트 키 검사를 켜 두고 `known_hosts` 파일을 유지하세요. `StrictHostKeyChecking`이 `no` 또는 `accept-new`이면서 `UserKnownHostsFile`도 `/dev/null` 또는 `none`이면 키를 기록하는 것이 없습니다. 이 상태에서 도구가 이름을 재사용하면 경고 없이 다른 머신에 연결될 수 있습니다.1745이러한 호스트에 대해서는 호스트 키 검사를 켜 두고 `known_hosts` 파일을 유지하세요. `StrictHostKeyChecking`이 `no` 또는 `accept-new`이면서 `UserKnownHostsFile`도 `/dev/null` 또는 `none`이면 키를 기록하는 것이 없습니다. 이 상태에서 도구가 이름을 재사용하면 경고 없이 다른 머신에 연결될 수 있습니다.


1746 1801 

1747* **키를 넣을 위치**: Claude Code용 MDM 정책이 이미 [정책 키](https://code.claude.com/docs/ko/managed-settings.md#how-claude-code-combines-managed-sources)를 설정하고 있다면 그곳에 넣습니다. 그렇지 않으면 관리형 설정 파일에 넣습니다. 기본적으로 이러한 정책은 파일보다 우선하며, 이 경우 Desktop은 파일의 항목을 무시합니다. [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)이 적용되는 경우에도 컴퓨터에 설정하세요. Desktop은 서버 관리형 설정과 프로젝트 및 로컬 설정에 있는 이 키를 무시합니다.1802* **키를 넣을 위치**: Claude Code용 MDM 정책이 이미 [정책 키](https://code.claude.com/docs/ko/managed-settings.md#how-claude-code-combines-managed-sources)를 설정하고 있다면 그곳에 넣습니다. 그렇지 않으면 관리형 설정 파일에 넣습니다. 기본적으로 이러한 정책은 파일보다 우선하며, 이 경우 Desktop은 파일의 항목을 무시합니다. [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)이 적용되는 경우에도 컴퓨터에 설정하세요. Desktop은 서버 관리형 설정과 프로젝트 및 로컬 설정에 있는 이 키를 무시합니다.

1748* **`id`**: 사용자의 `sshHostCommands` 항목이 관리자의 `id`를 사용하면 관리자의 항목만 작동합니다. 사용자의 `sshConfigs`에 있는 연결처럼 다른 SSH 연결이 이를 사용하면 관리자의 항목이 회색으로 표시됩니다. 사용자가 선택할 가능성이 낮은 `id`를 고르십시오.1803* **`id`**: 사용자의 `sshHostCommands` 항목이 관리자의 `id`를 사용하면 관리자의 항목만 작동합니다. 사용자의 `sshConfigs`에 있는 연결처럼 다른 SSH 연결이 이를 사용하면 관리자의 항목이 회색으로 표시됩니다. 사용자가 선택할 가능성이 낮은 `id`를 고르십시오.

1749* **프로그램**: Desktop은 각 사용자 자신의 `PATH`에서 단순 이름을 찾으므로 전체 경로를 지정합니다. 프로그램은 해당 사용자의 로그인 셸이 내보내는 변수와 함께 해당 사용자로 실행됩니다.1804* **프로그램**: 전체 경로를 지정하세요. macOS와 Linux에서는 Desktop이 각 사용자의 `PATH`에서 단순 이름을 찾고, Windows에서는 단순 이름을 가진 항목이 회색으로 표시되기 때문입니다. 프로그램은 [해당 사용자의 변수](#write-the-command)와 함께 해당 사용자로 실행됩니다.

1805* **각 플랫폼**: Windows 컴퓨터와 macOS 및 Linux 컴퓨터에 서로 다른 항목을 배포합니다. [Windows 경로](#write-the-command-on-windows)를 가진 항목은 macOS와 Linux에서 회색으로 표시되고, macOS 또는 Linux 경로를 가진 항목은 Windows에서 회색으로 표시됩니다.

1750* **사용자 자신의 항목**: Desktop은 사용자의 항목을 [훅](https://code.claude.com/docs/ko/hooks.md)처럼 취급합니다. 둘 다 컴퓨터에서 프로그램을 실행하기 때문입니다. 관리자의 항목만 허용하려면 [`strictPluginOnlyCustomization`](https://code.claude.com/docs/ko/settings-reference#strictpluginonlycustomization)을 `["hooks"]`로 설정하거나 해당 목록에 `"hooks"`를 추가합니다. 이렇게 하면 사용자, 프로젝트, 로컬 설정의 Claude Code 훅도 중지되며, 이를 유지할 방법은 없습니다. 대신 이 키 또는 [`allowManagedHooksOnly`](https://code.claude.com/docs/ko/settings-reference#allowmanagedhooksonly)를 `true`로 설정하면 각 키의 항목에 나열된 대로 더 많은 것이 차단됩니다.1806* **사용자 자신의 항목**: Desktop은 사용자의 항목을 [훅](https://code.claude.com/docs/ko/hooks.md)처럼 취급합니다. 둘 다 컴퓨터에서 프로그램을 실행하기 때문입니다. 관리자의 항목만 허용하려면 [`strictPluginOnlyCustomization`](https://code.claude.com/docs/ko/settings-reference#strictpluginonlycustomization)을 `["hooks"]`로 설정하거나 해당 목록에 `"hooks"`를 추가합니다. 이렇게 하면 사용자, 프로젝트, 로컬 설정의 Claude Code 훅도 중지되며, 이를 유지할 방법은 없습니다. 대신 이 키 또는 [`allowManagedHooksOnly`](https://code.claude.com/docs/ko/settings-reference#allowmanagedhooksonly)를 `true`로 설정하면 각 키의 항목에 나열된 대로 더 많은 것이 차단됩니다.

1751* **모든 항목**: 관리자의 항목도 끄려면 관리형 설정에서 [`disableAllHooks`](https://code.claude.com/docs/ko/settings-reference#disableallhooks)를 설정합니다. [`disableDesktopLocalSessions`](https://code.claude.com/docs/ko/settings-reference#disabledesktoplocalsessions)를 설정하거나 어떤 호스트도 허용하지 않는 `sshHostAllowlist`를 설정하면 선택기에 **Create** 또는 **Create another** 항목이 표시되지 않습니다.1807* **모든 항목**: 관리자의 항목도 끄려면 관리형 설정에서 [`disableAllHooks`](https://code.claude.com/docs/ko/settings-reference#disableallhooks)를 설정합니다. [`disableDesktopLocalSessions`](https://code.claude.com/docs/ko/settings-reference#disabledesktoplocalsessions)를 설정하거나 어떤 호스트도 허용하지 않는 `sshHostAllowlist`를 설정하면 선택기에 **Create** 또는 **Create another** 항목이 표시되지 않습니다.

1752* **잠금이 적용되는 위치**: 이러한 항목에 대해 Desktop은 서버 관리형 설정과 컴퓨터 자체의 파일 또는 정책에서 `allowManagedHooksOnly`, `strictPluginOnlyCustomization`, `disableAllHooks`를 읽고 더 엄격한 결과를 적용합니다. 조직에 서버 관리형 설정이 없더라도 Desktop이 claude.ai에서 서버 관리형 설정을 확인할 때까지 모든 항목은 회색으로 유지됩니다.1808* **잠금이 적용되는 위치**: 이러한 항목에 대해 Desktop은 서버 관리형 설정과 컴퓨터 자체의 파일 또는 정책에서 `allowManagedHooksOnly`, `strictPluginOnlyCustomization`, `disableAllHooks`를 읽고 더 엄격한 결과를 적용합니다. 조직에 서버 관리형 설정이 없더라도 Desktop이 claude.ai에서 서버 관리형 설정을 확인할 때까지 모든 항목은 회색으로 유지됩니다.


1759다음 경우에는 환경 선택기에 **Create** 또는 **Create another** 항목이 표시되지 않습니다.1815다음 경우에는 환경 선택기에 **Create** 또는 **Create another** 항목이 표시되지 않습니다.

1760 1816 

1761* **파일**: `~/.claude/settings.json`에 [잘못된 JSON 또는 스키마가 거부하는 값](https://code.claude.com/docs/ko/settings.md#fix-a-broken-settings-file)이 있거나, 키 철자가 틀렸거나, 키를 프로젝트 설정에 넣은 경우입니다. 파일을 수정하세요.1817* **파일**: `~/.claude/settings.json`에 [잘못된 JSON 또는 스키마가 거부하는 값](https://code.claude.com/docs/ko/settings.md#fix-a-broken-settings-file)이 있거나, 키 철자가 틀렸거나, 키를 프로젝트 설정에 넣은 경우입니다. 파일을 수정하세요.

1762* **플랫폼 및 계정**: Windows를 사용하거나, Claude 계정 대신 [서드파티 제공업체](https://code.claude.com/docs/ko/third-party-integrations.md)를 사용하는 경우입니다. 각 호스트를 직접 [SSH 연결](#ssh-sessions)로 추가하세요.1818* **계정**: Claude 계정 대신 [서드파티 제공업체](https://code.claude.com/docs/ko/third-party-integrations.md)를 사용합니다. 각 호스트를 [SSH 연결](#ssh-sessions)로 직접 추가하세요.

1819* **Windows**: Desktop이 v4.16336.0보다 이전 버전이거나, OpenSSH 클라이언트를 통해 연결하지 않습니다. Desktop을 업데이트하고 [OpenSSH 클라이언트 요구 사항](#use-your-ssh-configuration)을 충족한 다음, Desktop을 종료했다가 다시 여세요.

1763* **조직의 설정**: 관리자가 로컬 세션을 껐거나 SSH 세션을 끈 경우입니다. 명령을 사용할 수 있는지 관리자에게 문의하세요.1820* **조직의 설정**: 관리자가 로컬 세션을 껐거나 SSH 세션을 끈 경우입니다. 명령을 사용할 수 있는지 관리자에게 문의하세요.

1764* **`ssh` 프로그램 없음**: Desktop이 컴퓨터에서 OpenSSH 클라이언트를 시작할 수 없는 경우입니다. 클라이언트를 설치하거나 관리자에게 허용을 요청한 다음 Desktop을 다시 시작하세요.1821* **`ssh` 프로그램 없음**: Desktop이 컴퓨터에서 OpenSSH 클라이언트를 시작할 수 없는 경우입니다. 클라이언트를 설치하거나 관리자에게 허용을 요청한 다음 Desktop을 다시 시작하세요.

1765 1822 

1766선택할 수 없는 항목은 회색으로 표시됩니다. 마우스를 올리면 이유를 볼 수 있습니다.1823선택할 수 없는 항목은 회색으로 표시됩니다. 마우스를 올리면 이유를 볼 수 있습니다.

1767 1824 

1768* **항목의 오류**: 메시지가 지정하는 필드 또는 명령을 수정합니다. `id`가 사용 중이면 항목에 다른 `id`를 지정합니다.1825* **항목의 오류**: 메시지가 지정하는 필드나 명령을 수정합니다. `id`가 사용 중이라면 항목에 다른 `id`를 지정합니다. Windows에서는 명령이 [프로그램의 전체 경로로 시작](#write-the-command-on-windows)해야 합니다.

1769* **손상된 설정 파일**: 사용자 자신의 설정 파일이 손상된 동안에는 관리자의 항목이 파일을 지정하는 메시지와 함께 회색으로 표시될 수 있습니다. [파일을 수정](https://code.claude.com/docs/ko/settings.md#fix-a-broken-settings-file)하세요.1826* **손상된 설정 파일**: 사용자 자신의 설정 파일이 손상된 동안에는 관리자의 항목이 파일을 지정하는 메시지와 함께 회색으로 표시될 수 있습니다. [파일을 수정](https://code.claude.com/docs/ko/settings.md#fix-a-broken-settings-file)하세요.

1770* **새 호스트**: Desktop이 호스트를 저장한 후 1분 동안 [**Create another**](#create-another-machine)가 회색으로 표시됩니다. 1분이 지난 후 선택하세요. Claude Desktop v4.4212.0 이전에는 **Replace Dev box's host**가 10분 동안 회색으로 표시됩니다.1827* **새 호스트**: Desktop이 호스트를 저장한 후 1분 동안 [**Create another**](#create-another-machine)가 회색으로 표시됩니다. 1분이 지난 후 선택하세요. Claude Desktop v4.4212.0 이전에는 **Replace Dev box's host**가 10분 동안 회색으로 표시됩니다.

1771* **훅이 꺼져 있거나 제한됨**: 사용자 자신의 항목은 사용자 자신의 훅을 실행할 수 있는 곳에서만 작동합니다. 설정에서 `disableAllHooks`를 제거하거나 관리자에게 문의하세요.1828* **훅이 꺼져 있거나 제한됨**: 사용자 자신의 항목은 사용자 자신의 훅을 실행할 수 있는 곳에서만 작동합니다. 설정에서 `disableAllHooks`를 제거하거나 관리자에게 문의하세요.


1940| `disableMobileSimulatorTools` | `true`로 설정하면 [iOS Simulator 창](https://code.claude.com/docs/ko/desktop-ios-simulator.md#turn-off-simulator-access)에서 기기를 제어하고 캡처하는 Claude의 도구가 차단됩니다. 사용자가 직접 탭하는 용도로는 창을 계속 사용할 수 있으며, Claude의 액세스만 제거됩니다. 값은 JSON 불리언 `true`여야 하며, 문자열 `"true"`는 무시됩니다. |1997| `disableMobileSimulatorTools` | `true`로 설정하면 [iOS Simulator 창](https://code.claude.com/docs/ko/desktop-ios-simulator.md#turn-off-simulator-access)에서 기기를 제어하고 캡처하는 Claude의 도구가 차단됩니다. 사용자가 직접 탭하는 용도로는 창을 계속 사용할 수 있으며, Claude의 액세스만 제거됩니다. 값은 JSON 불리언 `true`여야 하며, 문자열 `"true"`는 무시됩니다. |

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

1942| `sshConfigs` | 환경 선택기에 표시되는 [SSH 연결](#pre-configure-ssh-connections-for-your-team)을 미리 구성합니다. 사용자는 관리되는 연결을 삭제할 수 없으며, 자신의 **Worktree folder** 외에는 아무것도 편집할 수 없습니다. |1999| `sshConfigs` | 환경 선택기에 표시되는 [SSH 연결](#pre-configure-ssh-connections-for-your-team)을 미리 구성합니다. 사용자는 관리되는 연결을 삭제할 수 없으며, 자신의 **Worktree folder** 외에는 아무것도 편집할 수 없습니다. |

1943| `sshHostCommands` | 사용자 자신의 연결과 함께 [명령에서 호스트를 가져오는 SSH 연결](#distribute-commands-to-your-team)을 제공합니다. Desktop은 컴퓨터의 관리형 설정 파일 또는 MDM 정책에서 이 키를 읽으며, [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)에서는 무시합니다. macOS 또는 Linux에서 Claude 계정으로 로그인한 Claude Desktop v3.6556.0 이상이 필요합니다. |2000| `sshHostCommands` | 사용자 자신의 연결과 함께 [명령에서 호스트를 가져오는 SSH 연결](#distribute-commands-to-your-team)을 제공합니다. Desktop은 컴퓨터의 관리형 설정 파일 또는 MDM 정책에서 이 키를 읽으며, [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)에서는 무시합니다. macOS 또는 Linux에서는 Claude Desktop v3.6556.0 이상, Windows에서는 v4.16336.0 이상이 필요하며, Claude 계정으로 로그인해야 합니다. Windows에서는 Desktop이 [OpenSSH 클라이언트를 통해 연결](#use-your-ssh-configuration)하도록 설정되어 있어야 합니다. |

1944| `sshHostAllowlist` | [SSH 세션](#restrict-which-ssh-hosts-users-can-connect-to)을 확인된 호스트 이름이 이 패턴 중 하나와 일치하는 호스트로 제한합니다. 관리형 설정에서만 읽습니다. |2001| `sshHostAllowlist` | [SSH 세션](#restrict-which-ssh-hosts-users-can-connect-to)을 확인된 호스트 이름이 이 패턴 중 하나와 일치하는 호스트로 제한합니다. 관리형 설정에서만 읽습니다. |

1945| `disableDesktopLocalSessions` | `true`로 설정하면 [기기에서 실행되는 Code 세션](#local-sessions-on-managed-devices)이 꺼지고, 다른 호스트로의 SSH 세션과 클라우드 세션은 계속 사용할 수 있습니다. 값은 JSON 불리언 `true`여야 합니다. 관리형 설정에서만 읽습니다. Claude Desktop v1.37937.0 이상이 필요합니다. |2002| `disableDesktopLocalSessions` | `true`로 설정하면 [기기에서 실행되는 Code 세션](#local-sessions-on-managed-devices)이 꺼지고, 다른 호스트로의 SSH 세션과 클라우드 세션은 계속 사용할 수 있습니다. 값은 JSON 불리언 `true`여야 합니다. 관리형 설정에서만 읽습니다. Claude Desktop v1.37937.0 이상이 필요합니다. |

1946| `disableSshSavedPasswords` | `true`로 설정하면 Desktop이 SSH 비밀번호 저장을 제안하지 않으며, 이전에 저장한 비밀번호를 사용하거나 표시하지도 않습니다. 이 설정을 켜도 저장된 비밀번호가 삭제되지는 않습니다. 관리형 설정에서만 읽습니다. Claude Desktop v1.49585.0 이상이 필요합니다. |2003| `disableSshSavedPasswords` | `true`로 설정하면 Desktop이 SSH 비밀번호 저장을 제안하지 않으며, 이전에 저장한 비밀번호를 사용하거나 표시하지도 않습니다. 이 설정을 켜도 저장된 비밀번호가 삭제되지는 않습니다. 관리형 설정에서만 읽습니다. Claude Desktop v1.49585.0 이상이 필요합니다. |

env-vars.md +3 −2

Details

139| `ANTHROPIC_BEDROCK_BASE_URL` | Amazon Bedrock 엔드포인트 URL을 재정의합니다. 사용자 지정 Amazon Bedrock 엔드포인트에 사용하거나 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 통해 라우팅할 때 사용합니다. [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md)을 참조하세요 |139| `ANTHROPIC_BEDROCK_BASE_URL` | Amazon Bedrock 엔드포인트 URL을 재정의합니다. 사용자 지정 Amazon Bedrock 엔드포인트에 사용하거나 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 통해 라우팅할 때 사용합니다. [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md)을 참조하세요 |

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

141| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Claude Code가 AWS 리전에서 도출한 접두사 대신 먼저 시도하는 교차 리전 추론 프로필 접두사(`us`, `eu`, `apac`, `jp`, `au` 또는 `global`)입니다. AWS GovCloud 리전에서는 무시됩니다. Claude Code v2.1.224 이상이 필요합니다. [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md#cross-region-inference-profile-prefixes)을 참조하세요 |141| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Claude Code가 AWS 리전에서 도출한 접두사 대신 먼저 시도하는 교차 리전 추론 프로필 접두사(`us`, `eu`, `apac`, `jp`, `au` 또는 `global`)입니다. AWS GovCloud 리전에서는 무시됩니다. Claude Code v2.1.224 이상이 필요합니다. [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md#cross-region-inference-profile-prefixes)을 참조하세요 |

142| `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](https://code.claude.com/docs/ko/amazon-bedrock.md#service-tiers)을 참조하세요 |142| `ANTHROPIC_BEDROCK_SERVICE_TIER` | Amazon Bedrock [서비스 티어](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html)(`default`, `flex` 또는 `priority`)입니다. [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md#service-tiers)을 참조하세요 |

143| `ANTHROPIC_BETAS` | API 요청에 포함할 추가 `anthropic-beta` 헤더 값의 쉼표로 구분된 목록입니다. Claude Code는 필요한 베타 헤더를 이미 전송합니다. Claude Code가 기본 지원을 추가하기 전에 [Anthropic API 베타](https://platform.claude.com/docs/en/api/beta-headers)를 사용하려면 이 변수를 사용합니다. API 키 인증이 필요한 [`--betas` 플래그](https://code.claude.com/docs/ko/cli-reference#cli-flags)와 달리, 이 변수는 Claude.ai 구독을 포함한 모든 인증 방식에서 작동합니다 |143| `ANTHROPIC_BETAS` | API 요청에 포함할 추가 `anthropic-beta` 헤더 값의 쉼표로 구분된 목록입니다. Claude Code는 필요한 베타 헤더를 이미 전송합니다. Claude Code가 기본 지원을 추가하기 전에 [Anthropic API 베타](https://platform.claude.com/docs/en/api/beta-headers)를 사용하려면 이 변수를 사용합니다. API 키 인증이 필요한 [`--betas` 플래그](https://code.claude.com/docs/ko/cli-reference#cli-flags)와 달리, 이 변수는 Claude.ai 구독을 포함한 모든 인증 방식에서 작동합니다 |

144| `ANTHROPIC_CUSTOM_HEADERS` | 요청에 추가할 사용자 지정 헤더입니다(`Name: Value` 형식, 여러 헤더는 줄바꿈으로 구분). 이름이나 값에 둥근 따옴표나 폭이 없는 공백처럼 HTTP 헤더가 담을 수 없는 문자가 포함되어 있으면, 요청은 해당 쌍을 위치로 식별하는 오류와 함께 실패합니다. Claude Code v2.1.227 이상이 필요합니다. [Invalid request header value](https://code.claude.com/docs/ko/errors.md#invalid-request-header-value)에 정확한 문자 집합과 검사가 실행되는 위치가 나와 있습니다. `Authorization`이나 `Host`처럼 자격 증명, 조직 또는 테넌트, 라우팅, API 동작 헤더를 설정하는 값은 서버 관리형 설정이 전달할 때 [승인이 필요한 설정](https://code.claude.com/docs/ko/server-managed-settings.md#environment-variables-and-the-approval-dialog)으로 간주됩니다. 프로젝트 또는 로컬 설정에서 오는 이러한 값은 [`env` 값이 적용되는 시점에 대한 규칙](https://code.claude.com/docs/ko/settings-reference#when-claude-code-applies-env-values)을 따릅니다 |144| `ANTHROPIC_CUSTOM_HEADERS` | 요청에 추가할 사용자 지정 헤더입니다(`Name: Value` 형식, 여러 헤더는 줄바꿈으로 구분). 이름이나 값에 둥근 따옴표나 폭이 없는 공백처럼 HTTP 헤더가 담을 수 없는 문자가 포함되어 있으면, 요청은 해당 쌍을 위치로 식별하는 오류와 함께 실패합니다. Claude Code v2.1.227 이상이 필요합니다. [Invalid request header value](https://code.claude.com/docs/ko/errors.md#invalid-request-header-value)에 정확한 문자 집합과 검사가 실행되는 위치가 나와 있습니다. `Authorization`이나 `Host`처럼 자격 증명, 조직 또는 테넌트, 라우팅, API 동작 헤더를 설정하는 값은 서버 관리형 설정이 전달할 때 [승인이 필요한 설정](https://code.claude.com/docs/ko/server-managed-settings.md#environment-variables-and-the-approval-dialog)으로 간주됩니다. 프로젝트 또는 로컬 설정에서 오는 이러한 값은 [`env` 값이 적용되는 시점에 대한 규칙](https://code.claude.com/docs/ko/settings-reference#when-claude-code-applies-env-values)을 따릅니다 |

145| `ANTHROPIC_CUSTOM_MODEL_OPTION` | `/model` 선택기에 사용자 지정 항목으로 추가할 모델 ID입니다. 기본 제공 별칭을 대체하지 않고 비표준 모델이나 게이트웨이 전용 모델을 선택할 수 있게 하려면 이 변수를 사용합니다. [모델 구성](https://code.claude.com/docs/ko/model-config.md#add-a-custom-model-option)을 참조하세요 |145| `ANTHROPIC_CUSTOM_MODEL_OPTION` | `/model` 선택기에 사용자 지정 항목으로 추가할 모델 ID입니다. 기본 제공 별칭을 대체하지 않고 비표준 모델이나 게이트웨이 전용 모델을 선택할 수 있게 하려면 이 변수를 사용합니다. [모델 구성](https://code.claude.com/docs/ko/model-config.md#add-a-custom-model-option)을 참조하세요 |


238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | `1`로 설정하면 [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md) 스트리밍 응답이 `application/vnd.amazon.eventstream` content-type을 포함하는지 확인하는 검사를 건너뜁니다. 이 변수가 없으면 응답에 다른 content-type이 있을 때 Claude Code는 해당 유형을 명시한 오류와 함께 요청을 실패 처리하며, 이는 [게이트웨이나 프록시가 응답을 변환하고 있음](https://code.claude.com/docs/ko/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy)을 의미합니다. 이 변수를 설정하는 대신 `Content-Type` 헤더와 본문을 수정 없이 전달하도록 게이트웨이를 구성합니다. Claude Code v2.1.208 이상이 필요합니다 |238| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | `1`로 설정하면 [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md) 스트리밍 응답이 `application/vnd.amazon.eventstream` content-type을 포함하는지 확인하는 검사를 건너뜁니다. 이 변수가 없으면 응답에 다른 content-type이 있을 때 Claude Code는 해당 유형을 명시한 오류와 함께 요청을 실패 처리하며, 이는 [게이트웨이나 프록시가 응답을 변환하고 있음](https://code.claude.com/docs/ko/amazon-bedrock.md#streaming-errors-behind-a-gateway-or-proxy)을 의미합니다. 이 변수를 설정하는 대신 `Content-Type` 헤더와 본문을 수정 없이 전달하도록 게이트웨이를 구성합니다. Claude Code v2.1.208 이상이 필요합니다 |

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

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

241| `CLAUDE_CODE_DISABLE_BG_STABLE_PATH` | 네이티브 설치 프로그램을 사용하는 macOS에서 `1`로 설정하면 각 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)의 호스트 프로세스를 `~/.local/share/claude/ClaudeCode.app`이 아닌 설치된 바이너리에서 실행합니다. 그러면 macOS가 업데이트할 때마다 포함하여 [폴더 액세스](https://code.claude.com/docs/ko/agent-view.md#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos)와 같은 권한을 다시 요청할 수 있습니다. 셸이 아니라 사용자 설정, 관리형 설정 파일 또는 MDM 정책의 [`env` 블록](#in-settings-files)에서 설정합니다. `ClaudeCode.app`을 제거하려면 직접 삭제합니다. Claude Code v2.1.295 이상이 필요합니다 |

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

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

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


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

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

314| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | IDE 확장에 연결하는 데 사용되는 호스트 주소를 재정의합니다. 기본적으로 Claude Code는 WSL에서 Windows로의 라우팅을 포함하여 올바른 주소를 자동으로 감지합니다 |315| `CLAUDE_CODE_IDE_HOST_OVERRIDE` | IDE 확장에 연결하는 데 사용되는 호스트 주소를 재정의합니다. 기본적으로 Claude Code는 WSL에서 Windows로의 라우팅을 포함하여 올바른 주소를 자동으로 감지합니다 |

315| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | IDE 확장의 자동 설치를 건너뛰려면 `1`로 설정합니다. [`autoInstallIdeExtension`](https://code.claude.com/docs/ko/settings-reference#autoinstallideextension)을 `false`로 설정하는 것과 같습니다 |316| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | `1`로 설정하면 `/ide`가 IDE 확장 프로그램을 설치하지 않습니다. [`autoInstallIdeExtension`](https://code.claude.com/docs/ko/settings-reference#autoinstallideextension)을 `false`로 설정하는 것과 동일합니다 |

316| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | 연결 중 IDE 잠금 파일 항목의 유효성 검사를 건너뛰려면 `1`로 설정합니다. IDE가 실행 중인데도 자동 연결이 IDE를 찾지 못할 때 사용합니다 |317| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | 연결 중 IDE 잠금 파일 항목의 유효성 검사를 건너뛰려면 `1`로 설정합니다. IDE가 실행 중인데도 자동 연결이 IDE를 찾지 못할 때 사용합니다 |

317| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | [유휴 압축](https://code.claude.com/docs/ko/settings-reference.md#idlecompaction)이 대화에 적용되는 컨텍스트 크기(토큰)입니다(기본값: `200000`). 양의 정수를 허용하며 그 외의 값은 무시됩니다. `100000` 미만의 값은 최저 임계값인 `100000`으로 올려집니다. 유휴 압축은 조건을 충족하는 대화에 대해 기본적으로 켜져 있습니다. 끄려면 `idleCompaction`을 `false`로 설정합니다. Claude Code v2.1.290 이상이 필요합니다 |318| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | [유휴 압축](https://code.claude.com/docs/ko/settings-reference.md#idlecompaction)이 대화에 적용되는 컨텍스트 크기(토큰)입니다(기본값: `200000`). 양의 정수를 허용하며 그 외의 값은 무시됩니다. `100000` 미만의 값은 최저 임계값인 `100000`으로 올려집니다. 유휴 압축은 조건을 충족하는 대화에 대해 기본적으로 켜져 있습니다. 끄려면 `idleCompaction`을 `false`로 설정합니다. Claude Code v2.1.290 이상이 필요합니다 |

318| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Agent 도구가 추가 생성을 거부하기 전까지 한 세션에서 동시에 실행할 수 있는 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#concurrent-subagent-limit) 수입니다(기본값: 20). 숫자로만 된 양의 정수를 허용하며 그 밖의 값은 무시되므로, 이 변수로 상한을 조정할 수는 있지만 비활성화할 수는 없습니다. Claude Code v2.1.217 이상이 필요합니다 |319| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Agent 도구가 추가 생성을 거부하기 전까지 한 세션에서 동시에 실행할 수 있는 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#concurrent-subagent-limit) 수입니다(기본값: 20). 숫자로만 된 양의 정수를 허용하며 그 밖의 값은 무시되므로, 이 변수로 상한을 조정할 수는 있지만 비활성화할 수는 없습니다. Claude Code v2.1.217 이상이 필요합니다 |

errors.md +659 −519

Details

55| `spend limit reached` / `spend limit unavailable` | [사용 한도](#spend-limit-reached) |55| `spend limit reached` / `spend limit unavailable` | [사용 한도](#spend-limit-reached) |

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

57| `Couldn't save your login` | [인증](#couldnt-save-your-login) |57| `Couldn't save your login` | [인증](#couldnt-save-your-login) |

58| `Sign in again to take your previous account or API key off the config file.` | [인증](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |

59| `Your account or API key may still be in the config file. Run claude auth logout.` | [인증](#your-account-or-api-key-may-still-be-in-the-config-file) |

58| `Authentication required · Sign in again to continue` | [인증](#not-logged-in) |60| `Authentication required · Sign in again to continue` | [인증](#not-logged-in) |

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

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


82| `Couldn't verify your organization's policy for remote control` | [Remote Control 문제 해결](https://code.claude.com/docs/ko/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |84| `Couldn't verify your organization's policy for remote control` | [Remote Control 문제 해결](https://code.claude.com/docs/ko/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |

83| `Remote Control is disabled by your organization's policy` | [Remote Control 문제 해결](https://code.claude.com/docs/ko/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |85| `Remote Control is disabled by your organization's policy` | [Remote Control 문제 해결](https://code.claude.com/docs/ko/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |

84| `Remote Control was turned off by your organization's policy` | [Remote Control 문제 해결](https://code.claude.com/docs/ko/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |86| `Remote Control was turned off by your organization's policy` | [Remote Control 문제 해결](https://code.claude.com/docs/ko/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |

87| `Session failed: working folder not found:` | [Remote Control 문제 해결](https://code.claude.com/docs/ko/remote-control.md#working-folder-not-found) |

88| `The program file this Remote Control started from is gone` | [Remote Control 문제 해결](https://code.claude.com/docs/ko/remote-control.md#program-file-is-gone) |

89| `Session failed: spawn error:` 뒤에 `ENOENT` 메시지가 이어지는 경우 | [Remote Control 문제 해결](https://code.claude.com/docs/ko/remote-control.md#program-file-is-gone) |

85| `OAuth token revoked` / `OAuth token has expired` | [인증](#oauth-token-revoked-or-expired) |90| `OAuth token revoked` / `OAuth token has expired` | [인증](#oauth-token-revoked-or-expired) |

86| `Failed to authenticate: OAuth token revoked` | [인증](#oauth-token-revoked-or-expired) |91| `Failed to authenticate: OAuth token revoked` | [인증](#oauth-token-revoked-or-expired) |

87| `Your account does not have access to Claude. Please login again or contact your administrator.` | [인증](#oauth-token-revoked-or-expired) |92| `Your account does not have access to Claude. Please login again or contact your administrator.` | [인증](#oauth-token-revoked-or-expired) |


165| `Request too large for the API's 32MB request limit` | [요청 오류](#request-too-large) |170| `Request too large for the API's 32MB request limit` | [요청 오류](#request-too-large) |

166| `Image was too large` | [요청 오류](#image-was-too-large) |171| `Image was too large` | [요청 오류](#image-was-too-large) |

167| `API Error: an image in the conversation could not be processed and was removed` | [요청 오류](#image-was-too-large) |172| `API Error: an image in the conversation could not be processed and was removed` | [요청 오류](#image-was-too-large) |

173| `An image in the conversation exceeds the dimension limit for many-image requests` | [요청 오류](#image-was-too-large) |

168| `Unable to resize image` | [요청 오류](#unable-to-resize-image) |174| `Unable to resize image` | [요청 오류](#unable-to-resize-image) |

169| `Request rejected as unprocessable by the model` | [요청 오류](#request-rejected-as-unprocessable-by-the-model) |175| `Request rejected as unprocessable by the model` | [요청 오류](#request-rejected-as-unprocessable-by-the-model) |

170| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [요청 오류](#pdf-errors) |176| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [요청 오류](#pdf-errors) |


229| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [명령줄 오류](#invalid-agents-configuration) |235| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [명령줄 오류](#invalid-agents-configuration) |

230| `Error: --agents file not found` | [명령줄 오류](#invalid-agents-configuration) |236| `Error: --agents file not found` | [명령줄 오류](#invalid-agents-configuration) |

231| `Error: Settings file exceeds the 2MiB limit` | [명령줄 오류](#settings-file-exceeds-the-2mib-limit) |237| `Error: Settings file exceeds the 2MiB limit` | [명령줄 오류](#settings-file-exceeds-the-2mib-limit) |

238| `Configuration error in` | [명령줄 오류](#configuration-error-in-claude-json) |

239| `Claude configuration file at <path> was empty and no backup holds anything: starting with defaults.` | [명령줄 오류](#claude-configuration-file-was-empty) |

232| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [명령줄 오류](#the-current-directory-no-longer-exists) |240| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [명령줄 오류](#the-current-directory-no-longer-exists) |

233| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [명령줄 오류](#temp-directory-refused-or-cannot-be-created) |241| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [명령줄 오류](#temp-directory-refused-or-cannot-be-created) |

234| `ENOSPC: no space left on device, mkdir '<dir>'` | [명령줄 오류](#temp-directory-refused-or-cannot-be-created) |242| `ENOSPC: no space left on device, mkdir '<dir>'` | [명령줄 오류](#temp-directory-refused-or-cannot-be-created) |


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

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

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

345| `This call was not run. The command was approved before Claude Code restarted` | [도구 오류](#command-approved-before-a-restart-was-not-run) |

337| `File is too large to read as an image (the limit is 128MB)` | [도구 오류](#file-is-too-large-to-read-as-an-image) |346| `File is too large to read as an image (the limit is 128MB)` | [도구 오류](#file-is-too-large-to-read-as-an-image) |

338| `Cannot read this as an image: <path> is a pipe or a device` | [도구 오류](#file-is-too-large-to-read-as-an-image) |347| `Cannot read this as an image: <path> is a pipe or a device` | [도구 오류](#file-is-too-large-to-read-as-an-image) |

339| `subagent_type is required: the general-purpose agent is not available in this session` | [도구 오류](#subagent-type-is-required) |348| `subagent_type is required: the general-purpose agent is not available in this session` | [도구 오류](#subagent-type-is-required) |


420| `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) |429| `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) |

421| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [구성 경고](#skill-or-command-name-refused) |430| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [구성 경고](#skill-or-command-name-refused) |

422| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [구성 경고](#workspace-has-not-been-trusted) |431| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [구성 경고](#workspace-has-not-been-trusted) |

432| `Make this change again later: <path> could not be updated, so it applies to this session only` | [구성 경고](#make-this-change-again-later) |

423| `is a network path, which cannot be added as a working directory` | [구성 경고](#working-directory-is-a-network-path) |433| `is a network path, which cannot be added as a working directory` | [구성 경고](#working-directory-is-a-network-path) |

424| `Remote managed settings failed to load (<cause>)` | [구성 경고](#remote-managed-settings-failed-to-load) |434| `Remote managed settings failed to load (<cause>)` | [구성 경고](#remote-managed-settings-failed-to-load) |

435| `Your organization requires remote managed settings to load, but they could not be loaded` | [fail-closed 시작 강제](https://code.claude.com/docs/ko/server-managed-settings.md#enforce-fail-closed-startup) |

436| `Remote managed settings are still loading` | [구성 경고](#remote-managed-settings-failed-to-load) |

437| `Remote managed settings did not load` | [구성 경고](#remote-managed-settings-failed-to-load) |

438| `Claude Code couldn't load your organization's settings` / `Claude Code couldn't reach Anthropic to load your organization's settings` / `requires them before a session can start` | [구성 경고](#couldnt-load-your-organizations-settings) |

439| `Claude Code can't start this session yet` | [구성 경고](#couldnt-load-your-organizations-settings) |

440| `Your Claude session has expired. Sign in again to continue (claude auth login).` | [구성 경고](#couldnt-load-your-organizations-settings) |

425| `Managed settings were not approved; exiting without applying them.` | [구성 경고](#managed-settings-were-not-approved) |441| `Managed settings were not approved; exiting without applying them.` | [구성 경고](#managed-settings-were-not-approved) |

426| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [구성 경고](#managed-settings-need-your-approval) |442| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [구성 경고](#managed-settings-need-your-approval) |

427| `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) |443| `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) |


454| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [구성 경고](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |470| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [구성 경고](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |

455| `Sandbox mask files left behind at write-deny paths` | [구성 경고](#stale-sandbox-mask-files-left-by-a-killed-session) |471| `Sandbox mask files left behind at write-deny paths` | [구성 경고](#stale-sandbox-mask-files-left-by-a-killed-session) |

456| `Stale sandbox mask files left by a killed session` | [구성 경고](#stale-sandbox-mask-files-left-by-a-killed-session) |472| `Stale sandbox mask files left by a killed session` | [구성 경고](#stale-sandbox-mask-files-left-by-a-killed-session) |

473| `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` | [샌드박싱 문제 해결](https://code.claude.com/docs/ko/sandboxing.md#apparmor-restriction-stops-bubblewrap) |

474| `bwrap: setting up uid map: Permission denied` / `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` | [샌드박싱 문제 해결](https://code.claude.com/docs/ko/sandboxing.md#bwrap-uid-map-permission-denied) |

457| 응답 품질이 평소보다 낮아 보임 | [응답 품질](#responses-seem-lower-quality-than-usual) |475| 응답 품질이 평소보다 낮아 보임 | [응답 품질](#responses-seem-lower-quality-than-usual) |

458 476 

459## 자동 재시도477## 자동 재시도


1031* `/login`을 실행하여 Claude 구독 또는 Console 계정으로 인증합니다1049* `/login`을 실행하여 Claude 구독 또는 Console 계정으로 인증합니다

1032* 환경 변수로 인증될 것으로 예상했다면, `claude`를 실행한 셸에서 `ANTHROPIC_API_KEY`가 설정되고 export되었는지 확인합니다1050* 환경 변수로 인증될 것으로 예상했다면, `claude`를 실행한 셸에서 `ANTHROPIC_API_KEY`가 설정되고 export되었는지 확인합니다

1033* 대화형 로그인이 불가능한 CI 또는 자동화 환경에서는 시작 시 키를 가져오는 [`apiKeyHelper`](https://code.claude.com/docs/ko/settings-reference#apikeyhelper) 스크립트를 구성합니다1051* 대화형 로그인이 불가능한 CI 또는 자동화 환경에서는 시작 시 키를 가져오는 [`apiKeyHelper`](https://code.claude.com/docs/ko/settings-reference#apikeyhelper) 스크립트를 구성합니다

1052* 누군가 동일한 claude.ai 계정과 조직으로 다시 로그인할 때 `claude -p` 작업이 이 메시지와 함께 종료된다면, 해당 로그인이 실행되는 곳의 Claude Code를 업데이트합니다. v2.1.318 이전에는 Claude Code가 해당 로그인 중에 새 로그인을 저장하기 전에 저장된 로그인을 제거했습니다.

1034* 여러 자격 증명이 있을 때 Claude Code가 어떤 자격 증명을 사용하는지 알아보려면 [인증 우선순위](https://code.claude.com/docs/ko/authentication.md#authentication-precedence)를 참조하십시오1053* 여러 자격 증명이 있을 때 Claude Code가 어떤 자격 증명을 사용하는지 알아보려면 [인증 우선순위](https://code.claude.com/docs/ko/authentication.md#authentication-precedence)를 참조하십시오

1035 1054 

1036로그인을 반복적으로 요청받는 경우, 시스템 시계 확인 방법과 macOS 자격 증명 저장소 복구 단계는 [로그인되지 않음 또는 토큰 만료](https://code.claude.com/docs/ko/troubleshoot-install.md#not-logged-in-or-token-expired)를 참조하십시오.1055로그인을 반복적으로 요청받는 경우, 시스템 시계 확인 방법과 macOS 자격 증명 저장소 복구 단계는 [로그인되지 않음 또는 토큰 만료](https://code.claude.com/docs/ko/troubleshoot-install.md#not-logged-in-or-token-expired)를 참조하십시오.


1441* 다른 플랫폼에서는 `/login`을 다시 실행합니다1460* 다른 플랫폼에서는 `/login`을 다시 실행합니다

1442* 로그인이 여전히 저장되지 않으면, 키체인 잠금 해제 명령과 기타 자격 증명 저장소 복구 단계는 [로그인되지 않음 또는 토큰 만료](https://code.claude.com/docs/ko/troubleshoot-install.md#not-logged-in-or-token-expired)를 참조하십시오1461* 로그인이 여전히 저장되지 않으면, 키체인 잠금 해제 명령과 기타 자격 증명 저장소 복구 단계는 [로그인되지 않음 또는 토큰 만료](https://code.claude.com/docs/ko/troubleshoot-install.md#not-logged-in-or-token-expired)를 참조하십시오

1443 1462 

1463### Sign in again to take your previous account or API key off the config file

1464 

1465로그인 후 나타나는 이 경고는 이전에 로그인했던 계정이 [`~/.claude.json`](https://code.claude.com/docs/ko/claude-directory#ce-claude-json)에 여전히 저장되어 있을 수 있음을 의미합니다.

1466 

1467```text theme={null}

1468Sign in again to take your previous account or API key off the config file.

1469```

1470 

1471Linux 또는 Windows에서 Console 로그인이 API 키를 생성한 경우, 해당 API 키도 `~/.claude.json`에 남아 있을 수 있습니다.

1472 

1473**해결 방법:**

1474 

1475* 셸에서 `claude auth login`을 실행하여 다시 로그인합니다. 그러면 Claude Code가 교체된 계정이나 API 키를 파일에서 제거하는 저장을 다시 시도합니다.

1476 

1477### Your account or API key may still be in the config file

1478 

1479`/logout` 또는 `claude auth logout`을 실행했고 Claude Code가 이 프로세스를 로그아웃했지만, [`~/.claude.json`](https://code.claude.com/docs/ko/claude-directory#ce-claude-json)에 더 이상 계정이 없는지 확인할 수 없었습니다. 저장이 반영되지 않았거나, 확인을 위해 파일을 다시 읽을 수 없었습니다.

1480 

1481```text theme={null}

1482Your account or API key may still be in the config file. Run claude auth logout.

1483```

1484 

1485Linux 또는 Windows에서 Console 로그인이 API 키를 생성한 경우, 해당 API 키도 `~/.claude.json`에 남아 있을 수 있습니다.

1486 

1487**해결 방법:**

1488 

1489* 셸에서 `claude auth logout`을 실행하여 저장을 다시 시도합니다. 저장이 완료되면 명령이 `Successfully logged out from your Anthropic account.`를 출력합니다.

1490 

1444### Couldn't start the local listener that receives the browser sign-in1491### Couldn't start the local listener that receives the browser sign-in

1445 1492 

1446`/login`, `claude auth login` 또는 `claude setup-token`에서 표시되는 다음 메시지들은 모두 Claude Code가 브라우저가 로그인 결과를 반환하는 `127.0.0.1`의 포트를 열 수 없었다는 의미입니다.1493`/login`, `claude auth login` 또는 `claude setup-token`에서 표시되는 다음 메시지들은 모두 Claude Code가 브라우저가 로그인 결과를 반환하는 `127.0.0.1`의 포트를 열 수 없었다는 의미입니다.


2288 2335 

2289## 요청 오류2336## 요청 오류

2290 2337 

2291이 오류들은 요청의 내용과 관련이 있습니다. 대부분은 API가 요청을 거부한 후 반환되며, 일부는 요청이 전송되기 전에 Claude Code가 로컬에서 생성합니다.2338이 오류들은 요청의 내용과 관련이 있습니다. 대부분은 API가 요청을 거부한 후 API에서 반환되며, 일부는 요청이 전송되기 전에 Claude Code가 로컬에서 생성합니다.

2292 2339 

2293### Prompt is too long2340### Prompt is too long

2294 2341 

2295대화와 첨부 파일의 합이 모델의 컨텍스트 윈도우를 초과했습니다.2342대화와 첨부 파일을 합친 크기가 모델의 컨텍스트 윈도우를 초과했습니다.

2296 2343 

2297```text theme={null}2344```text theme={null}

2298Prompt is too long2345Prompt is too long


2304Context limit reached · /compact or /clear to continue2351Context limit reached · /compact or /clear to continue

2305```2352```

2306 2353 

2307[`DISABLE_COMPACT`](https://code.claude.com/docs/ko/env-vars)가 설정된 경우 이 줄에는 `/clear`만 표시됩니다. 아래의 압축 실패 형태와 같은 더 긴 형태의 오류는 `Prompt is too long ·` 문구를 유지합니다. `-p` 출력과 트랜스크립트에서는 텍스트가 `Prompt is too long`으로 유지됩니다.2354[`DISABLE_COMPACT`](https://code.claude.com/docs/ko/env-vars)가 설정되어 있으면 이 줄에는 `/clear`만 표시됩니다. 아래의 압축 실패 형식과 같이 더 긴 형식의 오류는 `Prompt is too long ·` 문구를 유지합니다. `-p` 출력과 트랜스크립트에서는 텍스트가 `Prompt is too long`으로 유지됩니다.

2308 2355 

2309[사용자 설정](https://code.claude.com/docs/ko/settings-reference.md#autocompactenabled)에서 자동 압축을 끈 경우, 이 줄에 해당 내용도 표시됩니다.2356[사용자 설정](https://code.claude.com/docs/ko/settings-reference.md#autocompactenabled)에서 자동 압축을 끈 경우, 이 줄에 그 사실도 함께 표시됩니다.

2310 2357 

2311```text theme={null}2358```text theme={null}

2312Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on2359Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on

2313```2360```

2314 2361 

2315`/config`의 **Auto-compact** 토글은 사용자 설정에 `autoCompactEnabled`를 기록합니다. 이 힌트는 `/config` 변경이 실제로 적용될 때만 표시됩니다. 예를 들어 [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/ko/env-vars) 또는 [`DISABLE_COMPACT`](https://code.claude.com/docs/ko/env-vars)로 자동 압축이 꺼진 경우에는 표시되지 않습니다. 또한 프로젝트 설정이나 관리형 설정처럼 우선순위가 더 높은 범위에서 `autoCompactEnabled`를 `false`로 설정한 경우에도 표시되지 않습니다. v2.1.235 이전에는 이 줄에 자동 압축 힌트가 없었습니다.2362`/config`의 **Auto-compact** 토글은 사용자 설정에 `autoCompactEnabled`를 기록합니다. 이 힌트는 `/config` 변경이 실제로 적용될 때만 나타납니다. 예를 들어 [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/ko/env-vars) 또는 [`DISABLE_COMPACT`](https://code.claude.com/docs/ko/env-vars)로 자동 압축을 끈 경우에는 나타나지 않습니다. 프로젝트 설정이나 관리형 설정처럼 우선순위가 더 높은 범위에서 `autoCompactEnabled`를 `false`로 설정한 경우에도 나타나지 않습니다. v2.1.235 이전에는 이 줄에 자동 압축 힌트가 포함되지 않았습니다.

2316 2363 

2317Amazon Bedrock은 이 상황을 `Input is too long for requested model.`로 보고하며, Claude Code는 이를 동일하게 처리합니다. v2.1.217 이전에는 Claude Code가 Bedrock 문구를 인식하지 못했기 때문에 자동 압축이 트리거되지 않았고 `/compact`도 같은 오류로 실패했습니다.2364Amazon Bedrock은 이 상태를 `Input is too long for requested model.`로 보고하며, Claude Code는 이를 동일한 방식으로 처리합니다. v2.1.217 이전에는 Claude Code가 Bedrock의 문구를 인식하지 못했기 때문에 자동 압축이 이 오류에서 트리거되지 않았고 `/compact`도 같은 오류로 실패했습니다.

2318 2365 

2319[Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#upstream-error-messages)는 클라우드 업스트림이 공급자 고유의 오류 형태로 요청을 거부할 때 이 상황을 `capability_rejected: prompt_too_long`으로 보고합니다. Claude Code는 이 토큰을 `Prompt is too long`과 동일하게 처리합니다. v2.1.228 이전에는 Claude Code가 이 토큰을 인식하지 못했기 때문에 자동 압축이 트리거되지 않았습니다.2366[Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#upstream-error-messages)는 클라우드 업스트림이 제공업체 고유의 오류 형식으로 요청을 거부할 때 이 상태를 `capability_rejected: prompt_too_long`으로 보고합니다. Claude Code는 이 토큰을 `Prompt is too long`과 동일하게 처리합니다. v2.1.228 이전에는 Claude Code가 이 토큰을 인식하지 못했기 때문에 자동 압축이 트리거되지 않았습니다.

2320 2367 

2321이번 턴에서 자동 압축이 실행되었지만 사용할 수 없는 모델이나 인증 실패와 같은 근본 오류로 실패한 경우, 메시지는 구분 기호 뒤에 해당 오류를 표시합니다.2368이번 턴에 자동 압축이 실행되었으나 사용할 수 없는 모델이나 인증 실패 같은 근본 오류로 실패한 경우, 메시지는 구분 기호 뒤에 해당 오류를 표시합니다.

2322 2369 

2323```text theme={null}2370```text theme={null}

2324Prompt is too long · automatic compaction failed: <the underlying error>2371Prompt is too long · automatic compaction failed: <the underlying error>


2326 2373 

2327표시된 오류를 먼저 해결하십시오. 해결하기 전까지 `/compact`도 같은 오류로 실패합니다. v2.1.229 이전에는 자동 압축이 실패하면 원인 없이 `Prompt is too long`만 표시되었습니다.2374표시된 오류를 먼저 해결하십시오. 해결하기 전까지 `/compact`도 같은 오류로 실패합니다. v2.1.229 이전에는 자동 압축이 실패하면 원인 없이 `Prompt is too long`만 표시되었습니다.

2328 2375 

2329이 오류에 대해 자동 압축이 실행되면 일반적으로 가장 오래된 대화 교환을 요약하고 최신 교환은 유지합니다. 최후의 수단으로 Claude Code는 다르게 요약합니다.2376이 오류에서 자동 압축이 실행되면 일반적으로 가장 오래된 대화 교환을 요약하고 최신 교환은 유지합니다. 최후의 수단으로 Claude Code는 다르게 요약합니다.

2330 2377 

2331* 어떤 교환 전체도 요약할 수 없는 경우, Claude Code는 최신 프롬프트를 그대로 유지하고 그 이전의 모든 내용을 요약합니다.2378* 온전한 교환을 하나도 요약할 수 없는 경우, Claude Code는 최신 프롬프트를 그대로 유지하고 그 이전의 모든 내용을 요약합니다.

2332* 이 경우 대화가 사용자의 프롬프트로 끝나지 않으면, Claude Code는 대신 대화 전체를 요약합니다.2379* 이 경우 대화가 사용자의 프롬프트로 끝나지 않으면, Claude Code는 대신 전체 대화를 요약합니다.

2333 2380 

2334이어서 전달할 내용에 모델 응답이 없고 사용자 자신의 텍스트가 약 1,000 토큰 미만인 경우(예: 너무 큰 붙여넣기 후 보낸 짧은 재시도), Claude Code는 이 복구를 건너뜁니다. 새로 시작하려면 `/clear`를 실행하십시오. v2.1.269 이전에는 교환 전체를 요약할 수 없을 때마다 압축이 실패했기 때문에, 그런 상태의 세션은 매 턴마다 이 오류가 다시 발생했습니다.2381이어서 유지할 내용에 모델 응답이 없고 사용자가 작성한 텍스트가 약 1,000토큰 미만인 경우(예: 너무 큰 붙여넣기 이후 보낸 짧은 재시도), Claude Code는 이 복구를 건너뜁니다. 새로 시작하려면 `/clear`를 실행하십시오. v2.1.269 이전에는 온전한 교환을 요약할 수 없을 때마다 압축이 실패했기 때문에, 그런 상태의 세션은 매 턴마다 이 오류가 다시 발생했습니다.

2335 2382 

2336단일 교환으로 이루어진 대화에는 요약할 이전 턴이 없습니다. 이런 대화에서 자동 압축이 실행될 상황이 되면, Claude Code는 시도를 건너뛰고 대신 요청을 채우는 내용이 무엇인지 설명합니다. API가 오류에 토큰 수를 보고하지 않는 경우 메시지는 다음과 같습니다.2383교환이 하나뿐인 대화에는 요약할 이전 턴이 없습니다. 이런 대화에서 자동 압축이 실행될 상황이 되면, Claude Code는 시도를 건너뛰고 대신 무엇이 요청을 채우고 있는지 설명합니다. API가 오류에 토큰 수를 보고하지 않는 경우 메시지는 다음과 같습니다.

2337 2384 

2338```text theme={null}2385```text theme={null}

2339Prompt 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.2386Prompt 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.

2340```2387```

2341 2388 

2342API가 오류에 토큰 수를 보고하는 경우, Claude Code는 이를 대화 크기에 대한 자체 추정치와 비교하여 요청의 대부분이 대화 자체의 내용인지, 아니면 Claude Code가 함께 보내는 시스템 프롬프트, 도구 정의, 첨부 내용인지 판단합니다. 대화 자체의 내용이 요청의 대부분인 경우 메시지는 다음과 같습니다.2389API가 오류에 토큰 수를 보고하는 경우, Claude Code는 이를 대화 크기에 대한 자체 추정치와 비교하여 요청의 대부분이 대화 자체의 내용인지, 아니면 Claude Code가 함께 보내는 시스템 프롬프트, 도구 정의, 첨부 파일 내용인지 판단합니다. 대화 자체의 내용이 요청의 대부분을 차지하는 경우 메시지는 다음과 같습니다.

2343 2390 

2344```text theme={null}2391```text theme={null}

2345Prompt 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).2392Prompt 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).


2355 2402 

2356**해결 방법:**2403**해결 방법:**

2357 2404 

2358* `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보하거나, `/clear`를 실행하여 새로 시작합니다. `/compact`가 `Not enough messages to compact.`로 응답하면 대화가 요약할 이전 내용이 없는 단일 교환이라는 뜻이므로, 공간은 그 하나의 프롬프트와 Claude Code가 모든 요청에 함께 보내는 내용이 차지하고 있습니다. `/clear`를 실행하고 붙여넣은 텍스트를 줄이거나 더 작은 첨부 파일로 다시 보내거나, 아래 단계에 따라 도구 정의와 메모리 파일을 줄이십시오2405* `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보하거나, `/clear`를 실행하여 새로 시작하십시오. `/compact`가 `Not enough messages to compact.`로 응답하면 대화가 요약할 이전 내용이 없는 단일 교환이라는 뜻이므로, 공간은 그 하나의 프롬프트와 Claude Code가 모든 요청에 함께 보내는 내용이 차지하고 있습니다. `/clear`를 실행한 후 붙여넣는 텍스트를 줄이거나 더 작은 첨부 파일로 다시 보내거나, 아래 단계에 따라 도구 정의와 메모리 파일을 줄이십시오

2359* `/context`를 실행하여 시스템 프롬프트, 도구, 메모리 파일, 메시지 등 윈도우를 차지하는 항목의 세부 내역을 확인합니다2406* `/context`를 실행하면 시스템 프롬프트, 도구, 메모리 파일, 메시지 등 무엇이 윈도우를 차지하고 있는지 세부 내역을 확인할 수 있습니다

2360* 사용하지 않는 MCP 서버를 `/mcp disable <name>`으로 비활성화하여 해당 도구 정의를 컨텍스트에서 제거합니다2407* 사용하지 않는 MCP 서버를 `/mcp disable <name>`으로 비활성화하여 해당 도구 정의를 컨텍스트에서 제거하십시오

2361* 큰 `CLAUDE.md` 메모리 파일을 정리하거나, 관련 있을 때만 로드되는 [경로 범위 규칙](https://code.claude.com/docs/ko/memory.md#path-specific-rules)으로 지침을 옮깁니다2408* 큰 `CLAUDE.md` 메모리 파일을 줄이거나, 관련이 있을 때만 로드되는 [경로 범위 규칙](https://code.claude.com/docs/ko/memory.md#path-specific-rules)으로 지침을 옮기십시오

2362* 자동 압축은 기본적으로 켜져 있으며 일반적으로 이 오류를 방지합니다. `/config` 또는 [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/ko/env-vars)로 끈 경우 다시 켜십시오. 계속 꺼 두려면 윈도우가 가득 차기 전에 직접 `/compact`를 실행하십시오.2409* 자동 압축은 기본적으로 켜져 있으며 일반적으로 이 오류를 방지합니다. `/config`에서 또는 [`DISABLE_AUTO_COMPACT`](https://code.claude.com/docs/ko/env-vars)로 자동 압축을 끈 경우 다시 켜십시오. 계속 끈 상태로 두려면 윈도우가 가득 차기 전에 직접 `/compact`를 실행하십시오.

2363* 더 큰 컨텍스트를 지원하는 모델에서 200K 토큰 근처에서 오류가 발생한다면, 한 가지 원인은 Claude Code가 인식하지 못하는 모델 ID입니다. Claude Code는 그런 ID에 대해 200K 윈도우를 가정하므로, 그 이상으로 계속 작업하려면 [모델의 실제 컨텍스트 윈도우를 지정](https://code.claude.com/docs/ko/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id)하십시오.2410* 더 큰 컨텍스트를 지원하는 모델에서 200K 토큰 근처에서 오류가 발생한다면, Claude Code가 인식하지 못하는 모델 ID가 원인일 수 있습니다. Claude Code는 이런 ID에 대해 200K 윈도우를 가정하므로, 그 이상으로 계속 작업하려면 [모델의 실제 컨텍스트 윈도우를 지정](https://code.claude.com/docs/ko/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id)하십시오.

2364 * 사용자 지정 [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)을 사용하고 오류가 `Prompt is too long · automatic compaction failed`로 시작한다면, [모델의 컨텍스트 윈도우를 설정](https://code.claude.com/docs/ko/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id)하거나 v2.1.299 이상으로 [업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하십시오. v2.1.299 이전에는 Claude Code가 가정된 200K 윈도우 근처에서 요청을 보내는 대신 이 메시지로 턴을 종료했습니다.2411 * 사용자 지정 [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)을 사용하고 오류가 `Prompt is too long · automatic compaction failed`로 시작한다면, [모델의 컨텍스트 윈도우를 설정](https://code.claude.com/docs/ko/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id)하거나 v2.1.299 이상으로 [업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하십시오. v2.1.299 이전에는 Claude Code가 가정된 200K 윈도우 근처에서 요청을 보내는 대신 해당 메시지와 함께 턴을 종료했습니다.

2365* Claude가 대화를 압축하는 도중에 중지한 직후 오류가 나타났다면, 대화는 변경되지 않았으며 여전히 압축이 필요할 만큼 큽니다. `/compact`를 실행하고 메시지를 다시 보내세요. 오류가 재발하지 않도록 하려면 Claude Code를 v2.1.304 이상으로 [업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하세요. v2.1.304 이전에는 그 시점에 중지하면 턴이 이 오류로 끝날 수 있었습니다.2412* Claude가 대화를 압축하는 도중에 중지한 직후 오류가 나타났다면, 대화는 변경되지 않았으며 여전히 압축이 필요할 만큼 큽니다. `/compact`를 실행하고 메시지를 다시 보내십시오. 오류가 재발하지 않도록 하려면 [Claude Code를 업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하여 v2.1.304 이상으로 만드십시오. v2.1.304 이전에는 그 시점에 중지하면 이 오류와 함께 턴이 종료될 수 있었습니다.

2366* v2.1.305에서 MCP 도구가 많고 Anthropic API에 직접 연결된 경우, 이 오류가 API의 관련 없는 400 또는 422 오류를 가릴 수 있습니다. 원래 오류를 확인하려면 [Claude Code를 업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하여 v2.1.306 이상으로 올리십시오.2413* v2.1.305에서 MCP 도구가 많고 Anthropic API에 직접 연결된 경우, 이 오류가 API의 관련 없는 400 또는 422 오류를 가릴 수 있습니다. 원래 오류를 확인하려면 [Claude Code를 업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하여 v2.1.306 이상으로 만드십시오.

2367 2414 

2368컨텍스트가 채워지는 방식을 대화형으로 확인하려면 [컨텍스트 윈도우 살펴보기](https://code.claude.com/docs/ko/context-window.md)를 참조하십시오.2415컨텍스트가 채워지는 방식을 대화형으로 보려면 [컨텍스트 윈도우 살펴보기](https://code.claude.com/docs/ko/context-window.md)를 참조하십시오.

2369 2416 

2370### Context exceeds the token limit2417### 컨텍스트가 토큰 한도를 초과함

2371 2418 

2372대화가 모델의 컨텍스트 윈도우를 넘어서 커진 경우 `/context`는 출력 상단에 이 경고를 표시합니다. 공간을 확보할 때까지 요청은 [`Prompt is too long`](#prompt-is-too-long)으로 실패합니다. 대화형 세션은 이 오류를 `Context limit reached` 줄로 표시합니다.2419대화가 모델의 컨텍스트 윈도우를 넘어설 만큼 커지면 `/context`는 출력 상단에 이 경고를 표시합니다. 공간을 확보할 때까지 요청은 [`Prompt is too long`](#prompt-is-too-long)으로 실패합니다. 대화형 세션에서는 이 오류가 `Context limit reached` 줄로 표시됩니다.

2373 2420 

2374```text theme={null}2421```text theme={null}

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

2376```2423```

2377 2424 

2378초과한 한도가 1M 컨텍스트 모델의 200K 경계와 같은 압축 윈도우인 경우 경고 문구가 달라집니다. 압축 윈도우는 모델의 컨텍스트 윈도우보다 작을 수 있으므로, 이를 넘은 요청도 여전히 성공할 수 있습니다.2425초과한 한도가 1M 컨텍스트 모델의 200K 경계처럼 압축 윈도우인 경우 경고 문구가 다릅니다. 압축 윈도우는 모델의 컨텍스트 윈도우보다 작을 수 있으므로, 이를 넘어선 요청도 여전히 성공할 수 있습니다.

2379 2426 

2380```text theme={null}2427```text theme={null}

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

2382```2429```

2383 2430 

2384[`DISABLE_COMPACT`](https://code.claude.com/docs/ko/env-vars)를 설정한 경우 두 형태 모두 `/compact` 대신 `/clear`를 표시합니다.2431[`DISABLE_COMPACT`](https://code.claude.com/docs/ko/env-vars)를 설정한 경우 두 형식 모두 `/compact` 대신 `/clear`를 표시합니다.

2385 2432 

2386**해결 방법:**2433**해결 방법:**

2387 2434 

2388* 여러 턴으로 이루어진 대화에서는 `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보합니다. 대신 새로 시작하려면 `/clear`를 실행합니다2435* 여러 턴으로 이루어진 대화에서는 `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보하십시오. 대신 새로 시작하려면 `/clear`를 실행하십시오

2389* 사용량을 줄이는 다른 방법은 [Prompt is too long](#prompt-is-too-long)을 참조하십시오2436* 사용량을 줄이는 더 많은 방법은 [Prompt is too long](#prompt-is-too-long)을 참조하십시오

2390 2437 

2391v2.1.216 이전에는 `/context`가 100%를 넘는 사용량을 표시하면서도 그 의미나 복구 방법을 설명하는 경고 줄을 표시하지 않았습니다.2438v2.1.216 이전에는 `/context`가 100%를 넘는 사용량을 표시하면서도 그 의미나 복구 방법을 설명하는 경고 줄을 표시하지 않았습니다.

2392 2439 


2398Request too large (max 32MB). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments.2445Request too large (max 32MB). Accumulated images and attachments in the conversation pushed the request over the limit. Run /compact, or double press esc to go back and remove attachments.

2399```2446```

2400 2447 

2401요청이 Claude API로 직접 전송되었고 API 자체가 이를 거부한 경우, Claude Code는 대화를 측정하고 복구가 가능한지에 따라 메시지 문구를 정합니다. 프록시, 게이트웨이 또는 클라우드 공급자를 거치는 경우에는 일반 메시지가 표시됩니다. 측정된 형태는 다음과 같습니다.2448요청이 Claude API로 직접 전송되었고 API 자체가 이를 거부한 경우, Claude Code는 대화 크기를 측정하고 복구가 가능한지에 따라 메시지 문구를 정합니다. 프록시, 게이트웨이 또는 클라우드 제공업체를 거친 경우에는 일반 메시지가 표시됩니다. 측정된 형식은 다음과 같습니다.

2402 2449 

2403* `Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).`: 이미지나 문서 때문에 요청이 한도를 초과했습니다. Claude Code는 이를 제거한 상태로 재시도합니다.2450* `Request too large (max 32MB; 20.1MB of about 33.4MB is images or documents).`: 이미지나 문서 때문에 요청이 한도를 초과했습니다. Claude Code는 이를 제거한 후 재시도합니다.

2404* `Request too large for the API's 32MB request limit`: 메시지만으로도 한도를 초과하므로, 메시지에 `compacting cannot make it fit`이 표시되고 Claude Code는 재시도하지 않습니다. [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서는 대신 입력을 줄이거나 새 세션을 시작하라는 메시지가 표시됩니다.2451* `Request too large for the API's 32MB request limit`: 메시지만으로도 한도를 초과하므로 메시지에 `compacting cannot make it fit`이 표시되며 Claude Code는 재시도하지 않습니다. [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서는 대신 입력을 줄이거나 새 세션을 시작하라는 메시지가 표시됩니다.

2405 2452 

2406v2.1.212 이전에는 이미지가 충분히 누적된 대화가 매 턴마다 `Request too large (max 32MB). Double press esc to go back and try with a smaller file.`로 실패했습니다. v2.1.229 이전에는 압축으로 해결할 수 없는 경우에도 Claude Code가 모든 거부에 대해 첨부 파일 관련 안내를 표시했습니다.2453v2.1.212 이전에는 이미지가 충분히 누적된 대화가 매 턴마다 `Request too large (max 32MB). Double press esc to go back and try with a smaller file.`로 실패했습니다. v2.1.229 이전에는 압축으로 해결할 수 없는 경우에도 Claude Code가 모든 거부에 대해 첨부 파일 관련 조언을 표시했습니다.

2407 2454 

2408**해결 방법:**2455**해결 방법:**

2409 2456 

2410* 메시지에 `compacting cannot make it fit`이 표시되면 Esc를 두 번 눌러 큰 내용을 추가한 턴 이전으로 되돌아가거나, `/clear`를 실행하여 새로 시작합니다2457* 메시지에 `compacting cannot make it fit`이 표시되면 Esc를 두 번 눌러 큰 내용을 추가한 턴 이전으로 되돌아가거나, `/clear`를 실행하여 새로 시작하십시오

2411* 그렇지 않으면 누적된 이미지와 첨부 파일을 제거하는 `/compact`를 실행합니다2458* 그렇지 않으면 누적된 이미지와 첨부 파일을 제거하는 `/compact`를 실행하십시오

2412* 큰 파일은 내용을 붙여넣는 대신 경로로 참조하여 Claude가 나누어 읽을 수 있게 합니다2459* 큰 파일은 내용을 붙여넣는 대신 경로로 참조하여 Claude가 나누어 읽을 수 있도록 하십시오

2413* 이미지의 경우 아래의 [Image was too large](#image-was-too-large)를 참조하십시오2460* 이미지의 경우 아래의 [Image was too large](#image-was-too-large)를 참조하십시오

2414 2461 

2415### Image was too large2462### Image was too large


2420Image was too large. Double press esc to go back and try again with a smaller image.2467Image was too large. Double press esc to go back and try again with a smaller image.

2421API Error: 400 ... image dimensions exceed max allowed size2468API Error: 400 ... image dimensions exceed max allowed size

2422API Error: an image in the conversation could not be processed and was removed.2469API Error: an image in the conversation could not be processed and was removed.

2470An image in the conversation exceeds the dimension limit for many-image requests (3000px). Run /compact to remove old images from context, or start a new session.

2423```2471```

2424 2472 

2425`could not be processed and was removed` 줄은 API가 대화 내의 이미지(예: 크기 또는 해상도 한도를 초과한 이미지)를 거부했다는 뜻입니다.2473`could not be processed and was removed` 줄은 크기 또는 해상도 한도를 초과하는 이미지 등 대화 내의 이미지를 API가 거부했다는 의미입니다.

2426 2474 

2427이러한 오류 중 하나가 계속 발생하면 Claude Code를 업데이트하십시오. 이전 버전에서는 다음과 같은 이유로 이미지 오류가 반복될 수 있었습니다.2475이러한 오류 중 하나가 계속 반복된다면 Claude Code를 업데이트하십시오. 이전 버전에서는 다음과 같은 이유로 이미지 오류가 반복될 수 있었습니다.

2428 2476 

2429* v2.1.299 이전에는 이미지가 많은 긴 대화에서 Claude Code가 한도를 초과한 이미지 대신 마지막으로 첨부한 이미지를 제거할 수 있었습니다. 그 결과 `was removed` 줄이 매 턴마다 반복되었고, Claude는 새 이미지를 볼 수 없었습니다.2477* v2.1.299 이전에는 이미지가 많은 긴 대화에서 Claude Code가 한도를 초과한 이미지 대신 마지막으로 첨부한 이미지를 제거할 수 있었습니다. 그러면 `was removed` 줄이 매 턴마다 반복되었고 Claude는 새 이미지를 보지 못했습니다.

2430* v2.1.299 이전에는 VS Code, Desktop 앱, Agent SDK에서 Claude가 작업하는 동안 첨부한 이미지가 다른 첨부 이미지와 달리 크기 조정되지 않았습니다. 이 이미지는 원래 크기 그대로 API에 전달되어 긴 대화에서 이미지 오류가 반복되었습니다.2478* v2.1.299 이전에는 VS Code, Desktop 앱, Agent SDK에서 Claude가 작업하는 동안 첨부한 이미지가 다른 첨부 이미지와 달리 크기 조정되지 않았습니다. 이 이미지들은 원래 크기 그대로 API에 전달되어 긴 대화에서 이미지 오류가 반복되었습니다.

2431* v2.1.166 이전에는 붙여넣은 이미지가 대화에 남아 이후 모든 메시지에서 같은 오류가 반복될 수 있었습니다2479* v2.1.166 이전에는 붙여넣은 이미지가 대화에 남아 이후 모든 메시지에서 같은 오류가 반복될 수 있었습니다

2432 2480 

2433**해결 방법:**2481**해결 방법:**

2434 2482 

2435* 붙여넣기 전에 이미지 크기를 줄입니다. API는 단일 이미지의 경우 긴 변 기준 최대 8000픽셀, 컨텍스트에 이미지가 20개를 초과하는 경우 최대 3000픽셀까지 허용합니다.2483* 붙여넣기 전에 이미지 크기를 조정하십시오. API는 단일 이미지의 경우 가장 긴 변 기준 8000픽셀까지, 컨텍스트에 이미지가 20개를 초과하는 경우 3000픽셀까지 허용합니다.

2436* 전체 화면 대신 관련 영역만 좁게 스크린샷을 찍습니다2484* 전체 화면 대신 관련 영역만 더 좁게 스크린샷을 찍으십시오

2485* `dimension limit for many-image requests` 메시지의 경우, 메시지에 `/compact`가 언급되어 있으면 Claude Code 프롬프트에서 이를 실행하거나, 이미지가 더 적은 새 세션을 시작하십시오

2486 

2487`dimension limit for many-image requests` 메시지에는 API 오류에 명시된 픽셀 한도가 표시됩니다.

2437 2488 

2438### Unable to resize image2489### Unable to resize image

2439 2490 


2449Unable 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.2500Unable 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.

2450```2501```

2451 2502 

2452Claude Code는 일반적으로 큰 이미지의 크기를 자동으로 조정합니다. 이러한 오류는 이미지를 디코딩하거나 API 한도에 맞게 크기를 조정할 수 없었다는 뜻입니다.2503Claude Code는 일반적으로 큰 이미지를 자동으로 크기 조정합니다. 이 오류들은 이미지를 디코딩할 수 없었거나 API 한도에 맞게 크기를 조정할 수 없었다는 의미입니다.

2453 2504 

2454**해결 방법:**2505**해결 방법:**

2455 2506 

2456* 메시지가 이미지 변환을 요청하면 PNG, JPEG, GIF 또는 WebP로 변환한 후 다시 첨부합니다. Claude Code는 이러한 형식의 경우 이미지를 디코딩하지 않고도 파일 헤더에서 해상도를 확인할 수 있습니다.2507* 메시지에서 이미지 변환을 요청하면 PNG, JPEG, GIF 또는 WebP로 변환한 후 다시 첨부하십시오. Claude Code는 이러한 형식에 대해 이미지를 디코딩하지 않고도 파일 헤더에서 해상도를 확인할 수 있습니다.

2457* 메시지가 해상도 또는 크기 한도를 보고하면, 첨부하기 전에 이미지를 해당 한도 이하로 크기 조정하거나 다시 압축합니다.2508* 메시지에 해상도 또는 크기 한도가 표시되면, 첨부하기 전에 해당 한도 이하로 이미지 크기를 조정하거나 다시 압축하십시오.

2458* 메시지가 CMYK JPEG, 애니메이션 WebP, 손상되었을 수 있는 파일과 같은 원인을 명시하면, 메시지가 제안하는 형식으로 이미지를 다시 저장한 후 다시 첨부합니다.2509* 메시지에 CMYK JPEG, 애니메이션 WebP, 손상되었을 수 있는 파일 등의 원인이 표시되면, 메시지가 제안하는 형식으로 이미지를 다시 저장한 후 다시 첨부하십시오.

2459 2510 

2460### Request rejected as unprocessable by the model2511### Request rejected as unprocessable by the model

2461 2512 

2462API가 모델이 처리할 수 없는 요청으로 판단하여 거부했습니다. 이 메시지는 API 자체의 메시지입니다.2513API가 모델이 처리할 수 없는 요청이라며 요청을 거부했습니다. 이 메시지는 API 자체의 메시지입니다.

2463 2514 

2464```text theme={null}2515```text theme={null}

2465API Error: 400 Request rejected as unprocessable by the model (too many or oversized images, or unsupported parameters)2516API Error: 400 Request rejected as unprocessable by the model (too many or oversized images, or unsupported parameters)

2466```2517```

2467 2518 

2468Claude Code는 거부된 요청에서 가장 오래된 이미지와 문서를 제거한 후 다시 보낼 수 있습니다. v2.1.290 이전에는 Claude Code가 이 거부에 대해 이미지를 제거하지 않았기 때문에, 이미지가 수백 개 누적된 긴 세션은 매 턴마다 이 오류로 실패할 수 있었습니다.2519Claude Code는 거부된 요청에서 가장 오래된 이미지와 문서를 제거한 후 다시 보낼 수 있습니다. v2.1.290 이전에는 Claude Code가 이 거부에 대해 이미지를 제거하지 않았기 때문에, 수백 개의 이미지가 누적된 긴 세션은 매 턴마다 이 오류로 실패할 수 있었습니다.

2469 2520 

2470**해결 방법:**2521**해결 방법:**

2471 2522 

2472* 이미지나 문서가 포함된 대화에서 이 메시지가 계속 나타나면 직접 제거하십시오. Esc를 두 번 눌러 해당 내용을 추가한 턴 이전으로 되돌아가거나, `/clear`를 실행하여 새로 시작합니다.2523* 이미지나 문서가 포함된 대화에서 메시지가 계속 나타나면 직접 제거하십시오. Esc를 두 번 눌러 이를 추가한 턴 이전으로 되돌아가거나, `/clear`를 실행하여 새로 시작하십시오.

2473 2524 

2474### PDF 오류2525### PDF 오류

2475 2526 

2476첨부한 PDF를 처리할 수 없었습니다. 여기에 표시된 메시지는 비대화형 형태이며, 대화형 세션에서는 대신 esc를 두 번 눌러 다시 시도하라는 안내가 표시됩니다.2527첨부한 PDF를 처리할 수 없습니다. 여기에는 메시지가 비대화형 형식으로 표시되어 있으며, 대화형 세션에서는 대신 esc를 두 번 눌러 다시 시도하라고 안내합니다.

2477 2528 

2478```text theme={null}2529```text theme={null}

2479PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).2530PDF too large (max 100 pages, 20MB). Try reading the file a different way (e.g., extract text with pdftotext).


2483 2534 

2484**해결 방법:**2535**해결 방법:**

2485 2536 

2486* 크기가 큰 PDF의 경우 파일 전체를 첨부하는 대신 Claude에게 Read 도구로 페이지 범위를 읽도록 요청하거나, `pdftotext` 같은 도구로 텍스트를 추출한 후 출력 파일을 경로로 참조합니다2537* 너무 큰 PDF의 경우, 전체 파일을 첨부하는 대신 Claude에게 Read 도구로 페이지 범위를 읽도록 요청하거나, `pdftotext` 같은 도구로 텍스트를 추출한 후 출력 파일을 경로로 참조하십시오

2487* 보호되었거나 유효하지 않은 PDF의 경우 비밀번호를 제거하거나 원본 애플리케이션에서 파일을 다시 내보낸 후 다시 시도합니다2538* 보호되었거나 유효하지 않은 PDF의 경우, 비밀번호를 제거하거나 원본 애플리케이션에서 파일을 다시 내보낸 후 다시 시도하십시오

2488 2539 

2489Claude가 Read 도구로 PDF의 페이지 범위를 읽을 때, 다른 메시지와 함께 읽기가 실패할 수 있습니다.2540Claude가 Read 도구로 PDF의 페이지 범위를 읽을 때, 다른 메시지와 함께 읽기가 실패할 수 있습니다.

2490 2541 


2492pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.2543pdftoppm is not installed. Install poppler-utils (e.g. `brew install poppler` or `apt-get install poppler-utils`) to enable PDF page rendering.

2493```2544```

2494 2545 

2495페이지 범위 읽기는 `pdftoppm`으로 페이지를 렌더링합니다. 메시지가 제시하는 명령으로 poppler-utils를 설치하거나, 다른 플랫폼에서는 `PATH`에 `pdftoppm`을 추가하는 poppler 빌드를 설치하십시오. 어떤 PDF가 페이지 범위로 읽히는지는 [Read 도구 동작](https://code.claude.com/docs/ko/tools-reference.md#read-tool-behavior)을 참조하십시오.2546페이지 범위 읽기는 `pdftoppm`으로 페이지를 렌더링합니다. 메시지에 제시된 명령으로 poppler-utils를 설치하거나, 다른 플랫폼에서는 `pdftoppm`을 `PATH`에 추가하는 poppler 빌드를 설치하십시오. 어떤 PDF가 페이지 범위로 읽히는지는 [Read 도구 동작](https://code.claude.com/docs/ko/tools-reference.md#read-tool-behavior)을 참조하십시오.

2496 2547 

2497### Extra inputs are not permitted2548### Extra inputs are not permitted

2498 2549 

2499요청을 받은 엔드포인트가 요청의 필드 중 하나를 허용하지 않는 입력으로 판단하여 거부했으며, 엔드포인트의 메시지에 해당 필드가 명시됩니다.2550요청을 받은 엔드포인트가 요청의 필드 중 하나를 허용하지 않는 입력으로 거부했으며, 엔드포인트의 메시지에 해당 필드가 표시됩니다.

2500 2551 

2501```text theme={null}2552```text theme={null}

2502API Error: 400 ... context_management: Extra inputs are not permitted2553API Error: 400 ... context_management: Extra inputs are not permitted

2503```2554```

2504 2555 

2505Claude Code는 `context_management`나 도구 검색의 `defer_loading` 같은 베타 전용 필드를 이를 활성화하는 `anthropic-beta` 헤더와 함께 보냅니다. 게이트웨이가 본문은 전달하지만 헤더를 삭제하면, API는 인식하지 못하는 필드를 보게 됩니다. 게이트웨이가 Anthropic 형식의 본문을 스키마가 다른 업스트림으로 전달하면, 해당 업스트림이 그런 필드를 거부합니다. [베타 헤더와 본문 필드 쌍](https://code.claude.com/docs/ko/llm-gateway-protocol.md#beta-header-and-body-field-pairs)에서 두 경우를 모두 다룹니다.2556Claude Code는 `context_management`나 도구 검색의 `defer_loading` 같은 베타 전용 필드를 이를 활성화하는 `anthropic-beta` 헤더와 함께 보냅니다. 게이트웨이가 본문은 전달하지만 헤더를 누락하면 API는 인식하지 못하는 필드를 보게 됩니다. 게이트웨이가 Anthropic 형식의 본문을 스키마가 다른 업스트림으로 전달하면, 해당 업스트림이 이러한 필드를 거부합니다. [베타 헤더와 본문 필드 쌍](https://code.claude.com/docs/ko/llm-gateway-protocol.md#beta-header-and-body-field-pairs)에서 두 경우를 모두 다룹니다.

2506 2557 

2507**해결 방법:**2558**해결 방법:**

2508 2559 

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

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

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

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

2513 2564 

2514v2.1.302 이전에는 게이트웨이가 관여하지 않아도 이 오류가 `diagnostics` 필드를 명시할 수 있었습니다. 이는 이미 Anthropic API를 사용한 세션이 재시작 없이 Amazon Bedrock 또는 Google Cloud's Agent Platform으로 전환될 때 발생했습니다. 예를 들어 열어 둔 세션은 다른 Claude Code 창에서 [`/setup-bedrock`](https://code.claude.com/docs/ko/commands)을 실행하면 Bedrock으로 전환됩니다. 해당 버전에서는 그 세션에서 `/clear`를 실행하거나 세션을 재시작하십시오.2565v2.1.302 이전에는 게이트웨이가 관여하지 않아도 이 오류에 `diagnostics` 필드가 표시될 수 있었습니다. 이는 이미 Anthropic API를 사용한 세션이 재시작 없이 Amazon Bedrock 또는 Google Cloud의 Agent Platform으로 전환될 때 나타났습니다. 예를 들어, 다른 Claude Code 창에서 [`/setup-bedrock`](https://code.claude.com/docs/ko/commands)을 실행하면 열어 둔 세션이 Bedrock으로 전환됩니다. 해당 버전에서는 그 세션에서 `/clear`를 실행하거나 세션을 재시작하십시오.

2515 2566 

2516### Tool input schema is invalid2567### Tool input schema is invalid

2517 2568 

2518요청에 포함된 도구가 API의 JSON Schema 검증을 통과하지 못하는 `input_schema`를 선언했기 때문에 API가 요청 전체를 거부했습니다. `tools.` 뒤의 숫자는 요청의 도구 목록에서 실패한 도구의 위치이며, 조회할 수 있는 이름이 아닙니다.2569요청에 포함된 도구가 API의 JSON Schema 검증에 실패하는 `input_schema`를 선언했기 때문에 API가 요청 전체를 거부했습니다. `tools.` 뒤의 숫자는 요청의 도구 목록에서 실패한 도구의 위치이며, 조회할 수 있는 이름이 아닙니다.

2519 2570 

2520```text theme={null}2571```text theme={null}

2521API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid2572API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid

2522API Error: 400 ... tools.N.custom.input_schema.properties: Property keys should match pattern '^[a-zA-Z0-9_.-]{1,64}$'2573API Error: 400 ... tools.N.custom.input_schema.properties: Property keys should match pattern '^[a-zA-Z0-9_.-]{1,64}$'

2523```2574```

2524 2575 

2525첫 번째 형태는 스키마가 유효한 JSON Schema draft 2020-12가 아니라는 뜻입니다. 두 번째 형태는 최상위 속성 이름이 메시지에 인용된 패턴과 일치하지 않는다는 뜻입니다.2576첫 번째 형식은 스키마가 유효한 JSON Schema draft 2020-12가 아니라는 의미입니다. 두 번째 형식은 최상위 속성 이름이 메시지에 인용된 패턴과 일치하지 않는다는 의미입니다.

2526 2577 

2527Claude Code는 서버의 도구를 로드할 때 [입력 스키마가 이 검증에 실패할 MCP 도구를 제외](https://code.claude.com/docs/ko/mcp.md#tools-with-invalid-input-schemas)하므로, 일반적으로 요청에 그런 도구가 포함되지 않습니다.2578Claude Code는 서버의 도구를 로드할 때 [입력 스키마가 이 검증에 실패할 MCP 도구를 제외](https://code.claude.com/docs/ko/mcp.md#tools-with-invalid-input-schemas)하므로, 일반적으로 요청에는 그런 도구가 포함되지 않습니다.

2528 2579 

2529[플래그 가져오기가 꺼진 배포](https://code.claude.com/docs/ko/env-vars.md#features-that-need-feature-flag-fetching)나 플래그를 한 번도 받지 못한 머신에서는 Claude Code가 어떤 도구가 거부될지를 서버 로그에 기록하지만 그래도 해당 도구를 보내므로, 이 오류가 여전히 발생할 수 있습니다.2580[플래그 가져오기가 꺼진 배포](https://code.claude.com/docs/ko/env-vars.md#features-that-need-feature-flag-fetching)나 플래그를 한 번도 받지 못한 머신에서는, Claude Code가 어떤 도구가 거부될지 서버 로그에 기록하지만 그래도 해당 도구를 보내므로 이 오류가 여전히 발생할 수 있습니다.

2530 2581 

2531스키마가 `$schema`에서 draft 2020-12 이외의 JSON Schema 방언을 선언한 도구에서도 이 오류가 발생할 수 있습니다. Claude Code는 이러한 스키마를 JSON Schema 메타 스키마와 대조하여 검사하지 않지만, 최상위 속성 이름 검사는 여전히 적용됩니다.2582이 오류는 스키마가 `$schema`에서 draft 2020-12 이외의 JSON Schema 방언을 선언한 도구에 대해서도 발생할 수 있습니다. Claude Code는 이러한 스키마를 JSON Schema 메타 스키마와 대조하여 확인하지 않지만, 최상위 속성 이름 검사는 여전히 적용됩니다.

2532 2583 

2533v2.1.216 이전에는 어떤 배포에서도 제외 검사가 실행되지 않았습니다.2584v2.1.216 이전에는 어떤 배포에서도 제외 검사가 실행되지 않았습니다.

2534 2585 

2535**해결 방법:**2586**해결 방법:**

2536 2587 

2537* Claude Code 버전이 v2.1.300보다 이전이면 셸에서 [`claude update`](https://code.claude.com/docs/ko/setup#update-claude-code)를 실행하세요. v2.1.300 이전에는 Claude Code가 [거부된 도구의 매개변수 없이 요청을 재시도](https://code.claude.com/docs/ko/mcp.md#tools-whose-input-schema-the-api-refuses)하지 않았기 때문에, 해당 도구가 포함된 모든 요청에서 이 오류가 반복되었습니다.2588* Claude Code 버전이 v2.1.300 이전이라면 셸에서 [`claude update`](https://code.claude.com/docs/ko/setup#update-claude-code)를 실행하십시오. v2.1.300 이전에는 Claude Code가 [거부된 도구의 매개변수 없이 요청을 재시도](https://code.claude.com/docs/ko/mcp.md#tools-whose-input-schema-the-api-refuses)하지 않았기 때문에, 해당 도구가 포함된 모든 요청에서 이 오류가 반복되었습니다.

2538* 유효하지 않은 스키마를 선언한 MCP 서버를 제거하거나 [비활성화](https://code.claude.com/docs/ko/mcp.md#disable-a-server-without-removing-it)합니다. 오류는 도구를 위치로만 표시합니다. v2.1.216 이상에서는 각 서버의 로그에서 입력 스키마가 거부될 도구를 명시하는 줄을 확인하십시오. 해당 도구를 명시하는 로그가 없으면 서버를 하나씩 비활성화해 보십시오.2589* 유효하지 않은 스키마를 선언하는 MCP 서버를 제거하거나 [비활성화](https://code.claude.com/docs/ko/mcp.md#disable-a-server-without-removing-it)하십시오. 오류는 도구를 위치로만 표시합니다. v2.1.216 이상에서는 각 서버의 로그에서 입력 스키마가 거부될 도구를 명시하는 줄을 확인하십시오. 어떤 로그에도 해당 도구가 명시되어 있지 않다면 서버를 하나씩 비활성화하십시오.

2539* 서버를 직접 관리한다면 도구의 `input_schema`를 수정하십시오. 스키마는 유효한 JSON Schema여야 하며, 최상위 속성 이름은 1\~64자 길이에 ASCII 문자와 숫자, `_`, `.`, `-`만 사용해야 합니다. [입력 스키마가 유효하지 않은 도구](https://code.claude.com/docs/ko/mcp.md#tools-with-invalid-input-schemas)를 참조하십시오.2590* 서버를 직접 관리한다면 도구의 `input_schema`를 수정하십시오. 스키마는 유효한 JSON Schema여야 하며, 최상위 속성 이름은 1\~64자여야 하고 ASCII 문자와 숫자, `_`, `.`, `-`만 사용해야 합니다. [유효하지 않은 입력 스키마를 가진 도구](https://code.claude.com/docs/ko/mcp.md#tools-with-invalid-input-schemas)를 참조하십시오.

2540 2591 

2541### 128자를 초과하는 MCP 도구 이름2592### 128자를 초과하는 MCP 도구 이름

2542 2593 

2543MCP 서버가 `mcp__<server>__<tool>` 같은 전체 이름이 API가 허용하는 128자보다 긴 도구를 나열합니다. Claude Code는 [해당 도구를 Claude에게 보내는 도구 목록에서 제외](https://code.claude.com/docs/ko/mcp.md#tools-with-names-longer-than-128-characters)하며, 서버의 다른 도구는 계속 작동합니다. 셸에서 `claude --debug`로 시작한 세션에서는 Claude Code가 `~/.claude/debug/<session-id>.txt`의 디버그 로그에 다음 메시지를 기록합니다.2594MCP 서버가 나열한 도구의 전체 이름(예: `mcp__<server>__<tool>`)이 API가 허용하는 128자보다 깁니다. Claude Code는 [해당 도구를 Claude에 보내는 도구에서 제외](https://code.claude.com/docs/ko/mcp.md#tools-with-names-longer-than-128-characters)하며, 서버의 다른 도구는 계속 작동합니다. 셸에서 `claude --debug`로 시작한 세션에서는 Claude Code가 `~/.claude/debug/<session-id>.txt`의 디버그 로그에 다음 메시지를 기록합니다.

2544 2595 

2545```text theme={null}2596```text theme={null}

2546Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 1282597Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128


2549**해결 방법:**2600**해결 방법:**

2550 2601 

2551* 서버를 직접 관리한다면 도구 이름을 줄이십시오.2602* 서버를 직접 관리한다면 도구 이름을 줄이십시오.

2552* 서버가 [MCP 구성](https://code.claude.com/docs/ko/mcp.md#mcp-installation-scopes)에 있다면 그곳에서 `analytics-database` 대신 `db`처럼 더 짧은 이름을 지정하십시오. 그런 다음 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#mcp)과 [훅 matcher](https://code.claude.com/docs/ko/hooks.md#match-mcp-tools)처럼 이전 이름으로 서버나 도구를 참조하는 항목을 업데이트하십시오.2603* 서버가 [MCP 구성](https://code.claude.com/docs/ko/mcp.md#mcp-installation-scopes)에 있다면, 그곳에서 `analytics-database` 대신 `db`처럼 더 짧은 이름을 지정하십시오. 그런 다음 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#mcp)과 [훅 matcher](https://code.claude.com/docs/ko/hooks.md#match-mcp-tools)처럼 이전 이름으로 서버나 도구를 참조하는 항목을 업데이트하십시오.

2553* [플러그인이 서버를 번들로 포함](https://code.claude.com/docs/ko/mcp.md#plugin-provided-mcp-servers)하는 경우 도구의 전체 이름에 플러그인 이름도 포함됩니다. 플러그인 관리자에게 서버 또는 도구 이름을 줄여 달라고 요청하십시오.2604* [플러그인이 서버를 번들로 제공](https://code.claude.com/docs/ko/mcp.md#plugin-provided-mcp-servers)하는 경우, 도구의 전체 이름에 플러그인 이름도 포함됩니다. 플러그인 관리자에게 서버 또는 도구 이름을 줄여 달라고 요청하십시오.

2554 2605 

2555v2.1.292 이전에는 Claude Code가 그래도 도구를 보냈고, API는 해당 도구가 포함된 모든 요청을 `API Error: 400 ... tools.N.custom.name: String should have at most 128 characters`로 거부했습니다.2606v2.1.292 이전에는 Claude Code가 그래도 해당 도구를 보냈고, API는 이를 포함한 모든 요청을 `API Error: 400 ... tools.N.custom.name: String should have at most 128 characters`로 거부했습니다.

2556 2607 

2557### 200자를 초과하는 tool\_use.name2608### 200자를 초과하는 tool\_use.name

2558 2609 

2559대화 기록의 도구 호출이 API가 요청에서 허용하는 200자보다 긴 이름을 가지고 있습니다.2610대화 기록의 도구 호출에 API가 요청에서 허용하는 200자보다 긴 이름이 포함되어 있습니다.

2560 2611 

2561```text theme={null}2612```text theme={null}

2562API Error: 400 ... tool_use.name: String should have at most 200 characters2613API Error: 400 ... tool_use.name: String should have at most 200 characters


2566 2617 

2567**해결 방법:**2618**해결 방법:**

2568 2619 

2569* `claude update`를 실행한 후 대화를 재개합니다. 업데이트된 버전은 트랜스크립트를 로드할 때 너무 긴 이름을 복구하므로, 멈춰 있던 대화가 다시 작동합니다.2620* `claude update`를 실행한 후 대화를 재개하십시오. 업데이트된 버전은 트랜스크립트를 로드할 때 너무 긴 이름을 복구하므로, 멈춰 있던 대화가 다시 작동합니다.

2570 2621 

2571v2.1.281 이전에는 너무 긴 이름이 기록에 남아 API가 `/compact`와 `--resume`을 포함하여 대화를 다시 보내는 모든 요청을 거부했기 때문에, 이 오류가 반복되고 대화가 멈춰 있었습니다.2622v2.1.281 이전에는 너무 긴 이름이 기록에 남아 있어 API가 `/compact`와 `--resume`을 포함하여 대화를 다시 보내는 모든 요청을 거부했기 때문에, 이 오류가 반복되고 대화가 멈춰 있었습니다.

2572 2623 

2573### There's an issue with the selected model2624### There's an issue with the selected model

2574 2625 

2575구성된 모델 이름이 인식되지 않았거나 계정에 해당 모델에 대한 액세스 권한이 없습니다. v2.1.160부터 끝부분의 힌트(여기서는 대화형 형태로 표시)는 사용 환경에 따라 다릅니다.2626구성된 모델 이름을 인식할 수 없거나 계정에 해당 모델에 대한 접근 권한이 없습니다. v2.1.160부터 끝부분의 힌트(여기서는 대화형 형식으로 표시됨)는 사용 환경에 따라 다릅니다.

2576 2627 

2577```text theme={null}2628```text theme={null}

2578There'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.2629There'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.


2580 2631 

2581**해결 방법:**2632**해결 방법:**

2582 2633 

2583* **대화형 CLI**: `/model`을 실행하여 계정에서 사용할 수 있는 모델 중에서 선택합니다.2634* **대화형 CLI**: `/model`을 실행하여 계정에서 사용할 수 있는 모델 중에서 선택하십시오.

2584* **비대화형 모드(`-p`)**: 유효한 별칭이나 ID와 함께 `--model`을 전달하거나 [`ANTHROPIC_MODEL`](https://code.claude.com/docs/ko/env-vars)을 설정합니다. 이 사용 환경에서는 오류 텍스트에 `Run --model`이 표시됩니다.2635* **비대화형 모드(`-p`)**: 유효한 별칭 또는 ID와 함께 `--model`을 전달하거나, [`ANTHROPIC_MODEL`](https://code.claude.com/docs/ko/env-vars)을 설정하십시오. 이 사용 환경에서는 오류 텍스트에 `Run --model`이 표시됩니다.

2585* **Agent SDK**: 모델이 프로그래밍 방식으로 설정되므로 오류 텍스트에 힌트가 생략됩니다. TypeScript에서는 [`Options`의 `model`](https://code.claude.com/docs/ko/agent-sdk/typescript#options)을, Python에서는 [`ClaudeAgentOptions(model=...)`](https://code.claude.com/docs/ko/agent-sdk/python#claudeagentoptions)을 설정하고, 구조화된 `model_not_found` 오류를 처리하여 자체 재시도나 모델 선택기를 제공하십시오.2636* **Agent SDK**: 모델이 프로그래밍 방식으로 설정되므로 오류 텍스트에 힌트가 생략됩니다. TypeScript에서는 [`Options`의 `model`](https://code.claude.com/docs/ko/agent-sdk/typescript#options)을, Python에서는 [`ClaudeAgentOptions(model=...)`](https://code.claude.com/docs/ko/agent-sdk/python#claudeagentoptions)를 설정하고, 구조화된 `model_not_found` 오류를 처리하여 자체 재시도 또는 모델 선택기를 표시하십시오.

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

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

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

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

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

2591 2642 

2592### Model is not a recognized model id2643### Model is not a recognized model id

2593 2644 

2594모델 전환에 전달한 문자열을 Claude Code가 모델로 사용할 수 없으므로, 요청을 보내지 않고 전환을 거부했으며 세션은 현재 모델을 유지합니다. 이 오류는 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/typescript.md)의 `setModel()` 메서드로 모델을 설정할 때, [Desktop 앱](https://code.claude.com/docs/ko/desktop.md)처럼 Claude Code CLI를 대신 실행하는 앱이 모델을 설정할 때, 또는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)로 연결된 기기에서 모델을 선택할 때 발생할 수 있습니다. v2.1.200 이전에는 Claude Code가 문자열을 저장한 후 다음 요청에서 [There's an issue with the selected model](#theres-an-issue-with-the-selected-model)로 실패했습니다.2645모델 전환에 전달한 문자열이 Claude Code가 모델로 사용할 수 있는 것이 아니므로, 요청을 보내지 않고 전환을 거부했으며 세션은 현재 모델을 유지합니다. 이 오류는 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/typescript.md)의 `setModel()` 메서드로 모델을 설정할 때, [Desktop 앱](https://code.claude.com/docs/ko/desktop.md)처럼 Claude Code CLI를 대신 실행하는 앱이 모델을 설정할 때, 또는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)로 연결된 기기에서 모델을 선택할 때 발생할 수 있습니다. v2.1.200 이전에는 Claude Code가 해당 문자열을 저장한 후 다음 요청에서 [There's an issue with the selected model](#theres-an-issue-with-the-selected-model)로 실패했습니다.

2595 2646 

2596```text theme={null}2647```text theme={null}

2597Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'?2648Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'?

2598```2649```

2599 2650 

2600이 예에서는 앱이 표시 이름 `Sonnet 5`를 보냈고, 메시지는 이를 공백 없이 반복합니다. 끝부분의 힌트는 가장 가깝게 일치하는 별칭이나 모델 ID를 표시합니다. 충분히 가까운 항목이 없으면 대신 `Run /model to see available models.`가 표시됩니다. [Desktop 앱](https://code.claude.com/docs/ko/desktop.md)이 시작한 세션에서는 일치 항목이 없을 때의 힌트가 `Switch to a different model.`로 표시됩니다.2651이 예에서는 앱이 표시 이름 `Sonnet 5`를 보냈으며, 메시지는 이를 공백 없이 반복합니다. 끝부분의 힌트는 가장 가깝게 일치하는 별칭 또는 모델 ID를 표시합니다. 충분히 가까운 것이 없으면 대신 `Run /model to see available models.`로 표시됩니다. [Desktop 앱](https://code.claude.com/docs/ko/desktop.md)이 대신 시작한 세션에서는 일치하는 항목이 없을 때의 힌트가 `Switch to a different model.`로 표시됩니다.

2601 2652 

2602Anthropic API에서 Agent SDK나 앱을 통해 전환할 때는 표시 이름이나 빈 문자열처럼 모델 ID가 될 수 없는 문자열만 이 오류가 발생합니다.2653Anthropic API에서 Agent SDK나 앱을 통해 전환하는 경우, 표시 이름이나 빈 문자열처럼 모델 ID가 될 수 없는 문자열만 이 오류를 받습니다.

2603 2654 

2604Remote Control 기기에서 모델을 선택하면 Claude Code가 문자열을 로컬에서 검사합니다. 모델 별칭, Claude Code가 나열하거나 사용자가 구성한 모델, 또는 `claude-`로 시작하는 ID가 아닌 모든 문자열은 이 오류가 발생하며, `claud-sonnet-5` 같은 오타가 있는 ID도 포함됩니다. v2.1.260 이전에는 이 검사가 Remote Control 선택을 다루지 않았기 때문에, 인식되지 않은 문자열이 적용된 후 다음 요청에서 실패했습니다.2655Remote Control 기기에서 모델을 선택하면 Claude Code가 문자열을 로컬에서 확인합니다. 모델 별칭, Claude Code가 나열하거나 사용자가 구성한 모델, 또는 `claude-`로 시작하는 ID가 아닌 모든 문자열은 `claud-sonnet-5`처럼 잘못 입력한 ID를 포함하여 이 오류를 받습니다. v2.1.260 이전에는 이 검사가 Remote Control 선택에 적용되지 않았으므로, 인식되지 않는 문자열이 적용된 후 다음 요청에서 실패했습니다.

2605 2656 

2606**해결 방법:**2657**해결 방법:**

2607 2658 

2608* 인수 없이 `/model`을 실행하여 선택기를 열고 계정에서 사용할 수 있는 모델 중에서 선택한 후, 그곳에 표시된 별칭이나 ID를 전달합니다2659* 인수 없이 `/model`을 실행하여 선택기를 열고 계정에서 사용할 수 있는 모델 중에서 선택한 후, 그곳에 표시된 별칭 또는 ID를 전달하십시오

2609* 최신 Claude Code 버전에서만 지원하는 별칭을 사용한 경우 `claude update`를 실행하거나 대신 모델의 전체 ID를 전달합니다. 서버는 여전히 해당 모델에 대해 최소 Claude Code 버전을 요구할 수 있습니다. [Claude Code does not support this model](#claude-code-does-not-support-this-model)을 참조하십시오.2660* 최신 Claude Code 버전에서만 지원하는 별칭을 사용했다면 `claude update`를 실행하거나, 대신 모델의 전체 ID를 전달하십시오. 서버는 여전히 해당 모델에 대해 최소 Claude Code 버전을 요구할 수 있습니다. [Claude Code does not support this model](#claude-code-does-not-support-this-model)을 참조하십시오.

2610* v2.1.200 이전에 저장된 모델은 이 검사로 복구되지 않습니다. 오래된 값이 계속 다시 나타나면 [모델 설정](https://code.claude.com/docs/ko/model-config.md#setting-your-model)에 나열된 위치에서 제거하십시오.2661* v2.1.200 이전에 저장된 모델은 이 검사로 복구되지 않습니다. 오래된 값이 계속 돌아온다면 [모델 설정](https://code.claude.com/docs/ko/model-config.md#setting-your-model)에 나열된 위치에서 제거하십시오.

2611* Anthropic API 이외의 공급자에서, 또는 게이트웨이나 사용자 지정 `ANTHROPIC_BASE_URL` 뒤에서는 빈 문자열만 이 오류가 발생합니다. Claude Code는 모든 공급자에서 요청 시점에 [인식되지 않은 모델 진단 줄](#unrecognized-model-id-on-a-request)을 여전히 기록할 수 있습니다.2662* Anthropic API 이외의 제공업체, 또는 게이트웨이나 사용자 지정 `ANTHROPIC_BASE_URL` 뒤에서는 빈 문자열만 이 오류를 받습니다. Claude Code는 모든 제공업체에서 요청 시점에 [인식되지 않는 모델 진단 줄](#unrecognized-model-id-on-a-request)을 여전히 기록할 수 있습니다.

2612 2663 

2613### Model not found2664### Model not found

2614 2665 

2615이름으로 모델을 전환했지만 Claude Code가 해당 이름의 모델이 존재하는지 확인할 수 없었습니다. 이름이 [모델 별칭](https://code.claude.com/docs/ko/model-config.md#model-aliases)이나 Claude Code가 로컬에서 허용하는 다른 표기가 아닌 경우, Claude Code는 최소한의 API 요청으로 이를 확인하며, 이 오류는 보통 API 엔드포인트의 응답입니다. `/model <name>`에서 공백이 포함된 이름처럼 모델 ID가 될 수 없는 이름은 같은 메시지가 표시됩니다.2666이름으로 모델을 전환했지만 Claude Code가 해당 이름의 모델이 존재하는지 확인할 수 없었습니다. 이름이 [모델 별칭](https://code.claude.com/docs/ko/model-config.md#model-aliases)이나 Claude Code가 로컬에서 허용하는 다른 표기가 아니면, Claude Code는 최소한의 API 요청으로 이를 확인하며, 이 오류는 대개 API 엔드포인트의 응답입니다. `/model <name>`의 경우, 공백이 포함된 이름처럼 모델 ID가 전혀 될 수 없는 이름도 같은 메시지를 받습니다.

2616 2667 

2617```text theme={null}2668```text theme={null}

2618Model 'claude-opus-9' not found2669Model 'claude-opus-9' not found

2619```2670```

2620 2671 

2621공급자별 모델 ID를 사용하는 공급자에서는 메시지에 공급자의 대체 모델 ID를 명시하는 `Try '...' instead` 제안이 추가될 수 있습니다.2672제공업체별 모델 ID를 사용하는 제공업체에서는 메시지에 폴백 모델에 대한 해당 제공업체의 ID를 알려 주는 `Try '...' instead` 제안이 추가될 수 있습니다.

2622 2673 

2623**해결 방법:**2674**해결 방법:**

2624 2675 

2625* 인수 없이 `/model`을 실행하고 계정에서 사용할 수 있는 모델 중에서 선택하거나, 관리되는 기본값으로 해석되는 `sonnet` 같은 [모델 별칭](https://code.claude.com/docs/ko/model-config.md#model-aliases)을 사용합니다2676* 인수 없이 `/model`을 실행하여 계정에서 사용할 수 있는 모델 중에서 선택하거나, 관리되는 기본값으로 해석되는 `sonnet` 같은 [모델 별칭](https://code.claude.com/docs/ko/model-config.md#model-aliases)을 사용하십시오

2626* 전체 ID를 입력했다면 공급자의 모델 카탈로그와 대조하여 확인합니다. 새로 출시된 모델은 공급자나 리전에서 제공되기 전에 Anthropic API에서 먼저 사용 가능할 수 있습니다.2677* 전체 ID를 입력했다면 제공업체의 모델 카탈로그와 대조하여 확인하십시오. 새로 출시된 모델은 제공업체나 리전에서 제공하기 전에 Anthropic API에서 먼저 사용 가능할 수 있습니다.

2627* Agent SDK에서는 `setModel()`이 이 메시지로 실패하고 세션은 이전 모델로 계속 실행됩니다. TypeScript SDK에서는 [`supportedModels()`](https://code.claude.com/docs/ko/agent-sdk/typescript#query-object)를 호출하여 전환할 수 있는 모델 목록을 확인하십시오.2678* Agent SDK에서는 `setModel()`이 이 메시지와 함께 실패하고 세션은 이전 모델로 계속 실행됩니다. TypeScript SDK에서는 [`supportedModels()`](https://code.claude.com/docs/ko/agent-sdk/typescript#query-object)를 호출하여 전환할 수 있는 모델 목록을 확인하십시오.

2628* v2.1.265 이전에는 `/model`이 `opusplan[1m]` 별칭 표기도 이 오류로 거부했습니다. 해당 버전에서는 Claude Code를 업데이트하거나 대신 [설정](https://code.claude.com/docs/ko/model-config.md#setting-your-model) 또는 `--model`로 모델을 설정하십시오.2679* v2.1.265 이전에는 `/model`이 `opusplan[1m]` 별칭 표기도 이 오류로 거부했습니다. 해당 버전에서는 Claude Code를 업데이트하거나, 대신 [설정](https://code.claude.com/docs/ko/model-config.md#setting-your-model)에서 또는 `--model`로 모델을 설정하십시오.

2629 2680 

2630### Couldn't confirm model with the API2681### Couldn't confirm model with the API

2631 2682 

2632[Agent SDK](https://code.claude.com/docs/ko/agent-sdk/typescript.md) `setModel()` 메서드나 [Desktop 앱](https://code.claude.com/docs/ko/desktop.md)처럼 Claude Code CLI를 대신 실행하는 앱을 통해 모델을 전환했는데, API 엔드포인트에서 모델 ID를 확인하는 요청이 15초 이내에 응답을 받지 못했습니다. 세션은 현재 모델을 유지합니다.2683[Agent SDK](https://code.claude.com/docs/ko/agent-sdk/typescript.md)의 `setModel()` 메서드나 [Desktop 앱](https://code.claude.com/docs/ko/desktop.md)처럼 Claude Code CLI를 대신 실행하는 앱을 통해 모델을 전환했으나, API 엔드포인트로 모델 ID를 확인하는 요청이 15초 이내에 응답을 받지 못했습니다. 세션은 현재 모델을 유지합니다.

2633 2684 

2634```text theme={null}2685```text theme={null}

2635Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models.2686Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models.

2636```2687```

2637 2688 

2638[Desktop 앱](https://code.claude.com/docs/ko/desktop.md)이 시작한 세션에서는 메시지가 `Try again.`에서 끝납니다.2689[Desktop 앱](https://code.claude.com/docs/ko/desktop.md)이 대신 시작한 세션에서는 메시지가 `Try again.`으로 끝납니다.

2639 2690 

2640**해결 방법:**2691**해결 방법:**

2641 2692 

2642* 모델로 다시 전환합니다2693* 모델로 다시 전환하십시오

2643* 전환이 계속 실패하면 Claude Code가 API 엔드포인트에 연결할 수 있는지 확인하십시오. [네트워크 및 연결 오류](#network-and-connection-errors)를 참조하십시오2694* 전환이 계속 실패하면 Claude Code가 API 엔드포인트에 연결할 수 있는지 확인하십시오. [네트워크 및 연결 오류](#network-and-connection-errors)를 참조하십시오

2644 2695 

2645### 선택한 모델 확인 중 API 오류2696### 선택한 모델을 확인할 때 발생하는 API 오류

2646 2697 

2647`/model <name>`으로 모델을 선택했거나, 세션에 연결된 앱이 전환을 요청했습니다. API가 속도 제한이나 서버 오류처럼 별도 항목이 없는 이유로, Claude Code가 모델 확인을 위해 보내는 최소한의 요청을 거부했습니다. 세션은 현재 모델을 유지하며, 메시지 끝에 그 사실이 표시됩니다.2698`/model <name>`으로 모델을 선택했거나, 세션에 연결된 앱이 전환을 요청했습니다. API가 속도 제한이나 서버 오류처럼 별도 항목이 없는 이유로 Claude Code가 모델 확인을 위해 보내는 최소한의 요청을 거부했습니다. 세션은 현재 모델을 유지하며, 메시지 끝에 그 사실이 표시됩니다.

2648 2699 

2649```text theme={null}2700```text theme={null}

2650API error: 429 <the server's explanation> · model not changed2701API error: 429 <the server's explanation> · model not changed


2654 2705 

2655**해결 방법:**2706**해결 방법:**

2656 2707 

2657* 서버의 설명에 따라 조치합니다. 속도 제한이나 5xx 상태인 경우 잠시 기다린 후 모델을 다시 선택합니다2708* 서버의 설명에 따라 조치하십시오. 속도 제한이나 5xx 상태의 경우 잠시 기다린 후 모델을 다시 선택하십시오

2658* 고유한 문구가 있는 거부는 [Model not found](#model-not-found)와 [Model is restricted by your organization's settings](#model-is-restricted-by-your-organizations-settings) 같은 주변 항목에서 다룹니다2709* 고유한 문구가 있는 거부는 [Model not found](#model-not-found)와 [Model is restricted by your organization's settings](#model-is-restricted-by-your-organizations-settings) 같은 주변 항목에서 다룹니다

2659 2710 

2660### Claude Opus is not available with the Claude Pro plan2711### Claude Opus is not available with the Claude Pro plan


2669 2720 

2670**해결 방법:**2721**해결 방법:**

2671 2722 

2672* `/model`을 실행하고 플랜에 포함된 모델을 선택합니다2723* `/model`을 실행하여 플랜에 포함된 모델을 선택하십시오

2673* 최근에 플랜을 업그레이드했는데도 이 메시지가 나타나면 `/logout`을 실행한 후 `/login`을 실행합니다. 저장된 토큰은 로그인 시점의 플랜을 반영하므로, claude.ai에서 업그레이드해도 다시 인증하기 전까지 기존 세션에는 적용되지 않습니다.2724* 최근에 플랜을 업그레이드했는데도 이 메시지가 표시된다면 `/logout`을 실행한 후 `/login`을 실행하십시오. 저장된 토큰은 로그인한 시점의 플랜을 반영하므로, claude.ai에서 업그레이드해도 다시 인증하기 전까지는 기존 세션에 적용되지 않습니다.

2674* 각 플랜에 포함된 모델은 [claude.com/pricing](https://claude.com/pricing)을 참조하십시오2725* 각 플랜에 포함된 모델은 [claude.com/pricing](https://claude.com/pricing)을 참조하십시오

2675 2726 

2676### Claude Code does not support this model2727### Claude Code does not support this model

2677 2728 

2678Claude Code 버전이 요구되는 최소 버전보다 낮아서 API가 400으로 요청을 거부했습니다. 선택한 모델이 서버가 모델별로 검사하는 더 새로운 버전을 요구하거나, 조직 정책이 특정 버전을 요구하는 경우입니다. 400에는 오류 코드 `claude_code_version_too_old`가 포함되며, 메시지에 어떤 최소 버전이 적용되는지 표시됩니다.2729Claude Code 버전이 요구되는 최소 버전보다 낮기 때문에 API가 400으로 요청을 거부했습니다. 선택한 모델이 더 새로운 버전을 요구하거나(서버가 모델별로 확인함), 조직의 정책이 이를 요구하는 경우입니다. 400에는 오류 코드 `claude_code_version_too_old`가 포함되며, 메시지에는 어떤 최소 버전이 적용되는지 표시됩니다.

2679 2730 

2680```text theme={null}2731```text theme={null}

2681API 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.2732API 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.


2687API 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.2738API 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.

2688```2739```

2689 2740 

2690API가 검사하는 버전은 요청을 보낸 Claude Code 바이너리가 보고하는 버전입니다.2741API가 확인하는 버전은 요청을 보낸 Claude Code 바이너리가 보고한 버전입니다.

2691 2742 

2692**해결 방법:**2743**해결 방법:**

2693 2744 


2697| :- | :- |2748| :- | :- |

2698| 직접 설치한 Claude Code | `claude update` 실행 |2749| 직접 설치한 Claude Code | `claude update` 실행 |

2699| Claude desktop 앱 | 앱 업데이트 |2750| Claude desktop 앱 | 앱 업데이트 |

2700| [VS Code 확장](https://code.claude.com/docs/ko/vs-code.md)에 번들로 포함된 바이너리 | 확장 업데이트 |2751| [VS Code 확장 프로그램](https://code.claude.com/docs/ko/vs-code.md)에 번들로 포함된 바이너리 | 확장 프로그램 업데이트 |

2701| Agent SDK 패키지에 번들로 포함된 바이너리 | [SDK 패키지를 업그레이드](https://code.claude.com/docs/ko/agent-sdk/hosting.md#runtime-dependencies)한 후 애플리케이션을 재시작합니다. [컴파일된 단일 파일 실행 파일](https://code.claude.com/docs/ko/agent-sdk/typescript.md#compile-to-a-single-executable)의 경우 다시 빌드합니다 |2752| Agent SDK 패키지에 번들로 포함된 바이너리 | [SDK 패키지를 업그레이드](https://code.claude.com/docs/ko/agent-sdk/hosting.md#runtime-dependencies)한 후 애플리케이션 재시작. [컴파일된 단일 파일 실행 파일](https://code.claude.com/docs/ko/agent-sdk/typescript.md#compile-to-a-single-executable)의 경우 다시 빌드 |

2702 2753 

2703* [stable 릴리스 채널](https://code.claude.com/docs/ko/setup.md#configure-release-channel)에서 `claude update`를 실행하면 최신 stable 릴리스보다 더 새로운 버전으로 이동하지 않으며, 이 릴리스도 요구되는 최소 버전보다 낮을 수 있습니다. latest 채널로 이동한 후 다시 업데이트하십시오. 조직이 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)으로 채널이나 버전을 고정한 경우 관리자에게 변경을 요청하십시오2754* [stable 릴리스 채널](https://code.claude.com/docs/ko/setup.md#configure-release-channel)에서 `claude update`를 실행하면 최신 stable 릴리스보다 높은 버전으로 이동하지 않으며, 이 릴리스가 여전히 요구되는 최소 버전보다 낮을 수 있습니다. latest 채널로 이동한 후 다시 업데이트하십시오. 조직이 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)으로 채널이나 버전을 고정한 경우 관리자에게 변경을 요청하십시오

2704* 모델별 문구의 경우 다른 모델로 전환하여 현재 세션에서 계속 작업할 수 있습니다. CLI에서는 `/model`을 실행하고, 스트리밍 입력 모드에서는 TypeScript SDK의 `Query` 객체에서 [`setModel()`](https://code.claude.com/docs/ko/agent-sdk/typescript#query-object)을, Python SDK의 `ClaudeSDKClient`에서 [`set_model()`](https://code.claude.com/docs/ko/agent-sdk/python#claudesdkclient)을 호출하십시오2755* 모델별 문구의 경우, 다른 모델로 전환하여 현재 세션에서 계속 작업할 수 있습니다. CLI에서 `/model`을 실행하거나, 스트리밍 입력 모드에서 TypeScript SDK의 `Query` 객체에 대해 [`setModel()`](https://code.claude.com/docs/ko/agent-sdk/typescript#query-object)을 호출하거나, Python SDK의 `ClaudeSDKClient`에 대해 [`set_model()`](https://code.claude.com/docs/ko/agent-sdk/python#claudesdkclient)을 호출하십시오

2705* 조직 정책 문구의 경우 계속하기 전에 업데이트하십시오2756* 조직 정책 문구의 경우, 계속하기 전에 업데이트하십시오

2706 2757 

2707### Model is restricted by your organization's settings2758### Model is restricted by your organization's settings

2708 2759 

2709조직 관리자가 claude.ai 관리 콘솔에서 이 모델을 비활성화했거나, 관리형 설정이 [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 허용 목록이나 [`deniedModels`](https://code.claude.com/docs/ko/model-config#block-specific-models-or-versions) 목록으로 이 모델을 제외했습니다. 이 알림은 `--model`, `ANTHROPIC_MODEL` 또는 `model` 설정이 제한된 모델을 지정했을 때 시작 시 표시되며, 세션이 대신 사용하는 모델을 명시합니다. 관리형 설정으로 인해 세션이 사용할 수 있는 허용된 모델이 없는 경우 [관리형 설정이 기본 모델을 차단하는 경우](#managed-settings-block-the-default-model)를 참조하십시오. 관리자가 claude.ai 관리 콘솔에서 세션이 실행 중인 모델을 비활성화하면 세션 도중에도 대체 알림이 표시될 수 있습니다.2760조직 관리자가 claude.ai 관리 콘솔에서 이 모델을 비활성화했거나, 관리형 설정이 [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 허용 목록 또는 [`deniedModels`](https://code.claude.com/docs/ko/model-config#block-specific-models-or-versions) 목록으로 이 모델을 제외했습니다. 이 알림은 `--model`, `ANTHROPIC_MODEL` 또는 `model` 설정에 제한된 모델이 지정된 경우 시작 시 표시되며, 세션이 대신 사용하는 모델을 알려 줍니다. 관리형 설정으로 인해 세션이 사용할 수 있는 허용된 모델이 없다면 [Managed settings block the default model](#managed-settings-block-the-default-model)을 참조하십시오. 관리자가 claude.ai 관리 콘솔에서 세션이 실행 중인 모델을 비활성화하면, 대체 알림이 세션 도중에도 나타날 수 있습니다.

2710 2761 

2711```text theme={null}2762```text theme={null}

2712Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.2763Model "claude-opus-4-8" is restricted by your organization's settings. Using claude-sonnet-4-6 instead.

2713```2764```

2714 2765 

2715제한된 모델에 대해 `/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.`입니다.2766제한된 모델에 대해 `/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.`입니다.

2716 2767 

2717에이전트, 스킬 또는 명령 이름이 앞에 붙은 알림은 제한이 해당 [서브에이전트가 요청한 모델](https://code.claude.com/docs/ko/sub-agents.md#choose-a-model)에 적용되었다는 뜻입니다. 서브에이전트는 대체된 모델에서 실행되고 세션의 모델은 변경되지 않습니다. v2.1.223 이전에는 Claude Code가 Agent 도구로 실행된 서브에이전트에 대해서만 이 알림을 표시했습니다.2768알림 앞에 에이전트, 스킬 또는 명령 이름이 붙어 있다면 제한이 해당 [서브에이전트가 요청한 모델](https://code.claude.com/docs/ko/sub-agents.md#choose-a-model)에 적용되었다는 의미입니다. 서브에이전트는 대체된 모델로 실행되고 세션의 모델은 변경되지 않습니다. v2.1.223 이전에는 Claude Code가 Agent 도구로 실행된 서브에이전트에 대해서만 알림을 표시했습니다.

2718 2769 

2719Claude Code는 `opus`, `sonnet`, `haiku`, `fable` 중 하나인 모델 패밀리 별칭을 최신 버전이 아닌 해당 패밀리에 대한 요청으로 처리합니다. Anthropic API와 [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md)에서는 제한된 패밀리 별칭이 조직 설정에서 허용하는 해당 패밀리의 최신 버전으로 해석되며, 대체 알림에 해당 버전이 표시됩니다. Claude Code는 패밀리의 모든 버전이 제한된 경우에만 `/model <alias>`를 거부합니다. v2.1.205 이전에는 같은 패밀리의 이전 버전이 허용되더라도 패밀리 별칭이 최신 버전만을 기준으로 대체되거나 거부되었습니다.2770Claude Code는 모델 계열 별칭(`opus`, `sonnet`, `haiku`, `fable` 중 하나)을 최신 버전이 아닌 해당 계열에 대한 요청으로 처리합니다. Anthropic API와 [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md)에서는 제한된 계열 별칭이 조직의 설정이 허용하는 해당 계열의 최신 버전으로 해석되며, 대체 알림에 그 버전이 표시됩니다. Claude Code는 계열의 모든 버전이 제한된 경우에만 `/model <alias>`를 거부합니다. v2.1.205 이전에는 같은 계열의 이전 버전이 허용되더라도 계열 별칭이 최신 버전만을 기준으로 대체되거나 거부되었습니다.

2720 2771 

2721**해결 방법:**2772**해결 방법:**

2722 2773 

2723* `/model`을 실행하여 조직이 허용하는 모델 중에서 선택합니다. 제한된 모델은 선택기에 표시되지 않습니다.2774* `/model`을 실행하여 조직이 허용하는 모델 중에서 선택하십시오. 제한된 모델은 선택기에서 숨겨집니다.

2724* 제한된 모델이 `--model`, `ANTHROPIC_MODEL`, 설정 파일의 `model` 필드, 또는 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-a-model), 스킬, 명령의 `model` frontmatter에 설정되어 있다면, 알림이 반복되지 않도록 해당 값을 제거하거나 업데이트하십시오2775* 제한된 모델이 `--model`, `ANTHROPIC_MODEL`, 설정 파일의 `model` 필드, 또는 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-a-model), 스킬, 명령의 `model` frontmatter에 설정되어 있다면 알림이 재발하지 않도록 해당 값을 제거하거나 업데이트하십시오

2725* 제한된 모델에 액세스해야 한다면 조직 관리자에게 활성화를 요청하십시오. [조직 모델 제한](https://code.claude.com/docs/ko/model-config.md#organization-model-restrictions)을 참조하십시오.2776* 제한된 모델에 접근해야 한다면 조직 관리자에게 활성화를 요청하십시오. [조직 모델 제한](https://code.claude.com/docs/ko/model-config.md#organization-model-restrictions)을 참조하십시오.

2726 2777 

2727### Can't switch to the default model2778### Can't switch to the default model

2728 2779 


2732Can't switch to the default model: your organization's managed settings block it (claude-opus-4-6) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".2783Can't switch to the default model: your organization's managed settings block it (claude-opus-4-6) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".

2733```2784```

2734 2785 

2735콜론 뒤의 문구는 전환을 차단한 원인을 나타냅니다.2786콜론 뒤의 문구는 무엇이 전환을 막았는지 알려 줍니다.

2736 2787 

2737* **`your organization's managed settings block it ... in "deniedModels"`**: 관리형 거부 목록이 Default 옵션이 해석되는 모델을 차단합니다2788* **`your organization's managed settings block it ... in "deniedModels"`**: 관리형 거부 목록이 Default 옵션이 해석되는 모델을 차단합니다

2738* **`your organization allows only the models listed in "availableModels"`**: [`availableModelsMatch`](https://code.claude.com/docs/ko/settings-reference#availablemodelsmatch)가 `"exact"`로 설정된 관리형 [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 허용 목록에 Default 옵션이 해석되는 모델이 없습니다2789* **`your organization allows only the models listed in "availableModels"`**: [`availableModelsMatch`](https://code.claude.com/docs/ko/settings-reference#availablemodelsmatch)가 `"exact"`로 설정된 관리형 [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 허용 목록에 Default 옵션이 해석되는 모델이 포함되어 있지 않습니다

2739* **`Claude Code couldn't read your organization's managed settings to check which models they allow`**: [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)을 읽을 수 없어서, Claude Code가 확인 없이 전환을 적용하는 대신 거부했습니다2790* **`Claude Code couldn't read your organization's managed settings to check which models they allow`**: [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)을 읽을 수 없었으며, Claude Code는 확인 없이 전환을 적용하는 대신 전환을 거부합니다

2740 2791 

2741**해결 방법:**2792**해결 방법:**

2742 2793 

2743* [`deniedModels`](https://code.claude.com/docs/ko/settings-reference#deniedmodels) 및 `availableModels` 문구의 경우 `/model`을 실행하고 조직이 허용하는 모델을 이름으로 선택합니다2794* [`deniedModels`](https://code.claude.com/docs/ko/settings-reference#deniedmodels) 및 `availableModels` 문구의 경우, `/model`을 실행하고 조직이 허용하는 모델을 이름으로 선택하십시오

2744* 관리자에게 메시지가 명시하는 관리형 설정을 업데이트해 달라고 요청합니다2795* 관리자에게 메시지에 표시된 관리형 설정을 업데이트해 달라고 요청하십시오

2745* `couldn't read` 문구의 경우 Claude Code를 재시작합니다. 계속 발생하면 관리자에게 관리형 설정을 확인해 달라고 요청하십시오2796* `couldn't read` 문구의 경우 Claude Code를 재시작하십시오. 계속 발생한다면 관리자에게 관리형 설정을 확인해 달라고 요청하십시오

2746 2797 

2747이러한 관리형 설정에서 세션이 대신 `Claude Code can't start` 메시지와 함께 시작되지 않는 경우 [관리형 설정이 기본 모델을 차단하는 경우](#managed-settings-block-the-default-model)를 참조하십시오.2798대신 이러한 관리형 설정에서 `Claude Code can't start` 메시지와 함께 세션 시작이 실패한다면 [Managed settings block the default model](#managed-settings-block-the-default-model)을 참조하십시오.

2748 2799 

2749### Model switch was blocked by a PreModelSwitch hook2800### Model switch was blocked by a PreModelSwitch hook

2750 2801 

2751[PreModelSwitch 훅](https://code.claude.com/docs/ko/hooks.md#premodelswitch)이 사용자나 클라이언트가 요청한 모델 전환을 승인하지 않았으므로 세션은 현재 모델을 유지합니다. 직접 입력한 명령이 아니라 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 호스트나 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)에서 전환이 요청된 경우, 메시지는 대상 모델을 명시하지 않고 `Model switch blocked by a PreModelSwitch hook`으로 표시됩니다.2802[PreModelSwitch 훅](https://code.claude.com/docs/ko/hooks.md#premodelswitch)이 사용자 또는 클라이언트가 요청한 모델 전환을 승인하지 않았으므로 세션은 현재 모델을 유지합니다. 입력한 명령이 아니라 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 호스트나 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)에서 전환이 요청된 경우, 메시지는 대상 모델을 명시하지 않고 `Model switch blocked by a PreModelSwitch hook`으로 표시됩니다.

2752 2803 

2753```text theme={null}2804```text theme={null}

2754Model switch to Opus 4.6 was blocked by a PreModelSwitch hook: Opus 4.6 is retired for this project. Use a newer model.2805Model switch to Opus 4.6 was blocked by a PreModelSwitch hook: Opus 4.6 is retired for this project. Use a newer model.

2755```2806```

2756 2807 

2757콜론 뒤의 이유는 무엇이 전환을 거부했는지를 나타냅니다.2808콜론 뒤의 이유는 무엇이 전환을 거부했는지 알려 줍니다.

2758 2809 

2759* **훅이 작성한 이유**: PreModelSwitch 훅이 [전환을 거부하거나 확인을 요청](https://code.claude.com/docs/ko/hooks.md#premodelswitch-decision-control)할 때 해당 이유를 제공했습니다. 요청 사항을 해결하거나 훅이 허용하는 모델을 선택하십시오.2810* **훅이 작성한 이유**: PreModelSwitch 훅이 [전환을 거부하거나 확인을 요청](https://code.claude.com/docs/ko/hooks.md#premodelswitch-decision-control)할 때 해당 이유를 제공했습니다. 요청 사항을 해결하거나, 훅이 허용하는 모델을 선택하십시오.

2760* **`PreModelSwitch hook <name> did not respond before its timeout`**: [타임아웃](https://code.claude.com/docs/ko/hooks.md#timeouts) 전에 응답하지 않는 훅은 전환을 차단합니다. 멈춘 명령을 수정하거나 해당 훅의 `timeout`을 늘린 후 다시 전환하십시오.2811* **`PreModelSwitch hook <name> did not respond before its timeout`**: [타임아웃](https://code.claude.com/docs/ko/hooks.md#timeouts) 전에 응답하지 않는 훅은 전환을 차단합니다. 멈춘 명령을 수정하거나 해당 훅의 `timeout`을 늘린 후 다시 전환하십시오.

2761* **`confirmation required, and this session cannot ask`**: 훅이 이유 없이 `ask`로 응답했으며, 제어 요청에는 확인 프롬프트를 표시할 방법이 없습니다. [`-p` 실행](https://code.claude.com/docs/ko/headless)의 `/model` 명령은 이유 뒤에 `(run /model interactively to confirm)`을 붙여 같은 상황을 보고합니다. 대화형 세션에서 전환하거나, 이 모델에 대한 훅의 결정을 변경하십시오.2812* **`confirmation required, and this session cannot ask`**: 훅이 이유 없이 `ask`로 응답했으며, 제어 요청에는 확인 프롬프트를 표시할 방법이 없습니다. [`-p` 실행](https://code.claude.com/docs/ko/headless)에서 `/model` 명령은 이유 뒤에 `(run /model interactively to confirm)`을 붙여 같은 상태를 보고합니다. 대화형 세션에서 전환하거나, 이 모델에 대한 훅의 결정을 변경하십시오.

2762* **`so organization-managed PreModelSwitch hooks could not be checked`**: 예를 들어 관리형 플러그인 로드가 실패하여, Claude Code가 조직의 [관리형 플러그인](https://code.claude.com/docs/ko/settings-reference.md#enabledplugins)이 제공하는 PreModelSwitch 훅을 확인할 수 없었습니다. 그 훅 중 하나가 전환을 차단할 수 있으므로, Claude Code는 확인 없이 전환을 적용하는 대신 거부합니다. 이유의 시작 부분에 무엇이 실패했는지 표시됩니다. Claude Code는 전환을 시도할 때마다 다시 확인하므로, 이미 해소된 실패는 더 이상 차단하지 않습니다. 계속 실패하면 `claude --debug`를 실행하고 다시 전환하여 세부 정보를 확인한 후, 플러그인을 수정하거나 관리자에게 수정을 요청하십시오.2813* **`so organization-managed PreModelSwitch hooks could not be checked`**: 관리형 플러그인 로드 실패 등의 이유로, Claude Code가 조직의 [관리형 플러그인](https://code.claude.com/docs/ko/settings-reference.md#enabledplugins)이 제공하는 PreModelSwitch 훅을 파악할 수 없었습니다. 이러한 훅 중 하나가 전환을 차단할 수 있으므로, Claude Code는 확인 없이 전환을 적용하는 대신 거부합니다. 이유의 시작 부분에 무엇이 실패했는지 표시됩니다. Claude Code는 전환을 시도할 때마다 다시 확인하므로, 이후 해결된 실패는 더 이상 차단하지 않습니다. 계속 실패한다면 `claude --debug`를 실행하고 다시 전환하여 세부 정보를 캡처한 후, 플러그인을 수정하거나 관리자에게 수정을 요청하십시오.

2763* **`a PreModelSwitch hook failed before answering`** 또는 **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: 훅 실행이 판정 없이 종료되었으며, Claude Code는 이를 승인으로 처리하지 않습니다. `claude --debug`를 실행하여 무엇이 실패했는지 확인한 후 다시 전환하십시오.2814* **`a PreModelSwitch hook failed before answering`** 또는 **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**: 훅 실행이 판정 없이 종료되었으며, Claude Code는 이를 승인으로 처리하지 않습니다. `claude --debug`를 실행하여 무엇이 실패했는지 확인한 후 다시 전환하십시오.

2764 2815 

2765v2.1.260 이전에는 관리형 플러그인 거부 메시지가 `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`였습니다. Claude Code는 플러그인 로드를 한 번 재시도한 후, 조직이 관리하는 플러그인이 없는 경우에도 세션의 이후 전환을 거부했습니다. 해당 버전에서는 세션을 재시작하여 플러그인 로드를 다시 실행하십시오.2816v2.1.260 이전에는 관리형 플러그인 거부 메시지가 `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`였습니다. Claude Code는 플러그인 로드를 한 번 재시도한 후, 조직이 관리하는 플러그인이 없더라도 세션에서 이후의 전환을 거부했습니다. 해당 버전에서는 세션을 재시작하여 플러그인 로드를 다시 실행하십시오.

2766 2817 

2767### Couldn't save it as your default2818### Couldn't save it as your default

2768 2819 

2769`/model <name>` 또는 `/model` 선택기에서 `Enter`를 누르는 등의 방법으로 기본값으로 저장할 모델을 선택했지만, Claude Code가 사용자 설정 파일인 `~/.claude/settings.json`에 선택 내용을 기록할 수 없었습니다. 전환 자체는 적용되었으므로 현재 세션은 선택한 모델로 실행되지만, 기본값은 변경되지 않았으며 다음 세션은 이전 값으로 시작됩니다.2820`/model <name>`이나 `/model` 선택기의 `Enter` 등으로 기본값으로 저장할 모델을 선택했지만, Claude Code가 선택 내용을 사용자 설정 파일 `~/.claude/settings.json`에 기록하지 못했습니다. 전환 자체는 적용되었으므로 현재 세션은 선택한 모델로 실행되지만, 기본값은 변경되지 않았으며 다음 세션은 이전 값으로 시작됩니다.

2770 2821 

2771```text theme={null}2822```text theme={null}

2772Set model to Fable 5.1 for this session only · couldn't save it as your default: ~/.claude/settings.json can't be written (EROFS)2823Set model to Fable 5.1 for this session only · couldn't save it as your default: ~/.claude/settings.json can't be written (EROFS)

2773```2824```

2774 2825 

2775파일 경로 뒤의 이유는 무엇이 실패했는지를 나타냅니다.2826파일 경로 뒤의 이유는 무엇이 실패했는지 알려 줍니다.

2776 2827 

2777* **`can't be written (<code>)`**: 괄호 안의 운영 체제 오류 코드와 함께 기록이 실패했습니다. 예를 들어 파일 또는 파일이 링크하는 대상이 쓰기를 거부하는 파일 시스템에 있는 경우 `EROFS`가 표시됩니다. 파일을 쓰기 가능하게 만든 후 다시 전환하십시오. 다른 도구가 파일을 생성하는 경우 대신 해당 도구에서 `model` 키를 설정하십시오. [Claude Code에서 변경한 내용이 새 세션에서 사라지는 경우](https://code.claude.com/docs/ko/settings.md#a-change-you-made-in-claude-code-is-lost-in-new-sessions)를 참조하십시오.2828* **`can't be written (<code>)`**: 괄호 안의 운영 체제 오류 코드와 함께 쓰기가 실패했습니다. 예를 들어 파일 또는 파일이 링크하는 대상이 쓰기를 거부하는 파일 시스템에 있으면 `EROFS`가 표시됩니다. 파일을 쓰기 가능하게 만든 후 다시 전환하십시오. 다른 도구가 파일을 생성한다면 대신 해당 도구에서 `model` 키를 설정하십시오. [Claude Code에서 변경한 내용이 새 세션에서 사라지는 경우](https://code.claude.com/docs/ko/settings.md#a-change-you-made-in-claude-code-is-lost-in-new-sessions)를 참조하십시오.

2778* **`isn't valid JSON`**: 디스크의 파일을 파싱할 수 없으며, Claude Code는 다시 읽을 수 없는 내용을 덮어쓰지 않고 그대로 둡니다. 구문 오류를 수정한 후 다시 전환하십시오. [손상된 설정 파일 수정](https://code.claude.com/docs/ko/settings.md#fix-a-broken-settings-file)을 참조하십시오.2829* **`isn't valid JSON`**: 디스크의 파일을 파싱할 수 없으며, Claude Code는 다시 읽을 수 없는 내용을 덮어쓰는 대신 파일을 그대로 둡니다. 구문 오류를 수정한 후 다시 전환하십시오. [손상된 설정 파일 수정](https://code.claude.com/docs/ko/settings.md#fix-a-broken-settings-file)을 참조하십시오.

2779 2830 

2780`couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)`로 끝나는 알림은 3초가 지나도 기록이 완료되지 않았다는 뜻입니다. 기록은 백그라운드에서 계속되므로 기본값이 여전히 저장될 수 있습니다. 다음 세션이 어떤 모델로 시작되는지 확인하거나 `/model <name>`을 다시 실행하십시오.2831`couldn't confirm it was saved as your default (~/.claude/settings.json is still being written)`로 끝나는 알림은 3초가 지나도 쓰기가 완료되지 않았다는 의미입니다. 쓰기는 백그라운드에서 계속되므로 기본값이 여전히 저장될 수 있습니다. 다음 세션이 어떤 모델로 시작되는지 확인하거나, `/model <name>`을 다시 실행하십시오.

2781 2832 

2782v2.1.265 이전에는 기록이 실패한 경우에도 알림에 모델이 `saved as your default for new sessions`라고 표시되었습니다.2833v2.1.265 이전에는 쓰기가 실패한 경우에도 알림에 모델이 `saved as your default for new sessions`라고 표시되었습니다.

2783 2834 

2784### Advisor is less capable than the current main model2835### Advisor is less capable than the current main model

2785 2836 

2786[advisor 모델](https://code.claude.com/docs/ko/advisor.md)의 순위가 세션의 메인 모델보다 낮으므로, Claude Code는 선택 내용을 유지하지만 advisor를 메인 모델의 요청에 연결하지 않습니다.2837[advisor 모델](https://code.claude.com/docs/ko/advisor.md)의 순위가 세션의 메인 모델보다 낮으므로, Claude Code는 선택을 유지하지만 메인 모델의 요청에 advisor를 연결하지 않습니다.

2787 2838 

2788```text theme={null}2839```text theme={null}

2789Advisor set to Opus 4.82840Advisor set to Opus 4.8

2790Note: Opus 4.8 is less capable than the current main model (Sonnet 5.5), so the advisor will not activate. Choose a more capable advisor, or switch to a smaller main model.2841Note: Opus 4.8 is less capable than the current main model (Sonnet 5.5), so the advisor will not activate. Choose a more capable advisor, or switch to a smaller main model.

2791```2842```

2792 2843 

2793다른 메시지도 같은 상황을 보고합니다.2844다른 메시지도 같은 상태를 보고합니다.

2794 2845 

2795* 대화형 세션에서는 `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`라는 알림이 표시됩니다.2846* 대화형 세션에서는 `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`라는 알림이 표시됩니다.

2796* [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 `--advisor` 플래그와 함께 실행하고 해당 실행이 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)이 아닌 경우, stderr에 경고가 출력되고 실행은 그대로 시작됩니다. 경고는 `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.`입니다. 대화형 세션은 이 경고를 [디버그 로그](#configuration-warnings)에만 기록합니다.2847* [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 `--advisor` 플래그로 실행하고 해당 실행이 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)이 아닌 경우, stderr에 경고가 출력되고 실행은 그대로 시작됩니다. 경고 내용은 `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.`입니다. 대화형 세션은 이 경고를 [디버그 로그](#configuration-warnings)에만 기록합니다.

2797 2848 

2798**해결 방법:**2849**해결 방법:**

2799 2850 

2800* 순위가 더 높은 advisor나 순위가 더 낮은 메인 모델을 선택합니다. [advisor 모델 선택](https://code.claude.com/docs/ko/advisor.md#choose-an-advisor-model)에서 순위를 확인하고 각 메인 모델에 허용되는 advisor 목록을 볼 수 있습니다.2851* 순위가 더 높은 advisor나 순위가 더 낮은 메인 모델을 선택하십시오. [advisor 모델 선택](https://code.claude.com/docs/ko/advisor.md#choose-an-advisor-model)에서 순위를 확인하고 각 메인 모델에 허용되는 advisor 목록을 볼 수 있습니다.

2801* advisor가 자문할 수 있는 모델의 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)가 계속 advisor를 사용하도록 하려면 advisor 설정을 그대로 두십시오2852* advisor가 자문할 수 있는 모델을 사용하는 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)가 계속 advisor를 사용하게 하려면 advisor를 설정된 상태로 두십시오

2802 2853 

2803v2.1.287 이전에는 Claude Code가 여러 조합의 순위를 다르게 매겼습니다. Opus 4.7 또는 Opus 4.8 메인 모델과 Sonnet 5.5 advisor 조합에 대해 이 안내를 표시했지만, 현재는 이 조합을 허용합니다. 또한 Sonnet 5.5 메인 모델과 Opus 4.8 advisor처럼 현재는 이 안내를 표시하는 일부 advisor를 연결했습니다.2854v2.1.287 이전에는 Claude Code가 여러 조합의 순위를 다르게 매겼습니다. Opus 4.7 또는 Opus 4.8 메인 모델에 Sonnet 5.5 advisor를 조합한 경우 이 안내를 표시했지만, 이제는 이 조합을 허용합니다. 또한 Sonnet 5.5 메인 모델에 Opus 4.8 advisor를 조합한 경우처럼, 현재는 이 안내가 표시되는 일부 advisor를 연결했습니다.

2804 2855 

2805### thinking.type.enabled is not supported for this model2856### thinking.type.enabled is not supported for this model

2806 2857 

2807Claude Code 버전이 선택한 모델에 필요한 최소 버전보다 오래되었습니다. CLI가 모델이 더 이상 허용하지 않는 사고 구성을 보냈습니다.2858Claude Code 버전이 선택한 모델의 최소 버전보다 오래되었습니다. CLI가 모델이 더 이상 허용하지 않는 사고 구성을 보냈습니다.

2808 2859 

2809```text theme={null}2860```text theme={null}

2810API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.2861API Error: 400 ... "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.


2812 2863 

2813**해결 방법:**2864**해결 방법:**

2814 2865 

2815* `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 이상이 필요합니다2866* `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 이상이 필요합니다

2816* [stable 릴리스 채널](https://code.claude.com/docs/ko/setup.md#configure-release-channel)에서는 업데이트해도 최신 stable 릴리스보다 더 새로운 버전으로 이동하지 않으며, 이 릴리스도 위 버전보다 오래되었을 수 있습니다. latest 채널로 이동한 후 업데이트하십시오2867* [stable 릴리스 채널](https://code.claude.com/docs/ko/setup.md#configure-release-channel)에서는 업데이트해도 최신 stable 릴리스보다 높은 버전으로 이동하지 않으며, 이 릴리스가 여전히 위 버전보다 오래되었을 수 있습니다. latest 채널로 이동한 후 업데이트하십시오

2817* 업그레이드할 수 없다면 `/model`을 실행하고 대신 Opus 4.6 또는 Sonnet 4.6을 선택합니다2868* 업그레이드할 수 없다면 `/model`을 실행하고 대신 Opus 4.6 또는 Sonnet 4.6을 선택하십시오

2818* [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md)에서 이 오류가 발생하면 대신 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 이상이 필요합니다2869* [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md)에서 이 문제가 발생한다면 대신 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 이상이 필요합니다

2819 2870 

2820### 사고가 꺼진 상태에서는 effort를 사용할 수 없음2871### Effort isn't available with thinking turned off

2821 2872 

2822[확장 사고](https://code.claude.com/docs/ko/model-config.md#extended-thinking)를 끈 상태에서 `high`보다 높은 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)으로 실행했습니다. 모델이 이 조합을 허용하지 않으므로 API가 요청을 거부했습니다.2873[확장 사고](https://code.claude.com/docs/ko/model-config.md#extended-thinking)를 끄고 `high`보다 높은 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)으로 실행했습니다. 모델이 이 조합을 허용하지 않으므로 API가 요청을 거부했습니다.

2823 2874 

2824```text theme={null}2875```text theme={null}

2825API 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)2876API 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)

2826```2877```

2827 2878 

2828`·` 뒤의 힌트는 세션에 따라 다릅니다. 비대화형 세션에서는 `use --effort high (or the effortLevel setting)`으로, Claude Desktop 앱이 실행하는 세션에서는 `you can lower effort to High`로 표시됩니다.2879`·` 뒤의 힌트는 세션에 따라 다릅니다. 비대화형 세션에서는 `use --effort high (or the effortLevel setting)`로, Claude Desktop 앱이 실행하는 세션에서는 `you can lower effort to High`로 표시됩니다.

2829 2880 

2830**해결 방법:**2881**해결 방법:**

2831 2882 

2832* [effort 수준을](https://code.claude.com/docs/ko/model-config.md#set-the-effort-level) `high` 이하로 낮춥니다.2883* [effort 수준을 낮추어](https://code.claude.com/docs/ko/model-config.md#set-the-effort-level) `high` 이하로 설정하십시오.

2833* 예를 들어 [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/ko/env-vars) 설정을 해제하거나 설정에서 [`"alwaysThinkingEnabled": false`](https://code.claude.com/docs/ko/settings-reference#alwaysthinkingenabled)를 제거하여 사고를 다시 켭니다.2884* 예를 들어 [`MAX_THINKING_TOKENS`](https://code.claude.com/docs/ko/env-vars) 설정을 해제하거나 설정에서 [`"alwaysThinkingEnabled": false`](https://code.claude.com/docs/ko/settings-reference#alwaysthinkingenabled)를 제거하여 사고를 다시 켜십시오.

2834 2885 

2835v2.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가 설정한 effort 수준 그대로 요청을 보냈기 때문에, 사고가 꺼진 상태에서 Opus 5는 `high`보다 높은 모든 요청을 거부했습니다. 이제 Claude Code는 Opus 5처럼 이 조합을 거부하는 것으로 알려진 모델에는 대신 effort `high`로 요청을 보냅니다.2886v2.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가 설정된 effort 수준으로 요청을 보냈기 때문에, 사고가 꺼진 상태에서 Opus 5가 `high`를 넘는 모든 요청을 거부했습니다. 이제 Claude Code는 Opus 5처럼 이 조합을 거부하는 것으로 알려진 모델에는 대신 effort `high`로 요청을 보냅니다.

2836 2887 

2837### Thinking budget exceeds output limit2888### 사고 예산이 출력 한도를 초과함

2838 2889 

2839구성된 확장 사고 예산이 최대 응답 길이를 초과하여 실제 답변을 위한 공간이 남아 있지 않습니다.2890구성된 확장 사고 예산이 최대 응답 길이를 초과하여 실제 답변을 위한 공간이 남지 않았습니다.

2840 2891 

2841```text theme={null}2892```text theme={null}

2842API Error: 400 ... max_tokens must be greater than thinking.budget_tokens2893API Error: 400 ... max_tokens must be greater than thinking.budget_tokens


2844 2895 

2845**해결 방법:**2896**해결 방법:**

2846 2897 

2847* [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](https://code.claude.com/docs/ko/env-vars)를 사고 예산보다 높게 올립니다2898* [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](https://code.claude.com/docs/ko/env-vars)를 사고 예산보다 높게 설정하십시오

2848* 예산이 출력 길이와 어떻게 상호 작용하는지는 [확장 사고](https://code.claude.com/docs/ko/model-config.md#extended-thinking)를 참조하십시오2899* 예산이 출력 길이와 어떻게 상호작용하는지는 [확장 사고](https://code.claude.com/docs/ko/model-config.md#extended-thinking)를 참조하십시오

2849 2900 

2850### Response exceeded the output token maximum2901### Response exceeded the output token maximum

2851 2902 

2852Claude의 응답이 요청에서 허용한 최대 출력 토큰 수에 도달하여 그 지점에서 잘렸습니다.2903Claude의 응답이 요청에서 허용하는 최대 출력 토큰 수에 도달하여 그 지점에서 잘렸습니다.

2853 2904 

2854```text theme={null}2905```text theme={null}

2855API Error: Claude's response exceeded the ... output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.2906API Error: Claude's response exceeded the ... output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.

2856API Error: Claude's response exceeded the 64000 output token maximum for a request sent without streaming. The CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable cannot raise this limit.2907API Error: Claude's response exceeded the 64000 output token maximum for a request sent without streaming. The CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable cannot raise this limit.

2857```2908```

2858 2909 

2859`a request sent without streaming`을 명시하는 형태는 스트리밍 요청이 실패하여 Claude Code가 스트리밍 없이 다시 보냈다는 뜻이며, 이 경우 응답은 64,000 출력 토큰으로 제한됩니다. v2.1.299 이전에는 이렇게 다시 보낸 요청에서 잘린 응답이 이 메시지 없이 응답이 완료된 것처럼 턴을 종료했습니다.2910`a request sent without streaming`이 표시된 형식은 스트리밍 요청이 실패하여 Claude Code가 스트리밍 없이 다시 보냈다는 의미이며, 이 경우 응답이 64,000 출력 토큰으로 제한됩니다. v2.1.299 이전에는 이렇게 다시 보낸 요청에서 응답이 잘리면, 이 메시지 없이 응답이 완료된 것처럼 턴이 종료되었습니다.

2860 2911 

2861**해결 방법:**2912**해결 방법:**

2862 2913 

2863* 응답이 잘리기 전에 Claude가 일부 텍스트를 작성했다면, 대화형 세션에서 `continue`로 답하여 나머지를 요청합니다. 그 텍스트는 대화에 남아 있습니다.2914* 응답이 잘리기 전에 Claude가 일부 텍스트를 작성했다면, 대화형 세션에서 `continue`로 답하여 나머지를 요청하십시오. 해당 텍스트는 대화에 남아 있습니다.

2864* 메시지가 `CLAUDE_CODE_MAX_OUTPUT_TOKENS`를 설정하라고 안내하면, 값의 상한은 [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](https://code.claude.com/docs/ko/env-vars)를, 설정 위치는 [환경 변수 설정](https://code.claude.com/docs/ko/env-vars.md#set-environment-variables)을 참조하십시오2915* 메시지에서 `CLAUDE_CODE_MAX_OUTPUT_TOKENS`를 설정하라고 안내한다면, 값의 상한이 정해지는 방식은 [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](https://code.claude.com/docs/ko/env-vars)를, 설정 위치는 [환경 변수 설정](https://code.claude.com/docs/ko/env-vars.md#set-environment-variables)을 참조하십시오

2865* 각 응답이 한도를 넘지 않도록 하려면, 응답당 파일 하나나 섹션 하나처럼 Claude에게 출력을 더 작은 단위로 요청하십시오2916* 각 응답이 한도를 넘지 않도록, 응답마다 파일 하나 또는 섹션 하나처럼 더 작은 단위로 출력을 요청하십시오

2866 2917 

2867### Tool use or thinking block mismatch2918### 도구 사용 또는 thinking 블록 불일치

2868 2919 

2869대화 기록이 일관되지 않은 상태로 API에 도달했습니다.2920대화 기록이 일관되지 않은 상태로 API에 전달되었습니다.

2870 2921 

2871```text theme={null}2922```text theme={null}

2872API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.2923API Error: 400 due to tool use concurrency issues. Run /rewind to recover the conversation.


2880 2931 

2881**해결 방법:**2932**해결 방법:**

2882 2933 

2883* Opus 4.7 또는 Opus 4.8을 사용 중이라면 먼저 `claude update`를 실행하십시오. v2.1.156 이전 버전은 일반적인 도구 사용 중에도 이 오류를 일으킬 수 있으며, `/rewind`로 해결되지 않습니다.2934* Opus 4.7 또는 Opus 4.8을 사용 중이라면 먼저 `claude update`를 실행하십시오. v2.1.156 이전 버전은 일반적인 도구 사용 중에 이 오류를 일으킬 수 있으며, `/rewind`로는 해결되지 않습니다.

2884* `/rewind`를 실행하거나 Esc를 두 번 눌러 손상된 턴 이전의 체크포인트로 되돌아간 후 그 지점부터 계속합니다. 체크포인트가 생성되고 복원되는 방식은 [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오.2935* `/rewind`를 실행하거나 Esc를 두 번 눌러 손상된 턴 이전의 체크포인트로 되돌아간 후 그곳에서 계속하십시오. 체크포인트가 생성되고 복원되는 방식은 [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오.

2885 2936 

2886### Invalid data in redacted\_thinking block2937### Invalid data in redacted\_thinking block

2887 2938 

2888대화 기록의 이전 턴에 포함된 `redacted_thinking` 블록을 API가 수락할 수 없어서 400으로 요청을 거부했습니다.2939대화 기록의 이전 턴에 포함된 `redacted_thinking` 블록을 허용할 수 없었기 때문에 API가 400으로 요청을 거부했습니다.

2889 2940 

2890```text theme={null}2941```text theme={null}

2891API Error: 400 ... Invalid `data` in `redacted_thinking` block2942API Error: 400 ... Invalid `data` in `redacted_thinking` block

2892```2943```

2893 2944 

2894Claude Code는 대화의 이전 사고를 요청에서 제외하고 한 번 재시도하므로, 세션은 오류를 표시하지 않고 계속됩니다. v2.1.282 이전에는 Claude Code가 거부된 블록을 유지했기 때문에 이후 모든 턴이 같은 오류로 실패했습니다.2945Claude Code는 대화의 이전 사고를 요청에서 제외하고 한 번 재시도하므로, 세션은 오류를 표시하지 않고 계속됩니다. v2.1.282 이전에는 Claude Code가 거부된 블록을 유지했기 때문에 이후의 모든 턴이 같은 오류로 실패했습니다.

2895 2946 

2896**해결 방법:**2947**해결 방법:**

2897 2948 

2898* v2.1.281 이하 버전에서 모든 턴이 이 오류로 실패한다면 `claude update`를 실행하고 세션을 재개합니다2949* v2.1.281 이하 버전을 사용 중이고 모든 턴이 이 오류로 실패한다면 `claude update`를 실행하고 세션을 재개하십시오

2899* 오류가 계속되면 `/clear`를 실행하여 해당 블록이 없는 대화를 시작합니다2950* 오류가 지속되면 `/clear`를 실행하여 해당 블록이 포함되지 않은 대화를 시작하십시오

2900 2951 

2901### Unsupported tool content removed2952### Unsupported tool content removed

2902 2953 

2903Claude Code가 Anthropic API에 직접 연결하여 저장된 세션을 로드하거나 미리 볼 때, Anthropic API가 허용하지 않는 도구 내용을 제거하고, 제거된 내용이 두 thinking 블록 사이에 있던 위치에 다음 줄을 남깁니다.2954Claude Code가 Anthropic API에 직접 연결하여 저장된 세션을 로드하거나 미리 볼 때, Anthropic API가 허용하지 않는 도구 콘텐츠를 제거하고, 제거된 콘텐츠가 두 thinking 블록 사이에 있던 위치에 다음 줄을 남깁니다.

2904 2955 

2905```text theme={null}2956```text theme={null}

2906[Unsupported tool content removed]2957[Unsupported tool content removed]

2907```2958```

2908 2959 

2909이러한 내용은 Anthropic API 이외의 무언가가 API 형식으로 응답했을 때 세션 파일에 들어갑니다. 일반적으로 다른 공급자의 도구 호출을 변환하는, [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)로 설정된 서드파티 프록시가 원인입니다. 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 오류로 실패했습니다.2960이러한 콘텐츠는 Anthropic API가 아닌 다른 무언가가 API 형식으로 응답했을 때 세션 파일에 들어갑니다. 일반적으로 [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)로 설정된 서드파티 프록시가 다른 제공업체의 도구 호출을 변환하는 경우입니다. 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 오류로 실패했습니다.

2910 2961 

2911**해결 방법:**2962**해결 방법:**

2912 2963 

2913* 자리 표시자 줄이 보이면 별도 조치가 필요하지 않습니다. 세션은 제거된 내용 없이 계속됩니다.2964* 자리 표시 줄이 보이는 경우에는 조치가 필요하지 않습니다. 세션은 제거된 콘텐츠 없이 계속됩니다.

2914* 대신 재개된 세션의 모든 턴이 400 오류로 실패한다면 `claude update`를 실행하고 세션을 다시 재개하십시오. v2.1.246 이전 버전은 해당 내용을 제거하지 않습니다.2965* 대신 재개된 세션의 모든 턴이 400 오류로 실패한다면 `claude update`를 실행하고 세션을 다시 재개하십시오. v2.1.246 이전 버전은 해당 콘텐츠를 제거하지 않습니다.

2915 2966 

2916### role 'system' must precede an 'assistant' message2967### role 'system' must precede an 'assistant' message

2917 2968 

2918시스템 메시지가 대화에서 API가 허용하지 않는 위치에 있기 때문에 API가 400으로 요청을 거부했습니다.2969대화에서 허용되지 않는 위치에 시스템 메시지가 있기 때문에 API가 400으로 요청을 거부했습니다.

2919 2970 

2920```text theme={null}2971```text theme={null}

2921API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...2972API Error: 400 messages.6: role 'system' must precede an 'assistant' message or end the array; ...

2922```2973```

2923 2974 

2924Claude Code는 일부 리마인더 및 첨부 텍스트를 대화 내의 시스템 메시지로 보냅니다. API가 그 위치를 거부하면, Claude Code는 해당 텍스트를 일반 사용자 메시지로 보내는 방식으로 요청을 한 번 재시도합니다. `use the top-level 'system' parameter for the initial system prompt` 같은 API의 유사한 위치 관련 문구도 같은 방식으로 복구됩니다.2975Claude Code는 리마인더와 첨부 파일 텍스트 중 일부를 대화 내의 시스템 메시지로 보냅니다. API가 그 위치를 거부하면, Claude Code는 해당 텍스트를 일반 사용자 메시지로 보내는 방식으로 요청을 한 번 재시도합니다. `use the top-level 'system' parameter for the initial system prompt`처럼 API의 유사한 위치 관련 문구에도 같은 복구가 적용됩니다.

2925 2976 

2926오류가 실제로 표시된다면, 거부된 시스템 메시지는 Claude Code가 제거할 수 있는 것이 아닙니다. 이는 보통 Claude Code와 API 사이의 프록시나 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)가 자체 시스템 메시지를 추가했다는 뜻입니다.2977오류가 나타난다면 거부된 시스템 메시지는 Claude Code가 제거할 수 있는 것이 아닙니다. 이는 대개 Claude Code와 API 사이의 프록시나 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)가 자체 시스템 메시지를 추가했다는 의미입니다.

2927 2978 

2928**해결 방법:**2979**해결 방법:**

2929 2980 

2930* [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)로 구성된 프록시나 게이트웨이 뒤에서 오류가 매 턴마다 반복된다면, 프록시 없이 연결하여 원인을 확인하고 해당 프록시 운영자에게 오류를 보고하십시오2981* [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)로 구성된 프록시나 게이트웨이 뒤에서 매 턴마다 오류가 반복된다면, 프록시 없이 연결하여 원인을 확인하고 운영자에게 오류를 보고하십시오

2931* `/clear`를 실행하여 새 대화를 시작합니다. 거기서도 오류가 다시 발생한다면, 원인은 저장된 대화가 아니라 요청 경로에 있습니다.2982* `/clear`를 실행하여 새 대화를 시작하십시오. 그곳에서도 오류가 다시 발생한다면 원인은 저장된 대화가 아니라 요청 경로에 있습니다.

2932 2983 

2933v2.1.280 이전에는 Claude Code가 이 문구를 인식하지 못했기 때문에, 거부된 시스템 메시지가 Claude Code 자신이 보낸 것일 때도 오류가 표시되었고 대화의 이후 모든 턴이 같은 방식으로 실패했습니다.2984v2.1.280 이전에는 Claude Code가 이 문구를 인식하지 못했기 때문에, 거부된 시스템 메시지가 Claude Code 자체가 보낸 것인 경우에도 오류가 나타났고 대화의 이후 모든 턴이 같은 방식으로 실패했습니다.

2934 2985 

2935### Invalid encrypted\_content in search\_result block2986### Invalid encrypted\_content in search\_result block

2936 2987 

2937대화 기록에 API가 복호화할 수 없는 호스팅 웹 검색 내용이 포함되어 있어 API가 400으로 요청을 거부했습니다. 문구에는 읽을 수 없는 필드가 명시됩니다.2988대화 기록에 API가 복호화할 수 없는 호스팅 웹 검색 콘텐츠가 포함되어 있어 API가 400으로 요청을 거부했습니다. 문구에는 읽을 수 없는 필드가 표시됩니다.

2938 2989 

2939```text theme={null}2990```text theme={null}

2940API Error: 400 ... Invalid `encrypted_content` in `search_result` block2991API Error: 400 ... Invalid `encrypted_content` in `search_result` block


2943API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block2994API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block

2944```2995```

2945 2996 

2946API의 호스팅 [웹 검색 도구](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) 결과에는 API만 읽을 수 있는 암호화된 필드가 포함됩니다. `encrypted_stdout` 문구는 이러한 결과를 읽은 호스팅 코드 실행 프로그램의 출력을 가리키며, API는 이 출력도 암호화합니다. API는 다른 조직을 위해 생성된 내용처럼 복호화할 수 없는 내용을 다시 보내는 요청을 거부합니다.2997API의 호스팅 [웹 검색 도구](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool)의 결과에는 API만 읽을 수 있는 암호화된 필드가 포함됩니다. `encrypted_stdout` 문구는 이러한 결과를 읽은 호스팅 코드 실행 프로그램의 출력을 가리키며, API는 이 출력도 암호화합니다. API는 다른 조직을 위해 생성된 콘텐츠처럼 복호화할 수 없는 콘텐츠를 다시 보내는 요청을 거부합니다.

2947 2998 

2948Claude Code 자체의 [WebSearch 도구](https://code.claude.com/docs/ko/tools-reference.md#websearch-tool-behavior)는 검색 결과를 일반 텍스트로 기록하므로, 이러한 블록은 보통 호스팅 웹 검색을 직접 실행한 프록시나 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 통해 대화에 들어옵니다.2999Claude Code 자체의 [WebSearch 도구](https://code.claude.com/docs/ko/tools-reference.md#websearch-tool-behavior)는 검색 결과를 일반 텍스트로 기록하므로, 이러한 블록은 대개 호스팅 웹 검색을 자체적으로 실행한 프록시나 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 통해 대화에 들어옵니다.

2949 3000 

2950세 가지 웹 검색 문구의 경우, Claude Code는 검색 호출, 결과, 인용을 전송 내용에서 제외하고 요청을 한 번 재시도하므로, 세션은 오류를 표시하지 않고 계속됩니다. `encrypted_stdout` 문구에는 이러한 복구가 없으므로 해당 메시지는 여전히 표시됩니다. v2.1.282 이전에는 Claude Code가 거부된 웹 검색 블록도 유지했기 때문에, 이후 모든 턴과 `/compact`가 같은 방식으로 실패했습니다.3001세 가지 웹 검색 문구의 경우, Claude Code는 검색 호출, 결과, 인용을 보내는 내용에서 제외하고 요청을 한 번 재시도하므로, 세션은 오류를 표시하지 않고 계속됩니다. `encrypted_stdout` 문구에는 이런 복구가 없으므로 해당 메시지는 여전히 표시됩니다. v2.1.282 이전에는 Claude Code가 거부된 웹 검색 블록도 유지했기 때문에, 이후의 모든 턴과 `/compact`가 같은 방식으로 실패했습니다.

2951 3002 

2952**해결 방법:**3003**해결 방법:**

2953 3004 

2954* v2.1.281 이하 버전에서 모든 턴이 웹 검색 문구 중 하나로 실패한다면 `claude update`를 실행하고 세션을 재개합니다3005* v2.1.281 이하 버전을 사용 중이고 모든 턴이 웹 검색 문구 중 하나로 실패한다면 `claude update`를 실행하고 세션을 재개하십시오

2955* 오류가 계속되거나 메시지에 `encrypted_stdout`이 명시된 경우, `/rewind`를 실행하여 해당 내용을 추가한 턴 이전의 체크포인트로 되돌아가거나, `/clear`를 실행하여 해당 내용이 없는 대화를 시작합니다3006* 오류가 지속되거나 메시지에 `encrypted_stdout`이 표시된다면, `/rewind`를 실행하여 해당 콘텐츠를 추가한 턴 이전의 체크포인트로 되돌아가거나, `/clear`를 실행하여 해당 콘텐츠가 포함되지 않은 대화를 시작하십시오

2956* 프록시나 게이트웨이 뒤에서 Claude Code를 실행한다면 해당 운영자에게 오류를 보고하십시오3007* 프록시나 게이트웨이 뒤에서 Claude Code를 실행한다면 운영자에게 오류를 보고하십시오

2957 3008 

2958### Usage Policy refusal3009### Usage Policy refusal

2959 3010 

2960대화의 내용이 [이용 정책](https://www.anthropic.com/legal/aup) 검사를 트리거하여 API가 응답을 거절했습니다.3011대화의 콘텐츠가 [사용 정책](https://www.anthropic.com/legal/aup) 검사를 트리거하여 API가 응답을 거부했습니다.

2961 3012 

2962메시지에 `` Details: `[reasoning_extraction]` `` 줄이 포함되어 있다면 [세이프가드가 Claude의 추론에 대한 요청을 감지한 경우](#safeguards-flagged-a-request-for-claudes-reasoning)를 참조하십시오.3013메시지에 `` Details: `[reasoning_extraction]` `` 줄이 포함되어 있다면 [Claude의 추론을 요청하는 요청이 세이프가드에 의해 플래그됨](#safeguards-flagged-a-request-for-claudes-reasoning)을 참조하십시오.

2963 3014 

2964메시지에는 거절이 잘못되었다고 판단될 때 지원팀에 전달할 수 있는 Request ID와 Message ID가 포함됩니다.3015메시지에는 거부가 잘못되었다고 판단될 경우 지원팀에 전달할 수 있는 Request ID와 Message ID가 포함되어 있습니다.

2965 3016 

2966```text theme={null}3017```text theme={null}

2967API Error: Opus 4.6 can't help with this. Start a new session to continue.3018API Error: Opus 4.6 can't help with this. Start a new session to continue.


2969Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup3020Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup

2970```3021```

2971 3022 

2972메시지에는 거절한 모델의 이름이 표시되며, 기록된 모델이 없으면 `Claude`가 표시됩니다.3023메시지에는 거부한 모델의 이름이 표시되며, 기록된 모델이 없는 경우에는 `Claude`가 표시됩니다.

2973 3024 

2974검사는 최신 프롬프트뿐만 아니라 대화 전체를 평가하므로, 같은 세션에서 새 메시지를 보내면 보통 같은 거절이 다시 트리거됩니다. 디스크의 트랜스크립트에 여전히 트리거한 내용이 남아 있으므로, 세션을 종료한 후 `--continue` 또는 `--resume`으로 다시 열어도 마찬가지입니다. [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)에서는 이 메시지가 모델의 안전 조치가 사이버 보안 주제로 감지한 요청에도 표시됩니다. [안전 조치가 사이버 보안 주제를 감지한 경우](#safety-measures-flagged-a-cybersecurity-topic)를 참조하십시오.3025이 검사는 최신 프롬프트만이 아니라 전체 대화를 평가하므로, 같은 세션에서 새 메시지를 보내면 대개 동일한 거부가 다시 트리거됩니다. 세션을 종료한 후 `--continue` 또는 `--resume`으로 다시 열어도 디스크의 트랜스크립트에 트리거한 콘텐츠가 여전히 포함되어 있으므로 마찬가지입니다. [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud의 Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)에서는 모델의 안전 조치가 사이버 보안 주제로 플래그한 요청도 이 메시지로 표시됩니다. [안전 조치가 사이버 보안 주제를 플래그함](#safety-measures-flagged-a-cybersecurity-topic)을 참조하십시오.

2975 3026 

2976v2.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.`였습니다.3027v2.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.`로 표시되었습니다.

2977 3028 

2978**해결 방법:**3029**해결 방법:**

2979 3030 

2980* Esc를 두 번 누르거나 `/rewind`를 실행하여 거절을 트리거한 턴 이전의 체크포인트로 되돌아간 후, 표현을 바꾸거나 다른 접근 방식을 사용합니다. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오.3031* Esc를 두 번 누르거나 `/rewind`를 실행하여 거부를 트리거한 턴 이전의 체크포인트로 되돌아간 다음, 표현을 바꾸거나 다른 접근 방식을 사용하십시오. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오.

2981* 어떤 턴이 원인인지 파악할 수 없다면 `/clear`를 실행하여 같은 프로젝트에서 새 대화를 시작합니다. 이전 대화는 디스크에 보존되며 `/resume`에서 계속 사용할 수 있습니다.3032* 어떤 턴이 원인인지 파악할 수 없다면 `/clear`를 실행하여 같은 프로젝트에서 새 대화를 시작하십시오. 이전 대화는 디스크에 보존되며 `/resume`에서 계속 사용할 수 있습니다.

2982* 되감기를 사용할 수 없는 [비대화형 모드](https://code.claude.com/docs/ko/headless.md)(`-p`)에서는 `--continue` 없이 새 세션에서 표현을 바꾼 프롬프트로 재시도하십시오. 정책 검사는 모델마다 다르므로, 경우에 따라 `--model`로 다른 모델로 전환하면 거절이 해결될 수도 있습니다.3033* 되감기를 사용할 수 없는 [비대화형 모드](https://code.claude.com/docs/ko/headless.md)(`-p`)에서는 `--continue` 없이 새 세션에서 표현을 바꾼 프롬프트로 재시도하십시오. 정책 검사는 모델마다 다르므로 `--model`로 다른 모델로 전환하면 경우에 따라 거부가 해결될 수도 있습니다.

2983 3034 

2984### 안전 조치가 사이버 보안 주제로 플래그 지정함3035### Safety measures flagged a cybersecurity topic

2985 3036 

2986모델의 안전 조치가 대화 내용을 사이버 보안 주제로 플래그 지정했습니다. 메시지에는 요청을 플래그 지정한 모델의 이름이 표시됩니다.3037모델의 안전 조치가 대화의 콘텐츠를 사이버 보안 주제로 플래그했습니다. 메시지에는 요청을 플래그한 모델의 이름이 표시됩니다.

2987 3038 

2988```text theme={null}3039```text theme={null}

2989API 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. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude3040API 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. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude

2990```3041```

2991 3042 

2992메시지에 `` Details: `[reasoning_extraction]` `` 줄이 포함되어 있다면 [안전 장치가 Claude의 추론을 요청하는 것으로 플래그 지정함](#safeguards-flagged-a-request-for-claudes-reasoning)을 참조하세요.3043메시지에 `` Details: `[reasoning_extraction]` `` 줄이 포함되어 있다면 [Claude의 추론을 요청하는 요청이 세이프가드에 의해 플래그됨](#safeguards-flagged-a-request-for-claudes-reasoning)을 참조하십시오.

2993 3044 

2994이 메시지는 정당한 사이버 보안 작업에 대한 액세스 권한을 부여하는 [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)으로 연결됩니다. [자동 모델 폴백](https://code.claude.com/docs/ko/model-config.md#automatic-model-fallback)이 적용되는 모델은 이 링크 없이 다른 메시지를 출력하며, Opus 5.5와 Sonnet 5.5에서는 `<model>'s safeguards flagged this session`으로 시작합니다. 해당 섹션에서는 Claude Code가 대신 모델을 전환하는 경우도 다룹니다.3045이 메시지는 정당한 사이버 보안 작업에 대한 액세스 권한을 부여하는 [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)으로 연결됩니다. [자동 모델 폴백](https://code.claude.com/docs/ko/model-config.md#automatic-model-fallback)이 적용되는 모델은 이 링크가 없는 다른 메시지를 출력하며, Opus 5.5와 Sonnet 5.5에서는 이 메시지가 `<model>'s safeguards flagged this session`으로 시작합니다. 해당 섹션에서는 Claude Code가 대신 모델을 전환하는 경우도 다룹니다.

2995 3046 

2996[Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)에서는 사이버 보안 플래그가 지정되면 대신 [사용 정책 거부](#usage-policy-refusal) 메시지가 표시됩니다.3047[Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud의 Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)에서는 사이버 보안 플래그가 발생하면 대신 [Usage Policy refusal](#usage-policy-refusal) 메시지가 표시됩니다.

2997 3048 

2998**해결 방법:**3049**해결 방법:**

2999 3050 

3000* 작업에 이 콘텐츠가 필요한 경우 [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)을 통해 액세스를 신청합니다3051* 작업에 이 콘텐츠가 필요한 경우 [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)을 통해 액세스를 신청하십시오

3001* 요청이 사이버 보안 주제와 관련이 없었다면 `/feedback`을 실행하여 오탐을 보고합니다3052* 요청이 사이버 보안 주제와 관련이 없었다면 `/feedback`을 실행하여 오탐을 보고하십시오

3002* 같은 세션에서 작업을 계속하려면 Esc를 두 번 누르거나 `/rewind`를 실행하여 플래그를 유발한 턴 이전의 체크포인트로 되돌아간 다음 다른 방식으로 접근합니다. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하세요.3053* 같은 세션에서 작업을 계속하려면 Esc를 두 번 누르거나 `/rewind`를 실행하여 플래그를 트리거한 턴 이전의 체크포인트로 되돌아간 다음 다른 접근 방식을 사용하십시오. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오.

3003 3054 

3004표시되는 메시지의 문구가 다음 중 하나와 같다면 이전 Claude Code 버전에서 표시되는 동일한 플래그입니다.3055표시된 메시지가 대신 다음 중 하나와 같은 문구라면, 이전 Claude Code 버전에서 발생한 동일한 플래그입니다.

3005 3056 

3006* v2.1.219부터 v2.1.296까지는 메시지의 마지막 문장 앞에 `Apply to the Cyber Verification Program to reduce these interruptions.`가 포함될 수도 있었습니다3057* v2.1.219부터 v2.1.296까지는 메시지의 마지막 문장 앞에 `Apply to the Cyber Verification Program to reduce these interruptions.`가 포함될 수도 있었습니다

3007* v2.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.`가 이어졌습니다3058* v2.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.`가 이어서 표시되었습니다.

3008* v2.1.203 이전에는 메시지가 `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:`였으며 그 뒤에 예외 신청 양식 링크가 이어졌습니다3059* v2.1.203 이전에는 `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:`으로 표시되고 그 뒤에 예외 신청 양식 링크가 이어졌습니다

3009 3060 

3010### 안전 장치가 Claude의 추론을 요청하는 것으로 플래그 지정함3061### Claude의 추론을 요청하는 요청이 세이프가드에 의해 플래그됨

3011 3062 

3012안전 장치가 요청을 모델의 내부 추론을 응답에 재현하도록 요구하는 것으로 플래그 지정하여 API가 요청을 거부했습니다. API는 이 [거부 범주](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#refusal-response)를 `reasoning_extraction`이라고 부르며, 거부 메시지에는 다음 줄이 포함됩니다.3063세이프가드가 요청을 모델의 내부 추론을 응답에 재현하도록 요구하는 것으로 플래그했기 때문에 API가 요청을 거부했습니다. API는 이 [거부 범주](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#refusal-response)를 `reasoning_extraction`이라고 부르며, 거부 메시지에는 다음 줄이 포함됩니다.

3013 3064 

3014```text theme={null}3065```text theme={null}

3015Details: `[reasoning_extraction]`3066Details: `[reasoning_extraction]`


3019 3070 

3020**해결 방법:**3071**해결 방법:**

3021 3072 

3022* Claude에게 사고나 추론을 그대로 또는 고정된 형식으로 작성하도록 요청하는 지시(예: `<thinking>` 섹션, 스크래치패드 섹션, JSON 출력의 `reasoning` 필드)를 제거하거나 다르게 표현합니다. 이러한 지시는 프롬프트에 있을 수도 있고, CLAUDE.md, 스킬, 서브에이전트 프롬프트, 출력 스타일, MCP 도구 설명처럼 Claude Code가 함께 로드하는 사용자 지정 항목에 있을 수도 있습니다.3073* Claude에게 사고 또는 추론을 그대로 또는 고정된 형식으로 작성하도록 요청하는 지시를 제거하거나 표현을 바꾸십시오. 예를 들어 `<thinking>` 섹션, 스크래치패드 섹션, JSON 출력의 `reasoning` 필드 등이 있습니다. 이러한 지시는 프롬프트에 있을 수도 있고, CLAUDE.md, 스킬, 서브에이전트 프롬프트, 출력 스타일, MCP 도구 설명처럼 Claude Code가 프롬프트와 함께 로드하는 사용자 지정 항목에 있을 수도 있습니다.

3023* 사용자 지정 항목이 원인인지 확인하려면 터미널에서 [`claude --safe-mode`](https://code.claude.com/docs/ko/cli-reference#cli-flags)를 실행하여 사용자 지정 항목이 비활성화된 세션을 시작한 다음 같은 프롬프트를 보냅니다3074* 사용자 지정 항목이 원인인지 확인하려면 터미널에서 [`claude --safe-mode`](https://code.claude.com/docs/ko/cli-reference#cli-flags)를 실행하여 사용자 지정 항목이 비활성화된 세션을 시작한 다음 같은 프롬프트를 보내십시오

3024* 사용자 지정 항목을 변경한 후에는 새 세션을 시작합니다3075* 사용자 지정 항목을 변경한 후에는 새 세션을 시작하십시오

3025* 이미 보낸 프롬프트를 다르게 표현하려면 [되감기 및 요약](https://code.claude.com/docs/ko/checkpointing.md#rewind-and-summarize)을 참조하세요3076* 이미 보낸 프롬프트의 표현을 바꾸려면 [되감기 및 요약](https://code.claude.com/docs/ko/checkpointing.md#rewind-and-summarize)을 참조하십시오

3026* Claude에게 답변에 대한 설명을 요청하는 것은 여전히 가능합니다. 간단한 설명, 결과의 근거, 수행한 작업의 요약을 요청하세요. Claude의 사고 요약을 읽으려면 [`showThinkingSummaries`](https://code.claude.com/docs/ko/settings-reference#showthinkingsummaries)를 참조하세요.3077* Claude에게 답변을 설명해 달라고 요청하는 것은 여전히 가능합니다. 간단한 설명, 결과의 근거, 또는 수행한 작업의 요약을 요청하십시오. Claude의 사고 요약을 보려면 [`showThinkingSummaries`](https://code.claude.com/docs/ko/settings-reference#showthinkingsummaries)를 참조하십시오.

3027* 더 많은 예시와 다르게 표현한 요청이 여전히 거부될 때의 해결 방법은 [추론을 thinking 블록에 유지하기](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#keep-reasoning-in-thinking-blocks)를 참조하세요3078* 더 많은 예시와 표현을 바꾼 요청이 여전히 거부될 때의 해결 방법은 [추론을 thinking 블록에 유지하기](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#keep-reasoning-in-thinking-blocks)를 참조하십시오

3028 3079 

3029### Output blocked by content filtering policy3080### Output blocked by content filtering policy

3030 3081 

3031API의 출력 콘텐츠 필터가 Claude가 생성 중이던 응답을 중단했습니다. 메시지 텍스트는 API에서 제공됩니다.3082API의 출력 콘텐츠 필터가 Claude가 생성하던 응답을 중단했습니다. 메시지 텍스트는 API에서 제공됩니다.

3032 3083 

3033```text theme={null}3084```text theme={null}

3034API Error: Output blocked by content filtering policy3085API Error: Output blocked by content filtering policy


3036 3087 

3037**해결 방법:**3088**해결 방법:**

3038 3089 

3039* 마지막 메시지를 다르게 표현하거나 다른 방식으로 접근합니다3090* 마지막 메시지의 표현을 바꾸거나 다른 접근 방식을 사용하십시오

3040* 차단을 유발한 턴 이전의 체크포인트로 되돌아가려면 Esc를 두 번 누르거나 `/rewind`를 실행합니다. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하세요3091* 차단을 트리거한 턴 이전의 체크포인트로 되돌아가려면 Esc를 두 번 누르거나 `/rewind`를 실행하십시오. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오

3041 3092 

3042## 명령줄 오류3093## 명령줄 오류

3043 3094 

3044이러한 오류는 `claude` 명령줄과 그 하위 명령, 프롬프트에 제출한 명령 이름, 그리고 `/security-review`처럼 프롬프트가 실행되기 전에 셸 명령을 실행하여 컨텍스트를 수집하는 명령에서 발생합니다. CLI를 다시 시작하는 `/tui`에서도 발생합니다.3095이 오류는 `claude` 명령줄과 그 하위 명령, 프롬프트에서 제출한 명령 이름, 그리고 `/security-review`처럼 프롬프트가 실행되기 전에 셸 명령을 실행해 컨텍스트를 수집하는 명령에서 발생합니다. CLI를 다시 시작하는 `/tui`에서도 발생합니다.

3045 3096 

3046### `--bg`와 `--print` 간의 충돌3097### `--bg`와 `--print` 간 충돌

3047 3098 

3048이 메시지는 Claude Code v2.1.198 이상이 필요합니다. 같은 `claude` 호출에서 `--bg`를 `-p` 또는 `--print`와 함께 사용했습니다. `--bg`는 나중에 `claude agents`로 연결하는 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md#from-your-shell)을 시작하는 반면, `--print`는 [비대화형으로](https://code.claude.com/docs/ko/headless.md) 실행되며 `claude agents`가 연결하는 대화형 세션을 시작하지 않습니다. v2.1.198 이전에는 이 조합이 아무런 알림 없이 연결할 수 없는 백그라운드 작업을 생성했습니다.3099이 메시지는 Claude Code v2.1.198 이상에서 나타납니다. 동일한 `claude` 호출에서 `--bg`를 `-p` 또는 `--print`와 함께 사용했습니다. `--bg`는 나중에 `claude agents`로 연결하는 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md#from-your-shell)을 시작하는 반면, `--print`는 [비대화형으로](https://code.claude.com/docs/ko/headless.md) 실행되며 `claude agents`가 연결하는 대화형 세션을 시작하지 않습니다. v2.1.198 이전에는 이 조합이 연결할 수 없는 백그라운드 작업을 아무 알림 없이 생성했습니다.

3049 3100 

3050```text theme={null}3101```text theme={null}

3051--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>'`.3102--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>'`.


3053 3104 

3054**해결 방법:**3105**해결 방법:**

3055 3106 

3056* `-p` 또는 `--print`를 제거합니다. `--bg`는 프롬프트를 위치 인수로 받으므로 `claude --bg "<task>"`만으로 완전한 명령이 됩니다. [셸에서 새 에이전트 Dispatch하기](https://code.claude.com/docs/ko/agent-view.md#from-your-shell)를 참조하십시오.3107* `-p` 또는 `--print`를 제거합니다. `--bg`는 프롬프트를 위치 인수로 받으므로 `claude --bg "<task>"`가 완전한 명령입니다. [셸에서 새 에이전트 디스패치하기](https://code.claude.com/docs/ko/agent-view.md#from-your-shell)를 참조하세요.

3057* 백그라운드 세션을 만드는 대신 프롬프트를 비대화형으로 실행하고 결과를 출력하려면 `--bg`를 제거하고 `claude -p "<task>"`를 실행합니다3108* 백그라운드 세션을 만드는 대신 프롬프트를 비대화형으로 실행하고 결과를 출력하려면 `--bg`를 제거하고 `claude -p "<task>"`를 실행합니다

3058 3109 

3059### Couldn't tell whether `--bg` is a flag or text3110### Couldn't tell whether `--bg` is a flag or text

3060 3111 

3061`claude`를 실행할 때 `--bg` 또는 `--background`를 Claude Code가 백그라운드 플래그인지 텍스트인지 구분할 수 없는 위치에 넣은 경우입니다. 이 명령은 아무것도 시작하지 않고 다음 줄을 출력한 뒤 종료 코드 1로 종료되었습니다:3112Claude Code가 백그라운드 플래그인지 텍스트인지 구분할 수 없는 위치에 `--bg` 또는 `--background`를 넣어 `claude`를 실행했습니다. 명령은 아무것도 시작하지 않고 다음 줄을 출력한 뒤 종료 코드 1로 종료되었습니다.

3062 3113 

3063```text theme={null}3114```text theme={null}

3064Couldn't tell whether --bg is a flag or text here, so nothing was started. To start a background session put it first: claude --bg <prompt>3115Couldn't tell whether --bg is a flag or text here, so nothing was started. To start a background session put it first: claude --bg <prompt>

3065```3116```

3066 3117 

3067`--background`를 입력한 경우에는 이 줄에 `--background`가 표시됩니다.3118`--background`를 입력한 경우 이 줄에는 `--background`가 대신 표시됩니다.

3068 3119 

3069**해결 방법:**3120**해결 방법:**

3070 3121 

3071* [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md#from-your-shell)을 시작하려면 셸에서 플래그를 맨 앞에 두고 명령을 다시 실행합니다: `claude --bg --name nightly-audit "<task>"`3122* [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md#from-your-shell)을 시작하려면 셸에서 플래그를 맨 앞에 두고 명령을 다시 실행합니다: `claude --bg --name nightly-audit "<task>"`

3072 3123 

3073### 시스템 프롬프트 플래그와 파일 형식 간의 충돌3124### 시스템 프롬프트 플래그와 파일 형식 간 충돌

3074 3125 

3075하나의 `claude` 호출에서 [`--append-subagent-system-prompt`](https://code.claude.com/docs/ko/cli-reference#cli-flags)와 `--append-subagent-system-prompt-file`을 함께 전달했기 때문에 `claude`가 세션을 시작하지 않고 종료 코드 1로 종료됩니다:3126하나의 `claude` 호출에서 [`--append-subagent-system-prompt`](https://code.claude.com/docs/ko/cli-reference#cli-flags)를 `--append-subagent-system-prompt-file`과 함께 전달했기 때문에 `claude`가 세션을 시작하지 않고 종료 코드 1로 종료됩니다.

3076 3127 

3077```text theme={null}3128```text theme={null}

3078Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.3129Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.

3079```3130```

3080 3131 

3081v2.1.283 이전에는 `--system-prompt`와 `--system-prompt-file`, 또는 `--append-system-prompt`와 `--append-system-prompt-file`을 함께 전달했을 때도 `claude`가 같은 방식으로 종료되었습니다. 이러한 쌍이 [결합](https://code.claude.com/docs/ko/cli-reference.md#system-prompt-flags)되지 않고 충돌했기 때문입니다. 해당 버전에서는 메시지에 함께 사용한 쌍이 표시됩니다.3132v2.1.283 이전에는 `--system-prompt`와 `--system-prompt-file`, 또는 `--append-system-prompt`와 `--append-system-prompt-file`을 함께 전달해도 `claude`가 같은 방식으로 종료되었습니다. 해당 쌍이 [결합](https://code.claude.com/docs/ko/cli-reference.md#system-prompt-flags)되지 않고 충돌했기 때문입니다. 해당 버전에서는 메시지에 함께 사용한 쌍의 이름이 표시됩니다.

3082 3133 

3083**해결 방법:**3134**해결 방법:**

3084 3135 

3085* 플래그의 한 가지 형식만 유지하고 다른 하나는 제거합니다. 고정된 프롬프트 파일과 실행별 텍스트를 결합하려면 두 플래그를 모두 전달하는 대신 실행 전에 텍스트를 파일에 병합합니다3136* 플래그 중 한 가지 형식만 남기고 다른 하나는 제거합니다. 고정된 프롬프트 파일과 실행별 텍스트를 결합하려면 두 플래그를 모두 전달하는 대신 실행 전에 텍스트를 파일에 병합합니다

3086 3137 

3087### 잘못된 `--agents` 구성3138### Invalid `--agents` configuration

3088 3139 

3089`--agents`에 전달한 값이 잘못되어 `claude`가 세션을 시작하지 않고 종료 코드 1로 종료됩니다. `--safe-mode`를 전달하거나 [`CLAUDE_CODE_SAFE_MODE`](https://code.claude.com/docs/ko/env-vars#variables)를 설정하면 Claude Code는 `--agents`를 완전히 무시합니다. `--resume` 또는 `--continue`를 사용하면 인라인 JSON 값은 검사되지 않고 세션이 시작되지만, 파일에서 읽은 값은 매번 실행할 때마다 검사됩니다. v2.1.242 이전에는 Claude Code가 그래도 세션을 시작했습니다.3140`--agents`에 전달한 값이 유효하지 않으므로 `claude`가 세션을 시작하지 않고 종료 코드 1로 종료됩니다. `--safe-mode`를 전달하거나 [`CLAUDE_CODE_SAFE_MODE`](https://code.claude.com/docs/ko/env-vars#variables)를 설정하면 Claude Code는 `--agents`를 완전히 무시합니다. `--resume` 또는 `--continue`를 사용하면 인라인 JSON 값은 검사되지 않고 세션이 시작되지만, 파일에서 읽은 값은 실행할 때마다 검사됩니다. v2.1.242 이전에는 Claude Code가 그대로 세션을 시작했습니다.

3090 3141 

3091```text theme={null}3142```text theme={null}

3092Error: Invalid --agents configuration:3143Error: Invalid --agents configuration:

3093<what failed>3144<what failed>

3094```3145```

3095 3146 

3096첫 번째 줄 다음에 오는 내용은 값이 실패한 방식에 따라 달라집니다. Claude Code는 다음 검사를 순서대로 실행하고 처음 실패한 검사에서 멈춥니다. 값에 두 종류의 문제가 있으면 첫 번째 문제를 수정한 후에야 두 번째 문제가 표시됩니다:3147첫 번째 줄 다음에 오는 내용은 값이 실패한 방식에 따라 달라집니다. Claude Code는 다음 검사를 순서대로 실행하며 처음 실패한 검사에서 멈춥니다. 값에 두 종류의 문제가 있으면 첫 번째 문제를 수정한 후에야 두 번째 문제가 표시됩니다.

3097 3148 

30981. 값이 `{`로 시작하지만 JSON으로 파싱되지 않거나 `--agents` 파일의 내용이 파싱되지 않으면, Claude Code는 JSON 파서 자체의 메시지를 담은 `invalid JSON:` 줄 하나를 출력합니다31491. 값이 `{`로 시작하지만 JSON으로 구문 분석되지 않거나 `--agents` 파일의 내용이 구문 분석되지 않으면, Claude Code는 JSON 파서 자체의 메시지가 포함된 `invalid JSON:` 줄 하나를 출력합니다

30992. 파싱은 되지만 에이전트 정의가 [CLI로 정의한 서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope)의 스키마와 일치하지 않으면, Claude Code는 문제마다 한 줄씩 출력합니다31502. 구문 분석은 되지만 에이전트 정의가 [CLI로 정의한 서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope)의 스키마와 일치하지 않으면, Claude Code는 문제마다 한 줄씩 출력합니다

31003. 에이전트 이름이 `-`로 시작하면 Claude Code는 `<name>: agent names must not start with '-'`를 출력합니다31513. 에이전트 이름이 `-`로 시작하면 Claude Code는 `<name>: agent names must not start with '-'`를 출력합니다

3101 3152 

3102문제 줄이 20개를 넘으면 Claude Code는 처음 20개를 출력하고 나머지는 `…and N more`로 대체합니다.3153문제 줄이 20개를 넘으면 Claude Code는 처음 20개를 출력하고 나머지는 `…and N more`로 대체합니다.

3103 3154 

3104`--print`와 함께 사용하면 `--agents`는 인라인 객체 대신 [JSON 파일 경로](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope)도 받습니다. v2.1.281 이전에는 `--agents`가 인라인 JSON만 받았으며 파일 경로를 잘못된 JSON으로 처리했습니다. 파일 형식에는 자체적인 거부 메시지가 있으며, 이 메시지 대신 출력됩니다. 다음은 그 예입니다:3155`--print`를 사용하면 `--agents`는 인라인 객체 대신 [JSON 파일 경로](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope)도 받습니다. v2.1.281 이전에는 `--agents`가 인라인 JSON만 받았으며 파일 경로를 잘못된 JSON으로 처리했습니다. 파일 형식에는 자체 거부 메시지가 있으며, 이 메시지 대신 다음과 같은 메시지가 출력됩니다.

3105 3156 

3106* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code가 대화형 세션에서 값을 파일 경로로 읽었습니다. 정의를 인라인 JSON으로 전달하거나, 파일에서 읽으려면 `-p`를 추가합니다.3157* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: 대화형 세션에서 Claude Code가 값을 파일 경로로 읽었습니다. 정의를 인라인 JSON으로 전달하거나, 파일에서 읽으려면 `-p`를 추가합니다.

3107* **`Error: --agents file not found: <path>`**: 해당 경로에 파일이 없습니다. `{`로 시작하지 않고 유효한 JSON이 아닌 값은 경로로 읽히므로, 셸이 망가뜨린 인라인 JSON도 이런 방식으로 실패할 수 있습니다. 경로나 따옴표 처리를 확인하고 명령을 다시 실행합니다.3158* **`Error: --agents file not found: <path>`**: 해당 경로에 파일이 없습니다. `{`로 시작하지 않고 유효한 JSON이 아닌 값은 경로로 읽히므로, 셸이 손상시킨 인라인 JSON도 이런 방식으로 실패할 수 있습니다. 경로나 따옴표 처리를 확인하고 명령을 다시 실행합니다.

3108 3159 

3109**해결 방법:**3160**해결 방법:**

3110 3161 

3111* 메시지에 나열된 각 문제를 수정한 다음 명령을 다시 실행합니다. [CLI로 정의한 서브에이전트가 받는 필드](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope)를 참조하십시오.3162* 메시지에 나열된 각 문제를 수정한 다음 명령을 다시 실행합니다. [CLI로 정의한 서브에이전트가 받는 필드](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope)를 참조하세요.

3112 3163 

3113### `--restricted` 세션에서는 클라우드 세션을 만들 수 없음3164### Cloud sessions cannot be created from a `--restricted` session

3114 3165 

3115[`--restricted`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 세션을 시작하면 Claude Code는 해당 세션에서 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#from-terminal-to-cloud)을 만드는 것을 거부합니다. 새 세션은 제한된 프로세스 외부에서 실행되어 제한 모드를 적용하지 않기 때문입니다. Claude Code는 서버에 연결하기 전에 클라이언트에서 거부하므로 클라우드 세션이 생성되지 않습니다:3166[`--restricted`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 세션을 시작하면 Claude Code는 해당 세션에서 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#from-terminal-to-cloud)을 만드는 것을 거부합니다. 새 세션은 제한된 프로세스 외부에서 실행되어 제한 모드를 적용하지 않기 때문입니다. Claude Code는 서버에 연결하기 전에 클라이언트에서 거부하므로 클라우드 세션은 생성되지 않습니다.

3116 3167 

3117```text theme={null}3168```text theme={null}

3118Cloud sessions cannot be created from a --restricted session: they would not enforce it.3169Cloud sessions cannot be created from a --restricted session: they would not enforce it.


3121**해결 방법:**3172**해결 방법:**

3122 3173 

3123* 제한된 세션에서 작업을 로컬로 실행합니다3174* 제한된 세션에서 작업을 로컬로 실행합니다

3124* 세션 실행 방식을 제어할 수 있다면 `--restricted` 없이 새 `claude` 세션을 시작하고 그곳에서 클라우드 세션을 만듭니다3175* 세션이 시작되는 방식을 제어할 수 있다면 `--restricted` 없이 새 `claude` 세션을 시작하고 그곳에서 클라우드 세션을 만듭니다

3125 3176 

3126v2.1.248 이전의 Claude Code에는 `--restricted` 플래그가 없었으며, 이전 버전은 알 수 없는 옵션 오류로 플래그 자체를 거부합니다.3177v2.1.248 이전에는 Claude Code에 `--restricted` 플래그가 없었으며, 이전 버전은 알 수 없는 옵션 오류로 플래그 자체를 거부합니다.

3127 3178 

3128### 조직 정책에 의해 클라우드 세션이 비활성화됨3179### Cloud sessions are disabled by your organization's policy

3129 3180 

3130조직의 `allow_remote_sessions` 정책이 꺼져 있어 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)과 이를 사용하는 명령을 사용할 수 없습니다:3181조직의 `allow_remote_sessions` 정책이 꺼져 있으므로 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)과 이를 사용하는 명령을 사용할 수 없습니다.

3131 3182 

3132```text theme={null}3183```text theme={null}

3133Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.3184Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.

3134```3185```

3135 3186 

3136이 메시지는 [터미널에서 클라우드 세션을 만들 때](https://code.claude.com/docs/ko/claude-code-on-the-web.md#from-terminal-to-cloud)와 `/teleport`, `/remote-env`, `/web-setup`처럼 클라우드 세션이 필요한 명령을 제출할 때 표시됩니다. v2.1.268 이전에는 이러한 명령을 제출하면 대신 [`Unknown command`](#unknown-command)가 반환되었습니다.3187이 메시지는 [터미널에서 클라우드 세션을 만들 때](https://code.claude.com/docs/ko/claude-code-on-the-web.md#from-terminal-to-cloud)와 `/teleport`, `/remote-env`, `/web-setup`처럼 클라우드 세션이 필요한 명령을 제출할 때 나타납니다. v2.1.268 이전에는 이러한 명령을 제출하면 대신 [`Unknown command`](#unknown-command)가 반환되었습니다.

3137 3188 

3138메시지가 대신 이 세션에서 사용 중인 자격 증명을 지목하고 `Cloud sessions use your claude.ai login.`으로 끝나는 경우, [Cloud sessions use your claude.ai login](#cloud-sessions-use-your-claude-ai-login)을 참조하십시오. Claude Code가 조직의 정책을 전혀 로드하지 못한 경우에는 대신 [다른 메시지](#couldnt-verify-your-organizations-policy-for-cloud-sessions)가 표시됩니다.3189메시지에 이 세션이 사용 중인 자격 증명이 표시되고 `Cloud sessions use your claude.ai login.`으로 끝나는 경우 [Cloud sessions use your claude.ai login](#cloud-sessions-use-your-claude-ai-login)을 참조하세요. Claude Code가 조직의 정책을 전혀 불러오지 못한 경우에는 대신 [다른 메시지](#couldnt-verify-your-organizations-policy-for-cloud-sessions)가 표시됩니다.

3139 3190 

3140**해결 방법:**3191**해결 방법:**

3141 3192 

3142* 조직의 [Owner](https://code.claude.com/docs/ko/server-managed-settings.md#access-control)에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)의 Claude Code 관리자 설정에서 클라우드 세션을 활성화하도록 요청합니다3193* 조직의 [Owner](https://code.claude.com/docs/ko/server-managed-settings.md#access-control)에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)의 Claude Code 관리자 설정에서 클라우드 세션을 활성화해 달라고 요청합니다

3143 3194 

3144### Cloud sessions use your claude.ai login3195### Cloud sessions use your claude.ai login

3145 3196 

3146[정책 거부](#cloud-sessions-are-disabled-by-your-organizations-policy) 메시지가 이 세션에서 사용 중인 자격 증명을 지목하고 이 문장으로 끝나는 경우, Claude Code는 해당 자격 증명을 발급한 조직의 클라우드 세션 정책을 확인한 것입니다. 그 조직은 claude.ai 로그인이 속한 조직과 다를 수 있습니다:3197[정책 거부](#cloud-sessions-are-disabled-by-your-organizations-policy) 메시지에 이 세션이 사용 중인 자격 증명이 표시되고 이 문장으로 끝나는 경우, Claude Code는 해당 자격 증명을 발급한 조직의 클라우드 세션 정책을 확인한 것입니다. 이 조직은 claude.ai 로그인이 속한 조직과 다를 수 있습니다.

3147 3198 

3148```text theme={null}3199```text theme={null}

3149Cloud sessions are disabled by your organization's policy. This session is using ANTHROPIC_API_KEY, so Claude Code checked the policy for the organization that key belongs to. Cloud sessions use your claude.ai login.3200Cloud sessions are disabled by your organization's policy. This session is using ANTHROPIC_API_KEY, so Claude Code checked the policy for the organization that key belongs to. Cloud sessions use your claude.ai login.


3153 3204 

3154### Couldn't verify your organization's policy for cloud sessions3205### Couldn't verify your organization's policy for cloud sessions

3155 3206 

3156이 메시지들은 Claude Code가 조직의 정책을 로드하지 못했음을 의미합니다. Claude Code는 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)을 생성하거나, 재개하거나, 메시지를 보내기 전에 이 정책을 확인합니다. 정책 요청이 아직 완료되지 않은 동안에는 메시지가 다음과 같습니다:3207이 메시지는 Claude Code가 조직의 정책을 불러오지 못했다는 의미입니다. Claude Code는 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)을 만들거나, 재개하거나, 메시지를 보내기 전에 이 정책을 확인합니다. 정책 요청이 아직 완료되지 않은 동안 표시되는 메시지는 다음과 같습니다.

3157 3208 

3158```text theme={null}3209```text theme={null}

3159Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.3210Couldn't verify your organization's policy for cloud sessions. Check your network connection and try again.

3160```3211```

3161 3212 

3162세션 내에서 `/teleport`나 `/web-setup`처럼 클라우드 세션이 필요한 명령도 이 메시지를 표시합니다. 셸이라면 `Cloud sessions aren't available:` 형식을 출력할 상황에서도 마찬가지이며, 두 번째 문장은 `Check your network connection, then restart Claude Code and try again.`입니다.3213세션 내에서 `/teleport`나 `/web-setup`처럼 클라우드 세션이 필요한 명령도 이 메시지를 표시합니다. 셸이라면 `Cloud sessions aren't available:` 형식을 출력할 상황에서도 이 메시지가 표시되며, 두 번째 문장은 `Check your network connection, then restart Claude Code and try again.`입니다.

3163 3214 

3164정책 요청이 실패하면 메시지에 무엇이 실패했는지가 표시됩니다. 이는 `--cloud` 또는 `--teleport` 같은 플래그로 셸에서 클라우드 세션을 시작하거나, 재개하거나, 메시지를 보낼 때 적용됩니다. API에 연결할 경로가 없으면 다음과 같이 표시됩니다:3215정책 요청이 실패하면 메시지에 실패한 내용이 표시됩니다. 이는 `--cloud` 또는 `--teleport` 같은 플래그로 셸에서 클라우드 세션을 시작하거나, 재개하거나, 메시지를 보낼 때 적용됩니다. API로 가는 경로가 없으면 다음과 같이 표시됩니다.

3165 3216 

3166```text theme={null}3217```text theme={null}

3167Cloud sessions aren't available: couldn't reach api.anthropic.com to load your organization's policy. Check your network or proxy.3218Cloud sessions aren't available: couldn't reach api.anthropic.com to load your organization's policy. Check your network or proxy.

3168```3219```

3169 3220 

3170다른 실패도 같은 시작 문구 뒤에 HTTP 403으로 요청을 거부한 프록시, 서버 오류, API가 받아들이지 않은 자격 증명 등 각자의 원인이 이어집니다. 이 세션이 claude.ai 로그인 대신 사용하는 자격 증명(예: `ANTHROPIC_API_KEY` 환경 변수)을 API가 받아들이지 않은 경우, 메시지에 해당 자격 증명이 지목되고 설정을 해제하라는 안내가 포함될 수도 있습니다:3221다른 실패도 같은 시작 부분 뒤에 HTTP 403으로 요청을 거부한 프록시, 서버 오류, API가 받아들이지 않은 자격 증명 등 각각의 원인이 이어집니다. 이 세션이 claude.ai 로그인 대신 사용하는 자격 증명(예: `ANTHROPIC_API_KEY` 환경 변수)을 API가 받아들이지 않은 경우, 메시지에 해당 자격 증명의 이름과 설정을 해제하라는 안내가 표시될 수도 있습니다.

3171 3222 

3172```text theme={null}3223```text theme={null}

3173Cloud sessions aren't available: api.anthropic.com didn't accept this session's credentials when Claude Code asked for your organization's policy. Cloud sessions use your claude.ai login. ANTHROPIC_API_KEY is set, so this session is using API-key auth — unset it (or run in a shell without it) to use cloud sessions.3224Cloud sessions aren't available: api.anthropic.com didn't accept this session's credentials when Claude Code asked for your organization's policy. Cloud sessions use your claude.ai login. ANTHROPIC_API_KEY is set, so this session is using API-key auth — unset it (or run in a shell without it) to use cloud sessions.

3174```3225```

3175 3226 

3176v2.1.296 이전에는 이러한 실패에서도 `Couldn't verify` 메시지가 출력되었습니다.3227v2.1.296 이전에는 이러한 실패에도 `Couldn't verify` 메시지가 출력되었습니다.

3177 3228 

3178**해결 방법:**3229**해결 방법:**

3179 3230 

3180* `Couldn't verify` 메시지의 경우 네트워크 연결을 확인하고 다시 시도합니다. 세션 내라면 먼저 Claude Code를 다시 시작합니다3231* `Couldn't verify` 메시지의 경우 네트워크 연결을 확인하고 다시 시도합니다. 세션 내에서는 먼저 Claude Code를 다시 시작합니다

3181* `Cloud sessions aren't available:` 메시지의 경우 프록시 확인이나 메시지가 지목한 자격 증명의 설정 해제 등 원인에 맞는 조치를 취한 다음 명령을 다시 실행합니다3232* `Cloud sessions aren't available:` 메시지의 경우 프록시 확인이나 메시지에 표시된 자격 증명 설정 해제 등 원인에 맞는 조치를 취한 다음 명령을 다시 실행합니다

3182 3233 

3183### 폴더가 추적 중인 파일을 대체하여 아무것도 stash되지 않음3234### 폴더가 추적 파일을 대체하여 아무것도 stash되지 않음

3184 3235 

3185이 메시지는 체크아웃에서 git이 추적하던 파일이나 링크가 있던 자리에 이제 폴더가 있다는 의미입니다. 예를 들어 `claude --teleport` 또는 `/teleport`로 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#from-cloud-to-terminal)을 터미널로 가져오는 중에 stash 옵션을 선택한 후 나타납니다. 이 상태를 stash하면 폴더 안의 파일이 삭제될 수 있으므로, Claude Code는 stash를 거부하고 체크아웃과 인덱스를 변경하지 않은 채 둡니다:3236이 메시지는 체크아웃에서 git이 추적하던 파일이나 링크가 있던 위치에 이제 폴더가 있다는 의미입니다. `claude --teleport` 또는 `/teleport` 등으로 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#from-cloud-to-terminal)을 터미널로 가져오는 중에 stash 옵션을 선택한 후 나타납니다. 이 상태를 stash하면 폴더 안의 파일이 삭제될 수 있으므로 Claude Code는 stash를 거부하고 체크아웃과 인덱스를 변경하지 않고 그대로 둡니다.

3186 3237 

3187```text wrap theme={null}3238```text wrap theme={null}

3188Error: Nothing was stashed: "f" is now a folder in place of a tracked file or link, and stashing could delete what's in it for good. Commit the change or move the folder somewhere else, then try again.3239Error: Nothing was stashed: "f" is now a folder in place of a tracked file or link, and stashing could delete what's in it for good. Commit the change or move the folder somewhere else, then try again.


3190 3241 

3191**해결 방법:**3242**해결 방법:**

3192 3243 

3193* 메시지에 안내된 대로 변경 사항을 커밋하거나 폴더를 다른 곳으로 옮긴 다음 teleport를 다시 실행합니다3244* 메시지 안내대로 변경 사항을 커밋하거나 폴더를 다른 곳으로 옮긴 다음 teleport를 다시 실행합니다

3194 3245 

3195### `--json-schema` 값이 유효한 JSON Schema가 아님3246### The `--json-schema` value is not a valid JSON Schema

3196 3247 

3197[비대화형 모드](https://code.claude.com/docs/ko/headless.md#get-structured-output)에서 [`--json-schema`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에 전달한 스키마가 JSON Schema 컴파일에 실패하여 `claude`가 프롬프트를 실행하지 않고 종료 코드 1로 종료됩니다. v2.1.205 이전에는 잘못된 스키마가 오류 없이 구조화되지 않은 출력을 생성했으며, `format` 키워드를 사용하는 스키마는 모두 잘못된 것으로 처리되었습니다.3248[비대화형 모드](https://code.claude.com/docs/ko/headless.md#get-structured-output)에서 [`--json-schema`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에 전달한 스키마가 JSON Schema 컴파일에 실패했으므로 `claude`가 프롬프트를 실행하지 않고 종료 코드 1로 종료됩니다. v2.1.205 이전에는 잘못된 스키마가 오류 없이 구조화되지 않은 출력을 생성했으며, `format` 키워드를 사용한 스키마는 모두 유효하지 않은 것으로 처리되었습니다.

3198 3249 

3199```text theme={null}3250```text theme={null}

3200Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values3251Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values

3201```3252```

3202 3253 

3203두 번째 콜론 뒤의 텍스트는 검증기의 진단 내용이며 실패한 키워드나 위치를 알려 줍니다. `"format": "email"`처럼 `format` 키워드를 사용하는 스키마는 유효합니다. Claude Code는 `format`을 주석으로 받아들이며 이를 강제하지 않습니다.3254두 번째 콜론 뒤의 텍스트는 검증기의 진단 메시지이며 실패한 키워드나 위치를 나타냅니다. `"format": "email"`처럼 `format` 키워드를 사용하는 스키마는 유효합니다. Claude Code는 `format`을 주석으로 받아들이며 이를 강제하지 않습니다.

3204 3255 

3205Claude Code는 스키마 컴파일 전에 두 가지 검사를 실행합니다. 파싱할 수 없는 JSON 값은 `Error: --json-schema is not valid JSON`으로 거부하고, 객체가 아닌 유효한 JSON은 `Error: --json-schema must be a JSON object`로 거부합니다.3256Claude Code는 스키마 컴파일 전에 두 가지 검사를 실행합니다. 구문 분석할 수 없는 JSON 값은 `Error: --json-schema is not valid JSON`으로, 객체가 아닌 유효한 JSON은 `Error: --json-schema must be a JSON object`로 거부합니다.

3206 3257 

3207**해결 방법:**3258**해결 방법:**

3208 3259 

3209* 진단 내용이 가리키는 스키마 부분을 수정한 다음 명령을 다시 실행합니다3260* 진단 메시지가 가리키는 스키마 부분을 수정한 다음 명령을 다시 실행합니다

3210* 작동하는 스키마와 명령은 [구조화된 출력 얻기](https://code.claude.com/docs/ko/headless.md#get-structured-output)를 참조하십시오3261* 작동하는 스키마와 명령은 [구조화된 출력 받기](https://code.claude.com/docs/ko/headless.md#get-structured-output)를 참조하세요

3211 3262 

3212### 설정 파일이 2MiB 제한을 초과함3263### Settings file exceeds the 2MiB limit

3213 3264 

3214[`--settings`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에 전달한 파일이 2MiB보다 커서 `claude`가 파일을 로드하지 않고 시작 시 종료 코드 1로 종료됩니다. v2.1.214 이전에는 Claude Code가 크기 검사 없이 파일을 읽었기 때문에, 수 기가바이트 크기의 파일이나 `/dev/zero` 같은 장치 파일로 인해 메모리가 무한히 증가했습니다.3265[`--settings`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에 전달한 파일이 2 MiB보다 크므로 `claude`가 파일을 불러오지 않고 시작 시 종료 코드 1로 종료됩니다. v2.1.214 이전에는 Claude Code가 크기 검사 없이 파일을 읽었기 때문에, 수 기가바이트 크기의 파일이나 `/dev/zero` 같은 장치 파일로 인해 메모리가 한없이 증가했습니다.

3215 3266 

3216```text theme={null}3267```text theme={null}

3217Error: Settings file exceeds the 2MiB limit: /path/to/settings.json3268Error: Settings file exceeds the 2MiB limit: /path/to/settings.json

3218```3269```

3219 3270 

3220Claude Code는 일반 파일이 아닌 `--settings` 경로도 같은 방식으로 거부합니다. 장치, FIFO 또는 소켓의 경우 `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` 뒤에 경로가 표시되고, 디렉터리의 경우 `EISDIR` 사유가 표시됩니다.3271Claude Code는 일반 파일이 아닌 `--settings` 경로도 같은 방식으로 거부합니다. 장치, FIFO, 소켓은 `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))` 뒤에 경로를 표시하고, 디렉터리는 `EISDIR` 사유를 표시합니다.

3272 

3273**해결 방법:**

3274 

3275* `--settings`가 2 MiB 미만의 일반 JSON 설정 파일을 가리키도록 합니다. 형식은 [설정](https://code.claude.com/docs/ko/settings.md)을 참조하세요.

3276 

3277### Configuration error in \~/.claude.json

3278 

3279Claude Code가 계정 정보, MCP 서버, 프로젝트별 상태를 저장하는 파일인 `~/.claude.json`을 구문 분석하지 못했습니다. 파일은 변경되지 않았습니다. `claude -p` 같은 [비대화형](https://code.claude.com/docs/ko/headless.md) 시작은 파일을 복구할 때까지 매번 종료 코드 1로 종료됩니다.

3280 

3281Claude Code가 [백업](https://code.claude.com/docs/ko/claude-directory.md#cleaned-up-automatically)을 찾으면 출력에 백업 이름과 이를 다시 복사하는 `cp` 줄이 표시됩니다.

3282 

3283```text wrap theme={null}

3284Claude configuration file at /home/user/.claude.json is corrupted: <JSON parser's message>

3285The corrupted file has been backed up to: /home/user/.claude/backups/.claude.json.corrupted.1793664000000

3286A backup file exists at: /home/user/.claude/backups/.claude.json.backup.1793660400000

3287You can manually restore it by running: cp -f "/home/user/.claude/backups/.claude.json.backup.1793660400000" "/home/user/.claude.json"

3288 

3289Configuration error in /home/user/.claude.json: <JSON parser's message>

3290```

3291 

3292**해결 방법:**

3293 

3294* **출력에 `cp` 줄이 있는 경우**: 터미널에서 해당 줄을 실행합니다. Windows에서는 PowerShell에서 실행합니다. 손상된 파일을 `~/.claude.json`의 이전 버전인 백업으로 대체합니다.

3295* **출력에 `cp` 줄이 없거나 실행 후에도 오류가 다시 발생하는 경우**: `~/.claude.json`의 JSON을 수정하거나, [`~/.claude/backups/`](https://code.claude.com/docs/ko/claude-directory#cleaned-up-automatically)에 다른 `.claude.json.backup.<timestamp>` 파일이 있으면 그 파일로 덮어쓰거나, 파일 이름을 변경합니다. `~/.claude.json`에 파일이 없으면 Claude Code는 기본 설정으로 시작하며 파일에 있던 내용은 모두 사용되지 않습니다.

3296 

3297v2.1.318 이전에는 비대화형 시작에서 이 오류가 출력된 후 `~/.claude.json`이 기본값으로 남아, 다음 시작이 기존 구성 없이 실행되었습니다.

3298 

3299### Claude configuration file was empty and no backup holds anything

3300 

3301시작 시 나타나는 이 메시지는 메시지에 표시된 파일이 비어 있고 해당 파일의 [`.backup` 사본](https://code.claude.com/docs/ko/claude-directory#cleaned-up-automatically)에도 아무 내용이 없다는 의미입니다. Claude Code는 해당 파일이 담는 내용에 대해 기본값으로 시작했습니다. `settings.json` 파일과 `.mcp.json`은 별도의 파일입니다.

3302 

3303```text wrap theme={null}

3304Claude configuration file at /home/user/.claude.json was empty and no backup holds anything: starting with defaults.

3305```

3221 3306 

3222**해결 방법:**3307**해결 방법:**

3223 3308 

3224* `--settings`가 2MiB 미만의 일반 JSON 설정 파일을 가리키도록 합니다. 형식은 [설정](https://code.claude.com/docs/ko/settings.md)을 참조하십시오.3309* 해당 파일에 구성해 두었던 내용을 다시 설정합니다. 예를 들어 터미널에서 `claude mcp add`로 `user` 및 `local` 범위의 [MCP 서버](https://code.claude.com/docs/ko/mcp.md#mcp-installation-scopes)를 추가합니다.

3310* Claude Code가 요청하면 다시 로그인합니다

3311 

3312v2.1.318 이전에는 Claude Code가 백업 없는 빈 파일을 [손상됨](#configuration-error-in-claude-json)으로 보고했습니다.

3225 3313 

3226### 현재 디렉터리가 더 이상 존재하지 않음3314### The current directory no longer exists

3227 3315 

3228셸이 진입한 후 삭제되거나 이동된 디렉터리(예: 다른 셸이 제거한 worktree 또는 임시 디렉터리)에서 `claude`를 시작했습니다. Claude Code는 작업 디렉터리를 읽을 수 없으므로 대화형 모드와 [비대화형](https://code.claude.com/docs/ko/headless.md) 모드 모두에서 세션을 시작하기 전에 종료 코드 1로 종료됩니다. v2.1.239 이전에는 이 메시지 대신 Claude Code가 축소된 번들 소스와 원시 `ENOENT ... uv_cwd` 스택을 stderr에 출력하며 충돌했습니다.3316셸이 진입한 후 삭제되거나 이동된 디렉터리(예: 다른 셸이 제거한 worktree나 임시 디렉터리)에서 `claude`를 시작했습니다. Claude Code가 작업 디렉터리를 읽을 수 없으므로 대화형 모드와 [비대화형](https://code.claude.com/docs/ko/headless.md) 모드 모두에서 세션을 시작하기 전에 종료 코드 1로 종료됩니다. v2.1.239 이전에는 이 메시지 대신 Claude Code가 축소된 번들 소스와 원시 `ENOENT ... uv_cwd` 스택을 stderr에 출력하며 충돌했습니다.

3229 3317 

3230```text theme={null}3318```text theme={null}

3231The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.3319The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.

3232error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.3320error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.

3233```3321```

3234 3322 

3235두 형식 모두 원인과 해결 방법이 같습니다.3323두 형식 모두 원인과 해결 방법은 같습니다.

3236 3324 

3237권한 변경 등 다른 이유로 Claude Code가 작업 디렉터리를 읽을 수 없는 경우, 메시지에는 대신 오류 코드가 표시됩니다: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`3325권한 변경 등 다른 이유로 Claude Code가 작업 디렉터리를 읽을 수 없으면 메시지에 대신 오류 코드가 표시됩니다: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`

3238 3326 

3239macOS에서 `~/Desktop`, `~/Documents`, `~/Downloads` 또는 iCloud Drive에 있는 디렉터리에 대한 `EPERM`은 대개 macOS가 터미널 앱의 해당 폴더 접근을 차단하고 있음을 의미합니다. 해당 폴더를 읽는 다른 명령도 같은 방식으로 실패합니다. 그곳에서 `ls`를 실행하면 `sudo`를 사용하더라도 `Operation not permitted`가 표시됩니다.3327macOS에서 `~/Desktop`, `~/Documents`, `~/Downloads` 또는 iCloud Drive에 있는 디렉터리에 대해 `EPERM`이 발생하면 대개 macOS가 터미널 앱의 해당 폴더 접근을 차단하고 있다는 의미입니다. 해당 폴더를 읽는 다른 명령도 같은 방식으로 실패하며, 그곳에서 `ls`를 실행하면 `sudo`를 사용하더라도 `Operation not permitted`가 표시됩니다.

3240 3328 

3241**해결 방법:**3329**해결 방법:**

3242 3330 

3243* 홈 디렉터리나 프로젝트 디렉터리처럼 존재하는 디렉터리로 이동한 다음 `claude`를 다시 실행합니다3331* 홈 디렉터리나 프로젝트 디렉터리처럼 존재하는 디렉터리로 이동한 다음 `claude`를 다시 실행합니다

3244* 디렉터리가 같은 경로에 다시 생성된 경우에도 셸은 여전히 삭제된 디렉터리를 붙잡고 있습니다. `cd "$PWD"`를 실행하거나 디렉터리에서 나갔다가 다시 들어간 다음 `claude`를 다시 실행합니다3332* 디렉터리가 같은 경로에 다시 생성된 경우 셸은 여전히 삭제된 디렉터리를 가리키고 있습니다. `cd "$PWD"`를 실행하거나 디렉터리에서 나갔다가 다시 들어간 다음 `claude`를 다시 실행합니다

3245* macOS에서 `EPERM`이 발생하면 Cmd+Q로 터미널 앱을 종료하고 다시 연 다음, 해당 폴더로 돌아가 `claude`를 실행합니다. 그 폴더에서 `ls`가 여전히 실패하면 **시스템 설정 > 개인정보 보호 및 보안 > 파일 및 폴더**를 열고 터미널 앱에 대해 해당 폴더를 켠 다음 터미널을 다시 엽니다3333* macOS에서 `EPERM`이 발생하면 Cmd+Q로 터미널 앱을 종료하고 다시 연 다음, 해당 폴더로 돌아가 `claude`를 실행합니다. 그래도 해당 폴더에서 `ls`가 실패하면 **System Settings > Privacy & Security > Files and Folders**를 열고 터미널 앱에 대해 해당 폴더를 켠 다음 터미널을 다시 엽니다

3246 3334 

3247### 임시 디렉터리가 거부되었거나 생성할 수 없음3335### 임시 디렉터리가 거부되었거나 생성할 수 없음

3248 3336 

3249macOS와 Linux에서 Claude Code는 시작 시 시스템 임시 디렉터리 또는 [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars) 재정의 경로 아래에 비공개 임시 디렉터리 `claude-<uid>`를 만듭니다. 디렉터리를 만들 수 없거나 해당 경로에 이미 있는 항목이 안전 검사를 통과하지 못하면, Claude Code는 세션을 시작하지 않고 실패 내용을 stderr에 출력한 후 종료 코드 1로 종료됩니다:3337macOS와 Linux에서 Claude Code는 시작 시 시스템 임시 디렉터리 또는 [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars) 재정의 위치 아래에 전용 임시 디렉터리 `claude-<uid>`를 만듭니다. 디렉터리를 만들 수 없거나 해당 경로에 이미 있는 항목이 안전성 검사를 통과하지 못하면, Claude Code는 세션을 시작하지 않고 실패 내용을 stderr에 출력한 뒤 종료 코드 1로 종료됩니다.

3250 3338 

3251```text wrap theme={null}3339```text wrap theme={null}

3252Claude Code's temporary directory /tmp/claude-501 could not be created: the volume holding /tmp is full (ENOSPC). Free space on that volume, or set CLAUDE_CODE_TMPDIR to a directory on another one, then try again.3340Claude Code's temporary directory /tmp/claude-501 could not be created: the volume holding /tmp is full (ENOSPC). Free space on that volume, or set CLAUDE_CODE_TMPDIR to a directory on another one, then try again.


3260 3348 

3261**해결 방법:**3349**해결 방법:**

3262 3350 

3263* `could not be created` 뒤에 `is full (ENOSPC)`가 오는 경우, 메시지에 표시된 볼륨의 디스크 공간을 확보합니다. 대신 `your disk quota on the volume holding /tmp is used up (EDQUOT)`가 표시되면 해당 볼륨에서 더 이상 필요하지 않은 자신의 파일을 삭제합니다3351* `could not be created` 뒤에 `is full (ENOSPC)`가 표시되면 메시지에 표시된 볼륨의 디스크 공간을 확보합니다. 대신 `your disk quota on the volume holding /tmp is used up (EDQUOT)`가 표시되면 해당 볼륨에서 더 이상 필요하지 않은 본인 파일을 삭제합니다

3264* `Refusing to use it` 형식의 경우 링크가 가리키는 대상이 아니라 메시지에 표시된 항목 자체를 제거하고 Claude Code를 다시 시작합니다. `owned by uid` 형식의 경우 관리자나 해당 사용자만 제거할 수 있습니다3352* `Refusing to use it` 형식의 경우 링크가 가리키는 대상이 아니라 메시지에 표시된 항목 자체를 제거하고 Claude Code를 다시 시작합니다. `owned by uid` 형식의 경우 관리자나 해당 사용자만 이를 제거할 수 있습니다

3265* `is not readable`의 경우 표시된 디렉터리에 `chmod 0700`을 실행하거나, 디렉터리를 제거하고 다시 시작합니다3353* `is not readable`의 경우 표시된 디렉터리에 `chmod 0700`을 실행하거나, 디렉터리를 제거하고 다시 시작합니다

3266* 어떤 경우든 거부된 경로는 그대로 두고 [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars)를 직접 제어하는 디렉터리로 설정한 다음 Claude Code를 다시 시작할 수 있습니다3354* 어떤 경우든 거부된 경로는 그대로 두고 [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars)를 직접 제어하는 디렉터리로 설정한 다음 Claude Code를 다시 시작할 수 있습니다

3267 3355 

3268v2.1.309 이전에는 볼륨이 가득 차거나 할당량을 모두 사용한 경우 Claude Code가 운영 체제의 오류 텍스트만 출력했습니다. 예를 들어 `ENOSPC: no space left on device, mkdir '/tmp/claude-501'`이며, 같은 단계가 적용됩니다.3356v2.1.309 이전에는 볼륨이 가득 찼거나 할당량을 모두 사용한 경우 Claude Code가 운영 체제의 오류 텍스트만 출력했습니다. 예를 들면 `ENOSPC: no space left on device, mkdir '/tmp/claude-501'`이며, 같은 단계가 적용됩니다.

3269 3357 

3270### 디렉터리를 실제 위치로 확인할 수 없음3358### Directory couldn't be resolved to a real location

3271 3359 

3272작업 디렉터리의 하위 디렉터리에 대해 `/add-dir`을 실행했지만 Claude Code가 해당 디렉터리의 실제 위치를 확인할 수 없었습니다.3360작업 디렉터리의 하위 디렉터리에 대해 `/add-dir`을 실행했는데, Claude Code가 해당 디렉터리를 실제 위치로 확인하지 못했습니다.

3273 3361 

3274작업 디렉터리의 하위 디렉터리에는 이미 파일 접근 권한이 있으므로 `/add-dir`은 해당 디렉터리의 스킬, 명령, 에이전트만 로드합니다. 이를 로드하기 전에 Claude Code는 심볼릭 링크를 모두 확인한 디렉터리의 실제 위치가 작업 디렉터리 내부에 있는지 검사합니다. Claude Code가 그 위치를 확인할 수 없으면 아무것도 로드하지 않고 다음 메시지를 표시합니다:3362작업 디렉터리의 하위 디렉터리에는 이미 파일 접근 권한이 있으므로 `/add-dir`은 해당 디렉터리의 스킬, 명령, 에이전트만 불러옵니다. 이를 불러오기 전에 Claude Code는 심볼릭 링크를 모두 해석한 디렉터리의 실제 위치가 작업 디렉터리 안에 있는지 확인합니다. Claude Code가 해당 위치를 확인할 수 없으면 아무것도 불러오지 않고 다음 메시지를 표시합니다.

3275 3363 

3276```text theme={null}3364```text theme={null}

3277packages/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.3365packages/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.


3279 3367 

3280**해결 방법:**3368**해결 방법:**

3281 3369 

3282* 경로가 작업 디렉터리 내부의 실제 디렉터리를 가리키는지 확인한 다음 `/add-dir`을 다시 실행합니다3370* 경로가 작업 디렉터리 안의 실제 디렉터리를 가리키는지 확인한 다음 `/add-dir`을 다시 실행합니다

3283* 이 메시지는 파일 접근 권한을 변경하지 않으며, 디렉터리의 `.claude/` 콘텐츠가 로드되지 않았음을 알릴 뿐입니다3371* 이 메시지는 파일 접근 권한을 변경하지 않으며, 디렉터리의 `.claude/` 콘텐츠가 로드되지 않았다는 사실만 알립니다

3284 3372 

3285v2.1.261 이전에는 작업 디렉터리가 `/net/<host>` 자동 마운트에 있을 때 모든 `/add-dir <subdirectory>`에 대해 이 메시지가 표시되었습니다. Claude Code는 설계상 그러한 위치의 경로를 확인하지 않으므로, 디렉터리에 문제가 없었고 재시도해도 소용이 없었습니다.3373v2.1.261 이전에는 작업 디렉터리가 `/net/<host>` 자동 마운트에 있을 때 모든 `/add-dir <subdirectory>`에 대해 이 메시지가 나타났습니다. 해당 위치에서는 Claude Code가 설계상 경로 확인을 하지 않으므로, 디렉터리에는 문제가 없었고 재시도해도 소용이 없었습니다.

3286 3374 

3287### Remote Control 시작 시 워크스페이스를 신뢰하지 않음3375### Workspace not trusted when starting Remote Control

3288 3376 

3289> [!NOTE]3377> [!NOTE]

3290>3378>

3291> `claude ultrareview`가 `Error: Workspace not trusted`를 출력한 경우 대신 [claude ultrareview 실행 시 워크스페이스를 신뢰하지 않음](#workspace-not-trusted-when-running-claude-ultrareview)을 참조하세요.3379> `claude ultrareview`가 `Error: Workspace not trusted`를 출력했다면 대신 [claude ultrareview 실행 시 Workspace not trusted](#workspace-not-trusted-when-running-claude-ultrareview)를 참조하세요.

3292 3380 

3293신뢰하지 않은 디렉터리에서 `claude remote-control` 또는 그 별칭인 `claude rc`로 [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 서버 모드를 시작했지만, 명령이 디렉터리를 신뢰할지 물을 수 없었습니다. 예를 들어 표준 입력이나 표준 출력 중 하나가 리디렉션되거나 파이프로 연결되어 터미널이 아닌 경우입니다. 명령은 종료 코드 1로 종료됩니다:3381신뢰하지 않은 디렉터리에서 `claude remote-control` 또는 별칭 `claude rc`로 [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 서버 모드를 시작했는데, 명령이 해당 디렉터리를 신뢰할지 물어볼 수 없었습니다. 예를 들어 표준 입력이나 표준 출력 중 하나가 리디렉션되거나 파이프로 연결되어 터미널이 아닌 경우입니다. 명령은 종료 코드 1로 종료됩니다.

3294 3382 

3295```text theme={null}3383```text theme={null}

3296Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.3384Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.

3297```3385```

3298 3386 

3299`Error: Workspace not trusted.`로 시작하는 두 가지 변형은 디렉터리를 신뢰하면 켜지는 항목을 표시하기에 너무 작은 터미널이나 크기를 보고하지 않는 터미널에서도 나타납니다. 창을 키우거나 일반 터미널 창으로 전환한 다음 `claude rc`를 다시 실행합니다.3387역시 `Error: Workspace not trusted.`로 시작하는 두 가지 변형은 디렉터리를 신뢰했을 때 켜지는 항목을 표시하기에 터미널이 너무 작거나 터미널이 크기를 보고하지 않은 경우에 나타납니다. 창을 키우거나 일반 터미널 창으로 전환한 다음 `claude rc`를 다시 실행합니다.

3300 3388 

3301홈 디렉터리에서는 메시지가 다릅니다. 워크스페이스 신뢰 대화 상자는 홈 디렉터리에 대한 신뢰를 절대 저장하지 않으므로, 그곳에서 신뢰를 수락해도 이 검사를 통과할 수 없기 때문입니다. v2.1.214 이전에는 홈 디렉터리에서 위의 메시지가 표시되었으며, 그 조언은 홈 디렉터리에서 성공할 수 없었습니다.3389홈 디렉터리에서는 메시지가 다릅니다. 워크스페이스 신뢰 대화 상자는 홈 디렉터리에 대한 신뢰를 절대 저장하지 않으므로, 그곳에서 수락해도 이 검사를 통과할 수 없기 때문입니다. v2.1.214 이전에는 홈 디렉터리에서도 위의 메시지가 표시되었는데, 그 안내는 홈 디렉터리에서는 성공할 수 없습니다.

3302 3390 

3303```text theme={null}3391```text theme={null}

3304Error: 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).3392Error: 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).

3305```3393```

3306 3394 

3307[`Trust <directory>?` 질문](https://code.claude.com/docs/ko/remote-control#requirements)에 `n`으로 답하거나 Enter를 누르면, 명령은 디렉터리 이름이 포함된 `Remote Control did not start` 메시지를 출력하고 종료 코드 1로 종료됩니다. `claude rc`를 다시 실행하여 `y`로 답합니다.3395[`Trust <directory>?` 질문](https://code.claude.com/docs/ko/remote-control#requirements)에 `n`으로 답하거나 Enter를 누르면, 명령은 디렉터리 이름이 포함된 `Remote Control did not start` 메시지를 출력하고 종료 코드 1로 종료됩니다. `y`로 답하려면 `claude rc`를 다시 실행합니다.

3308 3396 

3309**해결 방법:**3397**해결 방법:**

3310 3398 

3311* 먼저 터미널에서 디렉터리를 신뢰합니다. 그곳에서 `claude rc`를 실행하고 `y`로 답하거나, `claude`를 실행하고 [워크스페이스 신뢰 대화 상자](https://code.claude.com/docs/ko/permissions.md#project-allow-rules-and-workspace-trust)를 수락한 다음 원래 명령을 다시 실행합니다3399* 먼저 터미널에서 디렉터리를 신뢰합니다. 그곳에서 `claude rc`를 실행하고 `y`로 답하거나, `claude`를 실행하고 [워크스페이스 신뢰 대화 상자](https://code.claude.com/docs/ko/permissions.md#project-allow-rules-and-workspace-trust)를 수락한 다음 원래 명령을 다시 실행합니다

3312* 홈 디렉터리에 있다면 프로젝트 디렉터리로 이동하여 그곳에서 Remote Control을 시작합니다3400* 홈 디렉터리에 있다면 프로젝트 디렉터리로 이동해 그곳에서 Remote Control을 시작합니다

3313 3401 

3314v2.1.284 이전에는 터미널에서도 명령이 묻지 않았습니다.3402v2.1.284 이전에는 터미널에서도 명령이 묻지 않았습니다.

3315 3403 

3316### claude ultrareview 실행 시 워크스페이스를 신뢰하지 않음3404### claude ultrareview 실행 시 Workspace not trusted

3317 3405 

3318신뢰하지 않은 폴더에서 [`claude ultrareview`](https://code.claude.com/docs/ko/ultrareview#trust-the-folder-before-the-review-runs)가 폴더를 신뢰하는지 물어볼 수 없으면, 리뷰가 시작되기 전에 실행이 종료 코드 1로 종료됩니다:3406신뢰하지 않은 폴더에서 [`claude ultrareview`](https://code.claude.com/docs/ko/ultrareview#trust-the-folder-before-the-review-runs)가 해당 폴더를 신뢰하는지 물어볼 수 없으면, 리뷰가 시작되기 전에 실행이 종료 코드 1로 종료됩니다.

3319 3407 

3320```text theme={null}3408```text theme={null}

3321Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog. Or, in a script or CI job, pass `--trust-workspace` to trust the folder for this run only.3409Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog. Or, in a script or CI job, pass `--trust-workspace` to trust the folder for this run only.

3322```3410```

3323 3411 

3324예를 들어 표준 입력이나 표준 출력이 터미널이 아니면 하위 명령이 물어볼 수 없습니다. `claude ultrareview --json > findings.json`처럼 출력을 파일로 보내면 표준 출력이 터미널이 아니게 됩니다.3412예를 들어 하위 명령은 표준 입력이나 표준 출력이 터미널이 아니면 물어볼 수 없습니다. `claude ultrareview --json > findings.json`처럼 출력을 파일로 보내면 표준 출력은 터미널이 아닙니다.

3325 3413 

3326**해결 방법:**3414**해결 방법:**

3327 3415 

3328* 스크립트나 CI 작업에서는 `--trust-workspace`를 추가하여 해당 실행에 한해 폴더를 신뢰합니다: `claude ultrareview --trust-workspace`. 이 플래그를 추가하면 git과 Claude Code가 폴더의 git 구성과 프로젝트 설정에 지정된 프로그램을 실행할 수 있으므로, 신뢰하는 코드에만 추가합니다. 코드를 신뢰하지 않는 풀 리퀘스트의 경우 [신뢰하는 브랜치에서 리뷰를 실행](https://code.claude.com/docs/ko/ultrareview.md#trust-the-folder-before-the-review-runs)합니다.3416* 스크립트나 CI 작업에서는 `--trust-workspace`를 추가해 해당 실행에 대해 폴더를 신뢰합니다: `claude ultrareview --trust-workspace`. 이 경우 git과 Claude Code가 폴더의 git 구성과 프로젝트 설정에 지정된 프로그램을 실행할 수 있으므로, 신뢰하는 코드에 대해서만 추가합니다. 코드를 신뢰하지 않는 풀 리퀘스트라면 [신뢰하는 브랜치에서 리뷰를 실행](https://code.claude.com/docs/ko/ultrareview.md#trust-the-folder-before-the-review-runs)합니다.

3329* 자신의 컴퓨터에서는 해당 폴더에서 `claude`를 실행하고 [워크스페이스 신뢰 대화 상자](https://code.claude.com/docs/ko/permissions.md#project-allow-rules-and-workspace-trust)를 수락한 다음 원래 명령을 다시 실행합니다3417* 자신의 컴퓨터에서는 해당 폴더에서 `claude`를 실행하고 [워크스페이스 신뢰 대화 상자](https://code.claude.com/docs/ko/permissions.md#project-allow-rules-and-workspace-trust)를 수락한 다음 원래 명령을 다시 실행합니다

3330 3418 

3331`claude ultrareview`의 다음 각 메시지는 리뷰가 시작되지 않았고 종료 코드가 1이라는 의미입니다:3419`claude ultrareview`에서 나오는 다음 메시지는 모두 리뷰가 시작되지 않았으며 종료 코드가 1이라는 의미입니다.

3332 3420 

3333* **`Error: Workspace not trusted. This terminal ...`**: 터미널이 행과 열 수를 보고하지 않았거나 신뢰 질문과 경고를 표시할 수 없습니다. 터미널을 키우거나 크기를 보고하는 터미널을 사용한 다음 `claude ultrareview`를 다시 실행합니다. 홈 디렉터리 밖이라면 해당 폴더에서 `claude`를 한 번 실행하고 신뢰 대화 상자를 수락하여 이후 실행에서 묻지 않도록 할 수도 있습니다.3421* **`Error: Workspace not trusted. This terminal ...`**: 터미널이 행과 열 수를 보고하지 않았거나, 신뢰 질문과 경고를 표시할 공간이 부족합니다. 터미널을 키우거나 크기를 보고하는 터미널을 사용한 다음 `claude ultrareview`를 다시 실행합니다. 홈 디렉터리 외부라면 해당 폴더에서 `claude`를 한 번 실행하고 신뢰 대화 상자를 수락해 이후 실행에서 묻지 않도록 할 수도 있습니다.

3334* **`Error: Workspace not trusted. <folder> is your home directory`**: 홈 디렉터리에 대한 신뢰는 저장되지 않으므로, 먼저 그곳에서 `claude`를 실행해도 도움이 되지 않습니다. 대신 프로젝트 디렉터리에서 `claude`를 한 번 실행하여 신뢰 대화 상자를 수락한 후 그곳에서 `claude ultrareview`를 실행하거나, `--trust-workspace`를 추가합니다.3422* **`Error: Workspace not trusted. <folder> is your home directory`**: 홈 디렉터리에 대한 신뢰는 절대 저장되지 않으므로 그곳에서 먼저 `claude`를 실행해도 도움이 되지 않습니다. 대신 프로젝트 디렉터리에서 `claude`를 한 번 실행해 신뢰 대화 상자를 수락한 후 그곳에서 `claude ultrareview`를 실행하거나, `--trust-workspace`를 추가합니다.

3335* **`No answer in time.` 뒤에 `Error: Workspace not trusted`**: `Trust <folder>? [y/N]` 질문에 5분 동안 답하지 않았습니다. `claude ultrareview`를 다시 실행하고 답합니다.3423* **`No answer in time.` 뒤에 `Error: Workspace not trusted`**: `Trust <folder>? [y/N]` 질문에 5분 동안 응답이 없었습니다. `claude ultrareview`를 다시 실행하고 질문에 답합니다.

3336* **`Ultrareview did not start: <folder> is not trusted`**: `n`으로 답하거나 Enter를 누르는 등 `Trust <folder>? [y/N]` 질문을 거절했습니다. 리뷰를 시작하려면 `claude ultrareview`를 다시 실행하고 `y`로 답합니다.3424* **`Ultrareview did not start: <folder> is not trusted`**: `n`으로 답하거나 Enter를 누르는 등 `Trust <folder>? [y/N]` 질문에서 거절했습니다. 리뷰를 시작하려면 `claude ultrareview`를 다시 실행하고 `y`로 답합니다.

3337* **``Ultrareview did not start: `--trust-workspace` takes no value``**: `--trust-workspace` 뒤에 PR 번호나 `false`처럼 플래그가 아닌 것이 왔습니다. 폴더를 신뢰하지 않는다면 플래그를 빼세요. 이번 실행에 대해 신뢰하려면 PR 번호나 기준 브랜치를 플래그 앞에 둡니다: `claude ultrareview 1234 --trust-workspace`.3425* **``Ultrareview did not start: `--trust-workspace` takes no value``**: `--trust-workspace` 뒤에 PR 번호나 `false`처럼 플래그가 아닌 값이 왔습니다. 폴더를 신뢰하지 않는다면 플래그를 빼고 실행합니다. 이번 실행에 대해 신뢰하려면 PR 번호나 기준 브랜치를 플래그 앞에 둡니다: `claude ultrareview 1234 --trust-workspace`.

3338 3426 

3339v2.1.309 이전에는 `claude ultrareview`가 `--trust-workspace`를 받지 않았습니다.3427v2.1.309 이전에는 `claude ultrareview`가 `--trust-workspace`를 받지 않았습니다.

3340 3428 

3341### Remote Control이 시작하는 세션으로 전달되지 않음3429### Not carried over to the sessions Remote Control starts

3342 3430 

3343`remote-control` 동사 앞에 전역 `claude` 플래그를 붙여 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 시작했는데, 그 플래그가 `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools`, `--mcp-config`처럼 Remote Control이 시작하는 세션을 제한하거나 구성하는 플래그였습니다. 동사 앞에 놓인 플래그는 해당 세션에 전달되지 않습니다. Claude Code는 대신 플래그 이름을 표시하며 시작을 거부합니다:3431`remote-control` 동사 앞에 Remote Control이 시작하는 세션을 제한하거나 구성하는 전역 `claude` 플래그(예: `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools`, `--mcp-config`)를 넣어 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 시작했습니다. 동사 앞에 둔 플래그는 해당 세션에 전달되지 않습니다. 대신 Claude Code는 해당 플래그의 이름을 표시하며 시작을 거부합니다.

3344 3432 

3345```text theme={null}3433```text theme={null}

3346Error: `--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`).3434Error: `--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`).

3347```3435```

3348 3436 

3349`--verbose`, `--model`, 또는 래퍼가 주입한 `--session-id`나 `--plugin-dir`처럼 제외해도 무해한 전역 플래그는 거부하지 않습니다. Claude Code는 이를 무시하고 Remote Control을 시작합니다.3437`--verbose`, `--model`, 래퍼가 주입한 `--session-id`나 `--plugin-dir`처럼 버려도 무해한 전역 플래그는 거부하지 않습니다. Claude Code는 이를 무시하고 Remote Control이 시작됩니다.

3350 3438 

3351Claude Code는 아직 무해한 것으로 인식하지 못한 전역 플래그에 대해서도 시작을 거부하므로, 새 릴리스에서 추가된 플래그가 이후 릴리스에서 무해한 것으로 표시될 때까지 이 메시지에 나타날 수 있습니다.3439Claude Code는 아직 무해하다고 인식하지 않은 전역 플래그에 대해서도 시작을 거부하므로, 최신 릴리스에서 추가된 플래그는 이후 릴리스에서 무해한 것으로 표시될 때까지 이 메시지에 나타날 수 있습니다.

3352 3440 

3353**해결 방법:**3441**해결 방법:**

3354 3442 

3355* 동사 앞에서 플래그를 제거하고 [Remote Control 자체 옵션](https://code.claude.com/docs/ko/remote-control.md#start-a-remote-control-session)을 동사 뒤에 전달합니다. `claude remote-control --help`로 옵션 목록을 확인할 수 있습니다3443* 동사 앞에서 플래그를 제거하고 [Remote Control 자체 옵션](https://code.claude.com/docs/ko/remote-control.md#start-a-remote-control-session)은 동사 뒤에 전달합니다. `claude remote-control --help`에서 옵션 목록을 확인할 수 있습니다

3356* 거부된 플래그가 `--permission-mode`인 경우 `claude remote-control --permission-mode <mode>`를 실행하여 Remote Control이 시작하는 세션의 권한 모드를 설정합니다3444* 거부된 플래그가 `--permission-mode`인 경우 `claude remote-control --permission-mode <mode>`를 실행해 Remote Control이 시작하는 세션의 권한 모드를 설정합니다

3357 3445 

3358v2.1.248 이전에는 전역 플래그가 먼저 오면 `claude remote-control`이 자체 플래그를 받지 않았으며, 명령이 `unknown option` 오류로 실패했습니다.3446v2.1.248 이전에는 전역 플래그가 먼저 오면 `claude remote-control`이 자체 플래그를 받지 않았고, 명령이 `unknown option` 오류로 실패했습니다.

3359 3447 

3360### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3448### `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3361 3449 

3362이 오류는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 서버를 시작하는 명령이 `remote-control` 뒤에 `--sandbox` 또는 `--no-sandbox`를 전달하는데, `claude remote-control`이 두 플래그를 모두 받지 않는다는 뜻입니다. 서버는 시작하지 않고 코드 1로 종료됩니다:3450이 오류는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 서버를 시작하는 명령이 `remote-control` 뒤에 `--sandbox` 또는 `--no-sandbox`를 전달하는데, `claude remote-control`이 두 플래그를 모두 받지 않는다는 의미입니다. 서버는 시작하지 않고 종료 코드 1로 종료됩니다.

3363 3451 

3364```text theme={null}3452```text theme={null}

3365Error: --sandbox is not supported by claude remote-control. The flag had no effect and was removed. To sandbox sessions, set sandbox.enabled to true in settings.3453Error: --sandbox is not supported by claude remote-control. The flag had no effect and was removed. To sandbox sessions, set sandbox.enabled to true in settings.


3371* 서버를 대신 시작하는 스크립트나 서비스 정의를 포함해 명령에서 플래그를 제거한 다음 다시 실행합니다3459* 서버를 대신 시작하는 스크립트나 서비스 정의를 포함해 명령에서 플래그를 제거한 다음 다시 실행합니다

3372* 서버가 시작하는 세션을 샌드박스에서 실행하려면 [설정 파일](https://code.claude.com/docs/ko/settings.md#where-settings-live)에서 [`sandbox.enabled`](https://code.claude.com/docs/ko/settings-reference#sandbox-enabled)를 `true`로 설정해 [샌드박싱](https://code.claude.com/docs/ko/sandboxing.md)을 켭니다3460* 서버가 시작하는 세션을 샌드박스에서 실행하려면 [설정 파일](https://code.claude.com/docs/ko/settings.md#where-settings-live)에서 [`sandbox.enabled`](https://code.claude.com/docs/ko/settings-reference#sandbox-enabled)를 `true`로 설정해 [샌드박싱](https://code.claude.com/docs/ko/sandboxing.md)을 켭니다

3373 3461 

3374두 플래그 모두 v2.1.300에서 `claude remote-control`에서 제거되었으므로, 이전 버전용으로 작성된 명령에는 여전히 플래그가 포함되어 있을 수 있습니다.3462두 플래그는 v2.1.300에서 `claude remote-control`에서 제거되었으므로, 이전 버전용으로 작성된 명령에는 여전히 플래그가 포함되어 있을 수 있습니다.

3375 3463 

3376### 이 빌드에서는 아직 claude import를 사용할 수 없음3464### claude import is not yet available in this build

3377 3465 

3378[`claude import`](https://code.claude.com/docs/ko/cli-reference#cli-commands)를 실행했지만 Claude Code가 가져오기 흐름이 꺼져 있음을 확인했으므로, 명령이 가져오기를 시작하지 않고 종료 코드 1로 종료됩니다. v2.1.222 이전에는 가져오기 흐름이 꺼진 빌드에서 `import`를 프롬프트로 처리하여 이 메시지를 출력하는 대신 대화형 세션을 시작했습니다.3466[`claude import`](https://code.claude.com/docs/ko/cli-reference#cli-commands)를 실행했는데 Claude Code가 가져오기 흐름이 꺼져 있음을 확인했으므로, 명령이 가져오기를 시작하지 않고 종료 코드 1로 종료됩니다. v2.1.222 이전에는 가져오기 흐름이 꺼진 빌드에서 `import`를 프롬프트로 처리해 이 메시지를 출력하는 대신 대화형 세션을 시작했습니다.

3379 3467 

3380```text theme={null}3468```text theme={null}

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

3382```3470```

3383 3471 

3384Claude Code는 Anthropic에서 가져와 디스크에 캐시하는 기능 플래그를 통해 `claude import`를 켭니다. 이 메시지는 캐시된 값이 꺼져 있음을 의미합니다. 원인은 대개 다음 중 하나입니다:3472Claude Code는 Anthropic에서 가져와 디스크에 캐시하는 기능 플래그를 통해 `claude import`를 켭니다. 이 메시지는 캐시된 값이 꺼져 있다는 의미입니다. 원인은 대개 다음 중 하나입니다.

3385 3473 

3386* 설치 후 아직 세션을 시작하지 않아 Claude Code가 플래그를 가져오지 못했습니다. 기능을 사용할 수 있는 경우에도 첫 번째 `claude import`에서 이 메시지가 출력될 수 있습니다.3474* 설치 후 아직 세션을 시작하지 않아 Claude Code가 플래그를 가져오지 않았습니다. 기능을 사용할 수 있더라도 첫 번째 `claude import`에서 이 메시지가 출력될 수 있습니다.

3387* Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, Claude Platform on AWS 또는 [Claude apps 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 Claude Code를 사용합니다. 이러한 세션에서는 Claude Code가 기능 플래그를 가져오지 않으므로 `claude import`를 계속 사용할 수 없습니다.3475* Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, Claude Platform on AWS 또는 [Claude apps 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 Claude Code를 사용하고 있습니다. 이러한 세션에서는 Claude Code가 기능 플래그를 가져오지 않으므로 `claude import`를 계속 사용할 수 없습니다.

3388* 기능 플래그 가져오기를 끄는 `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` 또는 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ko/env-vars)를 설정했으므로 `claude import`를 계속 사용할 수 없습니다.3476* 기능 플래그 가져오기를 끄는 `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` 또는 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ko/env-vars)를 설정했으므로 `claude import`를 계속 사용할 수 없습니다.

3389 3477 

3390**해결 방법:**3478**해결 방법:**

3391 3479 

3392* 새로 설치한 경우 `claude`를 시작하고 세션이 로드될 때까지 기다린 다음 종료하고 `claude import`를 다시 실행합니다3480* 새로 설치한 경우 `claude`를 시작하고 세션이 로드될 때까지 기다린 다음 종료하고 `claude import`를 다시 실행합니다

3393* 기능 플래그 가져오기가 계속 꺼져 있는 환경에서는 구성을 직접 설정합니다. [`claude mcp add`](https://code.claude.com/docs/ko/mcp#installing-mcp-servers)로 MCP 서버를 추가하고, 옮기려는 [`CLAUDE.md` 파일](https://code.claude.com/docs/ko/memory#how-claude-md-files-load), [스킬과 명령](https://code.claude.com/docs/ko/skills.md#where-skills-live), [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope)를 만듭니다. 메시지에는 `~/.claude/settings.json`도 언급됩니다. `claude import`가 옮기는 구성 중 해당 파일에는 [권한 모드](https://code.claude.com/docs/ko/settings-reference.md#permission-settings)만 들어 있으며, Claude Code는 이 파일에서 MCP 서버를 읽지 않습니다.3481* 기능 플래그 가져오기가 계속 꺼져 있는 환경에서는 직접 구성을 설정합니다. [`claude mcp add`](https://code.claude.com/docs/ko/mcp#installing-mcp-servers)로 MCP 서버를 추가하고, 옮기려는 [`CLAUDE.md` 파일](https://code.claude.com/docs/ko/memory#how-claude-md-files-load), [스킬과 명령](https://code.claude.com/docs/ko/skills.md#where-skills-live), [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope)를 만듭니다. 메시지에는 `~/.claude/settings.json`도 언급되어 있습니다. `claude import`가 옮기는 구성 중 이 파일에 담기는 것은 [권한 모드](https://code.claude.com/docs/ko/settings-reference.md#permission-settings)뿐이며, Claude Code는 이 파일에서 MCP 서버를 읽지 않습니다.

3394 3482 

3395### Claude Code 구성을 읽을 수 없음3483### Could not read Claude Code config

3396 3484 

3397Claude Code가 계정 세부 정보와 프로젝트별 상태를 저장하는 파일인 `~/.claude.json`을 파싱할 수 없는 상태에서 [`claude import`](https://code.claude.com/docs/ko/cli-reference#cli-commands)를 실행했습니다. 이 하위 명령은 가용성을 확인하기 위해 해당 파일을 읽지만 대화형 세션이 표시하는 복구 대화 상자를 표시하지 않으므로 종료 코드 1로 종료됩니다. v2.1.222 이전에는 읽을 수 없는 설정 파일이 있을 때 `claude import`가 대화형 세션을 시작했으며, 그 세션의 복구 대화 상자가 파일을 처리했습니다.3485Claude Code가 계정 정보와 프로젝트별 상태를 저장하는 파일인 `~/.claude.json`을 구문 분석할 수 없는 상태에서 [`claude import`](https://code.claude.com/docs/ko/cli-reference#cli-commands)를 실행했습니다. 하위 명령은 사용 가능 여부를 확인하기 위해 이 파일을 읽지만 대화형 세션이 표시하는 복구 대화 상자는 표시하지 않으므로 종료 코드 1로 종료됩니다. v2.1.222 이전에는 설정 파일을 읽을 수 없을 때 `claude import`가 대화형 세션을 시작했고, 그 세션의 복구 대화 상자가 파일을 처리했습니다.

3398 3486 

3399```text theme={null}3487```text theme={null}

3400Could not read Claude Code config — run `claude` with no arguments to recover it.3488Could not read Claude Code config — run `claude` with no arguments to recover it.


3402 3490 

3403**해결 방법:**3491**해결 방법:**

3404 3492 

3405* 인수 없이 `claude`를 실행합니다. Claude Code가 잘못된 파일을 감지하고 재설정을 제안합니다. 그런 다음 `claude import`를 다시 실행합니다.3493* 인수 없이 `claude`를 실행합니다. Claude Code가 잘못된 파일을 감지하고 초기화를 제안합니다. 그런 다음 `claude import`를 다시 실행합니다.

3406* 직접 수정한 내용을 유지하려면 대신 편집기에서 `~/.claude.json`의 JSON 구문을 수정한 다음 `claude import`를 다시 실행합니다3494* 직접 편집한 내용을 유지하려면 대신 편집기에서 `~/.claude.json`의 JSON 구문을 수정한 다음 `claude import`를 다시 실행합니다

3407 3495 

3408### Claude Desktop에서 서버를 가져올 수 없음3496### Could not import a server from Claude Desktop

3409 3497 

3410Claude Code가 `claude mcp add-from-claude-desktop`에서 선택한 서버 중 하나를 추가할 수 없었습니다. 명령은 선택한 다른 서버는 계속 가져오며, 추가할 수 없었던 서버마다 한 줄씩 출력합니다. v2.1.205 이전에는 처음 실패한 서버에서 가져오기가 중단되었습니다.3498Claude Code가 `claude mcp add-from-claude-desktop`에서 선택한 서버 중 하나를 추가하지 못했습니다. 명령은 선택한 다른 서버를 계속 가져오며, 추가하지 못한 서버마다 한 줄씩 출력합니다. v2.1.205 이전에는 처음 실패한 서버에서 가져오기가 중단되었습니다.

3411 3499 

3412```text theme={null}3500```text theme={null}

3413Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3501Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.

3414```3502```

3415 3503 

3416서버 이름 뒤의 텍스트가 사유입니다. 가장 흔한 사유는 이름 검사입니다. Claude Desktop은 서버 이름에 공백이나 마침표 같은 문자를 허용하지만, `claude mcp`는 문자, 숫자, 하이픈, 밑줄로 제한합니다. 그 밖의 사유로는 검증에 실패한 서버 구성과 조직의 [MCP 정책](https://code.claude.com/docs/ko/managed-mcp.md)에 의해 차단된 서버가 있습니다.3504서버 이름 뒤의 텍스트가 사유입니다. 가장 흔한 사유는 이름 검사입니다. Claude Desktop은 서버 이름에 공백이나 마침표 같은 문자를 허용하지만 `claude mcp`는 문자, 숫자, 하이픈, 밑줄로 제한합니다. 그 밖의 사유로는 검증에 실패한 서버 구성과 조직의 [MCP 정책](https://code.claude.com/docs/ko/managed-mcp.md)에 의해 차단된 서버가 있습니다.

3417 3505 

3418**해결 방법:**3506**해결 방법:**

3419 3507 

3420* `claude_desktop_config.json`에서 서버 이름을 문자, 숫자, 하이픈, 밑줄만 사용하도록 변경한 다음 `claude mcp add-from-claude-desktop`을 다시 실행합니다3508* `claude_desktop_config.json`에서 서버 이름을 문자, 숫자, 하이픈, 밑줄만 사용하도록 변경한 다음 `claude mcp add-from-claude-desktop`을 다시 실행합니다

3421* 유효한 이름으로 `claude mcp add` 또는 `claude mcp add-json`을 사용해 해당 서버를 직접 추가합니다. [Claude Desktop에서 MCP 서버 가져오기](https://code.claude.com/docs/ko/mcp.md#import-mcp-servers-from-claude-desktop)를 참조하십시오.3509* 유효한 이름으로 `claude mcp add` 또는 `claude mcp add-json`을 사용해 해당 서버를 직접 추가합니다. [Claude Desktop에서 MCP 서버 가져오기](https://code.claude.com/docs/ko/mcp.md#import-mcp-servers-from-claude-desktop)를 참조하세요.

3422 3510 

3423### managed 범위에 MCP 서버를 추가할 수 없음3511### Cannot add MCP server to the managed scope

3424 3512 

3425`--scope managed`와 함께 `claude mcp add` 또는 `claude mcp add-json`을 실행했습니다. 이 범위에는 조직이 [`managedMcpServers`](https://code.claude.com/docs/ko/settings-reference#managedmcpservers) 관리형 설정을 통해 제공하는 서버가 들어 있습니다. Claude Code는 관리형 설정에서만 이를 읽으므로 명령이 해당 범위에 서버를 쓸 수 없습니다.3513`--scope managed`로 `claude mcp add` 또는 `claude mcp add-json`을 실행했습니다. 이 범위는 조직이 [`managedMcpServers`](https://code.claude.com/docs/ko/settings-reference#managedmcpservers) 관리형 설정을 통해 제공하는 서버를 담습니다. Claude Code는 이를 관리형 설정에서만 읽으므로 명령이 이 범위에 서버를 기록할 수 없습니다.

3426 3514 

3427```text theme={null}3515```text theme={null}

3428Cannot add MCP server to scope: managed3516Cannot add MCP server to scope: managed


3430 3518 

3431**해결 방법:**3519**해결 방법:**

3432 3520 

3433* 쓸 수 있는 범위(`local`, `user` 또는 `project`)에 서버를 추가합니다. `--scope`가 없으면 명령은 `local`을 사용합니다. [MCP 설치 범위](https://code.claude.com/docs/ko/mcp.md#mcp-installation-scopes)를 참조하십시오3521* 기록할 수 있는 범위인 `local`, `user`, `project`에 서버를 추가합니다. `--scope`가 없으면 명령은 `local`을 사용합니다. [MCP 설치 범위](https://code.claude.com/docs/ko/mcp.md#mcp-installation-scopes)를 참조하세요

3434* 조직의 모든 사용자에게 서버를 제공하려면 배포하는 관리형 설정의 [`managedMcpServers`](https://code.claude.com/docs/ko/settings-reference#managedmcpservers)에 추가합니다3522* 조직의 모든 사용자에게 서버를 제공하려면 배포하는 관리형 설정의 [`managedMcpServers`](https://code.claude.com/docs/ko/settings-reference#managedmcpservers)에 추가합니다

3435 3523 

3436### 관리형 설정이 플러그인 서버만 허용할 때 MCP 서버를 추가할 수 없음3524### 관리형 설정이 플러그인 서버만 허용하는 경우 MCP 서버를 추가할 수 없음

3437 3525 

3438조직의 관리형 설정이 [`strictPluginOnlyCustomization`](https://code.claude.com/docs/ko/settings-reference#strictpluginonlycustomization)을 `true` 또는 `mcp`가 포함된 목록으로 설정한 상태에서 `claude mcp add` 또는 `claude mcp add-json`을 실행했습니다. 이 설정이 있으면 Claude Code는 `~/.claude.json`이나 `.mcp.json`에서 MCP 서버를 로드하지 않으므로, 명령은 절대 로드되지 않을 서버를 저장하는 대신 종료 코드 1로 종료됩니다:3526조직의 관리형 설정이 [`strictPluginOnlyCustomization`](https://code.claude.com/docs/ko/settings-reference#strictpluginonlycustomization)을 `true` 또는 `mcp`가 포함된 목록으로 설정한 상태에서 `claude mcp add` 또는 `claude mcp add-json`을 실행했습니다. 이 설정이 있으면 Claude Code는 `~/.claude.json`이나 `.mcp.json`에서 MCP 서버를 로드하지 않으므로, 명령은 절대 로드되지 않을 서버를 저장하는 대신 종료 코드 1로 종료됩니다.

3439 3527 

3440```text theme={null}3528```text theme={null}

3441Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide. Install a plugin that provides this server, or ask your administrator to make it available.3529Cannot add MCP server: your organization's managed settings allow only MCP servers that plugins provide. Install a plugin that provides this server, or ask your administrator to make it available.

3442```3530```

3443 3531 

3444`claude mcp add-from-claude-desktop`은 선택한 각 서버를 가져오지 않은 것으로 보고하며, 이 메시지를 사유로 표시합니다. [`/import`](https://code.claude.com/docs/ko/commands#all-commands)는 추가하려는 각 MCP 서버에 대해 이 메시지를 보고하고, 찾은 다른 항목은 계속 가져옵니다.3532`claude mcp add-from-claude-desktop`은 선택한 각 서버를 가져오지 못한 것으로 보고하며 이 메시지를 사유로 표시합니다. [`/import`](https://code.claude.com/docs/ko/commands#all-commands)는 추가하려는 각 MCP 서버에 대해 이 메시지를 보고하고, 찾은 다른 항목은 계속 가져옵니다.

3445 3533 

3446v2.1.284 이전에는 이러한 명령이 서버를 저장하고 성공을 보고했지만 서버는 로드되지 않았습니다.3534v2.1.284 이전에는 이 명령들이 서버를 저장하고 성공을 보고했지만, 서버는 절대 로드되지 않았습니다.

3447 3535 

3448**해결 방법:**3536**해결 방법:**

3449 3537 

3450* 해당 서버를 제공하는 [플러그인](https://code.claude.com/docs/ko/plugins/install.md)을 설치합니다3538* 해당 서버를 제공하는 [플러그인](https://code.claude.com/docs/ko/plugins/install.md)을 설치합니다

3451* 관리자에게 서버를 [플러그인](https://code.claude.com/docs/ko/plugins/org.md)으로 배포하거나, 원격 HTTP 또는 SSE 서버인 경우 [`managedMcpServers`](https://code.claude.com/docs/ko/settings-reference#managedmcpservers)를 통해 제공하도록 요청합니다3539* 관리자에게 [플러그인](https://code.claude.com/docs/ko/plugins/org.md)으로 서버를 배포하거나, 원격 HTTP 또는 SSE 서버인 경우 [`managedMcpServers`](https://code.claude.com/docs/ko/settings-reference#managedmcpservers)를 통해 제공해 달라고 요청합니다

3452 3540 

3453### .mcp.json을 읽을 수 없음3541### Can't read .mcp.json

3454 3542 

3455`--scope project`와 함께 실행한 `claude mcp add` 또는 `claude mcp add-json`, 또는 `claude mcp remove`처럼 프로젝트의 [`.mcp.json`](https://code.claude.com/docs/ko/mcp#project-scope)을 읽는 명령이 현재 디렉터리의 파일이 일반 파일이 아니거나 2MiB보다 크다는 것을 발견했기 때문에, 파일을 읽지 않고 이 오류와 함께 종료됩니다.3543`--scope project`를 사용한 `claude mcp add` 또는 `claude mcp add-json`, 또는 `claude mcp remove`처럼 프로젝트의 [`.mcp.json`](https://code.claude.com/docs/ko/mcp#project-scope)을 읽는 명령이 현재 디렉터리의 파일이 일반 파일이 아니거나 2 MiB보다 큰 것을 발견했으므로, 파일을 읽는 대신 이 오류와 함께 종료됩니다.

3456 3544 

3457```text theme={null}3545```text theme={null}

3458Can'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.3546Can'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.

3459```3547```

3460 3548 

3461v2.1.257 이전에는 `.mcp.json` 위치에 FIFO가 있으면 명령이 출력 없이 무한히 대기했고, `/dev/zero` 같은 장치 파일을 가리키는 심볼릭 링크가 있으면 프로세스가 종료될 때까지 메모리가 증가했습니다.3549v2.1.257 이전에는 `.mcp.json` 위치의 FIFO로 인해 명령이 출력 없이 무한정 대기했고, `/dev/zero` 같은 장치 파일에 대한 심볼릭 링크는 프로세스가 강제 종료될 때까지 메모리를 증가시켰습니다.

3462 3550 

3463**해결 방법:**3551**해결 방법:**

3464 3552 

3465* 현재 디렉터리의 `.mcp.json` 위치에 무엇이 있는지 확인합니다. [프로젝트 범위 형식](https://code.claude.com/docs/ko/mcp.md#project-scope)의 일반 JSON 파일로 교체하거나 삭제한 다음 명령을 다시 실행합니다.3553* 현재 디렉터리의 `.mcp.json` 위치에 무엇이 있는지 확인합니다. [프로젝트 범위 형식](https://code.claude.com/docs/ko/mcp.md#project-scope)의 일반 JSON 파일로 대체하거나 삭제한 다음 명령을 다시 실행합니다.

3466 3554 

3467### MCP 서버가 저장되거나 제거되지 않음3555### MCP server was not saved or removed

3468 3556 

3469`user` 또는 `local` [범위](https://code.claude.com/docs/ko/mcp.md#mcp-installation-scopes)의 서버에 대해 `claude mcp add`, `claude mcp add-json` 또는 `claude mcp remove`를 실행했습니다. 두 범위 모두 `~/.claude.json`에 저장되는데, 쓰기 후 Claude Code가 파일을 다시 읽었을 때 변경 사항이 파일에 없었습니다. 명령은 성공 메시지 대신 이 오류와 함께 종료됩니다.3557`user` 또는 `local` [범위](https://code.claude.com/docs/ko/mcp.md#mcp-installation-scopes)의 서버에 대해 `claude mcp add`, `claude mcp add-json` 또는 `claude mcp remove`를 실행했습니다. 두 범위 모두 `~/.claude.json`에 저장되는데, Claude Code가 기록 후 파일을 다시 읽었을 때 변경 사항이 없었습니다. 명령은 성공 줄 대신 이 오류와 함께 종료됩니다.

3470 3558 

3471```text theme={null}3559```text theme={null}

3472MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.3560MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.


3474 3562 

3475제거 후에는 메시지가 `was not removed from`으로 표시되고 `then remove the server again`으로 끝납니다. `local` 범위 서버의 경우 경로 뒤에 해당 항목이 속한 프로젝트 디렉터리가 `(local scope for /path/to/project)` 형식으로 표시됩니다.3563제거 후에는 메시지가 `was not removed from`으로 표시되고 `then remove the server again`으로 끝납니다. `local` 범위 서버의 경우 경로 뒤에 해당 항목이 속한 프로젝트 디렉터리가 `(local scope for /path/to/project)` 형식으로 표시됩니다.

3476 3564 

3477v2.1.283 이전에는 변경 사항이 파일에 반영되지 않은 경우에도 `claude mcp add`, `claude mcp add-json`, `claude mcp remove`가 성공을 보고했습니다.3565v2.1.283 이전에는 변경 사항이 파일에 반영되지 않았어도 `claude mcp add`, `claude mcp add-json`, `claude mcp remove`가 성공을 보고했습니다.

3478 3566 

3479**해결 방법:**3567**해결 방법:**

3480 3568 

3481* 메시지에 표시된 파일을 쓰기 가능하게 만들거나 샌드박스 외부에서 명령을 실행한 다음, 같은 추가 또는 제거 명령을 다시 실행합니다.3569* 메시지에 표시된 파일을 쓰기 가능하게 만들거나 샌드박스 외부에서 명령을 실행한 다음, 같은 추가 또는 제거 명령을 다시 실행합니다.

3482 3570 

3483### MCP 서버가 저장되거나 제거되지 않았을 수 있음3571### MCP server may not have been saved or removed

3484 3572 

3485`user` 또는 `local` [범위](https://code.claude.com/docs/ko/mcp.md#mcp-installation-scopes)의 서버에 대해 `claude mcp add`, `claude mcp add-json` 또는 `claude mcp remove`를 실행했지만, Claude Code가 변경 사항을 확인하기 위해 `~/.claude.json`을 다시 읽을 수 없었습니다. 변경 사항이 디스크에 반영되었을 수도 있고 그렇지 않을 수도 있습니다. 괄호 안의 텍스트는 해당 읽기에서 발생한 오류입니다.3573`user` 또는 `local` [범위](https://code.claude.com/docs/ko/mcp.md#mcp-installation-scopes)의 서버에 대해 `claude mcp add`, `claude mcp add-json` 또는 `claude mcp remove`를 실행했는데, Claude Code가 변경 사항을 확인하기 위해 `~/.claude.json`을 다시 읽지 못했습니다. 변경 사항이 디스크에 반영되었을 수도 있고 아닐 수도 있습니다. 괄호 안의 텍스트는 해당 읽기에서 발생한 오류입니다.

3486 3574 

3487```text theme={null}3575```text theme={null}

3488MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.3576MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.


3490 3578 

3491제거 후에는 메시지가 `may not have been removed`로 표시되고 `then remove the server again if it is still listed`로 끝납니다.3579제거 후에는 메시지가 `may not have been removed`로 표시되고 `then remove the server again if it is still listed`로 끝납니다.

3492 3580 

3493v2.1.283 이전에는 변경 사항을 확인할 수 없는 경우에도 명령이 성공을 보고했습니다.3581v2.1.283 이전에는 변경 사항을 확인할 수 없어도 명령이 성공을 보고했습니다.

3494 3582 

3495**해결 방법:**3583**해결 방법:**

3496 3584 

3497* `claude mcp get <name>`을 실행하여 변경 사항이 디스크에 있는지 확인합니다. `local` 범위 서버의 경우 로컬 범위는 프로젝트별이므로 서버가 속한 프로젝트 디렉터리에서 실행합니다.3585* `claude mcp get <name>`을 실행해 변경 사항이 디스크에 반영되었는지 확인합니다. `local` 범위 서버의 경우 로컬 범위는 프로젝트별이므로 서버가 속한 프로젝트 디렉터리에서 실행합니다.

3498* 추가 후 서버가 없거나 제거 후에도 여전히 목록에 있으면 같은 추가 또는 제거 명령을 다시 실행합니다.3586* 추가 후 서버가 없거나 제거 후에도 여전히 목록에 있으면 같은 추가 또는 제거 명령을 다시 실행합니다.

3499 3587 

3500### 서버가 Anthropic에서 호스팅되며 로컬 OAuth를 지원하지 않음3588### Server is Anthropic-hosted and doesn't support local OAuth

3501 3589 

3502URL이 타사 ID 공급자를 통해 인증하는 Anthropic 호스팅 커넥터 호스트를 가리키는 MCP 서버에 대해 로그인을 시작했습니다. 이러한 호스트에는 `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com`, `gcal.mcp.claude.com`이 포함됩니다. [이들의 로그인은 claude.ai를 통해서만 작동](https://code.claude.com/docs/ko/mcp.md#use-mcp-servers-from-claude-ai)하므로, Claude Code는 `/mcp` 패널과 `claude mcp login` 모두에서 이러한 호스트에 대한 로컬 OAuth 흐름 시작을 거부합니다.3590타사 ID 공급자를 통해 인증하는 Anthropic 호스팅 커넥터 호스트를 URL로 가리키는 MCP 서버에 대해 로그인을 시작했습니다. 이러한 호스트에는 `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com`, `gcal.mcp.claude.com`이 포함됩니다. [이 호스트의 로그인은 claude.ai를 통해서만 작동하므로](https://code.claude.com/docs/ko/mcp.md#use-mcp-servers-from-claude-ai) Claude Code는 `/mcp` 패널과 `claude mcp login` 모두에서 이러한 호스트에 대한 로컬 OAuth 흐름 시작을 거부합니다.

3503 3591 

3504```text theme={null}3592```text theme={null}

3505"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.3593"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.


3507 3595 

3508**해결 방법:**3596**해결 방법:**

3509 3597 

3510* 같은 URL의 claude.ai 커넥터를 가리지 않도록 `claude mcp remove <name>`으로 항목을 제거합니다3598* 같은 URL의 claude.ai 커넥터를 가리지 않도록 `claude mcp remove <name>`으로 해당 항목을 제거합니다

3511* 제거한 후 Claude Code에서 사용하는 계정으로 로그인한 상태에서 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 서비스를 연결합니다. 연결되면 활성 인증 방법이 claude.ai 구독 로그인인 경우 [커넥터가 Claude Code에 자동으로 표시됩니다](https://code.claude.com/docs/ko/mcp.md#use-mcp-servers-from-claude-ai)3599* 제거한 후 Claude Code에서 사용하는 계정으로 로그인한 상태에서 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 서비스를 연결합니다. 연결되면 활성 인증 방법이 claude.ai 구독 로그인인 경우 [커넥터가 Claude Code에 자동으로 나타납니다](https://code.claude.com/docs/ko/mcp.md#use-mcp-servers-from-claude-ai)

3512 3600 

3513### 구성된 headersHelper가 생성한 Authorization 헤더를 서버가 거부함3601### Server rejected the Authorization header minted by the configured headersHelper

3514 3602 

3515[`headersHelper`](https://code.claude.com/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)가 `Authorization` 헤더를 제공하는 MCP 서버가 연결에 HTTP 401 또는 403으로 응답했기 때문에 Claude Code가 연결을 실패로 보고합니다. 헬퍼가 `Authorization` 헤더를 제공하므로 Claude Code는 해당 서버에 대해 [OAuth로 폴백하지 않습니다](https://code.claude.com/docs/ko/mcp.md#authenticate-with-remote-mcp-servers):3603[`headersHelper`](https://code.claude.com/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)가 `Authorization` 헤더를 제공하는 MCP 서버가 연결에 HTTP 401 또는 403으로 응답했으므로 Claude Code는 연결 실패를 보고합니다. 헬퍼가 `Authorization` 헤더를 제공하므로 Claude Code는 해당 서버에 대해 [OAuth로 폴백하지 않습니다](https://code.claude.com/docs/ko/mcp.md#authenticate-with-remote-mcp-servers).

3516 3604 

3517```text theme={null}3605```text theme={null}

3518Server 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.3606Server 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.

3519```3607```

3520 3608 

3521Claude Code는 연결을 시도할 때마다 헬퍼를 다시 실행하므로, 토큰 교체 경합처럼 일시적인 거부 이후의 재시도는 새 자격 증명으로 성공할 수 있습니다.3609Claude Code는 연결을 시도할 때마다 헬퍼를 다시 실행하므로, 토큰 교체 경합 같은 일시적인 거부 후 재시도하면 새 자격 증명으로 성공할 수 있습니다.

3522 3610 

3523**해결 방법:**3611**해결 방법:**

3524 3612 

3525* Claude Code가 실행하는 방식 그대로 `headersHelper` 명령을 직접 실행합니다. [Claude Code가 실행하는 디렉터리](https://code.claude.com/docs/ko/mcp.md#where-the-helper-runs)에서, [Claude Code가 설정하는 환경 변수](https://code.claude.com/docs/ko/mcp.md#use-dynamic-headers-for-custom-authentication)와 함께, 그리고 프로젝트 `.mcp.json`, 플러그인 또는 프로젝트 에이전트 파일의 서버인 경우 [Claude Code가 제거하는 자격 증명 변수](https://code.claude.com/docs/ko/mcp.md#which-variables-a-helper-can-read) 없이 실행합니다. 서버의 엔드포인트가 수락하는 `Authorization` 값이 출력되는지 확인합니다3613* Claude Code가 실행하는 방식 그대로 `headersHelper` 명령을 직접 실행합니다. 즉, [Claude Code가 실행하는 디렉터리](https://code.claude.com/docs/ko/mcp.md#where-the-helper-runs)에서 [Claude Code가 설정하는 환경 변수](https://code.claude.com/docs/ko/mcp.md#use-dynamic-headers-for-custom-authentication)와 함께 실행하고, 프로젝트 `.mcp.json`, 플러그인 또는 프로젝트 에이전트 파일에서 온 서버라면 [Claude Code가 제거하는 자격 증명 변수](https://code.claude.com/docs/ko/mcp.md#which-variables-a-helper-can-read) 없이 실행합니다. 서버의 엔드포인트가 받아들이는 `Authorization` 값을 출력하는지 확인합니다

3526* 헬퍼나 자격 증명 소스를 수정한 후 `/mcp`에서 서버를 선택하고 **Reconnect**를 선택합니다3614* 헬퍼나 자격 증명 소스를 수정한 후 `/mcp`에서 서버를 선택하고 **Reconnect**를 선택합니다

3527 3615 

3528v2.1.248 이전에는 헬퍼가 `Authorization` 헤더를 제공하는 서버에 대해서도 Claude Code가 OAuth 검색을 실행했습니다. 이 검색은 거부된 자격 증명을 보고하는 대신 `Incompatible auth server: does not support dynamic client registration`으로 실패할 수 있었습니다.3616v2.1.248 이전에는 헬퍼가 `Authorization` 헤더를 제공하는 서버에 대해서도 Claude Code가 OAuth 검색을 실행했습니다. 이 검색은 거부된 자격 증명을 보고하는 대신 `Incompatible auth server: does not support dynamic client registration`으로 실패할 수 있었습니다.

3529 3617 

3530### MCP server rejected the elicitation capability3618### MCP server rejected the elicitation capability

3531 3619 

3532Java MCP SDK 0.11.0부터 0.17.0까지로 빌드된 MCP 서버가 연결을 거부했습니다. 이 SDK 버전은 Claude Code가 핸드셰이크에서 선언하는 `form` 및 `url` [elicitation 모드](https://code.claude.com/docs/ko/mcp.md#elicitation-modes-claude-code-declares)를 파싱할 수 없습니다. 메시지는 다음과 같습니다:3620Java MCP SDK 0.11.0부터 0.17.0까지로 빌드된 MCP 서버가 연결을 거부했습니다. 해당 SDK 버전은 Claude Code가 핸드셰이크에서 선언하는 `form` 및 `url` [elicitation 모드](https://code.claude.com/docs/ko/mcp.md#elicitation-modes-claude-code-declares)를 구문 분석하지 못합니다. 메시지는 다음과 같습니다.

3533 3621 

3534```text theme={null}3622```text theme={null}

3535This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability. Set "bareElicitationCapability": true for it, or upgrade to Java MCP SDK 0.17.1+ (Spring AI 1.0.7+ or 1.1.6+).3623This server (Java MCP SDK 0.17.0 or older) rejected Claude Code's elicitation capability. Set "bareElicitationCapability": true for it, or upgrade to Java MCP SDK 0.17.1+ (Spring AI 1.0.7+ or 1.1.6+).


3538**해결 방법:**3626**해결 방법:**

3539 3627 

3540* 서버를 Java MCP SDK 0.17.1 이상 또는 메시지에 표시된 Spring AI 릴리스 중 하나로 업그레이드합니다3628* 서버를 Java MCP SDK 0.17.1 이상 또는 메시지에 표시된 Spring AI 릴리스 중 하나로 업그레이드합니다

3541* 또는 MCP 구성의 해당 서버 항목에 `"bareElicitationCapability": true`를 추가한 뒤 Claude Code를 다시 시작합니다. 이 필드는 stdio, `sse`, `http`, `ws` 항목에서 허용되며 Claude Code v2.1.281 이상이 필요합니다3629* 또는 MCP 구성에서 해당 서버 항목에 `"bareElicitationCapability": true`를 추가한 다음 Claude Code를 다시 시작합니다. 이 필드는 stdio, `sse`, `http`, `ws` 항목에서 사용할 수 있으며 Claude Code v2.1.281 이상이 필요합니다

3542 3630 

3543다음 `.mcp.json` 항목은 하나의 HTTP 서버에 이 필드를 설정합니다:3631다음 `.mcp.json` 항목은 하나의 HTTP 서버에 이 필드를 설정합니다.

3544 3632 

3545```json theme={null}3633```json theme={null}

3546{3634{


3554}3642}

3555```3643```

3556 3644 

3557다시 시작한 후 `/mcp`에서 서버가 연결된 것으로 표시됩니다. Claude Code는 해당 서버에만 form 모드를 선언하므로, 서버를 업그레이드하면 이 필드를 제거합니다.3645다시 시작한 후 `/mcp`에 서버가 연결됨으로 표시됩니다. Claude Code는 해당 서버에만 form 모드를 선언하므로, 서버를 업그레이드하면 이 필드를 제거합니다.

3558 3646 

3559서버가 `Unrecognized field "form"`이 포함된 오류처럼 자체 오류 텍스트로 실패할 수도 있습니다. 같은 해결 방법이 적용됩니다.3647서버가 `Unrecognized field "form"`이 포함된 오류처럼 자체 오류 텍스트로 실패할 수도 있습니다. 같은 해결 방법이 적용됩니다.

3560 3648 

3561### MCP 권한 프롬프트 도구를 찾을 수 없음3649### MCP permission prompt tool not found

3562 3650 

3563실행에서 처음으로 권한 결정이 필요했을 때 [`--permission-prompt-tool`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에 전달한 도구가 연결된 MCP 도구 중에 없었습니다. 해당 서버가 연결되지 않았거나, 연결된 서버 중 그 이름의 도구를 노출하는 서버가 없기 때문입니다. Claude Code는 여전히 프롬프트를 전송합니다. [비대화형](https://code.claude.com/docs/ko/headless.md) 실행은 첫 번째 도구 호출에서 이 오류와 종료 코드 1로 종료되므로, 요청은 이루어졌지만 응답은 생성되지 않습니다. 첫 번째 프롬프트 전에 Claude Code는 [`MCP_TIMEOUT`](https://code.claude.com/docs/ko/env-vars)으로 설정된 서버별 연결 타임아웃인 최대 30초 동안 해당 서버가 연결되기를 기다립니다. v2.1.206 이전에는 시작 시 서버 연결이 완료될 때까지 기다리지 않았기 때문에, 시작이 느리지만 정상인 서버에서도 이 오류가 발생했습니다.3651[`--permission-prompt-tool`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에 전달한 도구가 실행에서 처음 권한 결정이 필요했을 때 연결된 MCP 도구 중에 없었습니다. 서버가 연결되지 않았거나, 연결된 서버 중 해당 이름의 도구를 노출하는 서버가 없기 때문입니다. Claude Code는 여전히 프롬프트를 전송합니다. [비대화형](https://code.claude.com/docs/ko/headless.md) 실행은 첫 번째 도구 호출에서 이 오류와 종료 코드 1로 종료되므로, 요청은 이루어졌지만 응답은 생성되지 않습니다. 첫 번째 프롬프트 전에 Claude Code는 [`MCP_TIMEOUT`](https://code.claude.com/docs/ko/env-vars)으로 설정된 서버별 연결 타임아웃인 최대 30초 동안 해당 서버가 연결되기를 기다립니다. v2.1.206 이전에는 시작 시 서버 연결 완료를 기다리지 않았으므로, 시작이 느리지만 정상적인 서버에서도 이 오류가 발생했습니다.

3564 3652 

3565```text theme={null}3653```text theme={null}

3566Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3654Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none


3570 3658 

3571**해결 방법:**3659**해결 방법:**

3572 3660 

3573* 서버가 시작되어 연결을 유지하는지 확인합니다. 같은 디렉터리에서 `claude mcp list`를 실행하고 서버가 연결된 상태로 표시되는지 확인합니다3661* 서버가 시작되고 연결이 유지되는지 확인합니다. 같은 디렉터리에서 `claude mcp list`를 실행하고 서버가 연결됨으로 표시되는지 확인합니다

3574* 도구 이름이 서버가 노출하는 `mcp__<server>__<tool>` 이름과 일치하는지 확인합니다3662* 도구 이름이 서버가 노출하는 `mcp__<server>__<tool>` 이름과 일치하는지 확인합니다

3575* 서버 시작에 30초 넘게 걸리면 [`MCP_TIMEOUT`](https://code.claude.com/docs/ko/env-vars)을 늘립니다3663* 서버 시작에 30초보다 오래 걸리면 [`MCP_TIMEOUT`](https://code.claude.com/docs/ko/env-vars)을 늘립니다

3576 3664 

3577### OAuth 콜백 포트가 이미 사용 중임3665### OAuth callback port is already in use

3578 3666 

3579OAuth로 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 받기 위해 로컬 리스너를 시작합니다. 리스너에 필요한 포트를 다른 프로세스가 점유하고 있으면 이 메시지와 함께 로그인이 실패합니다. 이는 주로 [`MCP_OAUTH_CALLBACK_PORT`](https://code.claude.com/docs/ko/env-vars) 변수나 `--callback-port`로 [고정 콜백 포트](https://code.claude.com/docs/ko/mcp.md#use-a-fixed-oauth-callback-port)를 설정한 경우에 발생합니다. 고정 포트가 없으면 Claude Code가 사용 가능한 포트를 선택하기 때문입니다.3667OAuth로 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 받기 위해 로컬 리스너를 시작합니다. 리스너에 필요한 포트를 다른 프로세스가 점유하고 있으면 로그인이 이 메시지와 함께 실패합니다. Claude Code는 고정 포트가 없으면 사용 가능한 포트를 선택하므로, 이 문제는 주로 [`MCP_OAUTH_CALLBACK_PORT`](https://code.claude.com/docs/ko/env-vars) 변수나 `--callback-port`로 설정한 [고정 콜백 포트](https://code.claude.com/docs/ko/mcp.md#use-a-fixed-oauth-callback-port)에서 발생합니다.

3580 3668 

3581```text theme={null}3669```text theme={null}

3582OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3670OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.


3586 3674 

3587**해결 방법:**3675**해결 방법:**

3588 3676 

3589* 메시지의 명령을 실행하여 포트를 점유한 프로세스를 찾고, 해당 프로세스를 중지하거나 완료될 때까지 기다립니다3677* 메시지의 명령을 실행해 포트를 점유한 프로세스를 찾고, 이를 중지하거나 완료될 때까지 기다립니다

3590* 다른 프로그램이 해당 포트를 계속 사용해야 한다면 서버에 다른 리디렉션 URI를 등록하고, 사용하는 방식에 따라 `MCP_OAUTH_CALLBACK_PORT` 또는 `--callback-port`로 그 포트를 설정합니다3678* 다른 프로그램이 해당 포트를 계속 사용해야 한다면 서버에 다른 리디렉션 URI를 등록하고, 사용 중인 방식에 따라 `MCP_OAUTH_CALLBACK_PORT` 또는 `--callback-port`로 해당 포트를 설정합니다

3591* 그런 다음 `/mcp`에서 서버를 선택하는 등의 방법으로 로그인을 다시 시작합니다3679* 그런 다음 `/mcp`에서 서버를 선택하는 등의 방법으로 로그인을 다시 시작합니다

3592 3680 

3593### OAuth 리디렉션에 사용할 수 있는 포트가 없음3681### No available ports for OAuth redirect

3594 3682 

3595[OAuth](https://code.claude.com/docs/ko/mcp.md#authenticate-with-remote-mcp-servers)로 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 받기 위해 로컬 리스너를 시작합니다. Claude Code가 이를 위한 로컬 포트를 바인딩할 수 없으면 이 메시지와 함께 로그인이 실패합니다. 보안 소프트웨어나 로컬 리스너를 거부하는 샌드박스 정책처럼 시스템의 무언가가 `127.0.0.1`에서의 수신을 막고 있습니다.3683[OAuth](https://code.claude.com/docs/ko/mcp.md#authenticate-with-remote-mcp-servers)로 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 받기 위해 로컬 리스너를 시작합니다. Claude Code가 이를 위한 로컬 포트를 바인딩할 수 없으면 로그인이 이 메시지와 함께 실패합니다. 보안 소프트웨어나 로컬 리스너를 거부하는 샌드박스 정책 등 컴퓨터의 무언가가 `127.0.0.1`에서의 수신을 막고 있습니다.

3596 3684 

3597```text theme={null}3685```text theme={null}

3598No available ports for OAuth redirect3686No available ports for OAuth redirect

3599```3687```

3600 3688 

3601v2.1.268 이전에는 Claude Code가 운영 체제가 할당한 포트로 폴백하지 않았기 때문에, 자체적으로 선택한 포트만 바인딩할 수 없는 경우에도 이 메시지가 표시되었습니다. 이는 Hyper-V가 Claude Code가 선택하는 포트를 포함하는 포트 범위를 예약하는 Windows 호스트에서 발생할 수 있습니다.3689v2.1.268 이전에는 Claude Code가 운영 체제가 할당한 포트로 폴백하지 않았으므로, 자체적으로 선택한 포트만 바인딩할 수 없는 경우에도 이 메시지가 나타났습니다. 이는 Hyper-V가 Claude Code가 선택하는 포트를 포함하는 포트 범위를 예약하는 Windows 호스트에서 발생할 수 있습니다.

3602 3690 

3603**해결 방법:**3691**해결 방법:**

3604 3692 

3605* 보안 소프트웨어나 샌드박스 정책이 프로세스의 `127.0.0.1` 수신을 차단하는지 확인하고, Claude Code가 로컬 포트를 바인딩하도록 허용합니다3693* 보안 소프트웨어나 샌드박스 정책이 프로세스의 `127.0.0.1` 수신을 차단하는지 확인하고, Claude Code가 로컬 포트를 바인딩할 수 있도록 허용합니다

3606* 그런 다음 `/mcp`에서 서버를 선택하는 등의 방법으로 로그인을 다시 시작합니다3694* 그런 다음 `/mcp`에서 서버를 선택하는 등의 방법으로 로그인을 다시 시작합니다

3607 3695 

3608### origin/HEAD가 없으면 /security-review가 실패함3696### origin/HEAD가 없으면 /security-review가 실패함

3609 3697 

3610[`/security-review`](https://code.claude.com/docs/ko/commands#all-commands)는 `origin` 원격의 기본 브랜치를 기록하는 로컬 ref인 `origin/HEAD`와 현재 브랜치를 비교한 diff로 리뷰 컨텍스트를 구성합니다. 해당 ref가 없으면 diff를 수집하는 git 명령이 실패하고 리뷰가 시작되기 전에 중단됩니다.3698[`/security-review`](https://code.claude.com/docs/ko/commands#all-commands)는 브랜치를 `origin/HEAD`와 비교한 diff로 리뷰 컨텍스트를 구성합니다. `origin/HEAD`는 `origin` 원격의 기본 브랜치가 무엇인지 기록하는 로컬 ref입니다. 이 ref가 없으면 diff를 수집하는 git 명령이 실패하고 리뷰가 시작되기 전에 중단됩니다.

3611 3699 

3612```text theme={null}3700```text theme={null}

3613Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3701Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]


3616'git <command> [<revision>...] -- [<file>...]'3704'git <command> [<revision>...] -- [<file>...]'

3617```3705```

3618 3706 

3619메시지에 `git log`나 다른 `git diff`가 대신 표시될 수도 있습니다. Git은 원격이 기본 브랜치를 알리고 fetch refspec이 그 브랜치를 포함할 때만 `origin/HEAD`를 만듭니다. 커밋이 있는 원격을 전체 `git clone`하면 이 조건이 충족됩니다. 다음과 같은 환경에서는 ref가 없습니다:3707메시지에 `git log`나 다른 `git diff`가 대신 인용될 수도 있습니다. Git은 원격이 기본 브랜치를 알리고 fetch refspec이 이를 포함할 때만 `origin/HEAD`를 만들며, 커밋이 있는 원격을 전체 `git clone`하면 이 조건이 충족됩니다. 다음 구성에서는 ref가 없습니다.

3620 3708 

3621* 너무 좁은 refspec을 가져오는 단일 브랜치 또는 CI 체크아웃3709* 너무 좁은 refspec을 fetch하는 단일 브랜치 또는 CI 체크아웃

3622* 서버 측 HEAD가 아무도 푸시하지 않은 브랜치를 가리키는 원격3710* 서버 측 HEAD가 아무도 푸시하지 않은 브랜치를 가리키는 원격

3623* `origin` 원격이 없거나 한 번도 fetch하지 않은 저장소3711* `origin` 원격이 없거나 한 번도 fetch하지 않은 저장소

3624 3712 

3625Claude Code는 [동적 컨텍스트를 주입하는](https://code.claude.com/docs/ko/skills.md#when-an-injected-command-fails) 모든 스킬에 대해 같은 오류를 표시하며, 주입된 명령이 실패하면 해당 스킬 호출이 중단됩니다.3713Claude Code는 [동적 컨텍스트를 주입하는](https://code.claude.com/docs/ko/skills.md#when-an-injected-command-fails) 모든 스킬에 대해 같은 오류를 표시하며, 주입된 명령이 실패하면 해당 스킬의 호출이 중단됩니다.

3626 3714 

3627관련 메시지는 명령이 실행되기도 전에 발생합니다:3715명령이 실행되기 전에 발생하는 관련 메시지도 있습니다.

3628 3716 

3629* `Shell command permission check failed for pattern "..."`: 명령의 권한 검사가 허용하지 않았습니다. [주입된 명령의 권한 검사](https://code.claude.com/docs/ko/skills.md#permission-checks-on-injected-commands)에서 각 권한 모드에서 어떤 결과가 중단되는지와 `allowed-tools`로 명령을 미리 승인하는 방법을 다룹니다3717* `Shell command permission check failed for pattern "..."`: 명령의 권한 검사에서 허용되지 않았습니다. [주입된 명령의 권한 검사](https://code.claude.com/docs/ko/skills.md#permission-checks-on-injected-commands)에서 각 권한 모드에서 어떤 결과가 중단을 일으키는지, 그리고 `allowed-tools`로 명령을 사전 승인하는 방법을 설명합니다

3630* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: 스킬의 frontmatter가 bash가 없는 컴퓨터에서 bash를 요구합니다. Git for Windows를 설치하거나 frontmatter를 `shell: powershell`로 변경합니다. [주입된 명령이 실행되는 방식](https://code.claude.com/docs/ko/skills.md#how-injected-commands-run)을 참조하세요3718* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: 스킬의 frontmatter가 bash가 없는 컴퓨터에서 bash를 요구합니다. Git for Windows를 설치하거나 frontmatter를 `shell: powershell`로 변경합니다. [주입된 명령이 실행되는 방식](https://code.claude.com/docs/ko/skills.md#how-injected-commands-run)을 참조하세요

3631 3719 

3632**해결 방법:**3720**해결 방법:**

3633 3721 

3634* 원격의 기본 브랜치 이름을 지정하여 ref를 만듭니다: `git remote set-head origin <default-branch>`. 이는 로컬 추적 ref `origin/<default-branch>`가 있으면 항상 작동합니다. 단일 브랜치 클론처럼 해당 ref가 없으면 먼저 브랜치를 fetch합니다. `git remote set-branches --add origin <branch>`를 실행하고, 이어서 `git fetch origin`을 실행한 다음, set-head 명령을 다시 실행합니다. 그런 다음 `/security-review`를 다시 실행합니다.3722* 원격의 기본 브랜치를 지정해 ref를 만듭니다: `git remote set-head origin <default-branch>`. 이 방법은 로컬 추적 ref `origin/<default-branch>`가 있으면 항상 작동합니다. 단일 브랜치 클론처럼 해당 ref가 없으면 먼저 브랜치를 fetch합니다. `git remote set-branches --add origin <branch>`를 실행한 다음 `git fetch origin`을 실행하고, set-head 명령을 다시 실행합니다. 그런 다음 `/security-review`를 다시 실행합니다.

3635* 브랜치 이름을 지정하고 싶지 않다면 `git fetch origin`을 실행한 다음 `git remote set-head origin --auto`를 실행합니다. 이 명령은 원격에 기본 브랜치가 무엇인지 묻습니다. 원격이 비어 있거나 HEAD가 아무도 푸시하지 않은 브랜치를 가리켜 기본 브랜치를 알리지 않으면 `error: Cannot determine remote HEAD`로 실패하므로, 대신 브랜치 이름을 명시적으로 지정합니다. 클론이 해당 브랜치를 fetch하지 않으면 `error: Not a valid ref`로 실패하므로, 먼저 위와 같이 refspec을 넓힙니다.3723* 브랜치 이름을 지정하고 싶지 않다면 `git fetch origin`을 실행한 다음 `git remote set-head origin --auto`를 실행합니다. 이 명령은 원격에 기본 브랜치를 묻습니다. 원격이 비어 있거나 HEAD가 아무도 푸시하지 않은 브랜치를 가리켜 기본 브랜치를 알리지 않으면 `error: Cannot determine remote HEAD`로 실패하므로, 이 경우 브랜치를 명시적으로 지정합니다. 클론이 해당 브랜치를 fetch하지 않으면 `error: Not a valid ref`로 실패하므로, 먼저 위와 같이 refspec을 넓힙니다.

3636* 저장소에 원격이 없으면 `git remote add origin <url>`로 원격을 추가하고 ref를 만들기 전에 fetch합니다. 원격이 비어 있으면 먼저 `git push -u origin HEAD`로 브랜치를 푸시하고 set-head 명령에 해당 브랜치 이름을 지정합니다. 그러면 `origin/HEAD`가 방금 푸시한 브랜치를 가리키므로, 브랜치가 그로부터 갈라질 때까지 `/security-review`는 빈 diff를 보게 됩니다.3724* 저장소에 원격이 없으면 `git remote add origin <url>`로 원격을 추가하고 ref를 만들기 전에 fetch합니다. 원격이 비어 있으면 먼저 `git push -u origin HEAD`로 브랜치를 푸시하고 set-head 명령에 해당 브랜치를 지정합니다. 그러면 `origin/HEAD`가 방금 푸시한 브랜치를 가리키므로, 브랜치가 여기서 갈라질 때까지 `/security-review`에는 빈 diff가 표시됩니다.

3637 3725 

3638### No shell command in a skill or command was run3726### No shell command in a skill or command was run

3639 3727 

3640`No shell command in <name> was run`은 해당 스킬 또는 명령 파일의 `` !`<command>` `` [동적 컨텍스트 명령](https://code.claude.com/docs/ko/skills.md#inject-dynamic-context)에 Bash 또는 PowerShell 도구가 거부하는 문자가 포함되어 있다는 의미입니다:3728`No shell command in <name> was run`은 해당 스킬 또는 명령 파일의 `` !`<command>` `` [동적 컨텍스트 명령](https://code.claude.com/docs/ko/skills.md#inject-dynamic-context)에 Bash 또는 PowerShell 도구가 거부하는 문자가 포함되어 있다는 의미입니다.

3641 3729 

3642* **두 도구 모두**: 탭이나 줄 바꿈이 아닌 원시 제어 문자3730* **두 도구 모두**: 탭이나 줄 바꿈이 아닌 원시 제어 문자

3643* **PowerShell 도구**: 추가로 U+FEFF 또는 U+180E3731* **PowerShell 도구**: 추가로 U+FEFF 또는 U+180E

3644 3732 

3645메시지는 거부된 명령으로 끝나며, 거부된 각 문자는 다음 Bash 도구 예시처럼 `�`로 표시됩니다:3733메시지는 거부된 명령으로 끝나며, 거부된 각 문자는 다음 Bash 도구 예시처럼 `�`로 표시됩니다.

3646 3734 

3647```text theme={null}3735```text theme={null}

3648No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.3736No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.


3651 3739 

3652**해결 방법:**3740**해결 방법:**

3653 3741 

3654* 메시지 끝에 인용된 명령에서 각 `�`를 찾습니다. 그것이 나타내는 문자를 [스킬 또는 명령 파일](https://code.claude.com/docs/ko/skills.md#where-skills-live)에서, 또는 파일에 대입되는 인수나 [옵션](https://code.claude.com/docs/ko/plugins/manifest-reference.md#user-configuration)에서 제거합니다.3742* 메시지 끝에 인용된 명령에서 각 `�`를 찾습니다. 해당 문자를 [스킬 또는 명령 파일](https://code.claude.com/docs/ko/skills.md#where-skills-live)에서, 또는 파일에 대입된 인수나 [옵션](https://code.claude.com/docs/ko/plugins/manifest-reference.md#user-configuration)에서 제거합니다.

3655 3743 

3656### `--print` 사용 시 입력을 제공해야 함3744### Input must be provided when using `--print`

3657 3745 

3658인수 없는 `claude`는 대화형 UI를 시작하기 위해 stdout이 터미널이어야 합니다. stdout이 리디렉션되었거나, PowerShell ISE나 일부 IDE 출력 창처럼 콘솔이 실제 터미널이 아니면 `claude`는 대신 [비대화형으로](https://code.claude.com/docs/ko/headless.md) 실행됩니다. 이는 프롬프트가 필요한 `claude -p`와 같은 모드이므로, 플래그를 전달하지 않았더라도 메시지에 `--print`가 표시됩니다. 프롬프트 없이, stdin으로 파이프된 내용도 없이 `-p`/`--print`를 전달하면 어디서든 같은 오류가 발생합니다.3746인수 없는 `claude`는 대화형 UI를 시작하려면 stdout이 터미널이어야 합니다. stdout이 리디렉션되었거나 PowerShell ISE나 일부 IDE 출력 창처럼 콘솔이 실제 터미널이 아니면, `claude`는 대신 [비대화형으로](https://code.claude.com/docs/ko/headless.md) 실행됩니다. 이는 프롬프트가 필요한 `claude -p`와 같은 모드이므로, 플래그를 전달하지 않았어도 메시지에 `--print`가 표시됩니다. 프롬프트 없이 stdin으로 아무것도 파이프하지 않은 채 `-p`/`--print`를 전달해도 어디서든 같은 오류가 발생합니다.

3659 3747 

3660```text theme={null}3748```text theme={null}

3661Error: Input must be provided either through stdin or as a prompt argument when using --print3749Error: Input must be provided either through stdin or as a prompt argument when using --print


3666* 대화형으로 사용하려면 실제 터미널에서 `claude`를 실행합니다. ISE 대신 Windows Terminal이나 PowerShell 콘솔을, 출력 창 대신 IDE의 통합 터미널을 사용합니다3754* 대화형으로 사용하려면 실제 터미널에서 `claude`를 실행합니다. ISE 대신 Windows Terminal이나 PowerShell 콘솔을, 출력 창 대신 IDE의 통합 터미널을 사용합니다

3667* 일회성으로 사용하려면 프롬프트를 전달합니다: `claude -p "your question"`, 또는 `echo "your question" | claude -p`로 파이프합니다3755* 일회성으로 사용하려면 프롬프트를 전달합니다: `claude -p "your question"`, 또는 `echo "your question" | claude -p`로 파이프합니다

3668 3756 

3669### 이 환경에서는 Claude Code가 키보드 입력을 읽을 수 없음3757### Claude Code can't read the keyboard here

3670 3758 

3671[`-p`](https://code.claude.com/docs/ko/headless) 없이 `claude`를 실행하여 [대화형 세션](https://code.claude.com/docs/ko/interactive-mode.md)을 시작했지만, 표준 입력이 터미널이 아닙니다. 무언가가 입력을 파이프하거나 리디렉션했거나, `claude`를 실행한 프로그램이 자체 입력 스트림을 제공했습니다.3759[`-p`](https://code.claude.com/docs/ko/headless) 없이 `claude`를 실행해 [대화형 세션](https://code.claude.com/docs/ko/interactive-mode.md)을 시작했지만, 표준 입력이 터미널이 아닙니다. 무언가가 입력을 파이프하거나 리디렉션했거나, `claude`를 실행한 프로그램이 자체 입력 스트림을 제공했습니다.

3672 3760 

3673대화형 세션은 키 입력을 읽을 터미널이 필요하며, 터미널이 없을 때 Claude Code의 동작은 플랫폼에 따라 다릅니다:3761대화형 세션은 키 입력을 읽을 터미널이 필요하며, 터미널이 없을 때 Claude Code의 동작은 플랫폼에 따라 다릅니다.

3674 3762 

3675* **Windows**: Claude Code는 인터페이스를 시작하지 않고 stderr에 메시지를 출력한 후 종료 코드 1로 종료됩니다3763* **Windows**: Claude Code는 인터페이스를 시작하지 않고 메시지를 stderr에 출력한 뒤 종료 코드 1로 종료됩니다

3676* **macOS 및 Linux**: Claude Code는 `/dev/tty`에서 키 입력을 읽어 세션을 시작하며, 파이프된 텍스트가 있으면 첫 번째 프롬프트로 사용합니다. `/dev/tty`를 열 수 없을 때 메시지가 표시되며, 첫 번째 줄에는 Windows 문구 대신 `/dev/tty`가 표시됩니다.3764* **macOS 및 Linux**: Claude Code는 `/dev/tty`에서 키 입력을 읽고 세션을 시작하며, 파이프된 텍스트가 있으면 첫 번째 프롬프트로 사용합니다. `/dev/tty`를 열 수 없을 때 메시지가 표시되며, 첫 번째 줄에는 Windows 문구 대신 `/dev/tty`가 표시됩니다.

3677 3765 

3678Windows에서는 메시지가 다음과 같습니다:3766Windows에서 메시지는 다음과 같습니다.

3679 3767 

3680```text theme={null}3768```text theme={null}

3681Claude Code can't read the keyboard here: stdin is not a terminal (it is piped, redirected, or supplied by the program that launched claude), and on Windows it can't fall back to the console for input yet.3769Claude Code can't read the keyboard here: stdin is not a terminal (it is piped, redirected, or supplied by the program that launched claude), and on Windows it can't fall back to the console for input yet.


3686**해결 방법:**3774**해결 방법:**

3687 3775 

3688* 대화형으로 작업하려면 입력을 파이프하거나 리디렉션하지 않고 터미널에서 직접 `claude`를 실행합니다3776* 대화형으로 작업하려면 입력을 파이프하거나 리디렉션하지 않고 터미널에서 직접 `claude`를 실행합니다

3689* 스크립트에서처럼 대화형 인터페이스 없이 응답을 받으려면 `-p`를 추가하고 프롬프트를 인수나 stdin으로 전달합니다. 예: `claude -p "your question"` 또는 `echo "your question" | claude -p`. `--continue` 및 `--resume <session-id>`와도 같은 방식으로 작동합니다.3777* 스크립트 등에서 대화형 인터페이스 없이 응답을 받으려면 `-p`를 추가하고 `claude -p "your question"` 또는 `echo "your question" | claude -p`처럼 프롬프트를 인수나 stdin으로 전달합니다. `--continue` 및 `--resume <session-id>`에서도 같은 방식이 작동합니다.

3690 3778 

3691v2.1.287 이전에는 Claude Code가 이 메시지를 출력하는 대신 인터페이스를 시작했고, 화면에 아무것도 표시하지 않거나 `Raw mode is not supported`가 포함된 오류로 실패했습니다.3779v2.1.287 이전에는 Claude Code가 이 메시지를 출력하는 대신 인터페이스를 시작했으며, 화면에 아무것도 표시하지 않거나 `Raw mode is not supported`가 포함된 오류로 실패했습니다.

3692 3780 

3693대신 `claude install` 중에 `Raw mode is not supported`가 표시되면 [설치 중 `Raw mode is not supported`](https://code.claude.com/docs/ko/troubleshoot-install#raw-mode-is-not-supported-during-install)를 참조하십시오.3781`claude install` 중에 `Raw mode is not supported`가 표시되는 경우에는 [설치 중 `Raw mode is not supported`](https://code.claude.com/docs/ko/troubleshoot-install#raw-mode-is-not-supported-during-install)를 참조하세요.

3694 3782 

3695### 입력에 공백만 포함됨3783### Input contained only whitespace

3696 3784 

3697[비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 Claude Code는 공백, 탭 또는 줄 바꿈으로만 이루어진 프롬프트를 전송하지 않고 거부합니다. API가 보이는 텍스트가 없는 메시지를 거부하기 때문입니다. 표시되는 메시지는 빈 프롬프트가 어디에서 왔는지에 따라 다릅니다:3785[비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 Claude Code는 공백, 탭, 줄 바꿈으로만 이루어진 프롬프트를 전송하지 않고 거부합니다. API가 보이는 텍스트가 없는 메시지를 거부하기 때문입니다. 표시되는 메시지는 빈 프롬프트가 어디서 왔는지에 따라 다릅니다.

3698 3786 

3699* **`claude -p`의 프롬프트 인수 또는 파이프된 stdin**: `claude`가 `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`와 함께 종료됩니다3787* **`claude -p`의 프롬프트 인수 또는 파이프된 stdin**: `claude`가 `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`와 함께 종료됩니다

3700* **실행 중인 `--input-format stream-json` 또는 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 세션에 제출된 메시지**: Claude Code는 모델을 호출하지 않고 턴을 종료하며 세션은 계속 사용할 수 있습니다. 거부 내용은 정보 메시지와 턴의 결과 텍스트로 전달됩니다: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`3788* **실행 중인 `--input-format stream-json` 또는 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 세션에 제출된 메시지**: Claude Code는 모델을 호출하지 않고 턴을 종료하며 세션은 계속 사용할 수 있습니다. 거부 내용은 정보 메시지와 턴의 결과 텍스트로 전달됩니다: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`

3701 3789 

3702v2.1.229 이전에는 Claude Code가 공백만 있는 메시지를 API에 전송했고, API는 400 오류로 요청을 거부했습니다.3790v2.1.229 이전에는 Claude Code가 공백만 있는 메시지를 API로 전송했고, API가 400 오류로 요청을 거부했습니다.

3703 3791 

3704**해결 방법:**3792**해결 방법:**

3705 3793 

3706* 프롬프트에 보이는 텍스트를 포함합니다. 스크립트가 변수나 파일에서 프롬프트를 만든다면 Claude Code를 호출하기 전에 소스가 비어 있지 않은지 확인합니다.3794* 프롬프트에 보이는 텍스트를 포함합니다. 스크립트가 변수나 파일에서 프롬프트를 구성하는 경우 Claude Code를 호출하기 전에 소스가 비어 있지 않은지 확인합니다.

3707 3795 

3708### stream-json 입력이 줄 바꿈 없이 256M 문자를 초과함3796### stream-json input carried over 256M characters with no newline

3709 3797 

3710프로그램이 `claude -p --input-format stream-json` 실행의 stdin에 줄 바꿈 없이 268,435,456자를 넘게 보냈기 때문에, Claude Code는 더 이상 입력을 버퍼링하지 않고 stderr에 이 오류를 출력한 후 종료 코드 1로 종료됩니다. 메시지는 이 한도를 `256M`으로 표시합니다. v2.1.257 이전에는 Claude Code가 이러한 입력을 제한 없이 버퍼링하여, 프로세스가 충돌하거나 종료될 때까지 메모리가 증가했습니다.3798프로그램이 `claude -p --input-format stream-json` 실행에 줄 바꿈 없이 268,435,456자를 초과하는 입력을 stdin으로 보냈으므로, Claude Code는 입력을 더 버퍼링하지 않고 이 오류를 stderr에 출력한 뒤 종료 코드 1로 종료됩니다. 메시지에서는 이 한도를 `256M`으로 표시합니다. v2.1.257 이전에는 Claude Code가 이러한 입력을 제한 없이 버퍼링해 프로세스가 충돌하거나 강제 종료될 때까지 메모리가 증가했습니다.

3711 3799 

3712```text theme={null}3800```text theme={null}

3713Error: 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.3801Error: 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.

3714```3802```

3715 3803 

3716줄 바꿈 없이 이렇게 긴 입력은 대개 생산자가 애초에 stream-json 생산자가 아님을 의미합니다. 예를 들어 바이너리 파일이나 일반 로그 출력이 실수로 파이프된 경우입니다. 한도를 초과하는 단일 메시지도 같은 검사에서 실패합니다.3804줄 바꿈 없이 이렇게 긴 입력은 대개 실수로 파이프된 바이너리 파일이나 일반 로그 출력처럼 생산자가 애초에 stream-json 생산자가 아니라는 의미입니다. 한도를 초과하는 단일 메시지도 같은 검사에서 실패합니다.

3717 3805 

3718**해결 방법:**3806**해결 방법:**

3719 3807 

3720* stdin으로 무엇이 파이프되는지 확인합니다. [`--input-format stream-json`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에서는 모든 메시지가 줄 바꿈으로 끝나는 JSON 한 줄이어야 합니다3808* stdin으로 무엇이 파이프되는지 확인합니다. [`--input-format stream-json`](https://code.claude.com/docs/ko/cli-reference#cli-flags)을 사용하면 모든 메시지는 줄 바꿈으로 끝나는 JSON 한 줄이어야 합니다

3721* 대신 일반 텍스트를 보내려면 `--input-format stream-json`을 제거합니다. `claude -p`는 기본적으로 stdin에서 일반 텍스트 프롬프트를 읽습니다3809* 대신 일반 텍스트를 보내려면 `--input-format stream-json`을 제거합니다. `claude -p`는 기본적으로 stdin에서 일반 텍스트 프롬프트를 읽습니다

3722 3810 

3723### Unknown command3811### Unknown command

3724 3812 

3725대화형 터미널 세션에서 이 세션의 어떤 명령과도 일치하지 않는 `/` 이름을 제출했기 때문에, Claude Code는 아무것도 실행하지 않고 해당 이름을 보고합니다:3813대화형 터미널 세션에서 이 세션의 어떤 명령과도 일치하지 않는 `/` 이름을 제출했기 때문에, Claude Code가 아무것도 실행하지 않고 해당 이름을 보고합니다:

3726 3814 

3727```text theme={null}3815```text theme={null}

3728Unknown command: /hepl. Did you mean /help?3816Unknown command: /hepl. Did you mean /help?

3729```3817```

3730 3818 

3731Claude Code는 이 세션의 메뉴에 나열된 명령 이름이나 별칭 중 가장 가까운 것을 제안합니다. 가까운 것이 없으면 메시지는 이름 뒤에서 끝납니다. 원인은 대개 다음 중 하나입니다:3819Claude Code는 이 세션에서 메뉴에 나열된 명령 이름 또는 별칭 중 가장 가까운 것을 제안합니다. 가까운 것이 없으면 메시지는 이름 뒤에서 끝납니다. 원인은 보통 다음 중 하나입니다:

3732 3820 

3733* `/help`를 `/hepl`로 입력한 것 같은 오타. [명령 메뉴가 입력 내용과 일치시키는 방식](https://code.claude.com/docs/ko/commands.md#how-the-command-menu-matches-what-you-type)에서 제출 전에 가까운 항목을 선택하는 방법을 다룹니다3821* `/help` 대신 `/hepl`을 입력한 것과 같은 오타. 제출하기 전에 가까운 일치 항목을 고르는 방법은 [명령 메뉴가 입력 내용과 일치시키는 방식](https://code.claude.com/docs/ko/commands.md#how-the-command-menu-matches-what-you-type)에서 다룹니다

3734* 명령은 존재하지만 플랫폼, 플랜, 인증 방법 등의 요구 사항이 충족되지 않아 이 세션에서 사용할 수 없습니다. [`/web-setup`](https://code.claude.com/docs/ko/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command), [`/schedule`](https://code.claude.com/docs/ko/routines#schedule-returns-unknown-command), [`/auto-mode-setup`](https://code.claude.com/docs/ko/auto-mode-config#auto-mode-setup-returns-unknown-command) 항목을 참조하세요. 일부 명령은 조직 정책에 의해 비활성화되었을 때 [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)처럼 자체 메시지로 응답합니다3822* 존재하지만 플랫폼, 플랜, 인증 방법 등의 요구 사항이 충족되지 않아 이 세션에서 사용할 수 없는 명령. [`/web-setup`](https://code.claude.com/docs/ko/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command), [`/schedule`](https://code.claude.com/docs/ko/routines#schedule-returns-unknown-command), [`/auto-mode-setup`](https://code.claude.com/docs/ko/auto-mode-config#auto-mode-setup-returns-unknown-command) 항목을 참조하십시오. 일부 명령은 조직의 정책으로 비활성화된 경우 [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)와 같은 자체 메시지로 응답합니다

3735* 이 세션에 설치되거나 연결되지 않은 [플러그인](https://code.claude.com/docs/ko/plugins/overview.md) 또는 [MCP 서버](https://code.claude.com/docs/ko/mcp.md#use-mcp-prompts-as-commands)의 명령3823* 이 세션에 설치되지 않았거나 연결되지 않은 [플러그인](https://code.claude.com/docs/ko/plugins/overview.md) 또는 [MCP 서버](https://code.claude.com/docs/ko/mcp.md#use-mcp-prompts-as-commands)의 명령

3736 3824 

3737Claude Code는 대화형 터미널 세션에서만 일치하지 않는 `/` 이름에 이런 방식으로 응답합니다. 그 밖의 모든 세션에서는 프롬프트를 일반 메시지로 Claude에 보내며, 명령이 실행되지 않았다는 메모와 세션에서 Claude가 실행할 수 있는 명령 목록을 함께 보냅니다. 이러한 세션은 다음과 같습니다:3825Claude Code는 대화형 터미널 세션에서만 일치하지 않는 `/` 이름에 이런 방식으로 응답합니다. 그 외의 모든 세션에서는 프롬프트를 일반 메시지로 Claude에 보내며, 명령이 실행되지 않았다는 안내와 세션에서 Claude가 실행할 수 있는 명령 목록을 함께 보냅니다. 해당 세션은 다음과 같습니다:

3738 3826 

3739* `-p` 실행3827* `-p` 실행

3740* [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 애플리케이션3828* [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 애플리케이션

3741* [데스크톱 앱](https://code.claude.com/docs/ko/desktop.md)의 Code 탭3829* [Desktop 앱](https://code.claude.com/docs/ko/desktop.md)의 Code 탭

3742* [VS Code 확장](https://code.claude.com/docs/ko/vs-code.md)의 채팅 패널3830* [VS Code 확장 프로그램](https://code.claude.com/docs/ko/vs-code.md)의 채팅 패널

3743* [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md) 및 [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md)3831* [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md) 및 [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md)

3744 3832 

3745이러한 세션 중 하나에서 실행할 수 없는 내장 명령의 경우, Claude Code는 Claude에 전송하지 않고 여전히 해당 명령을 사용할 수 없다고 응답합니다. v2.1.274 이전에는 클라우드 세션과 클라우드 예약 작업만 일치하지 않는 이름을 Claude에 전송했습니다. v2.1.273 이전에는 이들도 `Unknown command`로 응답했습니다.3833이러한 세션 중 하나에서 실행할 수 없는 기본 제공 명령의 경우, Claude Code는 여전히 Claude에 보내지 않고 해당 명령을 사용할 수 없다고 응답합니다. v2.1.274 이전에는 클라우드 세션과 클라우드 예약 작업만 일치하지 않는 이름을 Claude에 보냈습니다. v2.1.273 이전에는 이들도 `Unknown command`로 응답했습니다.

3746 3834 

3747Claude Code는 `/`로 시작하는 모든 프롬프트를 명령으로 처리하지 않습니다. `/` 다음의 첫 단어가 Lean 문서 주석을 여는 `/--`처럼 문장 부호로 시작하거나 `/var/log/syslog` 같은 경로이면 프롬프트를 일반 메시지로 Claude에 보냅니다.3835Claude Code는 `/`로 시작하는 모든 프롬프트를 명령으로 처리하지 않습니다. `/` 뒤의 첫 단어가 Lean 문서 주석을 여는 `/--`처럼 구두점으로 시작하거나 `/var/log/syslog`와 같은 경로인 경우, 프롬프트를 일반 메시지로 Claude에 보냅니다.

3748 3836 

3749v2.1.236 이전에는 명령 메뉴에 입력한 이름과 가까운 항목이 나열된 상태에서 `Enter`를 누르면 Claude Code가 그 항목을 실행했기 때문에, `/hepl` 같은 오타는 이 메시지를 표시하는 대신 `/help`를 실행했습니다.3837v2.1.236 이전에는 명령 메뉴에 입력한 이름과 가까운 항목이 나열된 상태에서 `Enter`를 누르면 Claude Code가 해당 항목을 실행했기 때문에, `/hepl`과 같은 오타는 이 메시지를 표시하는 대신 `/help`를 실행했습니다.

3750 3838 

3751**해결 방법:**3839**해결 방법:**

3752 3840 

3753* 제안된 이름을 실행하거나, `/` 다음에 이름의 일부를 입력하여 이 세션에서 사용 가능한 명령을 확인합니다3841* 제안된 이름을 실행하거나, `/` 뒤에 이름의 일부를 입력하여 이 세션에서 사용할 수 있는 명령을 확인합니다

3754* Claude Code가 문서화된 명령을 알 수 없는 명령으로 보고하면 [명령 참조](https://code.claude.com/docs/ko/commands.md)에서 해당 행에 명시된 요구 사항을 확인합니다3842* Claude Code가 문서화된 명령을 알 수 없다고 보고하는 경우, [명령 참조](https://code.claude.com/docs/ko/commands.md)에서 해당 명령의 행을 확인하여 명시된 요구 사항을 확인합니다

3755 3843 

3756### diff가 너무 커서 ultrareview를 할 수 없음3844### Diff is too large for ultrareview

3757 3845 

3758커밋되지 않은 변경 사항과 스테이징된 변경 사항을 포함하여 브랜치와 기본 브랜치 사이의 diff가 [ultrareview](https://code.claude.com/docs/ko/ultrareview.md)의 크기 제한을 초과했기 때문에, `/code-review ultra`와 `claude ultrareview` 하위 명령이 클라우드 세션 시작 전에 리뷰를 거부합니다. 거부된 리뷰는 무료 실행 횟수를 사용하지 않으며 사용량 크레딧도 청구되지 않습니다. 메시지에는 적용 중인 제한, diff 크기, 그리고 변경된 줄이 가장 많은 파일이 표시됩니다. v2.1.216 이전에는 메시지에 원시 diff 통계만 표시되었습니다.3846커밋되지 않은 변경 사항과 스테이징된 변경 사항을 포함하여 현재 브랜치와 기본 브랜치 간의 diff가 [ultrareview](https://code.claude.com/docs/ko/ultrareview.md)의 크기 제한을 초과하므로, `/code-review ultra`와 `claude ultrareview` 하위 명령은 클라우드 세션이 시작되기 전에 리뷰를 거부합니다. 거부된 리뷰는 무료 실행 횟수를 사용하지 않으며 사용량 크레딧도 청구되지 않습니다. 메시지에는 적용 중인 제한, diff의 크기, 변경된 줄 수가 가장 많은 파일이 표시됩니다. v2.1.216 이전에는 메시지에 원시 diff 통계만 표시되었습니다.

3759 3847 

3760```text theme={null}3848```text theme={null}

3761Diff 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.3849Diff 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.

3762```3850```

3763 3851 

3764풀 리퀘스트를 리뷰할 때도 같은 제한이 적용됩니다. 이 경우 메시지는 `PR #<N> is too large for ultrareview`로 시작하며 PR의 파일 수와 줄 수가 표시됩니다.3852풀 리퀘스트를 리뷰할 때도 동일한 제한이 적용됩니다. 이 경우 메시지는 `PR #<N> is too large for ultrareview`로 시작하며 PR의 파일 수와 줄 수를 표시합니다.

3765 3853 

3766**해결 방법:**3854**해결 방법:**

3767 3855 

3768* `/code-review ultra develop`처럼 작업에 더 가까운 기본 브랜치를 전달하여 리뷰가 해당 브랜치와의 diff만 다루도록 합니다3856* `/code-review ultra develop`처럼 작업에 더 가까운 기본 브랜치를 전달하여, 리뷰가 해당 브랜치와의 diff만 다루도록 합니다

3769* 변경 사항을 더 작은 브랜치로 나누고 각각 리뷰합니다. 메시지에 표시된 파일이 변경된 줄이 가장 많으므로, 먼저 해당 파일을 별도 브랜치로 옮기는 것부터 시작합니다.3857* 변경 사항을 더 작은 브랜치로 나누고 각각 리뷰합니다. 메시지에 표시된 파일이 변경된 줄 수가 가장 많으므로, 먼저 해당 파일을 별도의 브랜치로 옮기십시오.

3770 3858 

3771### 기본 브랜치와의 merge-base를 찾을 수 없음3859### Could not find merge-base with the base branch

3772 3860 

3773`/code-review ultra`와 `claude ultrareview` 하위 명령은 브랜치와 기본 브랜치 사이의 diff를 리뷰하며, 이를 위해서는 두 브랜치가 공유하는 커밋이 필요합니다. `git merge-base`가 그런 커밋을 찾지 못하면 Claude Code는 클라우드 세션 시작 전에 리뷰를 거부합니다. Claude Code가 완전한 것으로 확인할 수 있고 브랜치가 하나 이상 있는 클론에서는 거부하는 대신 [추적 중인 모든 파일을 리뷰](https://code.claude.com/docs/ko/ultrareview.md#diff-limits-and-fallbacks)하는 방식으로 폴백합니다. 이 거부는 기본 브랜치를 전혀 찾을 수 없을 때, Claude Code가 클론이 완전한지 확인할 수 없을 때, 또는 SHA-256 객체 형식처럼 전체 트리 diff가 불가능한 드문 저장소에서 표시됩니다.3861`/code-review ultra`와 `claude ultrareview` 하위 명령은 현재 브랜치와 기본 브랜치 간의 diff를 리뷰하며, 이를 위해서는 두 브랜치가 공유하는 커밋이 필요합니다. `git merge-base`가 공유 커밋을 찾지 못하면 Claude Code는 클라우드 세션이 시작되기 전에 리뷰를 거부합니다. Claude Code가 완전하다고 확인할 수 있고 브랜치가 하나 이상 있는 클론에서는 거부하는 대신 [추적되는 모든 파일을 리뷰하는 방식](https://code.claude.com/docs/ko/ultrareview.md#diff-limits-and-fallbacks)으로 대체합니다. 기본 브랜치를 전혀 찾을 수 없는 경우, Claude Code가 클론이 완전한지 확인할 수 없는 경우, 또는 SHA-256 객체 형식처럼 전체 트리 diff가 불가능한 드문 저장소에서 이 거부 메시지가 표시됩니다.

3774 3862 

3775```text theme={null}3863```text theme={null}

3776Could 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.3864Could 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.

3777```3865```

3778 3866 

3779첫 문장 뒤의 힌트는 Claude Code가 관찰한 내용에 따라 달라집니다:3867첫 번째 문장 뒤의 힌트는 Claude Code가 확인한 내용에 따라 달라집니다:

3780 3868 

3781* **기본 브랜치를 전달하지 않은 경우**: Claude Code는 저장소의 기본 브랜치와 비교했으며, 위 예시처럼 기본 브랜치를 명시적으로 전달하도록 제안합니다3869* **기본 브랜치를 전달하지 않은 경우**: Claude Code는 저장소의 기본 브랜치와 비교했으며, 위 예시처럼 기본 브랜치를 명시적으로 전달하도록 제안합니다

3782* **클론에 이미 있는 기본 브랜치를 전달한 경우**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``입니다3870* **이미 클론에 있는 기본 브랜치를 전달한 경우**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``입니다

3783* **클론에 없던 기본 브랜치를 전달한 경우**: 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가 클론이 shallow인지 판단할 수 없는 경우에는 대신 `git fetch --unshallow origin`을 제안합니다. v2.1.221 이전에는 가져온 모든 기본 브랜치에 대해 힌트가 `git fetch --unshallow origin`을 제안했으며, 완전한 클론에서는 이 명령이 `fatal: --unshallow on a complete repository does not make sense`와 함께 실패했습니다.3871* **클론에 없는 기본 브랜치를 전달한 경우**: 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가 클론이 shallow 클론인지 판단할 수 없는 경우에는 대신 `git fetch --unshallow origin`을 제안합니다. v2.1.221 이전에는 가져온 모든 기본 브랜치에 대해 힌트가 `git fetch --unshallow origin`을 제안했으며, 완전한 클론에서는 해당 명령이 `fatal: --unshallow on a complete repository does not make sense`와 함께 실패했습니다.

3784 3872 

3785**해결 방법:**3873**해결 방법:**

3786 3874 

3787* 다른 브랜치가 실제 기본 브랜치라면 명시적으로 전달합니다: `/code-review ultra <branch>`3875* 다른 브랜치가 실제 기본 브랜치라면 명시적으로 전달합니다: `/code-review ultra <branch>`

3788* 클론에 전체 히스토리가 없을 수 있다면 `git fetch --unshallow origin`을 실행하고 리뷰를 다시 실행합니다3876* 클론에 전체 기록이 없을 수 있다면 `git fetch --unshallow origin`을 실행하고 리뷰를 다시 실행합니다

3789 3877 

3790### 체크아웃에 브랜치가 없음3878### Your checkout has no branches

3791 3879 

3792체크아웃에는 커밋이 있어도 브랜치가 없을 수 있습니다. `git init`을 실행한 후 `git fetch <url>`과 `git checkout FETCH_HEAD`를 실행하면 ref가 없는 detached HEAD 상태가 됩니다. Claude Code는 [ultrareview](https://code.claude.com/docs/ko/ultrareview.md)를 위해 저장소를 git 번들로 패키징하여 업로드하는데, 브랜치나 다른 ref가 없는 저장소는 번들로 만들 수 없으므로 `/code-review ultra`와 `claude ultrareview` 하위 명령이 클라우드 세션 시작 전에 리뷰를 거부합니다.3880체크아웃에 커밋은 있지만 브랜치가 없을 수 있습니다. `git init`을 실행한 후 `git fetch <url>`과 `git checkout FETCH_HEAD`를 실행하면 ref가 없는 detached HEAD 상태가 됩니다. Claude Code는 [ultrareview](https://code.claude.com/docs/ko/ultrareview.md)를 위해 저장소를 git 번들로 패키징하여 업로드하는데, 브랜치나 다른 ref가 없는 저장소는 번들로 만들 수 없으므로 `/code-review ultra`와 `claude ultrareview` 하위 명령은 클라우드 세션이 시작되기 전에 리뷰를 거부합니다.

3793 3881 

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

3795Your 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.3883Your 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.

3796```3884```

3797 3885 

3798v2.1.221 이전에는 Claude Code가 이 체크아웃에서 추적 중인 모든 파일을 리뷰하려고 시도했고 업로드가 실패했습니다.3886v2.1.221 이전에는 Claude Code가 이 체크아웃에서 추적되는 모든 파일을 리뷰하려고 시도했으며, 업로드가 실패했습니다.

3799 3887 

3800**해결 방법:**3888**해결 방법:**

3801 3889 

3802* `git checkout -b <name>`으로 현재 커밋에서 브랜치를 만든 다음 리뷰를 다시 실행합니다3890* `git checkout -b <name>`으로 현재 커밋에 브랜치를 만든 다음 리뷰를 다시 실행합니다

3803 3891 

3804### Claude 계정에 연결된 GitHub 계정이 없음3892### No GitHub account is connected to your Claude account

3805 3893 

3806`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`를 실행하면 Claude Code는 클라우드 세션을 만들기 전에 [Claude 계정에 연결된 GitHub 계정](https://code.claude.com/docs/ko/ultrareview.md#review-a-pull-request)이 PR의 저장소에 접근할 수 있는지 서버에 확인합니다. 연결된 계정이 없거나 연결이 만료되어 클라우드 클론이 실패할 것이므로 Claude Code가 실행을 거부합니다. 거부된 실행에 대해서는 무료 실행 횟수를 사용하거나 사용량 크레딧을 청구하지 않습니다.3894`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`을 실행하면, Claude Code는 클라우드 세션을 만들기 전에 [Claude 계정에 연결된 GitHub 계정](https://code.claude.com/docs/ko/ultrareview.md#review-a-pull-request)이 PR의 저장소에 접근할 수 있는지 서버에 확인합니다. 연결된 계정이 없거나 연결이 만료된 경우 클라우드 클론이 실패할 것이므로 Claude Code는 실행을 거부합니다. 거부된 실행에 대해서는 무료 실행 횟수를 사용하지 않으며 사용량 크레딧도 청구하지 않습니다.

3807 3895 

3808```text theme={null}3896```text theme={null}

3809Ultrareview 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).3897Ultrareview 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).

3810```3898```

3811 3899 

3812세션에서 [`/web-setup`](https://code.claude.com/docs/ko/web-quickstart#connect-from-your-terminal)을 사용할 수 없으면 메시지에는 claude.ai 링크만 표시됩니다.3900세션에서 [`/web-setup`](https://code.claude.com/docs/ko/web-quickstart#connect-from-your-terminal)을 사용할 수 없는 경우 메시지에는 claude.ai 링크만 표시됩니다.

3813 3901 

3814**해결 방법:**3902**해결 방법:**

3815 3903 


3818 3906 

3819v2.1.248 이전에는 Claude Code가 실행 전에 이를 확인하지 않았습니다.3907v2.1.248 이전에는 Claude Code가 실행 전에 이를 확인하지 않았습니다.

3820 3908 

3821### 연결된 GitHub 계정이 저장소를 볼 수 없음3909### Your connected GitHub account can't see the repository

3822 3910 

3823`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`를 실행했지만 [Claude 계정에 연결된 GitHub 계정](https://code.claude.com/docs/ko/ultrareview.md#review-a-pull-request)이 PR의 저장소를 읽을 수 없어 클라우드 클론이 실패할 것이므로 Claude Code가 실행을 거부합니다. 거부된 실행에 대해서는 무료 실행 횟수를 사용하거나 사용량 크레딧을 청구하지 않습니다.3911`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`을 실행했지만 [Claude 계정에 연결된 GitHub 계정](https://code.claude.com/docs/ko/ultrareview.md#review-a-pull-request)이 PR의 저장소를 읽을 수 없으므로, 클라우드 클론이 실패할 것이어서 Claude Code가 실행을 거부합니다. 거부된 실행에 대해서는 무료 실행 횟수를 사용하지 않으며 사용량 크레딧도 청구하지 않습니다.

3824 3912 

3825```text theme={null}3913```text theme={null}

3826Your 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.3914Your 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.

3827```3915```

3828 3916 

3829세션에서 [`/web-setup`](https://code.claude.com/docs/ko/web-quickstart#connect-from-your-terminal)을 사용할 수 없으면 메시지에는 앱 설치만 표시됩니다.3917세션에서 [`/web-setup`](https://code.claude.com/docs/ko/web-quickstart#connect-from-your-terminal)을 사용할 수 없는 경우 메시지에는 앱 설치만 표시됩니다.

3830 3918 

3831**해결 방법:**3919**해결 방법:**

3832 3920 

3833* 로컬 `gh` CLI가 저장소를 읽을 수 있다면 `/web-setup`을 실행하여 그 로그인을 Claude 계정에 연결합니다3921* 로컬 `gh` CLI가 저장소를 읽을 수 있다면 `/web-setup`을 실행하여 해당 로그인을 Claude 계정에 연결합니다

3834* 변경 후 리뷰를 다시 실행합니다3922* 변경한 후 리뷰를 다시 실행합니다

3835 3923 

3836v2.1.248 이전에는 Claude Code가 실행 전에 이를 확인하지 않았습니다.3924v2.1.248 이전에는 Claude Code가 실행 전에 이를 확인하지 않았습니다.

3837 3925 

3838### GitHub App 사전 검사가 일시적으로 실패함3926### The GitHub App preflight failed transiently

3839 3927 

3840로컬 저장소에서 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)을 시작했는데 두 단계가 함께 실패했습니다. Claude Code가 저장소 번들을 빌드하거나 업로드할 수 없었습니다. 업로드 전에 Claude Code는 클라우드 서비스가 GitHub에서 저장소를 클론할 수 있는지 확인했는데, 이 확인이 명확한 답 대신 네트워크 오류, 시간 초과, 일시적인 서버 오류처럼 재시도하면 해소될 수 있는 오류로 끝났습니다. 전체 메시지는 `Could not upload repo bundle (<error>)`처럼 번들을 막은 원인으로 시작하고 사전 검사 문장으로 끝납니다:3928로컬 저장소에서 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)을 시작했는데 두 단계가 함께 실패했습니다. Claude Code가 저장소의 번들을 빌드하거나 업로드할 수 없었습니다. 업로드 전에 Claude Code는 클라우드 서비스가 GitHub에서 저장소를 클론할 수 있는지 확인했는데, 이 확인이 명확한 답을 얻지 못하고 네트워크 오류, 시간 초과, 일시적인 서버 오류처럼 재시도하면 해소될 수 있는 오류로 끝났습니다. 전체 메시지는 `Could not upload repo bundle (<error>)`처럼 번들을 중단시킨 원인으로 시작하고, 사전 확인 문장으로 끝납니다:

3841 3929 

3842```text theme={null}3930```text theme={null}

3843Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3931Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead


3845 3933 

3846**해결 방법:**3934**해결 방법:**

3847 3935 

3848* 잠시 후 명령을 다시 실행합니다. GitHub 확인이 통과하면 Claude Code가 GitHub 클론에서 세션을 시작할 수 있으므로 실패한 업로드가 더 이상 실행을 막지 않습니다3936* 잠시 후 명령을 다시 실행합니다. GitHub 확인이 통과하면 Claude Code가 GitHub 클론에서 세션을 시작할 수 있으므로, 실패한 업로드가 더 이상 실행을 막지 않습니다

3849* 재시도가 계속 실패하면 메시지 앞부분에 업로드를 막은 원인이 표시됩니다. 그 원인을 수정할 수 있다면 수정하여 로컬 저장소에서 세션을 시작할 수 있도록 합니다3937* 재시도가 계속 실패하면 메시지의 시작 부분에 업로드를 중단시킨 원인이 표시됩니다. 해당 원인이 직접 해결할 수 있는 것이라면 해결하여 세션이 로컬 저장소에서 시작될 수 있도록 합니다

3850 3938 

3851v2.1.251 이전에는 GitHub 확인이 일시적으로만 실패한 경우에도 Claude Code가 메시지를 `Please set up GitHub on https://claude.ai/code`로 끝냈으며, 설정 조언으로는 일시적인 실패를 해결할 수 없었습니다.3939v2.1.251 이전에는 GitHub 확인이 일시적으로만 실패한 경우에도 Claude Code가 메시지를 `Please set up GitHub on https://claude.ai/code`로 끝냈는데, 설정 안내로는 일시적인 실패를 해결할 수 없습니다.

3852 3940 

3853### 저장소 업로드가 git 설정을 따를 수 없음3941### The repository upload can't follow a git setting

3854 3942 

3855[로컬 저장소를 업로드하는 클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#send-local-repositories-without-github) 또는 브랜치의 [ultrareview](https://code.claude.com/docs/ko/ultrareview.md)를 시작했는데, 파일에 어떤 속성 규칙이 적용되는지 결정하는 git 설정 중 하나를 업로드가 따를 수 없습니다. 업로드가 진행되어 규칙을 놓치면, clean 필터로 암호화되는 파일처럼 git이 저장 전에 변환하는 파일이 디스크에 있는 그대로 클라우드에 전달될 수 있습니다. 따라서 Claude Code는 업로드를 거부하며 아무것도 업로드되지 않습니다:3943[로컬 저장소를 업로드하는 클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#send-local-repositories-without-github) 또는 브랜치의 [ultrareview](https://code.claude.com/docs/ko/ultrareview.md)를 시작했는데, 파일에 적용되는 attribute 규칙을 결정하는 git 설정 중 하나를 업로드가 따를 수 없습니다. 업로드를 그대로 진행하여 규칙을 놓치면, clean 필터가 암호화하는 파일처럼 git이 저장 전에 변환하는 파일이 디스크에 있는 그대로 클라우드에 전송될 수 있습니다. 그래서 Claude Code는 업로드를 거부하며, 아무것도 업로드되지 않습니다:

3856 3944 

3857```text theme={null}3945```text theme={null}

3858Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.3946Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.

3859```3947```

3860 3948 

3861메시지에는 설정과 설정된 위치가 표시되며, 해당하는 경우에 대한 해결 방법으로 끝납니다. `core.attributesFile`과 `attr.tree`에 대해서도 각각의 해결 방법과 함께 같은 거부가 표시됩니다.3949메시지에는 해당 설정과 설정된 위치가 표시되며, 해당 사례에 맞는 해결 방법으로 끝납니다. `core.attributesFile`과 `attr.tree`에 대해서도 각각의 해결 방법과 함께 동일한 거부 메시지가 표시됩니다.

3862 3950 

3863메시지에는 git 구성이 `include` 또는 `includeIf` 지시문을 통해 불러오는 설정 파일이 표시될 수 있으며, 해당 지시문의 조건이 이 저장소에 적용되지 않는 경우에도 마찬가지입니다.3951메시지에는 git 구성이 `include` 또는 `includeIf` 지시문을 통해 불러오는 설정 파일이 표시될 수 있으며, 이는 해당 지시문의 조건이 이 저장소에 적용되지 않는 경우에도 마찬가지입니다.

3864 3952 

3865**해결 방법:**3953**해결 방법:**

3866 3954 

3867* 메시지의 마지막 문장에 있는 해결 방법을 적용합니다3955* 메시지의 마지막 문장에 있는 해결 방법을 적용합니다

3868 3956 

3869### GitHub가 Claude 계정에 연결되어 있지 않음3957### GitHub isn't connected to your Claude account

3870 3958 

3871`/autofix-pr` 등을 사용하여 로컬 저장소에서 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)을 시작했습니다. Claude 계정에 연결된 GitHub 계정이 없거나 연결이 만료되었으므로 Claude Code가 실행을 거부합니다:3959예를 들어 `/autofix-pr`로 로컬 저장소에서 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)을 시작했습니다. Claude 계정에 연결된 GitHub 계정이 없거나 연결이 만료되었으므로 Claude Code가 실행을 거부합니다:

3872 3960 

3873```text theme={null}3961```text theme={null}

3874GitHub 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-github3962GitHub 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

3875```3963```

3876 3964 

3877[`/schedule`](https://code.claude.com/docs/ko/routines)로 클라우드 예약 작업을 만들 때는 동일한 메시지가 저장소 이름이 포함된 설정 안내로 표시되며, 이 안내는 작업 생성을 막지 않습니다.3965[`/schedule`](https://code.claude.com/docs/ko/routines)로 클라우드 예약 작업을 만들 때는 동일한 메시지가 저장소 이름을 포함한 설정 안내로 표시되며, 이 안내는 작업 생성을 막지 않습니다.

3878 3966 

3879**해결 방법:**3967**해결 방법:**

3880 3968 

3881* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나, [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결합니다. 두 방법의 차이는 [GitHub 인증 옵션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#github-authentication-options)을 참조하십시오.3969* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나, [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결합니다. 두 방법의 차이는 [GitHub 인증 옵션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#github-authentication-options)을 참조하십시오.

3882* 연결하고 1분 후에 명령을 다시 실행합니다3970* 연결하고 1분 후에 명령을 다시 실행합니다

3883 3971 

3884v2.1.268 이전에는 Claude Code가 이를 Claude GitHub App 확인의 일시적인 실패로 보고하고 재시도하거나 앱을 설치하도록 제안했지만, 둘 다 GitHub 계정을 연결하지 않습니다.3972v2.1.268 이전에는 Claude Code가 이를 Claude GitHub App 확인의 일시적인 실패로 보고하고 재시도나 앱 설치를 제안했지만, 어느 쪽도 GitHub 계정을 연결하지 않습니다.

3885 3973 

3886### GitHub 조직 정책이 Claude를 차단하고 있음3974### A GitHub organization policy is blocking Claude

3887 3975 

3888Claude Code 프롬프트에서 [`/autofix-pr`](https://code.claude.com/docs/ko/claude-code-on-the-web#auto-fix-pull-requests)처럼 클라우드 세션을 시작하는 명령을 실행했습니다. Claude Code는 세션을 생성하기 전에 GitHub에서 Claude의 저장소 접근 권한을 확인하는데, GitHub 조직에 Claude를 차단하는 정책이 있어 GitHub가 이를 거부했습니다. Claude Code는 그 시점에서 중단하고 해당 정책을 명시하는 메시지를 표시합니다.3976Claude Code 프롬프트에서 [`/autofix-pr`](https://code.claude.com/docs/ko/claude-code-on-the-web#auto-fix-pull-requests)처럼 클라우드 세션을 시작하는 명령을 실행했습니다. Claude Code는 세션을 만들기 전에 GitHub에서 Claude의 저장소 접근 권한을 확인하는데, GitHub 조직에 Claude를 차단하는 정책이 있어 GitHub가 이를 거부했습니다. Claude Code는 여기서 중단하고 해당 정책을 명시한 메시지를 표시합니다.

3889 3977 

3890IP 허용 목록이 접근을 차단하는 경우 메시지는 다음과 같습니다.3978IP 허용 목록이 접근을 차단하는 경우 메시지는 다음과 같습니다:

3891 3979 

3892```text theme={null}3980```text theme={null}

3893Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist.3981Your GitHub organization has an IP allowlist that is blocking Claude. Add Claude's IP ranges to your GitHub allowlist.

3894```3982```

3895 3983 

3896싱글 사인온이 차단하는 경우 메시지는 다음과 같습니다.3984싱글 사인온이 차단하는 경우 메시지는 다음과 같습니다:

3897 3985 

3898```text theme={null}3986```text theme={null}

3899Your GitHub organization requires single sign-on. Disconnect and reconnect GitHub on the Connectors page in Claude on the web, click Authorize next to your organization when GitHub asks, then try again.3987Your GitHub organization requires single sign-on. Disconnect and reconnect GitHub on the Connectors page in Claude on the web, click Authorize next to your organization when GitHub asks, then try again.

3900```3988```

3901 3989 

3902Microsoft Entra ID 조건부 액세스 정책이 차단하는 경우 메시지는 다음과 같습니다.3990Microsoft Entra ID 조건부 액세스 정책이 차단하는 경우 메시지는 다음과 같습니다:

3903 3991 

3904```text theme={null}3992```text theme={null}

3905Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude. Ask your GitHub Enterprise or Entra ID admin to allow Claude in that policy.3993Your GitHub organization's identity provider (Microsoft Entra ID) has a Conditional Access policy that is blocking Claude. Ask your GitHub Enterprise or Entra ID admin to allow Claude in that policy.


3908**해결 방법:**3996**해결 방법:**

3909 3997 

3910* **IP 허용 목록**: GitHub 조직 또는 엔터프라이즈의 소유자에게 Anthropic의 아웃바운드 IP 주소를 허용하도록 요청합니다. 주소와 변경할 GitHub 설정은 [GitHub 허용 목록 및 방화벽](https://code.claude.com/docs/ko/network-config.md#github-allow-lists-and-firewalls)을 참조하십시오.3998* **IP 허용 목록**: GitHub 조직 또는 엔터프라이즈의 소유자에게 Anthropic의 아웃바운드 IP 주소를 허용하도록 요청합니다. 주소와 변경할 GitHub 설정은 [GitHub 허용 목록 및 방화벽](https://code.claude.com/docs/ko/network-config.md#github-allow-lists-and-firewalls)을 참조하십시오.

3911* **싱글 사인온**: [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 GitHub 연결을 해제한 다음 다시 연결합니다. GitHub가 요청하면 조직 옆의 **Authorize**를 클릭하여 새 연결이 해당 조직의 싱글 사인온에 대해 승인되도록 합니다.3999* **싱글 사인온**: [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 GitHub 연결을 해제한 다음 다시 연결합니다. GitHub가 요청하면 조직 옆의 **Authorize**를 클릭하여 새 연결이 해당 조직의 싱글 사인온에 대해 인가되도록 합니다.

3912* **조건부 액세스 정책**: GitHub Enterprise 또는 Microsoft Entra ID 관리자에게 해당 정책에서 Claude를 허용하도록 요청합니다4000* **조건부 액세스 정책**: GitHub Enterprise 또는 Microsoft Entra ID 관리자에게 해당 정책에서 Claude를 허용하도록 요청합니다

3913* 변경 후 명령을 다시 실행합니다4001* 변경한 후 명령을 다시 실행합니다

3914 4002 

3915### 싱글 사인온 승인 필요4003### Single sign-on authorization needed

3916 4004 

3917[`/install-github-app`](https://code.claude.com/docs/ko/github-actions#quick-setup)을 실행하고 SAML 싱글 사인온을 적용하는 조직의 저장소를 선택했습니다. Claude Code는 설정 전에 GitHub CLI로 저장소 접근 권한을 확인하는데, `gh` 토큰이 아직 해당 조직에 대해 승인되지 않아 GitHub가 이 확인을 거부했습니다. 마법사는 승인 단계와 함께 경고를 표시합니다.4005[`/install-github-app`](https://code.claude.com/docs/ko/github-actions#quick-setup)을 실행하고 SAML 싱글 사인온을 적용하는 조직의 저장소를 선택했습니다. Claude Code는 설정 전에 GitHub CLI로 저장소에 대한 접근 권한을 확인하는데, `gh` 토큰이 아직 해당 조직에 대해 인가되지 않았기 때문에 GitHub가 이 확인을 거부했습니다. 마법사는 인가 단계와 함께 경고를 표시합니다:

3918 4006 

3919```text theme={null}4007```text theme={null}

3920Single sign-on authorization needed4008Single sign-on authorization needed


3923 4011 

3924**해결 방법:**4012**해결 방법:**

3925 4013 

3926* `gh auth refresh -h github.com -s repo,workflow`를 실행하여 `repo` 및 `workflow` 범위로 GitHub CLI 로그인을 다시 승인하고, GitHub가 싱글 사인온을 요청하면 조직을 승인합니다4014* `gh auth refresh -h github.com -s repo,workflow`를 실행하여 `repo` 및 `workflow` 범위로 GitHub CLI 로그인을 다시 인가하고, GitHub가 싱글 사인온을 요청하면 조직을 인가합니다

3927* `GH_TOKEN`의 개인 액세스 토큰으로 인증하는 경우 [github.com/settings/tokens](https://github.com/settings/tokens)를 열고 토큰에서 **Configure SSO**를 선택한 다음 조직을 승인합니다4015* `GH_TOKEN`의 개인 액세스 토큰으로 인증하는 경우 [github.com/settings/tokens](https://github.com/settings/tokens)를 열고 토큰에서 **Configure SSO**를 선택한 다음 조직을 인가합니다

3928* `/install-github-app`을 다시 실행합니다4016* `/install-github-app`을 다시 실행합니다

3929 4017 

3930v2.1.273 이전에는 이 상황에서 Claude Code가 대신 `Admin permissions required` 경고를 표시했습니다.4018v2.1.273 이전에는 이 상황에서 Claude Code가 대신 `Admin permissions required` 경고를 표시했습니다.

3931 4019 

3932### 대화를 재개하지 못함4020### Failed to resume the conversation

3933 4021 

3934Claude Code가 [`claude --resume` 선택기](https://code.claude.com/docs/ko/sessions#use-the-session-picker)에서 선택한 세션의 저장된 트랜스크립트를 읽거나 처리할 수 없어, 부분적으로 로드된 상태로 계속하는 대신 프로세스를 종료합니다. 메시지에는 재시도할 명령이 포함됩니다.4022Claude Code가 [`claude --resume` 선택기](https://code.claude.com/docs/ko/sessions#use-the-session-picker)에서 선택한 세션의 저장된 트랜스크립트를 읽거나 처리할 수 없어, 부분적으로 로드된 상태로 계속하는 대신 프로세스를 종료합니다. 메시지에는 재시도할 명령이 포함됩니다:

3935 4023 

3936```text theme={null}4024```text theme={null}

3937Failed to resume the conversation.4025Failed to resume the conversation.

3938Run claude --resume <session-id> to retry, or claude to start a new session.4026Run claude --resume <session-id> to retry, or claude to start a new session.

3939```4027```

3940 4028 

3941Claude Code는 메시지를 표시한 후 코드 1로 종료됩니다. 실행 중인 세션 내의 `/resume` 선택기는 대신 대화에 `Failed to resume conversation`을 보고하며, 현재 세션은 계속 실행됩니다. v2.1.216 이전에는 `claude --resume` 선택기에서 재개에 실패하면 이 메시지를 표시하는 대신 `Resuming conversation…` 스피너에 무기한 머물러 있었습니다.4029Claude Code는 메시지를 표시한 후 코드 1로 종료합니다. 실행 중인 세션 내의 `/resume` 선택기는 대신 대화에 `Failed to resume conversation`을 보고하며, 현재 세션은 계속 실행됩니다. v2.1.216 이전에는 `claude --resume` 선택기에서 재개가 실패하면 이 메시지를 표시하는 대신 `Resuming conversation…` 스피너에 무기한 머물렀습니다.

3942 4030 

3943**해결 방법:**4031**해결 방법:**

3944 4032 


3946* v2.1.285 이전 버전에서 재시도가 같은 방식으로 실패하면 `claude update`를 실행하고 다시 재개합니다. 해당 버전은 저장된 트랜스크립트에 읽을 수 없는 항목이 포함되어 있으면 재개에 실패합니다.4034* v2.1.285 이전 버전에서 재시도가 같은 방식으로 실패하면 `claude update`를 실행하고 다시 재개합니다. 해당 버전은 저장된 트랜스크립트에 읽을 수 없는 항목이 포함되어 있으면 재개에 실패합니다.

3947* 재시도가 다시 실패하면 `claude`를 실행하여 새 세션을 시작합니다4035* 재시도가 다시 실패하면 `claude`를 실행하여 새 세션을 시작합니다

3948 4036 

3949### 해당 세션 ID의 대화를 찾을 수 없음4037### No conversation found with the session ID

3950 4038 

3951`claude --resume <session-id>`에 세션 ID를 전달했지만 일치하는 저장된 트랜스크립트가 없습니다.4039`claude --resume <session-id>`에 세션 ID를 전달했지만 일치하는 저장된 트랜스크립트가 없습니다:

3952 4040 

3953```text theme={null}4041```text theme={null}

3954No conversation found with session ID: <session-id>4042No conversation found with session ID: <session-id>

3955```4043```

3956 4044 

3957Claude Code는 메시지를 표시한 후 코드 1로 종료합니다. Claude Code는 [현재 프로젝트를 먼저 검색한 다음 이 머신의 다른 모든 프로젝트](https://code.claude.com/docs/ko/sessions.md#where-the-session-picker-looks)에서 ID를 찾습니다. v2.1.223 이전에는 조회가 현재 프로젝트 디렉터리와 해당 git worktree에서 멈췄으므로, 세션이 마지막으로 작업한 디렉터리에서 재개해야 합니다.4045Claude Code는 메시지를 표시한 후 코드 1로 종료합니다. Claude Code는 [현재 프로젝트를 먼저 검색한 다음 이 머신의 다른 모든 프로젝트](https://code.claude.com/docs/ko/sessions.md#where-the-session-picker-looks)에서 ID를 검색합니다. v2.1.223 이전에는 현재 프로젝트 디렉터리와 해당 git worktree에서만 검색했으므로, 세션이 마지막으로 작업한 디렉터리에서 재개해야 했습니다.

3958 4046 

3959일반적인 원인:4047일반적인 원인:

3960 4048 

3961* **잘못 입력한 ID**: 비대화형 실행의 경우 ID는 [`--output-format json` 출력](https://code.claude.com/docs/ko/headless#get-structured-output)의 `session_id` 필드입니다4049* **잘못 입력한 ID**: 비대화형 실행의 경우 ID는 [`--output-format json` 출력](https://code.claude.com/docs/ko/headless#get-structured-output)의 `session_id` 필드입니다

3962* **삭제된 트랜스크립트**: Claude Code는 [보존 정리 규칙](https://code.claude.com/docs/ko/claude-directory.md#cleaned-up-automatically)에 따라 [보존 기간](https://code.claude.com/docs/ko/sessions.md#where-transcripts-are-stored)(기본값 30일)이 지나면 트랜스크립트를 제거합니다4050* **삭제된 트랜스크립트**: Claude Code는 [보존 정리 규칙](https://code.claude.com/docs/ko/claude-directory.md#cleaned-up-automatically)에 따라 [보존 기간](https://code.claude.com/docs/ko/sessions.md#where-transcripts-are-stored)(기본값 30일)이 지나면 트랜스크립트를 제거합니다

3963* **다른 머신**: Claude Code는 트랜스크립트를 로컬에 저장하므로 세션이 실행된 머신에서 재개해야 합니다4051* **다른 머신**: Claude Code는 트랜스크립트를 로컬에 저장하므로, 세션이 실행된 머신에서 재개해야 합니다

3964* **중복 사본**: `~/.claude/projects` 아래의 프로젝트 디렉터리를 복사하여 두 트랜스크립트가 같은 ID를 갖게 된 경우, Claude Code는 임의로 한 사본을 재개하는 대신 이 메시지를 보고합니다4052* **중복 사본**: `~/.claude/projects` 아래의 프로젝트 디렉터리를 복사하여 두 트랜스크립트가 같은 ID를 가지게 된 경우, Claude Code는 임의로 한 사본을 재개하지 않고 이 메시지를 보고합니다

3965 4053 

3966**해결 방법:**4054**해결 방법:**

3967 4055 

3968* 대화형 세션의 경우 `claude --resume`으로 [세션 선택기](https://code.claude.com/docs/ko/sessions.md#use-the-session-picker)를 열고 `Ctrl+A`를 눌러 이 머신의 모든 프로젝트로 범위를 넓힌 다음 세션을 선택합니다4056* 대화형 세션의 경우 `claude --resume`으로 [세션 선택기](https://code.claude.com/docs/ko/sessions.md#use-the-session-picker)를 열고 `Ctrl+A`를 눌러 이 머신의 모든 프로젝트로 범위를 넓힌 다음 세션을 선택합니다

3969* `claude -p` 또는 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md)로 생성된 세션은 선택기에 나타나지 않으므로, 원래 실행에서 출력된 `session_id`와 ID를 다시 대조합니다4057* `claude -p` 또는 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md)로 만든 세션은 선택기에 나타나지 않으므로, 원래 실행에서 출력된 `session_id`와 ID를 다시 대조합니다

3970 4058 

3971### Claude Code가 이 세션의 트랜스크립트 파일을 읽을 때 Windows가 오류(EBADF)를 보고함4059### Windows reported an error (EBADF) when Claude Code read this session's transcript file

3972 4060 

3973Windows에서 세션을 재개했고, 저장된 [트랜스크립트 파일](https://code.claude.com/docs/ko/sessions.md#where-transcripts-are-stored)은 정상적으로 열렸지만 이후 읽기가 시스템 오류 EBADF로 실패했습니다. 시스템 오류는 읽기가 실패한 이유를 알려주지 않으므로, 메시지에서 가능한 원인과 시도할 방법을 제안합니다.4061Windows에서 세션을 재개했는데, 저장된 [트랜스크립트 파일](https://code.claude.com/docs/ko/sessions.md#where-transcripts-are-stored)이 정상적으로 열린 후 읽기가 시스템 오류 EBADF로 실패했습니다. 시스템 오류는 읽기가 실패한 이유를 알려주지 않으므로, 메시지는 가능성 있는 원인과 시도해 볼 방법을 제안합니다:

3974 4062 

3975```text theme={null}4063```text theme={null}

3976Windows 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.4064Windows 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.

3977```4065```

3978 4066 

3979이 메시지는 `Failed to resume session <session-id>`처럼 명령 자체의 실패 줄 다음에 표시됩니다. `claude --resume` 또는 [`claude -p`](https://code.claude.com/docs/ko/headless) 명령은 이를 표시한 후 코드 1로 종료됩니다. 세션 내에서 `/resume`을 실행한 경우에는 현재 세션이 계속 실행됩니다.4067이 메시지는 `Failed to resume session <session-id>`와 같은 명령 자체의 실패 줄 뒤에 표시됩니다. `claude --resume` 또는 [`claude -p`](https://code.claude.com/docs/ko/headless) 명령은 메시지를 표시한 후 코드 1로 종료합니다. 세션 내에서 `/resume`을 실행한 경우에는 현재 세션이 계속 실행됩니다.

3980 4068 

3981**해결 방법:**4069**해결 방법:**

3982 4070 

3983* 보안, 암호화 또는 엔드포인트 관리 도구처럼 파일 읽기를 검사하거나 가로채는 소프트웨어에서 세션 트랜스크립트가 있는 폴더를 제외합니다. 트랜스크립트는 기본적으로 `%USERPROFILE%\.claude\projects` 아래에 있거나, [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ko/env-vars)이 지정하는 디렉터리 아래에 있습니다4071* 보안, 암호화, 엔드포인트 관리 도구처럼 파일 읽기를 검사하거나 가로채는 소프트웨어에서 세션 트랜스크립트가 저장된 폴더를 제외합니다. 트랜스크립트는 기본적으로 `%USERPROFILE%\.claude\projects` 아래에 있거나, [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ko/env-vars)가 지정하는 디렉터리 아래에 있습니다

3984* 제외를 추가할 수 없는 경우 대신 해당 소프트웨어의 허용된 애플리케이션에 Claude Code를 추가합니다4072* 제외 항목을 추가할 수 없다면, 대신 해당 소프트웨어의 허용된 애플리케이션에 Claude Code를 추가합니다

3985* 세션을 다시 재개합니다4073* 세션을 다시 재개합니다

3986 4074 

3987v2.1.282 이전에는 실패 시 아무런 설명이 없었습니다. `claude --resume <session-id>`는 `Failed to resume session <session-id>`로 끝났고, `-p` 실행은 `Failed to resume session: EBADF: bad file descriptor, read`처럼 시스템 오류 텍스트만 출력했습니다.4075v2.1.282 이전에는 실패에 대한 설명이 없었습니다. `claude --resume <session-id>`는 `Failed to resume session <session-id>`에서 끝났고, `-p` 실행은 `Failed to resume session: EBADF: bad file descriptor, read`와 같은 시스템 오류 텍스트만 출력했습니다.

3988 4076 

3989### 이 세션에서 렌더러를 전환할 수 없음4077### Cannot switch renderers in this session

3990 4078 

3991렌더러를 전환하면 Claude Code는 프로세스를 다시 시작합니다. Claude Code가 다시 시작을 거부하는 세션에서 [`/tui`](https://code.claude.com/docs/ko/fullscreen#enable-fullscreen-rendering)를 실행했으므로, 전환하지 않고 아무것도 저장하지 않습니다. 표시되는 메시지로 원인을 알 수 있습니다.4079렌더러를 전환하면 Claude Code는 프로세스를 다시 시작합니다. Claude Code가 다시 시작하기를 거부하는 세션에서 [`/tui`](https://code.claude.com/docs/ko/fullscreen#enable-fullscreen-rendering)를 실행했으므로, 전환하지 않으며 아무것도 저장하지 않습니다. 표시되는 메시지로 원인을 알 수 있습니다:

3992 4080 

3993* `Cannot switch renderers while work is running in the background`: 백그라운드 셸이나 서브에이전트처럼 다시 시작하면 중단될 백그라운드 작업이 실행 중입니다. 작업이 끝날 때까지 기다리거나 [`/tasks`](https://code.claude.com/docs/ko/commands)로 중지한 다음 `/tui fullscreen` 또는 `/tui default`를 다시 실행합니다4081* `Cannot switch renderers while work is running in the background`: 백그라운드 셸이나 서브에이전트처럼 다시 시작하면 중단될 백그라운드 작업이 실행 중입니다. 작업이 끝날 때까지 기다리거나 [`/tasks`](https://code.claude.com/docs/ko/commands)로 중지한 다음 `/tui fullscreen` 또는 `/tui default`를 다시 실행합니다

3994* `Cannot switch renderers in this session`: 세션에 Claude Code가 다시 시작된 프로세스로 전달할 수 없는 제한이 있습니다. v2.1.234 이전에는 Claude Code가 그래도 다시 시작했고, 다시 실행된 세션은 해당 제한 없이 실행되었습니다4082* `Cannot switch renderers in this session`: 세션에 Claude Code가 다시 시작된 프로세스로 전달할 수 없는 제한이 있습니다. v2.1.234 이전에는 Claude Code가 그래도 다시 시작했고, 다시 실행된 세션은 해당 제한 없이 실행되었습니다

3995 4083 

3996제한 메시지에서 괄호 안의 부분은 Claude Code가 발견한 제한을 나타냅니다.4084제한 관련 메시지에서 괄호 안의 부분은 Claude Code가 발견한 제한을 나타냅니다:

3997 4085 

3998```text theme={null}4086```text theme={null}

3999Cannot 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.4087Cannot 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.

4000```4088```

4001 4089 

4002메시지의 괄호 안에 표시될 수 있는 각 이유는 다음과 같습니다.4090메시지의 괄호 안에 표시될 수 있는 각 이유:

4003 4091 

4004* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Claude Code가 다시 시작된 프로세스로 다시 전달하지 않는 플래그로 세션을 시작했습니다. 이러한 플래그에는 [`--system-prompt`](https://code.claude.com/docs/ko/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, [`--tools`](https://code.claude.com/docs/ko/cli-reference#cli-flags) 허용 목록, [`--setting-sources`](https://code.claude.com/docs/ko/cli-reference#cli-flags), [`--permission-prompt-tool`](https://code.claude.com/docs/ko/cli-reference#cli-flags)이 포함됩니다4092* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Claude Code가 다시 시작된 프로세스로 다시 전달하지 않는 플래그로 세션을 시작했습니다. 이러한 플래그에는 [`--system-prompt`](https://code.claude.com/docs/ko/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, [`--tools`](https://code.claude.com/docs/ko/cli-reference#cli-flags) 허용 목록, [`--setting-sources`](https://code.claude.com/docs/ko/cli-reference#cli-flags), [`--permission-prompt-tool`](https://code.claude.com/docs/ko/cli-reference#cli-flags)이 포함됩니다

4005* `permission rules set for this session only`: 훅 또는 SDK 호출자의 [권한 업데이트](https://code.claude.com/docs/ko/hooks.md#permission-update-entries)가 `session` 대상으로 거부 또는 확인 규칙을 추가했습니다. 세션 범위의 허용 규칙은 거부를 유발하지 않습니다. 다시 시작하면 해당 규칙이 삭제되고 Claude Code가 대신 다시 확인을 요청합니다4093* `permission rules set for this session only`: 훅이나 SDK 호출자의 [권한 업데이트](https://code.claude.com/docs/ko/hooks.md#permission-update-entries)가 `session` 대상으로 거부 또는 확인 규칙을 추가했습니다. 세션 범위의 허용 규칙은 거부를 유발하지 않습니다. 다시 시작하면 허용 규칙이 사라지고, Claude Code가 대신 다시 확인을 요청합니다

4006* `ask-before-running rules with no command-line form`: 훅 또는 SDK 호출자의 권한 업데이트가 Claude Code가 `--allowed-tools` 및 `--disallowed-tools`로 다시 전달하는 규칙과 함께 확인 규칙을 추가했습니다. 확인 규칙에 대한 플래그는 존재하지 않습니다4094* `ask-before-running rules with no command-line form`: 훅이나 SDK 호출자의 권한 업데이트가 Claude Code가 `--allowed-tools` 및 `--disallowed-tools`로 다시 전달하는 규칙과 함께 확인 규칙을 추가했습니다. 확인 규칙에 해당하는 플래그는 없습니다

4007* `permission rules a command line cannot carry intact` 및 `added directories a command line cannot carry intact`: 권한 업데이트가 세션 도중에 규칙이나 디렉터리 경로를 추가했습니다. 다시 시작된 프로세스의 명령줄은 해당 텍스트를 동일한 값으로 전달할 수 없습니다4095* `permission rules a command line cannot carry intact` 및 `added directories a command line cannot carry intact`: 권한 업데이트가 세션 도중에 규칙 또는 디렉터리 경로를 추가했습니다. 다시 시작된 프로세스의 명령줄은 해당 텍스트를 같은 값으로 전달할 수 없습니다

4008 4096 

4009**해결 방법:**4097**해결 방법:**

4010 4098 

4011* 해당 제한 없이 시작된 세션에서 `/tui fullscreen`을 실행하거나, 다시 전환하려면 `/tui default`를 실행합니다. Claude Code는 그곳에서 [`tui` 설정](https://code.claude.com/docs/ko/settings-reference#tui)을 저장합니다4099* 이러한 제한 없이 시작된 세션에서 `/tui fullscreen`을 실행하거나, 다시 전환하려면 `/tui default`를 실행합니다. Claude Code는 해당 세션에서 [`tui` 설정](https://code.claude.com/docs/ko/settings-reference#tui)을 저장합니다

4012 4100 

4013### Can't restart while work is running or Remote Control is connected4101### Can't restart while work is running or Remote Control is connected

4014 4102 

4015Claude Code가 다시 시작되지 않았으며 세션은 그대로 계속 실행됩니다. 메시지의 해결 방법을 따르세요.4103Claude Code가 다시 시작되지 않았으며, 세션은 그대로 계속 실행됩니다. 메시지에 있는 해결 방법을 따르십시오.

4016 4104 

4017### Claude Code couldn't restart4105### Claude Code couldn't restart

4018 4106 

4019이 메시지에 대화가 저장되었다고 표시되면, 대화는 디스크에 있으며 중단된 지점부터 이어서 진행할 수 있습니다. Claude Code가 자체적으로 다시 시작하는 중이었는데(예: [`/tui`](https://code.claude.com/docs/ko/fullscreen#enable-fullscreen-rendering)를 실행한 후 전체 화면 렌더링으로 전환하거나 해제하기 위해), 새 프로세스를 시작할 수 없어 상태 1로 종료되었습니다:4107이 메시지에 대화가 저장되었다고 표시되면, 대화는 디스크에 있으며 중단된 지점부터 이어서 진행할 수 있습니다. Claude Code가 예를 들어 [`/tui`](https://code.claude.com/docs/ko/fullscreen#enable-fullscreen-rendering)를 실행한 후 전체 화면 렌더링으로 전환하거나 해제하기 위해 스스로 다시 시작하던 중 새 프로세스를 시작하지 못하여 상태 1로 종료했습니다:

4020 4108 

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

4022Claude Code couldn't restart. Your conversation is saved. Start Claude Code again and run /resume to pick it up.4110Claude Code couldn't restart. Your conversation is saved. Start Claude Code again and run /resume to pick it up.

4023```4111```

4024 4112 

4025다시 시작할 때 다시 열 대화가 없었던 경우(예: 새 세션에서 `/tui`가 첫 입력이었던 경우) 메시지는 `Claude Code couldn't restart. Start Claude Code again.`입니다.4113예를 들어 `/tui`가 새 세션의 첫 입력이었기 때문에 다시 시작할 때 다시 열 대화가 없었던 경우, 메시지는 `Claude Code couldn't restart. Start Claude Code again.`입니다.

4026 4114 

4027**해결 방법:**4115**해결 방법:**

4028 4116 

4029* 셸에서 `claude`를 다시 실행합니다. 메시지에 대화가 저장되었다고 표시되었다면 새 세션에서 [`/resume`](https://code.claude.com/docs/ko/sessions#resume-a-session)을 실행하고 해당 대화를 선택합니다. 목록에 없으면 [세션 선택기의 범위를 넓힙니다](https://code.claude.com/docs/ko/sessions.md#where-the-session-picker-looks)4117* 셸에서 `claude`를 다시 실행합니다. 메시지에 대화가 저장되었다고 표시되었다면, 새 세션에서 [`/resume`](https://code.claude.com/docs/ko/sessions#resume-a-session)을 실행하고 대화를 선택합니다. 목록에 없다면 [세션 선택기의 범위를 넓힙니다](https://code.claude.com/docs/ko/sessions.md#where-the-session-picker-looks)

4030* 다시 시작이 계속 실패하면 셸에서 [`claude --debug-file claude-debug.log`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 Claude Code를 시작합니다. 해당 세션에서 다시 시작이 실패하면, 시작한 디렉터리의 `claude-debug.log`에 운영 체제의 오류와 함께 `Failed to relaunch:` 줄이 기록됩니다. [문제를 보고](#report-an-error)할 때 해당 줄을 포함하십시오4118* 다시 시작이 계속 실패하면 셸에서 [`claude --debug-file claude-debug.log`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 Claude Code를 시작합니다. 해당 세션에서 다시 시작이 실패하면, 시작한 디렉터리의 `claude-debug.log`에 운영 체제의 오류가 포함된 `Failed to relaunch:` 줄이 기록됩니다. [문제를 보고](#report-an-error)할 때 해당 줄을 포함하십시오

4031 4119 

4032### Claude Desktop을 열 수 없음4120### Couldn't open Claude Desktop

4033 4121 

4034세션에서 [`/desktop`](https://code.claude.com/docs/ko/desktop#coming-from-the-cli) 또는 그 별칭인 `/app`을 실행했거나, 셸에서 [`claude --desktop`](https://code.claude.com/docs/ko/cli-reference#cli-flags)을 실행했는데 Claude Code가 Claude Desktop을 열기 위해 사용하는 시스템 명령이 실패했습니다. `/desktop` 이후에는 세션이 터미널에 유지되며, `claude --desktop`은 `Error:` 접두사 없이 메시지를 출력하고 상태 1로 종료됩니다.4122세션에서 [`/desktop`](https://code.claude.com/docs/ko/desktop#coming-from-the-cli) 또는 그 별칭인 `/app`을 실행했거나 셸에서 [`claude --desktop`](https://code.claude.com/docs/ko/cli-reference#cli-flags)을 실행했는데, Claude Code가 Claude Desktop을 여는 데 사용하는 시스템 명령이 실패했습니다. `/desktop` 후에는 세션이 터미널에 그대로 유지됩니다. `claude --desktop`은 `Error:` 접두사 없이 메시지를 출력하고 상태 1로 종료합니다.

4035 4123 

4036괄호 안의 텍스트는 실패한 명령을 나타내며, 종료 상태와 오류 출력의 첫 줄이 생성된 경우 함께 표시합니다. macOS에서는 이 예시처럼 해당 명령이 `open`이며, Windows에서는 `rundll32`입니다.4124괄호 안의 텍스트는 실패한 명령을 나타내며, 종료 상태와 오류 출력의 첫 줄이 있는 경우 함께 표시됩니다. macOS에서는 이 예시처럼 해당 명령이 `open`이며, Windows에서는 `rundll32`입니다:

4037 4125 

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

4039Error: 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 try again.4127Error: 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 try again.


4044* Claude Desktop을 직접 연 다음 `/desktop` 또는 `claude --desktop`을 다시 실행합니다4132* Claude Desktop을 직접 연 다음 `/desktop` 또는 `claude --desktop`을 다시 실행합니다

4045* 실패한 명령의 전체 오류 출력을 확인하려면 `/debug`로 디버그 로깅을 켜고 `/desktop`을 다시 실행하거나, `claude --desktop --debug-file <path>`를 실행한 다음 디버그 로그를 확인합니다4133* 실패한 명령의 전체 오류 출력을 확인하려면 `/debug`로 디버그 로깅을 켜고 `/desktop`을 다시 실행하거나, `claude --desktop --debug-file <path>`를 실행한 다음 디버그 로그를 확인합니다

4046 4134 

4047v2.1.285 이전에는 메시지가 `Open Claude Desktop and run /desktop again.`으로 끝났습니다. v2.1.275 이전에는 `Failed to open Claude Desktop. Please try opening it manually.`였으며 무엇이 실패했는지 알려주지 않았습니다.4135v2.1.285 이전에는 메시지가 `Open Claude Desktop and run /desktop again.`으로 끝났습니다. v2.1.275 이전에는 메시지가 `Failed to open Claude Desktop. Please try opening it manually.`였으며 무엇이 실패했는지 알려주지 않았습니다.

4048 4136 

4049### /terminal-setup이 Zed 키맵을 변경하지 않음4137### /terminal-setup left your Zed keymap unchanged

4050 4138 

4051Zed에서 [`/terminal-setup`](https://code.claude.com/docs/ko/terminal-config#enter-multiline-prompts)을 실행했지만 Claude Code가 Zed `keymap.json` 업데이트를 완료할 수 없어 파일을 그대로 두었습니다.4139Zed에서 [`/terminal-setup`](https://code.claude.com/docs/ko/terminal-config#enter-multiline-prompts)을 실행했는데, Claude Code가 Zed `keymap.json` 업데이트를 완료할 수 없어 파일을 그대로 두었습니다.

4052 4140 

4053각 메시지는 키맵 경로를 명시하고, 직접 추가할 키보드 단축키 블록으로 끝납니다.4141각 메시지에는 키맵 경로가 표시되며, 직접 추가할 키보드 단축키 블록으로 끝납니다:

4054 4142 

4055```text theme={null}4143```text theme={null}

4056Couldn't update your Zed keymap, so it was left unchanged.4144Couldn't update your Zed keymap, so it was left unchanged.


4058{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }4146{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }

4059```4147```

4060 4148 

4061메시지의 첫 줄은 원인을 나타냅니다.4149메시지의 첫 줄에 원인이 표시됩니다:

4062 4150 

4063* `Couldn't read your Zed keymap, so it was left unchanged.`: 파일 권한 등의 이유로 Claude Code가 파일을 읽을 수 없었습니다4151* `Couldn't read your Zed keymap, so it was left unchanged.`: 파일 권한 등의 이유로 Claude Code가 파일을 읽을 수 없었습니다

4064* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: 파일은 정상적으로 읽었지만, `//` 주석과 후행 쉼표를 허용하더라도 키보드 단축키 블록의 배열로 파싱되지 않습니다4152* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: 파일은 정상적으로 읽었지만, `//` 주석과 후행 쉼표를 허용하더라도 키보드 단축키 블록의 배열로 파싱되지 않습니다

4065* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code가 파일 옆에 `.bak` 백업으로 복사할 수 없어 아무것도 변경하지 않았습니다4153* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code가 파일을 옆에 있는 `.bak` 백업으로 복사할 수 없었으므로 아무것도 변경하지 않았습니다

4066* `Couldn't update your Zed keymap, so it was left unchanged.`: 병합된 결과가 해당 바인딩을 포함하는 유효한 키맵으로 검증되지 않아 Claude Code가 쓰지 않고 폐기했습니다. 키가 중복된 키보드 단축키 블록이 원인일 수 있습니다4154* `Couldn't update your Zed keymap, so it was left unchanged.`: 병합된 결과가 해당 단축키를 포함한 유효한 키맵으로 확인되지 않아, Claude Code가 쓰지 않고 폐기했습니다. 중복된 키가 있는 키보드 단축키 블록이 원인일 수 있습니다

4067 4155 

4068**해결 방법:**4156**해결 방법:**

4069 4157 

4070* 메시지의 블록을 메시지가 명시하는 경로의 `keymap.json` 최상위 배열에 복사합니다4158* 메시지에 있는 블록을 복사하여 메시지에 표시된 경로의 `keymap.json` 최상위 배열에 추가합니다

4071* `isn't a readable list of keybindings`의 경우 구문 오류를 수정하거나 파일의 최상위 값을 배열로 만든 다음 `/terminal-setup`을 다시 실행합니다4159* `isn't a readable list of keybindings`의 경우 구문 오류를 수정하거나 파일의 최상위 값을 배열로 만든 다음 `/terminal-setup`을 다시 실행합니다

4072 4160 

4073v2.1.247 이전에는 `/terminal-setup`이 `//` 주석이나 후행 쉼표를 사용하는 Zed 키맵을 파싱할 수 없었으며, 바인딩이 설치되었다고 보고하면서 전체 파일을 자체 바인딩만으로 대체했습니다. 이전 버전이 대체한 키맵을 복원하려면 [여러 줄 프롬프트 입력](https://code.claude.com/docs/ko/terminal-config.md#enter-multiline-prompts)에 설명된 `.bak` 백업 파일을 사용하십시오.4161v2.1.247 이전에는 `/terminal-setup`이 `//` 주석이나 후행 쉼표를 사용하는 Zed 키맵을 파싱할 수 없었으며, 전체 파일을 자체 단축키만 포함하도록 교체하면서 단축키가 설치되었다고 보고했습니다. 이전 버전이 교체한 키맵을 복원하려면 [여러 줄 프롬프트 입력](https://code.claude.com/docs/ko/terminal-config.md#enter-multiline-prompts)에 설명된 `.bak` 백업 파일을 사용하십시오.

4074 4162 

4075### 이 연결에서는 스킬 사용 보고서를 사용할 수 없음4163### Skill usage reports are not available on this connection

4076 4164 

4077휴대폰이나 브라우저에서 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 통해 [`/skill-doctor`](https://code.claude.com/docs/ko/skills#find-unused-skills)를 실행했습니다. Claude Code는 Remote Control을 통해 스킬 사용 보고서를 보내지 않으며, 대신 다음 메시지로 응답합니다.4165휴대폰이나 브라우저에서 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 통해 [`/skill-doctor`](https://code.claude.com/docs/ko/skills#find-unused-skills)를 실행했습니다. Claude Code는 Remote Control을 통해 스킬 사용 보고서를 보내지 않으며, 대신 다음 메시지로 응답합니다:

4078 4166 

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

4080Skill usage reports are not available on this connection.4168Skill usage reports are not available on this connection.


4084 4172 

4085* 세션이 실행 중인 머신의 터미널에서 `/skill-doctor`를 실행하거나, 해당 머신에서 `claude -p "/skill-doctor"`를 실행합니다4173* 세션이 실행 중인 머신의 터미널에서 `/skill-doctor`를 실행하거나, 해당 머신에서 `claude -p "/skill-doctor"`를 실행합니다

4086 4174 

4087### Remote Control을 통해서는 사용자 지정 출력 스타일을 선택할 수 없음4175### Custom output styles can't be selected over Remote Control

4088 4176 

4089[Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 통해 모바일 앱 또는 웹에서 [`/output-style`](https://code.claude.com/docs/ko/output-styles#change-your-output-style)을 실행했거나, 세션으로 전달된 메시지에 해당 명령이 포함되어 있었습니다. 이러한 턴은 계정 소유자가 보낸 것이 아닐 수 있으므로, Claude Code는 해당 턴에서 [기본 제공 스타일](https://code.claude.com/docs/ko/output-styles.md#built-in-output-styles)만 나열하고 선택하며, 명령이 스타일을 나열하거나 입력한 이름을 인식하지 못할 때마다 이 안내를 추가합니다. [사용자 지정 스타일](https://code.claude.com/docs/ko/output-styles.md#create-a-custom-output-style) 이름은 존재하지 않는 이름과 동일한 응답을 받습니다.4177[Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 통해 모바일 앱이나 웹에서 [`/output-style`](https://code.claude.com/docs/ko/output-styles#change-your-output-style)을 실행했거나, 세션으로 전달된 메시지에 해당 명령이 포함되어 있었습니다. 이러한 턴은 계정 소유자에게서 온 것이 아닐 수 있으므로, Claude Code는 해당 턴에서 [기본 제공 스타일](https://code.claude.com/docs/ko/output-styles.md#built-in-output-styles)만 나열하고 선택하며, 명령이 스타일을 나열하거나 입력한 이름을 인식하지 못할 때마다 이 안내를 추가합니다. [사용자 지정 스타일](https://code.claude.com/docs/ko/output-styles.md#create-a-custom-output-style) 이름에는 존재하지 않는 이름과 같은 응답이 표시됩니다:

4090 4178 

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

4092Custom 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.4180Custom 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.


4094 4182 

4095**해결 방법:**4183**해결 방법:**

4096 4184 

4097* 기본 제공 스타일을 선택합니다(예: `/output-style concise`)4185* 기본 제공 스타일을 선택합니다. 예: `/output-style concise`

4098* 사용자 지정 스타일을 사용하려면 프로젝트의 `.claude/settings.local.json`에서 [`outputStyle`](https://code.claude.com/docs/ko/settings-reference#outputstyle)을 설정하거나, 세션 자체의 터미널이 있다면 그곳에서 `/output-style <style>`을 실행합니다4186* 사용자 지정 스타일을 사용하려면 프로젝트의 `.claude/settings.local.json`에서 [`outputStyle`](https://code.claude.com/docs/ko/settings-reference#outputstyle)을 설정하거나, 세션 자체 터미널이 있는 경우 해당 터미널에서 `/output-style <style>`을 실행합니다

4099 4187 

4100### 출력 스타일은 이 세션이 로드하지 않는 로컬 설정에 저장됨4188### Output styles are saved to local settings which this session doesn't load

4101 4189 

4102설정 소스에서 `local`을 제외하는 세션에서 `/output-style <style>` 또는 `/config outputStyle=<style>`로 [출력 스타일](https://code.claude.com/docs/ko/output-styles.md)을 전환하려고 했습니다. 예를 들어 [`settingSources`](https://code.claude.com/docs/ko/agent-sdk/typescript#options)에서 `"local"`을 제외한 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/typescript.md) 세션이나, `local`을 제외하는 [`--setting-sources`](https://code.claude.com/docs/ko/cli-reference#cli-flags) 값으로 시작된 CLI 세션이 있습니다. 두 명령 모두 스타일을 `.claude/settings.local.json`에 저장하는데, 이러한 세션은 이 파일을 다시 읽지 않으므로 Claude Code는 효과가 없을 설정을 쓰는 대신 거부합니다.4190설정 소스에서 `local`이 제외된 세션에서 `/output-style <style>` 또는 `/config outputStyle=<style>`로 [출력 스타일](https://code.claude.com/docs/ko/output-styles.md)을 전환하려고 했습니다. 예를 들어 [`settingSources`](https://code.claude.com/docs/ko/agent-sdk/typescript#options)에서 `"local"`이 빠진 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/typescript.md) 세션이나, `local`이 빠진 [`--setting-sources`](https://code.claude.com/docs/ko/cli-reference#cli-flags) 값으로 시작한 CLI 세션이 있습니다. 두 명령 모두 스타일을 `.claude/settings.local.json`에 저장하는데, 이러한 세션은 이 파일을 다시 읽지 않으므로 Claude Code는 효과가 없을 설정을 쓰는 대신 거부합니다:

4103 4191 

4104```text theme={null}4192```text theme={null}

4105Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.4193Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.


4108**해결 방법:**4196**해결 방법:**

4109 4197 

4110* 세션의 설정 소스에 `local`을 추가하고 다시 전환합니다4198* 세션의 설정 소스에 `local`을 추가하고 다시 전환합니다

4111* 프로젝트의 `.claude/settings.json` 또는 `~/.claude/settings.json`처럼 세션이 로드하는 설정 파일에서 [`outputStyle`](https://code.claude.com/docs/ko/settings-reference#outputstyle) 키를 설정합니다. TypeScript SDK에서는 대신 인라인 `settings` 객체 내에서 `outputStyle`을 설정합니다. [출력 스타일 활성화](https://code.claude.com/docs/ko/agent-sdk/modifying-system-prompts.md#activate-an-output-style)를 참조하십시오4199* 프로젝트의 `.claude/settings.json`이나 `~/.claude/settings.json`처럼 세션이 로드하는 설정 파일에서 [`outputStyle`](https://code.claude.com/docs/ko/settings-reference#outputstyle) 키를 설정합니다. TypeScript SDK에서는 대신 인라인 `settings` 객체 안에서 `outputStyle`을 설정합니다. [출력 스타일 활성화](https://code.claude.com/docs/ko/agent-sdk/modifying-system-prompts.md#activate-an-output-style)를 참조하십시오

4112 4200 

4113### /recap은 직접 요청할 때만 실행됨4201### /recap only runs when you ask for it yourself

4114 4202 

4115[`/recap`](https://code.claude.com/docs/ko/interactive-mode#session-recap) 요청이 사용자 본인의 입력에서 온 것이 아닙니다. Slack, Teams 또는 [프로젝트](https://code.claude.com/docs/ko/claude-projects.md) 스레드에서 세션으로 전달된 메시지에 포함되어 도착했거나, [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md) 또는 다른 프로그램이 보낸 프롬프트에 포함되어 도착했습니다.4203[`/recap`](https://code.claude.com/docs/ko/interactive-mode#session-recap) 요청이 사용자 자신의 입력에서 온 것이 아닙니다. Slack, Teams 또는 [프로젝트](https://code.claude.com/docs/ko/claude-projects.md) 스레드에서 세션으로 전달된 메시지로 도착했거나, [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md)이나 다른 프로그램이 보낸 프롬프트로 도착했습니다.

4116 4204 

4117전달된 메시지는 사용자가 직접 작성한 경우에도 이 안내를 받습니다. Claude Code는 전달되거나 자동화된 메시지가 세션을 실행하는 계정의 소유자로부터 온 것인지 알 수 없으므로, 요약 대신 다음 안내로 응답합니다.4205전달된 메시지는 사용자가 직접 작성한 경우에도 이 안내를 받습니다. Claude Code는 전달되거나 자동화된 메시지가 세션을 실행하는 계정의 소유자에게서 왔는지 판단할 수 없으므로, 요약 대신 이 안내로 응답합니다:

4118 4206 

4119```text theme={null}4207```text theme={null}

4120/recap only runs when you ask for it yourself in this session: from the terminal, the Claude app or claude.ai/code, or over Remote Control. A message relayed from Slack, Teams or a project thread, or sent by a routine or another program, can't request it.4208/recap only runs when you ask for it yourself in this session: from the terminal, the Claude app or claude.ai/code, or over Remote Control. A message relayed from Slack, Teams or a project thread, or sent by a routine or another program, can't request it.

4121```4209```

4122 4210 

4123`claude -p`에 전달하는 `/recap`이나, 사용자 자신의 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 애플리케이션이 실행한 세션에 보내는 `/recap`은 사용자의 직접 입력으로 간주됩니다.4211`claude -p`에 전달하는 `/recap`이나, 자체 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 애플리케이션이 자신이 시작한 세션에 보내는 `/recap`은 사용자 자신의 입력으로 간주됩니다.

4124 4212 

4125**해결 방법:**4213**해결 방법:**

4126 4214 

4127* 세션을 직접 열고 그곳에서 `/recap`을 실행합니다: 해당 터미널, [Desktop 앱](https://code.claude.com/docs/ko/desktop.md) 또는 [모바일 앱](https://code.claude.com/docs/ko/mobile.md), [claude.ai/code](https://claude.ai/code), 또는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 통해 실행할 수 있습니다4215* 세션을 직접 열고 해당 세션의 터미널, [Desktop 앱](https://code.claude.com/docs/ko/desktop.md) 또는 [모바일 앱](https://code.claude.com/docs/ko/mobile.md), [claude.ai/code](https://claude.ai/code), 또는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 통해 `/recap`을 실행합니다

4128* 클라우드 예약 작업이나 다른 프로그램이 보낸 경우 해당 프롬프트에서 `/recap`을 제거합니다4216* 클라우드 예약 작업이나 다른 프로그램이 보낸 경우 해당 프롬프트에서 `/recap`을 제거합니다

4129 4217 

4130### /feedback is disabled by your organization's policy4218### /feedback is disabled by your organization's policy

4131 4219 

4132이 메시지는 조직의 정책이 Claude Code에서의 제품 피드백을 허용하지 않아 `/feedback`, `/bug`, `/share`가 피드백 대화 상자를 열지 않는다는 의미입니다. 메시지에는 Claude Code 프롬프트에 입력한 명령이 표시됩니다.4220이 메시지는 조직의 정책이 Claude Code에서의 제품 피드백을 허용하지 않으므로 `/feedback`, `/bug`, `/share`가 피드백 대화 상자를 열지 않는다는 의미입니다. 메시지에는 Claude Code 프롬프트에서 입력한 명령이 표시됩니다:

4133 4221 

4134```text wrap theme={null}4222```text wrap theme={null}

4135/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.4223/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.

4136```4224```

4137 4225 

4138메시지가 첫 문장만으로 표시될 수도 있습니다.4226메시지가 첫 번째 문장만으로 표시될 수도 있습니다.

4139 4227 

4140**해결 방법:**4228**해결 방법:**

4141 4229 

4142* 버그를 보고하려면 [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)에서 이슈를 엽니다. 이곳의 이슈는 누구나 읽을 수 있으므로 코드, 트랜스크립트 및 기타 기밀 정보는 포함하지 않습니다.4230* 버그를 보고하려면 [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)에서 이슈를 엽니다. 이곳의 이슈는 누구나 읽을 수 있으므로 코드, 트랜스크립트 및 기타 기밀 정보는 포함하지 마십시오.

4143 4231 

4144v2.1.302 이전에는 전체 메시지가 `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`였습니다.4232v2.1.302 이전에는 전체 메시지가 `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`였습니다.

4145 4233 


4666* **Claude가 작성한 명령의 경우**: 수정할 것이 없습니다. 메시지가 Claude에게 명령을 다시 작성하는 방법을 알려 줍니다.4754* **Claude가 작성한 명령의 경우**: 수정할 것이 없습니다. 메시지가 Claude에게 명령을 다시 작성하는 방법을 알려 줍니다.

4667* **스킬 또는 명령 파일의 경우**: 메시지는 `No shell command in <name> was run` 뒤에 표시됩니다. [문자를 찾아 제거하는 위치](#no-shell-command-was-run)를 참조하세요.4755* **스킬 또는 명령 파일의 경우**: 메시지는 `No shell command in <name> was run` 뒤에 표시됩니다. [문자를 찾아 제거하는 위치](#no-shell-command-was-run)를 참조하세요.

4668 4756 

4757### Command approved before Claude Code restarted was not run

4758 

4759사용자가 승인한 셸 명령이 실행되지 않았으며, Claude는 명령의 결과로 다음 메시지를 받습니다.

4760 

4761```text wrap theme={null}

4762This call was not run. The command was approved before Claude Code restarted, and Claude Code could not confirm that the shell is back in the directory where it was approved. That directory may be gone or replaced, lie outside the directory where the session started, or be one that Claude Code needs approval to enter or is not allowed to examine. The shell's directory is <directory>. If the command still makes sense, cd to the directory it was meant for and make the call again; it may need approval again.

4763```

4764 

4765메시지의 세 번째 문장은 대신 `It does not keep track of that directory across a restart in a session that has been in a worktree.`로 표시될 수 있습니다.

4766 

4767**조치 방법:**

4768 

4769* Claude가 계속 진행하도록 두고, 명령을 다시 승인하라는 요청을 받으면 프롬프트에 응답합니다.

4770 

4669### File is too large to read as an image4771### File is too large to read as an image

4670 4772 

4671Claude가 [Read 도구](https://code.claude.com/docs/ko/tools-reference.md#read-tool-behavior)로 파일을 이미지로 읽으려 했지만, 파일이 Read가 이미지 파일에서 불러올 수 있는 최대 크기인 128MB보다 큽니다. 아무것도 읽히지 않았으며, Claude는 도구 결과로 다음 오류를 받습니다.4773Claude가 [Read 도구](https://code.claude.com/docs/ko/tools-reference.md#read-tool-behavior)로 파일을 이미지로 읽으려 했지만, 파일이 Read가 이미지 파일에서 불러올 수 있는 최대 크기인 128MB보다 큽니다. 아무것도 읽히지 않았으며, Claude는 도구 결과로 다음 오류를 받습니다.


5818 5920 

5819### 원격 관리형 설정을 로드하지 못함5921### 원격 관리형 설정을 로드하지 못함

5820 5922 

5821세션이 [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md) 적용 대상이지만 Claude Code가 설정을 가져오지 못했거나 서버가 반환한 내용을 적용하지 못했으므로 대화형 세션에서 이 경고를 표시합니다.5923세션이 [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md) 적용 대상이지만 Claude Code가 설정을 가져오지 못했거나 서버가 반환한 내용을 적용하지 못했으므로 대화형 세션과 Claude Desktop의 Code 탭에서 이 경고를 표시합니다.

5822 5924 

5823괄호 안의 원인은 `network error`, `request timed out`, `authentication rejected (401)`처럼 무엇이 실패했는지를 나타냅니다. `no setting in the server response could be applied as written` 원인은 서버가 응답했지만 반환된 설정 중 [검증](https://code.claude.com/docs/ko/server-managed-settings.md#invalid-entries-in-delivered-settings)을 통과한 것이 없음을 의미합니다. v2.1.282 이전에는 이 원인이 `server returned invalid settings`로 표시되었습니다.5925괄호 안의 원인은 `network error`, `request timed out`, `authentication rejected (401)`처럼 무엇이 실패했는지를 나타냅니다. `no setting in the server response could be applied as written` 원인은 서버가 응답했지만 반환된 설정 중 [검증](https://code.claude.com/docs/ko/server-managed-settings.md#invalid-entries-in-delivered-settings)을 통과한 것이 없음을 의미합니다. v2.1.282 이전에는 이 원인이 `server returned invalid settings`로 표시되었습니다.

5824 5926 


5827* **이전에 성공한 가져오기에서 캐시된 설정**: Claude Code는 [보류된 환경 변수](https://code.claude.com/docs/ko/server-managed-settings.md#fetch-and-caching-behavior)를 제외한 캐시된 정책으로 세션을 실행하며, 줄에 `using cached policy`가 표시됩니다.5929* **이전에 성공한 가져오기에서 캐시된 설정**: Claude Code는 [보류된 환경 변수](https://code.claude.com/docs/ko/server-managed-settings.md#fetch-and-caching-behavior)를 제외한 캐시된 정책으로 세션을 실행하며, 줄에 `using cached policy`가 표시됩니다.

5828* **캐시 없음**: Claude Code는 서버 관리형 설정 없이 세션을 실행하며, 줄에 `no remote policy applied`가 표시됩니다.5930* **캐시 없음**: Claude Code는 서버 관리형 설정 없이 세션을 실행하며, 줄에 `no remote policy applied`가 표시됩니다.

5829 5931 

5932Code 탭에서는 메시지를 보낼 때 경고가 대화에 한 줄로 나타나며, 가져오기 상태가 바뀌면 새 줄이 나타납니다. 관련된 세 가지 메시지도 같은 방식으로 나타납니다:

5933 

5934* `Remote managed settings are still loading`: 세션이 진행될 때 가져오기가 아직 실행 중이었습니다

5935* `Remote managed settings did not load`: 가져오기가 응답 없이 끝났습니다

5936* `Remote managed settings have now loaded`: 이러한 경고 중 하나가 표시된 후 설정이 로드되었으며, 줄의 나머지 부분은 원격 정책이 적용되는지를 나타냅니다

5937 

5830**할 일:**5938**할 일:**

5831 5939 

5832* 메시지가 명시한 원인에 따라 조치하세요: 네트워크 원인의 경우 이 머신이 `api.anthropic.com`에 도달할 수 있는지 확인하고, 인증 원인의 경우 `/status`로 로그인 상태를 확인하세요.5940* 메시지가 명시한 원인에 따라 조치하세요: 네트워크 원인의 경우 이 머신이 `api.anthropic.com`에 도달할 수 있는지 확인하고, 인증 원인의 경우 `/status`로 로그인 상태를 확인하세요.


5835 5943 

5836v2.1.248 이전에는 Claude Code가 설정 가져오기 실패를 디버그 로그에서만 보고했습니다.5944v2.1.248 이전에는 Claude Code가 설정 가져오기 실패를 디버그 로그에서만 보고했습니다.

5837 5945 

5946### Claude Code가 조직의 설정을 로드하지 못함

5947 

5948[서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)을 포함한 조직의 설정이 먼저 로드되어야 하는데 Claude Code가 이를 로드하지 못했으므로 세션이 시작되지 않았습니다. 예를 들면 다음과 같습니다:

5949 

5950```text theme={null}

5951Claude Code couldn't reach Anthropic to load your organization's settings (could not connect). <Organization name> requires them before a session can start.

5952```

5953 

5954메시지가 `Claude Code can't start this session yet` 제목의 대화 상자에 표시되면, 설정이 로드되는 즉시 대화 상자가 닫히고 세션이 시작됩니다.

5955 

5956[비대화형 모드](https://code.claude.com/docs/ko/headless.md)와 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)에서는 Claude Code가 대신 메시지를 출력하고 상태 1로 종료합니다.

5957 

5958**할 일:**

5959 

5960* **`could not connect`, 또는 `the reply came from a network proxy, not Anthropic`**: 네트워크 연결을 확인하고, 회사 네트워크에서는 IT 부서에 `api.anthropic.com/api/claude_code/policy_limits` 및 `api.anthropic.com/api/claude_code/settings`로의 HTTPS를 허용하도록 요청하세요. 그런 다음 **Retry now**를 선택하거나 명령을 다시 실행하세요.

5961* **`timed out`, `Anthropic returned an error`, 또는 `Anthropic asked it to retry shortly`**: 대화 상자가 재시도하도록 두거나 나중에 명령을 다시 실행하세요. 계속 발생하면 [status.anthropic.com](https://status.anthropic.com)을 확인하세요.

5962* **`still loading`, 또는 `couldn't verify your sign-in with Anthropic yet`**: 대화 상자가 재시도하도록 두거나 명령을 다시 실행하세요. 로그인 메시지가 계속 다시 나타나면 셸에서 `claude auth login`을 실행하여 다시 로그인하세요.

5963* **`Your Claude session has expired`**: 이 머신에 저장된 로그인이 더 이상 유효하지 않으므로 재시도해도 도움이 되지 않습니다. 대화 상자에서 **Sign in again**을 선택하여 Claude Code를 닫은 다음, 셸에서 `claude auth login`을 실행하세요. 이 명령은 세션을 시작할 수 없는 동안에도 작동합니다.

5964* **`none of the settings the server returned could be applied as written`**: 관리자에게 조직의 [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md#invalid-entries-in-delivered-settings)을 수정하도록 요청한 다음 재시도하세요.

5965 

5838### 관리형 설정이 승인되지 않음5966### 관리형 설정이 승인되지 않음

5839 5967 

5840조직의 [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)에 승인이 필요한 설정이 포함되어 있는데 [보안 승인 대화 상자](https://code.claude.com/docs/ko/server-managed-settings.md#security-approval-dialogs)를 거부했으므로, Claude Code는 설정을 적용하지 않고 종료합니다:5968조직의 [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)에 승인이 필요한 설정이 포함되어 있는데 [보안 승인 대화 상자](https://code.claude.com/docs/ko/server-managed-settings.md#security-approval-dialogs)를 거부했으므로, Claude Code는 설정을 적용하지 않고 종료합니다:


6294 6422 

6295v2.1.257 이전에는 `claude doctor`가 이러한 파일을 표시하지 않았으며, 이전 버전에서도 세션이 강제 종료되면 같은 자리 표시자가 남습니다.6423v2.1.257 이전에는 `claude doctor`가 이러한 파일을 표시하지 않았으며, 이전 버전에서도 세션이 강제 종료되면 같은 자리 표시자가 남습니다.

6296 6424 

6425### 나중에 이 변경을 다시 수행하세요: \~/.claude.json을 업데이트할 수 없음

6426 

6427stderr의 이 알림은 로그인이나 신뢰 프롬프트에 대한 응답처럼 [`~/.claude.json`](https://code.claude.com/docs/ko/claude-directory#ce-claude-json)에 대한 변경 사항이 파일에 저장되지 않았다는 의미입니다:

6428 

6429```text theme={null}

6430Make this change again later: /home/user/.claude.json could not be updated, so it applies to this session only.

6431```

6432 

6433**할 일:**

6434 

6435* 이후 세션에서 변경을 다시 수행하세요. 예를 들어 `/login`을 다시 실행하거나 신뢰 프롬프트에 다시 응답하세요.

6436 

6297## 응답 품질이 평소보다 낮아 보입니다6437## 응답 품질이 평소보다 낮아 보입니다

6298 6438 

6299Claude의 답변이 예상보다 덜 능력 있어 보이지만 오류가 표시되지 않는 경우, 원인은 일반적으로 모델 자체가 아니라 대화 상태입니다. Claude Code는 모델 버전을 자동으로 변경하지 않습니다. 다음의 경우에 폴백 모델로 전환할 수 있습니다:6439Claude의 답변이 예상보다 덜 능력 있어 보이지만 오류가 표시되지 않는 경우, 원인은 일반적으로 모델 자체가 아니라 대화 상태입니다. Claude Code는 모델 버전을 자동으로 변경하지 않습니다. 다음의 경우에 폴백 모델로 전환할 수 있습니다:

headless.md +3 −1

Details

48 48 

49bare 모드에서 Claude Code는 OAuth 자격 증명이나 시스템 키체인을 읽지 않습니다. Anthropic API의 경우 환경에서 `ANTHROPIC_API_KEY`를 설정하고, [Claude Console](https://platform.claude.com)에서 생성한 키를 사용하거나, `--settings` JSON에서 `apiKeyHelper`를 제공합니다. Amazon Bedrock, Google Cloud의 Agent Platform 및 Microsoft Foundry는 일반적인 공급자 자격 증명을 계속 읽습니다.49bare 모드에서 Claude Code는 OAuth 자격 증명이나 시스템 키체인을 읽지 않습니다. Anthropic API의 경우 환경에서 `ANTHROPIC_API_KEY`를 설정하고, [Claude Console](https://platform.claude.com)에서 생성한 키를 사용하거나, `--settings` JSON에서 `apiKeyHelper`를 제공합니다. Amazon Bedrock, Google Cloud의 Agent Platform 및 Microsoft Foundry는 일반적인 공급자 자격 증명을 계속 읽습니다.

50 50 

51bare 모드에서 Claude는 Bash, 파일 읽기 및 파일 편집 도구에 액세스할 수 있습니다. 플래그를 사용하여 필요한 컨텍스트를 전달합니다:51bare 모드에서 Claude는 Bash, 파일 읽기 및 파일 편집 도구에 액세스할 수 있습니다. 필요한 컨텍스트는 플래그로 전달합니다:

52 52 

53| 로드할 항목 | 사용 |53| 로드할 항목 | 사용 |

54| - | - |54| - | - |


58| [사용자 정의 에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |58| [사용자 정의 에이전트](https://code.claude.com/docs/ko/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |

59| 플러그인 | `--plugin-dir <path>`, `--plugin-url <url>` |59| 플러그인 | `--plugin-dir <path>`, `--plugin-url <url>` |

60 60 

61`--settings`로 훅을 전달하거나, 플래그로 로드한 플러그인의 [`hooks/hooks.json`](https://code.claude.com/docs/ko/plugins/components#hooks) 또는 [`hooks` 매니페스트 키](https://code.claude.com/docs/ko/plugins/manifest-reference#hooks)에 훅을 정의해도 bare 모드에서는 여전히 훅이 실행되지 않습니다. 훅이 필요한 실행에는 bare 모드를 사용하지 마세요.

62 

61bare 모드는 세션이 실행되는 동안 일어나는 일도 제한합니다:63bare 모드는 세션이 실행되는 동안 일어나는 일도 제한합니다:

62 64 

63* **MCP 서버**: 명령줄에서 제공된 서버만 연결됩니다(예: `--mcp-config` 사용). 대화형 세션에서는 `--ide`를 전달하지 않는 한 Claude Code가 자동 IDE 연결도 건너뜁니다.65* **MCP 서버**: 명령줄에서 제공된 서버만 연결됩니다(예: `--mcp-config` 사용). 대화형 세션에서는 `--ide`를 전달하지 않는 한 Claude Code가 자동 IDE 연결도 건너뜁니다.

Details

96마이그레이션이 병합된 후에는 편집하지 마십시오. 대신 새로운 마이그레이션을 추가하십시오.96마이그레이션이 병합된 후에는 편집하지 마십시오. 대신 새로운 마이그레이션을 추가하십시오.

97```97```

98 98 

99`packages/api/`에서 Claude를 시작하면 `packages/api/CLAUDE.md`와 루트 `CLAUDE.md`를 모두 로드합니다. Claude는 로컬 지침을 저장소 전체 규칙과 함께 보며, `packages/web/`의 지침은 컨텍스트에 없습니다. 비모노레포 트리의 모든 하위 디렉토리에도 동일하게 적용됩니다. 어떤 파일이 로드되었는지 확인하려면 `/context`를 실행하고 **메모리 파일** 아래의 목록을 확인하십시오.99`packages/api/`에서 Claude를 시작하면 `packages/api/CLAUDE.md`와 루트 `CLAUDE.md`를 모두 로드합니다. Claude는 로컬 지침을 저장소 전체 규칙과 함께 보며, `packages/web/`의 지침은 컨텍스트에 없습니다. 비모노레포 트리의 모든 하위 디렉터리에도 동일하게 적용됩니다. 어떤 파일이 로드되었는지 확인하려면 [`/context all`](https://code.claude.com/docs/ko/commands#all-commands)을 실행하고 **Memory files** 아래의 목록을 확인하십시오.

100 100 

101코드베이스와 모델이 변경될 때 파일을 최신 상태로 유지하는 몇 가지 방법:101코드베이스와 모델이 변경될 때 파일을 최신 상태로 유지하는 몇 가지 방법:

102 102 

memory.md +59 −57

Details

67 67 

68### 프로젝트 CLAUDE.md 설정하기68### 프로젝트 CLAUDE.md 설정하기

69 69 

70프로젝트 CLAUDE.md는 `./CLAUDE.md` 또는 `./.claude/CLAUDE.md`에 저장할 수 있습니다. 이 파일을 만들고 프로젝트에서 작업하는 모든 사람에게 적용되는 지침을 추가하십시오: 빌드 및 테스트 명령, 코딩 표준, 아키텍처 결정, 명명 규칙 및 일반적인 워크플로. 이 지침은 버전 제어를 통해 팀과 공유되므로 개인 선호도보다는 프로젝트 수준의 표준에 집중하십시오. 파일이 로드되었는지 확인하려면 세션에서 `/context`를 실행하고 **Memory files** 아래의 목록을 확인하십시오.70프로젝트 CLAUDE.md는 `./CLAUDE.md` 또는 `./.claude/CLAUDE.md`에 저장할 수 있습니다. 이 파일을 만들고 프로젝트에서 작업하는 모든 사람에게 적용되는 지침을 추가하십시오: 빌드 및 테스트 명령, 코딩 표준, 아키텍처 결정, 명명 규칙 및 일반적인 워크플로. 이 지침은 버전 제어를 통해 팀과 공유되므로 개인 선호도보다는 프로젝트 수준의 표준에 집중하십시오.

71 

72파일이 로드되었는지 확인하려면 세션에서 [`/context all`](https://code.claude.com/docs/ko/commands#all-commands)을 실행하고 **Memory files** 아래의 목록을 확인하십시오. [전체 화면 모드](https://code.claude.com/docs/ko/fullscreen.md)에서는 `/context`만 실행하면 해당 목록이 접힌 상태로 표시됩니다.

71 73 

72> [!TIP]74> [!TIP]

73>75>


350 352 

351## AGENTS.md353## AGENTS.md

352 354 

353Claude Code는 [`AGENTS.md`](https://code.claude.com/docs/ko/glossary#agents-md)를 프로젝트 지침으로 읽을 수 있으므로, 다른 코딩 에이전트를 위해 이미 설정된 저장소는 `CLAUDE.md`, 가져오기 또는 설정을 추가할 필요 없이 작동합니다. 이 표는 저장소의 지침 파일 조합에 따라 Claude가 기본적으로 읽는 내용을 보여줍니다:355Claude Code는 [`AGENTS.md`](https://code.claude.com/docs/ko/glossary#agents-md)를 프로젝트 지침으로 읽을 수 있으므로, 다른 코딩 에이전트용으로 이미 설정된 저장소는 `CLAUDE.md`, 가져오기 또는 설정을 추가하지 않아도 그대로 작동합니다. 다음 표는 저장소에 있는 지침 파일의 조합별로 Claude가 기본적으로 읽는 파일을 보여 줍니다.

354 356 

355| 저장소에 있는 파일 | Claude가 읽는 내용 |357| 저장소에 있는 파일 | Claude가 읽는 파일 |

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

357| `AGENTS.md`가 있고, 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없음 | `AGENTS.md` |359| `AGENTS.md`가 있고, 작업 디렉터리나 그 상위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없음 | `AGENTS.md` |

358| `AGENTS.md`와 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 있음 | `CLAUDE.md` 파일만 |360| 작업 디렉터리나 그 상위에 `AGENTS.md`와 `CLAUDE.md` 또는 `CLAUDE.local.md`가 있음 | `CLAUDE.md` 파일만 |

359| 이미 [`AGENTS.md`를 가져오는](#share-one-file-with-other-coding-tools) `CLAUDE.md`가 있음 | `CLAUDE.md`, 가져오기를 통해 포함된 `AGENTS.md` |361| 이미 [`AGENTS.md`를 가져오는](#share-one-file-with-other-coding-tools) `CLAUDE.md`가 있음 | `CLAUDE.md`와, 가져오기를 통해 포함된 `AGENTS.md` |

360 362 

361기본값을 변경하려면, 예를 들어 Claude가 항상 두 파일을 모두 읽도록 하거나, `CLAUDE.md`만 읽도록 하거나, 조직의 관리되는 지침만 읽도록 하려면 [**프로젝트 지침** 설정을 변경](#choose-which-instruction-files-load)하십시오.363기본값을 변경하려면, 예를 들어 Claude가 항상 두 파일을 모두 읽거나, `CLAUDE.md`만 읽거나, 조직의 관리형 지침만 읽도록 하려면 [**Project instructions** 설정을 변경합니다](#choose-which-instruction-files-load).

362 364 

363> [!NOTE]365> [!NOTE]

364>366>

365> `AGENTS.md`를 직접 읽으려면 Claude Code v2.1.277 이상이 필요합니다. 일부 세션에서는 Claude가 [`AGENTS.md`를 읽을 수 없으므로](#when-agents-md-support-is-unavailable), 대신 [`CLAUDE.md`에서 가져오십시오](#share-one-file-with-other-coding-tools).367> `AGENTS.md`를 직접 읽으려면 Claude Code v2.1.277 이상이 필요합니다. 일부 세션에서는 Claude가 [`AGENTS.md`를 읽을 수 없으므로](#when-agents-md-support-is-unavailable), 해당 세션에서는 대신 [`CLAUDE.md`에서 가져오십시오](#share-one-file-with-other-coding-tools).

366 368 

367### Claude Code가 AGENTS.md를 읽을 때369### Claude Code가 AGENTS.md를 읽는 경우

368 370 

369기본적으로 Claude는 작업 디렉토리 또는 그 위에 `CLAUDE.md`가 없을 때만 `AGENTS.md`를 읽습니다. 다음은 해당 확인에 포함되는 파일입니다:371기본적으로 Claude는 작업 디렉터리나 그 상위에 `CLAUDE.md`가 없을 때만 `AGENTS.md`를 읽습니다. 이 확인에서 다음 파일이 고려 대상이 됩니다.

370 372 

371* **포함되므로 Claude가 `AGENTS.md` 대신 읽음**: 작업 디렉토리 또는 그 위의 `CLAUDE.md`, `.claude/CLAUDE.md` 또는 `CLAUDE.local.md`373* **고려 대상이며, Claude가 `AGENTS.md` 대신 읽는 파일**: 작업 디렉터리 또는 그 상위 디렉터리에 있는 `CLAUDE.md`, `.claude/CLAUDE.md` 또는 `CLAUDE.local.md`

372* **포함되지 않으며 `AGENTS.md`와 함께 계속 로드됨**: `~/.claude/CLAUDE.md`, 조직의 관리되는 `CLAUDE.md`, `.claude/rules/` 파일374* **고려 대상이 아니며, `AGENTS.md`와 함께 계속 로드되는 파일**: `~/.claude/CLAUDE.md`, 조직의 관리형 `CLAUDE.md`, `.claude/rules/` 파일

373 375 

374포함되는 파일이 없을 때, Claude가 읽는 내용과 확인 방법은 다음과 같습니다:376고려 대상 파일이 하나도 없을 때 Claude가 읽는 파일과 이를 확인하는 방법은 다음과 같습니다.

375 377 

376* **세션 시작 시**: 작업 디렉토리와 그 위의 디렉토리에 있는 모든 `AGENTS.md`와 `.claude/AGENTS.md`. 대화형 세션에서는 `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md`와 같은 줄이 표시됩니다378* **세션 시작 시**: 작업 디렉터리와 그 상위 디렉터리에 있는 모든 `AGENTS.md` 및 `.claude/AGENTS.md`. 대화형 세션에서는 대화에 `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md`와 같은 줄이 표시됩니다

377* **Claude가 하위 디렉토리에서 작업할 때**: 하위 디렉토리에 Read 도구로 파일을 열 때, 해당 하위 디렉토리에 세 가지 `CLAUDE.md` 파일이 없으면 그 하위 디렉토리의 `AGENTS.md`379* **Claude가 하위 디렉터리에서 작업할 때**: Claude가 Read 도구로 하위 디렉터리의 파일을 열고, 해당 하위 디렉터리에 세 가지 `CLAUDE.md` 파일 중 어느 것도 없을 때 그 하위 디렉터리의 `AGENTS.md`

378* **각 `AGENTS.md` 내부**: [`@path` 가져오기](#import-additional-files)가 확장되고, [`claudeMdExcludes`](#exclude-specific-claude-md-files) 패턴이 적용되며, [프로젝트 지침 없이 시작하는](https://code.claude.com/docs/ko/sub-agents.md#what-loads-at-startup) 서브에이전트는 이 파일들도 없이 시작합니다380* **각 `AGENTS.md` 내부**: [`@path` 가져오기](#import-additional-files)가 확장되고, [`claudeMdExcludes`](#exclude-specific-claude-md-files) 패턴이 적용되며, [프로젝트 지침 없이 시작하는](https://code.claude.com/docs/ko/sub-agents.md#what-loads-at-startup) 서브에이전트는 이 파일들 없이 시작합니다

379* **읽지 않음**: `AGENTS.local.md`, `AGENTS.override.md` 또는 `.agents/` 디렉토리 아래의 모든 것381* **읽지 않는 파일**: `AGENTS.local.md`, `AGENTS.override.md`, 또는 `.agents/` 디렉터리 아래의 모든 파일

380 382 

381> [!NOTE]383> [!NOTE]

382>384>

383> `CLAUDE.local.md`가 포함되므로, `AGENTS.md`에 의존하는 프로젝트에 개인 메모용으로 추가하면 Claude가 더 이상 `AGENTS.md`를 읽지 않습니다. `CLAUDE.local.md`를 유지하면서 Claude가 `AGENTS.md`를 읽도록 하려면 **프로젝트 지침**을 [`claude-md-and-agents-md`](#choose-which-instruction-files-load)로 설정하십시오.385> `CLAUDE.local.md`는 고려 대상이므로, `AGENTS.md`에 의존하는 프로젝트에서 커밋하지 않는 개인 지침을 보관하기 위해 이 파일을 추가하면 Claude가 `AGENTS.md`를 읽지 않게 됩니다. `CLAUDE.local.md`를 유지하면서도 Claude가 `AGENTS.md`를 읽도록 하려면 **Project instructions**를 [`claude-md-and-agents-md`](#choose-which-instruction-files-load)로 설정합니다.

384 386 

385### 로드할 지침 파일 선택387### 로드할 지침 파일 선택

386 388 

387Claude가 읽는 파일을 변경하려면, Claude Code 세션에서 `/config`를 입력하여 설정 패널을 열고, **프로젝트 지침**을 다음 값 중 하나로 설정합니다:389Claude가 읽는 파일을 변경하려면 Claude Code 세션에서 `/config`를 입력하여 설정 패널을 연 다음, **Project instructions**를 다음 값 중 하나로 설정합니다.

388 390 

389| 값 | Claude가 읽는 내용 |391| 값 | Claude가 읽는 파일 |

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

391| `claude-md-or-agents-md` | `CLAUDE.md` 파일, 또는 작업 디렉토리 또는 그 위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없을 때 `AGENTS.md` 파일. 이것이 기본값입니다 |393| `claude-md-or-agents-md` | `CLAUDE.md` 파일, 또는 작업 디렉터리나 그 상위에 `CLAUDE.md` 또는 `CLAUDE.local.md`가 없을 때는 `AGENTS.md` 파일. 기본값입니다 |

392| `claude-md-and-agents-md` | `CLAUDE.md`와 `AGENTS.md` 파일을 함께, 각 디렉토리의 `CLAUDE.md` 파일을 먼저 읽고 그 다음 `AGENTS.md`. Claude Code는 이미 로드한 `AGENTS.md`를 건너뜁니다. 따라서 `CLAUDE.md`가 가져오거나 심볼릭 링크하는 것은 두 번 읽지 않습니다 |394| `claude-md-and-agents-md` | `CLAUDE.md`와 `AGENTS.md` 파일을 함께 읽으며, 각 디렉터리의 `CLAUDE.md` 파일을 먼저 읽고 그 뒤에 `AGENTS.md`를 읽습니다. Claude Code는 이미 로드한 `AGENTS.md`를 건너뛰므로, `CLAUDE.md`가 가져오거나 심볼릭 링크로 연결한 `AGENTS.md`는 두 번 읽지 않습니다 |

393| `claude-md` | `CLAUDE.md` 파일만 |395| `claude-md` | `CLAUDE.md` 파일만 |

394| `managed-only` | 시작 시 조직의 관리형 `CLAUDE.md`와 [자동 메모리](#auto-memory)만. 프로젝트, 로컬 및 사용자 `CLAUDE.md` 파일, `.claude/rules/` 파일 및 모든 `AGENTS.md`는 제외됩니다. 하위 디렉터리의 `CLAUDE.md`와 `.claude/rules/` 파일, 그리고 [경로 범위 규칙](#path-specific-rules)은 여전히 필요할 때 로드됩니다 |396| `managed-only` | 실행 시 조직의 관리형 `CLAUDE.md`와 [자동 메모리](#auto-memory)만 읽습니다. 프로젝트, 로컬, 사용자 `CLAUDE.md` 파일, `.claude/rules/` 파일, 모든 `AGENTS.md`는 제외됩니다. 하위 디렉터리의 `CLAUDE.md` 및 `.claude/rules/` 파일과 [경로 범위 규칙](#path-specific-rules)은 여전히 필요할 때 로드됩니다 |

395 397 

396`/config` 대신 설정 파일에서 값을 설정할 수도 있습니다. `AGENTS.md`를 읽는 내장 플러그인의 ID인 `cc-plugin-agents-md@builtin` 아래의 [`pluginConfigs`](https://code.claude.com/docs/ko/settings-reference#pluginconfigs)에 추가합니다. Claude Code는 `~/.claude/settings.json`, `--settings` 파일 또는 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 이 항목을 읽으며, 프로젝트 및 로컬 설정 파일에서는 무시합니다. 이 예제는 Claude가 두 파일을 모두 읽도록 합니다:398`/config` 대신 설정 파일에서 값을 설정할 수도 있습니다. `AGENTS.md`를 읽는 기본 제공 플러그인의 ID인 `cc-plugin-agents-md@builtin` 아래의 [`pluginConfigs`](https://code.claude.com/docs/ko/settings-reference#pluginconfigs)에 추가합니다. Claude Code는 `~/.claude/settings.json`, `--settings` 파일 또는 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 이 항목을 읽으며, 프로젝트 및 로컬 설정 파일에서는 이를 무시합니다. 다음 예시는 Claude가 두 파일을 모두 읽도록 합니다.

397 399 

398```json settings.json theme={null}400```json settings.json theme={null}

399{401{


405}407}

406```408```

407 409 

408v2.1.285 이전에는 플러그인의 ID가 `agents-md@builtin`이었으며, Claude Code는 `cc-plugin-agents-md@builtin` 아래의 항목을 무시했습니다. 이전 버전에서도 설정 파일을 읽는 경우 해당 파일에서는 `agents-md@builtin`을 사용하십시오. Claude Code v2.1.285 이상은 두 ID 중 어느 쪽 아래의 항목이든 읽습니다.410v2.1.285 이전에는 플러그인 ID가 `agents-md@builtin`이었으며, Claude Code는 `cc-plugin-agents-md@builtin` 아래의 항목을 무시했습니다. 이전 버전에서도 설정 파일을 읽는 경우, 해당 파일에서는 `agents-md@builtin`을 사용하십시오. Claude Code v2.1.285 이상은 두 ID 중 어느 것 아래의 항목이든 읽습니다.

409 411 

410변경 사항은 다음 메시지를 보낼 때와 모든 새 세션에서 적용됩니다.412변경 사항은 다음에 보내는 메시지부터, 그리고 모든 새 세션에 적용됩니다.

411 413 

412### AGENTS.md 지원을 사용할 수 없을 때414### AGENTS.md 지원을 사용할 수 없는 경우

413 415 

414이러한 세션에서 Claude는 `CLAUDE.md` 파일만 읽으며, `/config` 설정 패널에서 **프로젝트 지침**이 나타나지 않습니다:416다음 세션에서는 Claude가 `CLAUDE.md` 파일만 읽으며, `/config` 설정 패널에 **Project instructions**가 표시되지 않습니다.

415 417 

416* v2.1.277 이전의 Claude Code 버전을 사용 중입니다418* v2.1.277 이전의 Claude Code 버전을 사용하는 경우

417* `/plugin`을 사용하여 `AGENTS.md`를 읽는 내장 플러그인을 비활성화했습니다419* `/plugin`을 사용하여 `AGENTS.md`를 읽는 기본 제공 플러그인을 비활성화한 경우

418* 일부 경우, v2.1.276 이상에서 [업그레이드한 후 첫 번째 세션](https://code.claude.com/docs/ko/env-vars.md#first-session-after-an-install-or-upgrade)입니다. Claude는 다음 세션부터 `AGENTS.md`를 읽습니다420* 경우에 따라 v2.1.276 이하 버전에서 [업그레이드한 후 첫 세션](https://code.claude.com/docs/ko/env-vars.md#first-session-after-an-install-or-upgrade)인 경우. Claude는 다음 세션부터 `AGENTS.md`를 읽습니다

419 421 

420v2.1.281 이전에는 Amazon Bedrock의 세션이나 원격 측정이 비활성화된 세션과 같은 일부 세션에서 `CLAUDE.md` 파일만 읽었습니다. 이러한 버전에서는 Claude Code를 업데이트하십시오. 이러한 세션에서 Claude에 `AGENTS.md`를 제공하려면 [`CLAUDE.md`에서 가져오십시오](#share-one-file-with-other-coding-tools).422v2.1.281 이전에는 Amazon Bedrock을 사용하거나 텔레메트리가 비활성화된 세션 등 일부 세션에서 `CLAUDE.md` 파일만 읽었습니다. 해당 버전에서는 Claude Code를 업데이트하십시오. 이러한 세션에서 Claude에게 `AGENTS.md`를 제공하려면 [`CLAUDE.md`에서 가져오십시오](#share-one-file-with-other-coding-tools).

421 423 

422### AGENTS.md가 CLAUDE.md와 다른 점424### AGENTS.md와 CLAUDE.md의 차이점

423 425 

424Claude가 **프로젝트 지침** 설정을 통해 읽는 `AGENTS.md`는 다음과 같은 방식으로 `CLAUDE.md`와 다릅니다:426**Project instructions** 설정을 통해 Claude가 읽는 `AGENTS.md`는 다음 부분에서 `CLAUDE.md`와 다릅니다.

425 427 

426| | `CLAUDE.md` | 설정을 통해 읽은 `AGENTS.md` |428| | `CLAUDE.md` | 설정을 통해 읽는 `AGENTS.md` |

427| :- | :- | :- |429| :- | :- | :- |

428| [`InstructionsLoaded` 훅](https://code.claude.com/docs/ko/hooks#instructionsloaded) | 실행됨 | 실행되지 않음. `CLAUDE.md`가 가져오거나 심볼릭 링크하는 `AGENTS.md`의 경우 평소대로 실행됨 |430| [`InstructionsLoaded` 훅](https://code.claude.com/docs/ko/hooks#instructionsloaded) | 실행됨 | 실행되지 않습니다. `CLAUDE.md`가 가져오거나 심볼릭 링크로 연결한 `AGENTS.md`에 대해서는 평소처럼 실행됩니다 |

429| [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories)가 설정되었을 때 `--add-dir`으로 추가한 디렉토리 | 해당 `CLAUDE.md` 로드 | 해당 `AGENTS.md` 로드 안 함 |431| [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories)가 설정된 상태에서 `--add-dir`로 추가한 디렉터리 | 해당 디렉터리의 `CLAUDE.md`가 로드됨 | 해당 디렉터리의 `AGENTS.md`는 로드되지 않음 |

430| 작업 디렉토리 외부 파일의 `@path` 가져오기 | Claude Code가 [외부 가져오기](#import-additional-files) 승인을 요청함 | 이 프로젝트에 대해 이미 외부 가져오기를 승인한 경우에만 로드, 프롬프트 없음 |432| 작업 디렉터리 외부 파일의 `@path` 가져오기 | Claude Code가 [외부 가져오기](#import-additional-files) 승인을 요청함 | 이 프로젝트에 대해 외부 가져오기를 이미 승인한 경우에만 확인 요청 없이 로드됨 |

431 433 

432### 이전 AGENTS.md 해결 방법 제거434### 이전 AGENTS.md 우회 방법 제거

433 435 

434Claude Code가 자체적으로 `AGENTS.md`를 읽기 전에 설정한 경우, 각 일반적인 설정에서 수행할 작업은 다음과 같습니다:436Claude Code가 자체적으로 `AGENTS.md`를 읽기 전에 이를 읽도록 설정해 두었다면, 일반적인 설정별로 다음과 같이 처리합니다.

435 437 

436* **`@AGENTS.md`를 포함하는 `CLAUDE.md`**: 그대로 둘 수 있습니다. 가져오기를 유지하면 Claude가 `AGENTS.md`를 두 번 읽지 않습니다. 어떤 **프로젝트 지침** 값을 사용하든 상관없습니다. 파일에 다른 내용이 없으면 `CLAUDE.md`를 제거하거나, 일부 세션이 [`AGENTS.md`를 직접 로드할 수 없으면](#when-agents-md-support-is-unavailable) 유지하십시오.438* **`@AGENTS.md`를 포함하는 `CLAUDE.md`**: 그대로 두어도 됩니다. 어떤 **Project instructions** 값을 사용하든 가져오기를 유지해도 Claude가 `AGENTS.md`를 두 번 읽지 않습니다. `CLAUDE.md`에 다른 내용이 없으면 삭제하고, 일부 세션에서 [`AGENTS.md`를 직접 로드할 수 없다면](#when-agents-md-support-is-unavailable) 유지합니다.

437* **Claude에게 `AGENTS.md`를 읽으라고 말하는 `CLAUDE.md`**: Claude는 파일을 열기로 결정한 경우에만 `AGENTS.md`를 봅니다. `CLAUDE.md`를 삭제하여 Claude가 `AGENTS.md`를 직접 읽도록 하거나, 문장을 `@AGENTS.md` 가져오기로 바꾸십시오.439* **Claude에게 문장으로 `AGENTS.md`를 읽으라고 지시하는 `CLAUDE.md`**: Claude는 파일을 열기로 결정한 경우에만 `AGENTS.md`를 봅니다. Claude가 `AGENTS.md`를 직접 읽도록 `CLAUDE.md`를 삭제하거나, 해당 문장을 `@AGENTS.md` 가져오기로 바꾸십시오.

438* **`AGENTS.md`로 심볼릭 링크된 `CLAUDE.md`**: 아무것도 없거나 심볼릭 링크를 삭제합니다. 어느 쪽이든 Claude는 내용을 한 번 읽습니다.440* **`AGENTS.md`에 심볼릭 링크로 연결된 `CLAUDE.md`**: 아무것도 하지 않거나 심볼릭 링크를 삭제합니다. 어느 쪽이든 Claude는 내용을 한 번만 읽습니다.

439* **`AGENTS.md`를 인쇄하는 `SessionStart` 훅**: 제거합니다. Claude가 `AGENTS.md`를 직접 읽으면, 훅은 컨텍스트에 두 번째 복사본을 추가합니다.441* **`AGENTS.md`를 출력하는 `SessionStart` 훅**: 제거하십시오. Claude가 `AGENTS.md`를 직접 읽으면 이 훅은 컨텍스트에 두 번째 사본을 추가합니다.

440 442 

441### 다른 코딩 도구와 한 파일 공유443### 다른 코딩 도구와 하나의 파일 공유

442 444 

443Claude가 `AGENTS.md`를 직접 읽지 않을 때, 옆에 있는 `CLAUDE.md`에 `@AGENTS.md` 가져오기를 넣어 모든 도구가 공유하는 한 파일로 유지할 수 있습니다. 프로젝트에 `CLAUDE.md`도 있을 때, **프로젝트 지침**을 `claude-md`로 설정했을 때 또는 [`AGENTS.md`를 로드할 수 없는](#when-agents-md-support-is-unavailable) 세션에서 이를 수행합니다. Claude 특정 지침을 가져오기 아래에 추가하면, Claude는 가져온 파일을 먼저 읽은 다음 나머지를 읽습니다:445Claude가 `AGENTS.md`를 직접 읽지 않는 경우에도, 그 옆의 `CLAUDE.md`에 `@AGENTS.md` 가져오기를 넣으면 `AGENTS.md`를 모든 도구가 공유하는 하나의 파일로 유지할 수 있습니다. 프로젝트에 `CLAUDE.md`도 있는 경우, **Project instructions**를 `claude-md`로 설정한 경우, 또는 [`AGENTS.md`를 로드할 수 없는](#when-agents-md-support-is-unavailable) 세션에서 이 방법을 사용합니다. Claude 전용 지침은 가져오기 아래에 추가하면, Claude는 가져온 파일을 먼저 읽고 나머지를 읽습니다.

444 446 

445```markdown CLAUDE.md theme={null}447```markdown CLAUDE.md theme={null}

446@AGENTS.md448@AGENTS.md


450Use plan mode for changes under `src/billing/`.452Use plan mode for changes under `src/billing/`.

451```453```

452 454 

453Claude 특정 내용이 필요하지 않으면 심볼릭 링크도 작동합니다:455Claude 전용 내용이 필요하지 않다면 심볼릭 링크도 사용할 수 있습니다.

454 456 

455```bash theme={null}457```bash theme={null}

456ln -s AGENTS.md CLAUDE.md458ln -s AGENTS.md CLAUDE.md

457```459```

458 460 

459명령은 성공 시 출력을 인쇄하지 않습니다. 심볼릭 링크를 가져오기 대신 선택하기 전에 다음 제약 사항을 확인하십시오:461이 명령은 성공 시 아무것도 출력하지 않습니다. 가져오기 대신 심볼릭 링크를 선택하기 전에 다음 제약 사항을 확인하십시오.

460 462 

461* **편집**: Claude는 링크를 통해 `CLAUDE.md`를 읽지만, Edit 및 Write 도구는 [심볼릭 링크를 통해 쓰기를 거부](https://code.claude.com/docs/ko/errors.md#refusing-after-a-symlink-changed)하며, 거부는 Claude에게 링크의 대상인 `AGENTS.md`를 대신 편집하도록 지시합니다463* **편집**: Claude는 링크를 통해 `CLAUDE.md`를 읽지만, Edit 및 Write 도구는 [심볼릭 링크를 통한 쓰기를 거부하며](https://code.claude.com/docs/ko/errors.md#refusing-after-a-symlink-changed), 이 거부 메시지는 Claude에게 대신 링크 대상인 `AGENTS.md`를 편집하도록 안내합니다

462* **Windows**: 저장소를 복제하는 사람이 Windows에서 작업하면 `@AGENTS.md` 가져오기를 대신 사용하십시오. 거기서 심볼릭 링크를 만들려면 관리자 권한 또는 개발자 모드가 필요하며, Git은 `core.symlinks`가 활성화되지 않으면 커밋된 심볼릭 링크를 일반 텍스트 파일로 체크아웃합니다. 이는 해당 복제본에 지침 대신 한 줄의 `CLAUDE.md`를 남깁니다464* **Windows**: 사용자 본인이나 저장소를 클론하는 누군가가 Windows에서 작업한다면 대신 `@AGENTS.md` 가져오기를 사용하십시오. Windows에서 심볼릭 링크를 만들려면 관리자 권한이나 개발자 모드가 필요하며, `core.symlinks`가 활성화되어 있지 않으면 Git은 커밋된 심볼릭 링크를 일반 텍스트 파일로 체크아웃하므로, 해당 클론에는 지침 대신 한 줄짜리 `CLAUDE.md`만 남게 됩니다

463 465 

464두 방법 모두 다음 세션에서 `/context`를 실행하고 `CLAUDE.md`가 **메모리 파일** 아래에 나타나는지 확인합니다.466어느 방법을 사용하든 다음 세션에서 `/context all`을 실행하고 **Memory files** 아래에 `CLAUDE.md`가 표시되는지 확인하십시오.

465 467 

466### 다른 도구에서 지침 마이그레이션468### 다른 도구의 지침 마이그레이션

467 469 

468[`/init`](https://code.claude.com/docs/ko/commands)을 실행하면 다른 도구의 지침 파일을 읽고 관련 부분을 생성된 `CLAUDE.md`에 통합합니다:470[`/init`](https://code.claude.com/docs/ko/commands)을 실행하면 다른 도구의 지침 파일을 읽고 관련 부분을 생성된 `CLAUDE.md`에 통합합니다.

469 471 

470* `.cursor/rules/` 또는 `.cursorrules`의 Cursor 규칙472* `.cursor/rules/` 또는 `.cursorrules`의 Cursor 규칙

471* `.github/copilot-instructions.md`의 Copilot 규칙473* `.github/copilot-instructions.md`의 Copilot 규칙

472* `CLAUDE_CODE_NEW_INIT=1` 설정: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` 또는 `.windsurfrules`, `.clinerules`474* `CLAUDE_CODE_NEW_INIT=1`이 설정된 경우: `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` 또는 `.windsurfrules`, `.clinerules`

473 475 

474[`/import`](https://code.claude.com/docs/ko/commands)를 실행하여 지원되는 코딩 에이전트의 구성을 Claude Code로 가져올 수도 있습니다. 이는 `AGENTS.md`와 같은 지침 파일의 일회성 복사본을 일치하는 `CLAUDE.md`에 추가하고 MCP 서버, 명령, 서브에이전트 및 스킬을 가져옵니다.476[`/import`](https://code.claude.com/docs/ko/commands)를 실행하여 지원되는 코딩 에이전트의 구성을 Claude Code로 가져올 수도 있습니다. 이 명령은 `AGENTS.md`와 같은 지침 파일의 일회성 사본을 해당하는 `CLAUDE.md`에 추가하고, MCP 서버, 명령, 서브에이전트, 스킬을 이전합니다.

475 477 

476## 자동 메모리478## 자동 메모리

477 479 


567 569 

568## `/memory`로 보기 및 편집570## `/memory`로 보기 및 편집

569 571 

570`/memory` 명령은 사용자 및 프로젝트 범위에 걸쳐 CLAUDE.md, CLAUDE.local.md 및 기타 메모리 파일 위치를 나열하며, 아직 존재하지 않는 파일에 대한 사용자 및 프로젝트 CLAUDE.md 항목도 포함합니다. 또한 자동 메모리를 켜거나 끌 수 있으며 자동 메모리 폴더를 열 수 있는 옵션을 제공합니다. 파일을 선택하여 편집기에서 엽니다. 아직 존재하지 않는 파일을 선택하면 먼저 생성합니다. 시작 시 로드된 `CLAUDE.md` 및 규칙 파일을 확인하려면 `/context`를 실행합니다.572`/memory` 명령은 사용자 및 프로젝트 범위에 걸쳐 CLAUDE.md, CLAUDE.local.md 및 기타 메모리 파일 위치를 나열합니다. 이 목록에는 아직 존재하지 않는 파일에 대한 사용자 및 프로젝트 CLAUDE.md 항목도 포함됩니다. 또한 이 명령으로 자동 메모리를 켜거나 끌 수 있으며 자동 메모리 폴더를 열 수 있는 옵션을 제공합니다. 파일을 선택하여 편집기에서 엽니다. 아직 존재하지 않는 파일을 선택하면 먼저 생성합니다.

571 573 

572VS Code와 같은 GUI 편집기는 파일을 별도 창에서 열며, 파일이 열려 있는 동안 세션을 계속 사용할 수 있습니다. Vim과 같은 터미널 편집기는 종료할 때까지 터미널을 차지합니다.574VS Code와 같은 GUI 편집기는 파일을 별도 창에서 열며, 파일이 열려 있는 동안 세션을 계속 사용할 수 있습니다. Vim과 같은 터미널 편집기는 종료할 때까지 터미널을 차지합니다.

573 575 


583 585 

584디버깅하려면:586디버깅하려면:

585 587 

586* `/context`를 실행하고 **Memory files** 아래의 목록을 확인하여 시작 시 로드되어야 하는 CLAUDE.md 및 CLAUDE.local.md 파일을 확인합니다. 파일이 여기에 없으면 Claude가 볼 수 없습니다. `/memory`를 사용하여 파일을 열고 편집합니다.588* `/context all`을 실행하고 **Memory files** 아래의 목록을 확인하여 시작 시 로드되어야 하는 CLAUDE.md 및 CLAUDE.local.md 파일을 확인합니다. 파일이 여기에 없으면 Claude가 볼 수 없습니다. `/memory`를 사용하여 파일을 열고 편집합니다.

587* `Instruction file not loaded` 알림이 표시되면 [그 의미와 대처 방법](https://code.claude.com/docs/ko/errors.md#instruction-file-not-loaded)을 참조합니다.589* `Instruction file not loaded` 알림이 표시되면 [그 의미와 대처 방법](https://code.claude.com/docs/ko/errors.md#instruction-file-not-loaded)을 참조합니다.

588* 작업 디렉터리의 하위 디렉터리에 있는 `CLAUDE.md`는 시작 시가 아니라 필요할 때 로드되므로 **Memory files** 아래에 나타나지 않습니다. 로드되면 해당 경로가 포함된 `Loaded` 줄이 터미널에 표시됩니다. 새 파일을 테스트하려면 Claude에게 작성을 요청하지 말고 셸에서 직접 생성한 다음, Claude에게 해당 하위 디렉터리의 파일을 읽도록 요청합니다.590* 작업 디렉터리의 하위 디렉터리에 있는 `CLAUDE.md`는 시작 시가 아니라 필요할 때 로드되므로 **Memory files** 아래에 나타나지 않습니다. 로드되면 해당 경로가 포함된 `Loaded` 줄이 터미널에 표시됩니다. 새 파일을 테스트하려면 Claude에게 작성을 요청하지 말고 셸에서 직접 생성한 다음, Claude에게 해당 하위 디렉터리의 파일을 읽도록 요청합니다.

589* 관련 CLAUDE.md가 세션에 대해 로드되는 위치에 있는지 확인합니다([CLAUDE.md 파일을 어디에 배치할지 선택](#choose-where-to-put-claude-md-files) 참조).591* 관련 CLAUDE.md가 세션에 대해 로드되는 위치에 있는지 확인합니다([CLAUDE.md 파일을 어디에 배치할지 선택](#choose-where-to-put-claude-md-files) 참조).

Details

245>245>

246> **기본값으로**: [설정](https://code.claude.com/docs/ko/settings.md#where-settings-live)에서 `defaultMode`를 설정합니다. 데스크톱 앱은 CLI와 동일한 설정 파일을 읽고 새 로컬 세션에 권한 모드를 적용합니다.246> **기본값으로**: [설정](https://code.claude.com/docs/ko/settings.md#where-settings-live)에서 `defaultMode`를 설정합니다. 데스크톱 앱은 CLI와 동일한 설정 파일을 읽고 새 로컬 세션에 권한 모드를 적용합니다.

247>247>

248> 모드 선택기에서 선택한 모드는 폴더별로 기억되며 해당 폴더에 대해 `defaultMode`보다 우선합니다. Plan은 예외입니다: 선택하면 현재 세션에만 적용됩니다.248> 로컬 세션의 모드 선택기에서 선택한 모드는 폴더별로 기억되며 프로젝트의 `.claude/` 설정에 있는 `defaultMode`보다 우선합니다. 그래도 새 로컬 세션은 `~/.claude/settings.json` 또는 관리형 설정의 `defaultMode`로 시작될 수 있으므로 첫 메시지를 보내기 전에 선택기를 확인하세요. Plan을 선택하면 현재 세션에만 적용됩니다.

249>249>

250> [다른 권한 모드에서 시작](#start-in-a-different-mode) 아래의 예제에서 `defaultMode`가 설정 파일의 어디로 가는지 참조하세요.250> [다른 권한 모드에서 시작](#start-in-a-different-mode) 아래의 예제에서 `defaultMode`가 설정 파일의 어디로 가는지 참조하세요.

251 251 


372 372 

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

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

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

376 * Agent SDK 및 데스크톱 앱 세션에서 서버에 요청하려면 Claude Code v2.1.281 이상이 필요합니다

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

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

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

permissions.md +1 −1

Details

69 69 

70## 권한 모드70## 권한 모드

71 71 

72Claude Code는 도구 승인 방식을 제어하는 여러 권한 모드를 지원합니다. [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)에서 각 모드를 사용할 시기를 확인합니다. 세션이 시작되는 모드를 변경하려면 [설정 파일](https://code.claude.com/docs/ko/settings.md#where-settings-live)에서 `defaultMode`를 설정합니다. [세션이 시작되는 모드](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)에서는 각 플랜의 기본 설정과 VS Code 확장이 읽는 내용을 다룹니다.72Claude Code는 도구 호출을 승인하는 방식을 제어하는 여러 권한 모드를 지원합니다. [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)에서 각 모드를 사용할 시기를 확인합니다. 새 세션의 기본 권한 모드를 변경하려면 [설정 파일](https://code.claude.com/docs/ko/settings.md#where-settings-live)에서 `defaultMode`를 설정합니다. [세션이 시작되는 모드](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)에서는 각 플랜의 기본 제공 기본값과 VS Code 확장이 읽는 내용을 다룹니다.

73 73 

74| 모드 | 설명 |74| 모드 | 설명 |

75| :- | :- |75| :- | :- |

Details

571| :- | :- | :- |571| :- | :- | :- |

572| Hook 명령 | `command` 및 `args`의 어디든지 | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` 및 `CLAUDE_PLUGIN_OPTION_<KEY>` |572| Hook 명령 | `command` 및 `args`의 어디든지 | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` 및 `CLAUDE_PLUGIN_OPTION_<KEY>` |

573| Monitor 명령 | `command`의 어디든지 | 내보내지지 않음 |573| Monitor 명령 | `command`의 어디든지 | 내보내지지 않음 |

574| MCP `stdio` 서버 | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |574| MCP `stdio` 서버 | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |

575| MCP `http`, `sse`, `ws` 서버 | `url`, `headers`, `headersHelper` | 해당 없음 |575| MCP `http`, `sse`, `ws` 서버 | `url`, `headers`, `headersHelper` | 해당 없음 |

576| LSP 서버 | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |576| LSP 서버 | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |

577| Skill, command, 및 agent 콘텐츠 | Markdown 본문의 어디든지 | 해당 없음 |577| Skill, command, 및 agent 콘텐츠 | Markdown 본문의 어디든지 | 해당 없음 |

Details

154| 이벤트 | 발생 시점 | 훅이 반환할 수 있는 값 |154| 이벤트 | 발생 시점 | 훅이 반환할 수 있는 값 |

155| :- | :- | :- |155| :- | :- | :- |

156| `agent.offer` | 서브에이전트 유형이 Claude에 제공될 때 | 제공하지 않으려면 `{ isOffered: false }` |156| `agent.offer` | 서브에이전트 유형이 Claude에 제공될 때 | 제공하지 않으려면 `{ isOffered: false }` |

157| `agent.spawn` | 서브에이전트 또는 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원이 시작되기 직전. 팀원의 경우 `e.isTeammate`는 `true`입니다. | 모델을 선택하려면 `next({ ...e, model })`, 또는 `{ deny: reason }` |157| `agent.spawn` | 서브에이전트 또는 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원이 시작되기 직전, 또는 완료되었거나 중지된 서브에이전트가 다시 실행되기 직전. 팀원의 경우 `e.isTeammate`는 `true`입니다. 재개된 실행의 경우 `e.resume`이 설정됩니다. | 시작되는 서브에이전트나 팀원의 모델을 선택하려면 `next({ ...e, model })`, 또는 `{ deny: reason }` |

158 158 

159Claude가 [`SendMessage`](https://code.claude.com/docs/ko/sub-agents#resume-subagents) 도구로 서브에이전트를 재개할 때는 `agent.spawn` 훅이 다시 실행되지 않습니다. 서브에이전트를 재개하는 `SendMessage` 호출을 거부하려면 [`tool.call`](https://code.claude.com/docs/ko/plugins/mods/events#guard-or-change-a-tool-call) 훅에서 해당 도구를 매칭하세요.159`agent.spawn` 훅은 Claude가 [`SendMessage`](https://code.claude.com/docs/ko/sub-agents#resume-subagents) 도구로 메시지를 보낼 때처럼, 완료되었거나 중지된 서브에이전트가 다시 실행되기 직전에도 실행됩니다. 이 이벤트에서 `e.resume`은 `{ agentId }`입니다. 훅이 서브에이전트 수를 센다면, 재개된 서브에이전트가 다시 집계되지 않도록 `e.resume`이 설정된 이벤트는 건너뛰세요.

160 

161재개된 실행을 거부하려면 `{ deny: reason }`을 반환합니다. 실행은 시작되지 않으며, 서브에이전트는 기존 상태 그대로 유지됩니다. `SendMessage` 호출이 해당 실행을 요청한 경우, Claude는 그 호출의 결과로 `a plugin declined the resume:` 뒤에 지정한 이유가 붙은 텍스트를 읽습니다. 재개된 실행에 대해 다른 `model`처럼 변경한 이벤트를 `next`에 전달하면 Claude Code는 해당 변경을 무시합니다.

162 

163> [!NOTE]

164>

165> 재개된 실행에 대한 이벤트를 사용하려면 Claude Code v2.1.299 이상이 필요합니다. v2.1.299 이전에는 서브에이전트가 재개될 때 `agent.spawn` 훅이 실행되지 않았습니다. 해당 버전에서 서브에이전트를 재개하는 `SendMessage` 호출을 거부하려면 [`tool.call`](https://code.claude.com/docs/ko/plugins/mods/events#guard-or-change-a-tool-call) 훅에서 해당 도구를 매칭하세요.

160 166 

161### 인터페이스167### 인터페이스

162 168 

Details

502* 네트워크 또는 프록시 문제: 방화벽 또는 프록시가 아웃바운드 HTTPS 요청을 차단할 수 있습니다. Remote Control은 포트 443의 Anthropic API에 대한 액세스가 필요합니다.502* 네트워크 또는 프록시 문제: 방화벽 또는 프록시가 아웃바운드 HTTPS 요청을 차단할 수 있습니다. Remote Control은 포트 443의 Anthropic API에 대한 액세스가 필요합니다.

503* 세션 생성 실패: `Session creation failed — see debug log`도 표시되면, 실패가 설정의 이전 단계에서 발생했습니다. 구독이 활성화되어 있는지 확인합니다.503* 세션 생성 실패: `Session creation failed — see debug log`도 표시되면, 실패가 설정의 이전 단계에서 발생했습니다. 구독이 활성화되어 있는지 확인합니다.

504 504 

505### "working folder not found"

506 

507[`claude remote-control`](#start-a-remote-control-session)을 실행 중인 터미널에 `Session failed: working folder not found:` 뒤에 따옴표로 묶인 경로가 표시되면, 해당 경로에 폴더가 없어 세션을 시작할 수 없었다는 의미입니다.

508 

509* **서버가 아직 실행 중인 경우**: 폴더를 복원하고 세션을 다시 시작하거나 서버를 중지합니다

510* **서버가 종료된 경우**: 존재하는 폴더에서 `claude remote-control`을 다시 실행합니다

511 

512v2.1.318 이전에는 이렇게 실패한 세션에 `Session failed: spawn error:`와 함께 누락된 폴더 대신 프로그램 파일을 명시하는 `ENOENT` 메시지가 표시되었습니다.

513 

514### "The program file this Remote Control started from is gone"

515 

516[`claude remote-control`](#start-a-remote-control-session)을 실행 중인 터미널에 표시되는 이 경고는 서버가 시작된 프로그램 파일이 없어졌으며, 새 세션은 이를 대체한 최신 버전으로 실행된다는 의미입니다. 서버도 해당 버전으로 옮기려면 서버를 중지하고 `claude remote-control`을 다시 실행합니다. Claude Code가 네트워크 스토리지에 설치되어 있다면 지금 서버를 다시 시작하고 [네트워크 스토리지에 설치](https://code.claude.com/docs/ko/setup.md#install-on-network-storage)를 따릅니다. 그렇지 않으면 새 세션은 재시작 없이 시작됩니다.

517 

518프로그램 파일이 없어졌고 Claude Code가 실행할 최신 버전을 찾지 못하면 새 세션이 실패합니다. 터미널에는 `Session failed: spawn error:` 뒤에 `ENOENT` 메시지가 이어지는 오류가 표시됩니다. 서버를 중지하고, 셸에서 `claude`가 실행되지 않으면 [Claude Code를 다시 설치](https://code.claude.com/docs/ko/setup.md#install-claude-code)한 후, `claude remote-control`을 다시 실행합니다. v2.1.318 이전에는 최신 버전이 설치되어 있어도 새 세션이 이와 같이 실패했습니다.

519 

505### "Couldn't reconnect to your Remote Control session"520### "Couldn't reconnect to your Remote Control session"

506 521 

507`claude --resume` 또는 `claude --continue`로 대화를 재개할 때, Claude Code는 해당 대화에 기록된 Remote Control 세션에 다시 연결합니다. 이 메시지는 네트워크 중단 또는 서버 오류와 같이 일시적일 수 있는 이유로 재연결이 실패했음을 의미하므로, Claude Code는 원격 세션이 여전히 존재하는지 확인할 수 없습니다.522`claude --resume` 또는 `claude --continue`로 대화를 재개할 때, Claude Code는 해당 대화에 기록된 Remote Control 세션에 다시 연결합니다. 이 메시지는 네트워크 중단 또는 서버 오류와 같이 일시적일 수 있는 이유로 재연결이 실패했음을 의미하므로, Claude Code는 원격 세션이 여전히 존재하는지 확인할 수 없습니다.

sandboxing.md +59 −27

Details

71* **Overrides**: 샌드박스에서 실패한 명령이 샌드박스 없이 실행되도록 대체할 수 있는지 선택합니다. 이는 [`allowUnsandboxedCommands`](https://code.claude.com/docs/ko/settings-reference#sandbox-allowunsandboxedcommands) 설정입니다71* **Overrides**: 샌드박스에서 실패한 명령이 샌드박스 없이 실행되도록 대체할 수 있는지 선택합니다. 이는 [`allowUnsandboxedCommands`](https://code.claude.com/docs/ko/settings-reference#sandbox-allowunsandboxedcommands) 설정입니다

72* **Config**: 확정된 샌드박스 설정을 확인합니다72* **Config**: 확정된 샌드박스 설정을 확인합니다

73 73 

74패널에 Dependencies 탭만 표시된다면 필수 패키지가 누락된 것입니다. [Linux 및 WSL2 설정](#set-up-linux-and-wsl2)의 설명에 따라 설치한 후 Claude Code를 재시작하고 `/sandbox`를 다시 실행합니다.74패널에 Dependencies 탭만 표시된다면 샌드박스가 아직 시작될 수 없는 상태입니다. [Linux 및 WSL2 설정](#set-up-linux-and-wsl2)의 설명에 따라 탭에 보고된 문제를 해결한 후 Claude Code를 재시작하고 `/sandbox`를 다시 실행합니다.

75 75 

76**2. 모드 선택**76**2. 모드 선택**

77 77 


97 97 

98> [!WARNING]98> [!WARNING]

99>99>

100> 기본적으로 의존성이 누락되었거나 플랫폼이 지원되지 않아 샌드박스를 시작할 수 없으면 Claude Code는 샌드박싱 없이 명령을 실행합니다. 대신 Claude Code가 시작 시 종료되도록 하려면 [`sandbox.failIfUnavailable`](https://code.claude.com/docs/ko/settings-reference#sandbox-failifunavailable)을 `true`로 설정합니다. 샌드박싱을 보안 관문으로 요구하는 관리형 배포에서 이 설정을 사용할 수 있습니다.100> 기본적으로 플랫폼이 샌드박스를 지원하지 않거나 시작 시 의존성 검사가 실패하면 Claude Code는 샌드박싱 없이 명령을 실행합니다. 대신 Claude Code가 시작 시 종료되도록 하려면 [`sandbox.failIfUnavailable`](https://code.claude.com/docs/ko/settings-reference#sandbox-failifunavailable)을 `true`로 설정합니다. 샌드박싱을 보안 관문으로 요구하는 관리형 배포에서 이 설정을 사용할 수 있습니다.

101 101 

102### 명령이 샌드박스 내부에서 실행되는지 확인102### 명령이 샌드박스 내부에서 실행되는지 확인

103 103 


135 135 

136Ripgrep은 네이티브 Claude Code 바이너리에 번들로 포함되어 있습니다. seccomp 필터는 선택 사항이며 Unix 도메인 소켓 차단 기능을 추가합니다. 누락된 경우 `npm install -g @anthropic-ai/sandbox-runtime`으로 설치합니다.136Ripgrep은 네이티브 Claude Code 바이너리에 번들로 포함되어 있습니다. seccomp 필터는 선택 사항이며 Unix 도메인 소켓 차단 기능을 추가합니다. 누락된 경우 `npm install -g @anthropic-ai/sandbox-runtime`으로 설치합니다.

137 137 

138필수 의존성이 누락된 경우 설치하기 전까지 Dependencies 탭만 표시됩니다. 선택 사항인 seccomp 필터만 누락된 경우에는 Dependencies 탭이 다른 탭과 함께 표시됩니다. 의존성 검사는 시작 시 실행되므로, 패키지를 설치한 후 `/sandbox`가 이를 감지하도록 Claude Code를 재시작합니다.138* **Dependencies 탭만 표시되는 경우**: 샌드박스를 시작할 수 없습니다. 탭에 누락된 것으로 나열된 항목을 설치하거나, 탭이 Ubuntu의 AppArmor 제한을 보고하는 경우 [bubblewrap용 AppArmor 프로필을 추가](#add-an-apparmor-profile-for-bubblewrap)합니다

139* **Dependencies 탭이 다른 탭과 함께 표시되는 경우**: 탭에 seccomp 필터 같은 누락된 선택 항목이 나열됩니다. 샌드박스는 이 항목 없이도 시작할 수 있으므로, 해당 항목이 추가하는 기능이 필요한 경우에만 설치합니다

139 140 

140> [accordion] Ubuntu 24.04 이상: bubblewrap이 사용자 네임스페이스를 생성하도록 허용141의존성 검사는 시작 시 실행되므로, 패키지를 설치한 후 `/sandbox`가 이를 감지하도록 Claude Code를 재시작합니다.

141>

142> Ubuntu 24.04 이상에서는 기본 AppArmor 정책이 bubblewrap이 격리에 필요한 사용자 네임스페이스를 생성하지 못하도록 막습니다.

143>

144> WSL2 내부를 포함해 환경에 이 제한이 적용되는지 확인하려면 `sysctl kernel.apparmor_restrict_unprivileged_userns`를 실행합니다. 명령이 `0`을 반환하면 이 단계를 건너뜁니다. `No such file or directory` 오류가 출력되면 해당 키가 존재하지 않는 것이므로 이 단계를 건너뛸 수 있습니다. `1`을 반환하면 `bwrap`에 이 기능을 부여하는 AppArmor 프로필을 추가합니다.

145>

146> ```bash theme={null}

147> sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

148> abi <abi/4.0>,

149> include <tunables/global>

150>

151> profile bwrap /usr/bin/bwrap flags=(unconfined) {

152> userns,

153> include if exists <local/bwrap>

154> }

155> EOF

156> ```

157>

158> 이 프로필은 `bwrap` 자체에만 적용되며, 샌드박스 내부에서 실행하는 명령에는 적용되지 않습니다. 적용하려면 AppArmor를 다시 로드합니다.

159>

160> ```bash theme={null}

161> sudo systemctl reload apparmor

162> ```

163 142 

164> [accordion] WSL2 참고 사항143> [accordion] WSL2 참고 사항

165>144>


167>146>

168> WSL2에서 WSL은 `cmd.exe`, `powershell.exe` 또는 `/mnt/c/` 아래의 모든 항목과 같은 Windows 바이너리 실행을 Unix 소켓을 통해 Windows 호스트에 넘깁니다. 따라서 샌드박스 처리된 명령이 이를 실행할 수 있는지는 샌드박스의 [Unix 소켓 설정](https://code.claude.com/docs/ko/settings-reference.md#sandbox-network-allowunixsockets)을 따르며, 애초에 소켓을 차단하려면 선택 사항인 seccomp 필터가 설치되어 있어야 합니다. 이러한 실행을 허용하려면 `allowAllUnixSockets`를 설정합니다. 이 설정은 샌드박스 처리된 명령에 모든 Unix 소켓을 엽니다.147> WSL2에서 WSL은 `cmd.exe`, `powershell.exe` 또는 `/mnt/c/` 아래의 모든 항목과 같은 Windows 바이너리 실행을 Unix 소켓을 통해 Windows 호스트에 넘깁니다. 따라서 샌드박스 처리된 명령이 이를 실행할 수 있는지는 샌드박스의 [Unix 소켓 설정](https://code.claude.com/docs/ko/settings-reference.md#sandbox-network-allowunixsockets)을 따르며, 애초에 소켓을 차단하려면 선택 사항인 seccomp 필터가 설치되어 있어야 합니다. 이러한 실행을 허용하려면 `allowAllUnixSockets`를 설정합니다. 이 설정은 샌드박스 처리된 명령에 모든 Unix 소켓을 엽니다.

169 148 

149#### bubblewrap용 AppArmor 프로필 추가

150 

151Claude Code가 `/usr/bin/bwrap`을 실행하고 다음 중 하나가 발생하면 프로필을 추가합니다.

152 

153* Claude Code가 [사용자 네임스페이스에 대한 Ubuntu의 AppArmor 제한을 보고하는 경우](#apparmor-restriction-stops-bubblewrap)

154* [해당 제한이 켜져 있는 동안](#bwrap-uid-map-permission-denied) 샌드박스 처리된 명령이 `bwrap: setting up uid map: Permission denied` 또는 `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted`로 실패하는 경우

155 

156관리형 설정이 [`sandbox.bwrapPath`](https://code.claude.com/docs/ko/settings-reference#sandbox-bwrappath)에 경로를 지정하지 않는 한 Claude Code는 `PATH`에서 처음 찾은 `bwrap`을 실행합니다. 어떤 `bwrap`이 먼저 오는지 확인하려면 Claude Code를 시작하는 셸에서 `which bwrap`을 실행합니다. Claude Code가 `/usr/bin/bwrap` 이외의 경로를 실행한다면 대신 [`sysctl`로 제한을 해제](#apparmor-restriction-stops-bubblewrap)합니다.

157 

158`/usr/bin/bwrap`에 대한 프로필을 추가하려면 다음 명령을 실행합니다.

159 

160```bash theme={null}

161sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

162abi <abi/4.0>,

163include <tunables/global>

164 

165profile bwrap /usr/bin/bwrap flags=(unconfined) {

166 userns,

167 include if exists <local/bwrap>

168}

169EOF

170```

171 

172적용하려면 AppArmor를 다시 로드합니다.

173 

174```bash theme={null}

175sudo systemctl reload apparmor

176```

177 

178그런 다음 Claude Code를 재시작하고 [샌드박스가 작동하는지 확인](#confirm-commands-run-inside-the-sandbox)합니다.

179 

170### 샌드박스 모드180### 샌드박스 모드

171 181 

172Claude Code는 두 가지 샌드박스 모드를 제공합니다. 두 모드 모두 샌드박스가 동일한 파일 시스템 및 네트워크 제한을 적용하며, 차이는 샌드박스 처리된 명령이 자동 승인되는지 아니면 명시적 권한이 필요한지뿐입니다.182Claude Code는 두 가지 샌드박스 모드를 제공합니다. 두 모드 모두 샌드박스가 동일한 파일 시스템 및 네트워크 제한을 적용하며, 차이는 샌드박스 처리된 명령이 자동 승인되는지 아니면 명시적 권한이 필요한지뿐입니다.


716 726 

717`enabled` 외의 두 키는 샌드박스가 명령을 실행할 수 없을 때 발생하는 일을 제어합니다:727`enabled` 외의 두 키는 샌드박스가 명령을 실행할 수 없을 때 발생하는 일을 제어합니다:

718 728 

719* **`failIfUnavailable`**: Linux의 bubblewrap과 같은 의존성이 누락되면 샌드박싱 없는 실행으로 폴백하는 대신 Claude Code가 시작되지 않도록 차단합니다729* **`failIfUnavailable`**: 플랫폼이 샌드박스를 지원하지 않거나 시작 시 의존성 검사가 실패하면 샌드박싱 없는 실행으로 폴백하는 대신 Claude Code가 시작되지 않도록 차단합니다

720* **`allowUnsandboxedCommands: false`**: Claude Code가 `dangerouslyDisableSandbox` 탈출 해치를 무시하므로 샌드박스에서 명령이 실패할 때 Claude가 샌드박스 없이 재시도할 수 없습니다730* **`allowUnsandboxedCommands: false`**: Claude Code가 `dangerouslyDisableSandbox` 탈출 해치를 무시하므로 샌드박스에서 명령이 실패할 때 Claude가 샌드박스 없이 재시도할 수 없습니다

721 731 

722다음 항목도 함께 추가하는 것을 고려하십시오:732다음 항목도 함께 추가하는 것을 고려하십시오:


902 912 

903권한 없는 컨테이너에서 [bubblewrap](#os-level-enforcement)은 새로운 `/proc` 파일시스템을 마운트할 수 없으므로 샌드박싱된 명령은 `bwrap` 오류(예: `Can't mount proc on /newroot/proc: Operation not permitted`)로 실패합니다. [`enableWeakerNestedSandbox`](https://code.claude.com/docs/ko/settings-reference#sandbox-enableweakernestedsandbox)를 `true`로 설정하여 샌드박스가 대신 컨테이너의 기존 `/proc`을 바인드 마운트하도록 합니다. 외부 컨테이너가 이미 필요한 격리 경계를 제공할 때만 이 설정을 사용합니다. 새로운 `/proc` 마운트가 숨길 프로세스 정보를 샌드박싱된 명령에 노출하기 때문입니다.913권한 없는 컨테이너에서 [bubblewrap](#os-level-enforcement)은 새로운 `/proc` 파일시스템을 마운트할 수 없으므로 샌드박싱된 명령은 `bwrap` 오류(예: `Can't mount proc on /newroot/proc: Operation not permitted`)로 실패합니다. [`enableWeakerNestedSandbox`](https://code.claude.com/docs/ko/settings-reference#sandbox-enableweakernestedsandbox)를 `true`로 설정하여 샌드박스가 대신 컨테이너의 기존 `/proc`을 바인드 마운트하도록 합니다. 외부 컨테이너가 이미 필요한 격리 경계를 제공할 때만 이 설정을 사용합니다. 새로운 `/proc` 마운트가 숨길 프로세스 정보를 샌드박싱된 명령에 노출하기 때문입니다.

904 914 

915### Ubuntu의 AppArmor 제한이 bubblewrap을 중단시킴

916 

917Linux 및 WSL2에서 `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` 메시지는 Ubuntu의 AppArmor 제한으로 인해 샌드박스가 시작되지 못한다는 의미입니다.

918 

919샌드박스가 시작되도록 하려면 다음 두 가지 방법 중 하나로 제한을 해제합니다.

920 

921* Claude Code가 `/usr/bin/bwrap`을 실행하는 경우 [bubblewrap용 AppArmor 프로필 추가](#add-an-apparmor-profile-for-bubblewrap)

922* 셸에서 `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`을 실행합니다. 이 명령은 머신의 모든 프로그램에 대해 제한을 해제하며 재부팅할 때까지 유지됩니다

923 

924그런 다음 Claude Code를 다시 시작하고 [샌드박스가 작동하는지 확인](#confirm-commands-run-inside-the-sandbox)합니다.

925 

926제한을 해제하기 전까지는 명령이 일반 권한 흐름에 따라 샌드박스 없이 실행되거나, [`sandbox.failIfUnavailable`](https://code.claude.com/docs/ko/settings-reference#sandbox-failifunavailable)이 `true`인 경우 Claude Code가 시작을 거부합니다.

927 

928### 샌드박싱된 명령이 `bwrap: setting up uid map: Permission denied`로 실패

929 

930Linux 및 WSL2에서 이 오류 또는 `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted`는 Ubuntu의 사용자 네임스페이스에 대한 AppArmor 제한이 bubblewrap을 중단시키고 있음을 의미할 수 있습니다. 확인하려면 셸에서 `sysctl kernel.apparmor_restrict_unprivileged_userns`를 실행합니다.

931 

932* `kernel.apparmor_restrict_unprivileged_userns = 1`: 제한이 켜져 있습니다. Claude Code가 `/usr/bin/bwrap`을 실행하는 경우 [AppArmor 프로필을 추가](#add-an-apparmor-profile-for-bubblewrap)하거나, `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`을 실행합니다. 이 명령은 재부팅할 때까지 모든 프로그램에 대해 제한을 해제합니다. 그런 다음 Claude Code를 다시 시작하고 [샌드박스가 작동하는지 확인](#confirm-commands-run-inside-the-sandbox)합니다

933* 그 밖의 출력: 제한이 원인이 아닙니다. 실패를 보고하려면 Claude Code 프롬프트에서 [`/feedback`](https://code.claude.com/docs/ko/commands#all-commands)을 실행합니다

934 

935v2.1.310 이전에는 Claude Code가 시작 시 이 제한을 확인하지 않았으므로 `/sandbox`가 이를 보고하지 않았습니다.

936 

905### 0바이트 읽기 전용 파일이 `.claude` 설정 경로에 나타나고 "예, 다시 묻지 않기"가 저장되지 않음937### 0바이트 읽기 전용 파일이 `.claude` 설정 경로에 나타나고 "예, 다시 묻지 않기"가 저장되지 않음

906 938 

907Linux 및 WSL2에서 샌드박스는 샌드박싱된 명령이 실행되는 동안 아직 존재하지 않는 파일에 대한 쓰기 거부를 해당 위치에 0바이트 읽기 전용 자리 표시자를 만들어 유지합니다. 샌드박스는 그 후 자리 표시자를 제거합니다.939Linux 및 WSL2에서 샌드박스는 샌드박싱된 명령이 실행되는 동안 아직 존재하지 않는 파일에 대한 쓰기 거부를 해당 위치에 0바이트 읽기 전용 자리 표시자를 만들어 유지합니다. 샌드박스는 그 후 자리 표시자를 제거합니다.

Details

472 472 

473trap이 작동하는지 확인하려면 `trap` 줄 바로 아래에 `no-such-command`처럼 존재하지 않는 명령을 호출하는 줄을 추가하십시오. 셸에서 훅 파일을 실행하고 `echo $?`가 `1`을 출력하는지 확인한 다음 해당 줄을 제거하십시오.473trap이 작동하는지 확인하려면 `trap` 줄 바로 아래에 `no-such-command`처럼 존재하지 않는 명령을 호출하는 줄을 추가하십시오. 셸에서 훅 파일을 실행하고 `echo $?`가 `1`을 출력하는지 확인한 다음 해당 줄을 제거하십시오.

474 474 

475#### 스폰 요청이 전송된 이유 확인하기

476 

477훅은 각 스폰 요청의 이유를 `CLAUDE_RUNNER_SPAWN_REASON`으로 받으므로, `CLAUDE_RUNNER_SESSION_UUID`와 함께 훅이 실행된 이유를 로그에 기록할 수 있습니다. 오케스트레이터에 Claude Code v2.1.318 이상이 필요합니다. 이 값은 설정되지 않을 수 있으므로 `"${CLAUDE_RUNNER_SPAWN_REASON:-}"`로 읽고, 값이 무엇이든 러너를 시작하십시오. 훅이 이 값에 따라 분기한다면 Anthropic이 값을 추가할 수 있으므로 기본 분기를 유지하십시오.

478 

479이전 요청의 이유를 확인하려면 모든 오케스트레이터 복제본의 로그에서 `session=`과 해당 세션의 `session_...` ID가 아닌 `CLAUDE_RUNNER_SESSION_UUID`를 검색하십시오. `ok session=` 및 `nack session=` 줄은 `reason=` 뒤에 `CLAUDE_RUNNER_SPAWN_REASON` 값을 표시하며, 설정되지 않았다면 `reason=-`를 표시합니다:

480 

481* **`[runner:orchestrator] ok session=`**: 훅이 0으로 종료했습니다

482* **`[runner:orchestrator] nack session=`**: 오케스트레이터가 실패한 스폰 요청을 Anthropic에 보고하고 있습니다

483 

484각 값은 Anthropic이 해당 세션에 대해 기록한 마지막 원인만 나타내며, 그 이력은 나타내지 않습니다:

485 

486| 값 | 발생한 상황 | 확인할 사항 |

487| :- | :- | :- |

488| `session_created` | 새 세션에 대한 첫 번째 스폰 요청입니다 | 없습니다. 고정 플릿 러너나 대기 러너가 세션을 보유했던 경우 훅이 보는 첫 번째 요청이 `runner_lost`를 전달할 수 있으므로, 이 값으로 세션의 첫 번째 요청을 식별하지 마십시오. |

489| `no_runner_registered` | 이전 요청에 대해 `--expected-spawn-seconds` 내에 등록된 러너가 없었으며, Anthropic은 해당 요청에 대한 실패 보고를 기록하지 않았습니다 | 세션의 이전 줄 중 `stop: no nack for session=` 또는 `nack failed session=`이 있다면 실패 보고가 기록되지 않았다는 의미입니다. 그 앞에 있는 훅 오류를 읽고, 오케스트레이터가 중지 중이었다면 [오케스트레이터 중지 또는 재시작하기](#stop-or-restart-the-orchestrator)를 참조하십시오. `ok session=` 줄 이후라면 해당 러너가 `--expected-spawn-seconds` 내에 시작되어 등록되었는지 확인하십시오. 요청을 로그에 기록한 복제본이 없다면 오케스트레이터의 재시작 여부와 `poll failed` 줄을 확인하십시오. |

490| `hook_failed` | 오케스트레이터가 이전 요청이 실패했으며 재시도할 수 있다고 보고했습니다. 예를 들어 훅이 1로 종료했거나 `--hook-timeout`이 끝날 때 여전히 실행 중이었던 경우입니다. 오케스트레이터가 훅을 실행하지 않고 요청을 Anthropic에 반환하는 경우(예: 오케스트레이터가 중지 중일 때)에도 값은 같습니다. | 이 요청 이전에 해당 세션의 마지막 `[runner:orchestrator] nack session=` 또는 `stop: handing back session=` 줄을 찾으십시오. 오케스트레이터가 보낸 스폰 오류는 `reason=` 값 뒤에 이어지며 다음 줄까지 계속될 수 있습니다. `handing back session=` 줄은 오케스트레이터가 중지 중이어서 훅을 실행하지 않았음을 의미하므로, 훅에서 수정할 것은 없습니다. |

491| `runner_lost` | 세션을 보유한 러너가 Anthropic에 보고를 멈췄거나, 등록 해제되었거나, 삭제되었습니다 | 노드 축출, 메모리 부족으로 인한 종료, 스팟 회수, 또는 직접 수행한 롤아웃이나 스케일 다운처럼 러너를 중지시키거나 Anthropic과의 연결을 끊은 원인을 찾으십시오 |

492| `runner_reported_failure` | 이전 러너가 해당 러너에서 세션이 실패했다고 보고했습니다(예: 체크아웃 중) | 이전 러너의 로그를 읽으십시오. 많은 세션이 이 값을 받는다면 이미지와 저장소 설정을 확인하십시오. |

493| `resumed` | 세션이 일시 중지되었다가 이제 다시 러너가 필요합니다. 예를 들어 러너가 [`--release-idle-session-min`](#make-on-demand-runners-exit-when-idle)에 따라 세션을 해제했고, 나중에 세션이 새 메시지를 받은 경우입니다. | 없습니다 |

494| `requeued` | 세션이 대기열에 다시 들어갔습니다. 예를 들어 Owner가 **Retry**를 선택했거나 차단된 세션이 새 메시지를 받은 경우입니다 | 같은 세션이 계속 이 값을 받는다면 해당 세션의 `nack session=` 줄에 있는 오류를 읽으십시오. 훅이 0으로 종료했다면 러너의 로그를 읽으십시오. |

495| `server_retry` | Anthropic이 이전 요청 또는 러너에서 세션을 시작하는 것을 포기하고 재시도하고 있습니다. 훅은 실패하지 않았습니다. | 단일 요청이라면 없습니다. 이 값이 한 세션에서든 여러 세션에서든 계속 나타난다면 [Anthropic 계정 팀](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#report-an-issue)에 보고하십시오. |

496| `prewarm` | 아직 세션이 없는 사전 워밍 요청입니다 | 없습니다 |

497 

475### 오케스트레이터 중지 또는 재시작하기498### 오케스트레이터 중지 또는 재시작하기

476 499 

477실행 중인 `spawn-runner` 훅을 중단시키지 않고 오케스트레이터를 중지하거나 재시작하려면 [`--shutdown-drain-sec`](https://code.claude.com/docs/ko/self-hosted-environments-reference#orchestrator-cli-flags)를 사용하여 시작하십시오. 그러면 `SIGTERM`을 받았을 때 실행 중인 훅이 완료될 수 있도록 설정한 초만큼의 시간을 부여합니다. 값을 선택하고 그에 맞게 프로세스 감독자를 설정하는 방법은 [`--shutdown-drain-sec`와 오케스트레이터의 중지 타임아웃 크기 정하기](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator)를 참조하십시오.500실행 중인 `spawn-runner` 훅을 중단시키지 않고 오케스트레이터를 중지하거나 재시작하려면 [`--shutdown-drain-sec`](https://code.claude.com/docs/ko/self-hosted-environments-reference#orchestrator-cli-flags)를 사용하여 시작하십시오. 그러면 `SIGTERM`을 받았을 때 실행 중인 훅이 완료될 수 있도록 설정한 초만큼의 시간을 부여합니다. 값을 선택하고 그에 맞게 프로세스 감독자를 설정하는 방법은 [`--shutdown-drain-sec`와 오케스트레이터의 중지 타임아웃 크기 정하기](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator)를 참조하십시오.

Details

172 172 

173[Claude 앱 게이트웨이](#platform-availability)를 통해 로그인한 클라이언트는 게이트웨이에서 설정을 가져오고 세션이 시작되기 전에 해당 가져오기를 기다리므로, 아래 목록의 가져오기는 이에 적용되지 않습니다. [실패 폐쇄 시작 적용](#enforce-fail-closed-startup)은 해당 가져오기가 실패할 때 발생하는 상황을 다룹니다.173[Claude 앱 게이트웨이](#platform-availability)를 통해 로그인한 클라이언트는 게이트웨이에서 설정을 가져오고 세션이 시작되기 전에 해당 가져오기를 기다리므로, 아래 목록의 가져오기는 이에 적용되지 않습니다. [실패 폐쇄 시작 적용](#enforce-fail-closed-startup)은 해당 가져오기가 실패할 때 발생하는 상황을 다룹니다.

174 174 

175> [!NOTE]

176>

177> 머신에 저장된 Team 또는 Enterprise claude.ai 로그인의 경우, Anthropic은 세션이 시작되기 전에 조직의 설정을 요구할 수 있습니다. 이 경우 아래 목록의 내용과 관계없이, 개발자는 다음과 같은 경우 [세션을 시작할 수 없습니다](https://code.claude.com/docs/ko/errors.md#couldnt-load-your-organizations-settings):

178>

179> * 로그인이 만료된 경우(`claude auth login`을 실행할 때까지)

180> * Claude Code에 설정도, 최근 캐시된 복사본도 없는 경우. 머신이 `api.anthropic.com`에 연결할 수 있는지 확인하세요

181>

182> 시작 메시지에 `before a session can start` 또는 `Your Claude session has expired`가 포함되어 있으면 이 요구 사항이 적용된 것입니다.

183 

175**캐시된 설정 없이 첫 시작:**184**캐시된 설정 없이 첫 시작:**

176 185 

177* 개발자가 시작 시(예: 첫 실행 또는 `/logout` 후)에 로그인할 때, Claude Code는 세션을 열기 전에 가져오기를 최대 5초 동안 기다립니다. 정책이 시간 내에 도착하면, Claude Code는 첫 화면부터 이를 적용하고 [`companyAnnouncements`](https://code.claude.com/docs/ko/settings-reference#companyannouncements)를 표시합니다. 페이로드가 [보안 승인](#security-approval-dialogs)이 필요한 경우, Claude Code는 대기를 종료하고 개발자가 승인한 후 페이로드를 적용합니다.186* 개발자가 시작 시(예: 첫 실행 또는 `/logout` 후)에 로그인할 때, Claude Code는 세션을 열기 전에 가져오기를 최대 5초 동안 기다립니다. 정책이 시간 내에 도착하면, Claude Code는 첫 화면부터 이를 적용하고 [`companyAnnouncements`](https://code.claude.com/docs/ko/settings-reference#companyannouncements)를 표시합니다. 페이로드가 [보안 승인](#security-approval-dialogs)이 필요한 경우, Claude Code는 대기를 종료하고 개발자가 승인한 후 페이로드를 적용합니다.

178* 다른 모든 시작에서, 그리고 5초 대기가 끝나면, Claude Code는 가져오기가 계속되는 동안 세션을 열므로, 설정이 로드되고 제한이 적용되기 전에 짧은 시간이 경과합니다.187* 다른 모든 시작에서, 그리고 5초 대기가 끝나면, Claude Code는 가져오기가 계속되는 동안 세션을 열므로, 설정이 로드되고 제한이 적용되기 전에 짧은 시간이 경과합니다.

179* 가져오기가 실패하면, Claude Code는 서버 관리 설정 없이 계속 진행하고 대화형 세션에서 원격 정책이 적용되지 않음을 경고합니다. 엔드포인트 관리 설정은 여전히 적용됩니다. 관리 소스가 [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup)를 설정하면, Claude Code는 대신 종료됩니다.188* 가져오기가 실패하면, Claude Code는 서버 관리형 설정 없이 계속 진행하고 대화형 세션과 [Claude Desktop의 Code 탭](https://code.claude.com/docs/ko/desktop.md)에서 원격 정책이 적용되지 않음을 경고합니다. 엔드포인트 관리형 설정은 여전히 적용됩니다. 관리형 소스가 [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup)를 설정하면, Claude Code는 대신 종료됩니다

180 189 

181**캐시된 설정으로 후속 시작:**190**캐시된 설정으로 후속 시작:**

182 191 


186* 캐시된 [`prependPlugins`](https://code.claude.com/docs/ko/settings-reference#prependplugins), [`appendPlugins`](https://code.claude.com/docs/ko/settings-reference#appendplugins), 또는 [`enabledPlugins`](https://code.claude.com/docs/ko/settings-reference#enabledplugins) 값은 세션의 가져오기가 페이로드를 확인할 때까지 기본 제공 가드를 제거하거나, 위치를 변경하거나, 끌 수 없습니다.195* 캐시된 [`prependPlugins`](https://code.claude.com/docs/ko/settings-reference#prependplugins), [`appendPlugins`](https://code.claude.com/docs/ko/settings-reference#appendplugins), 또는 [`enabledPlugins`](https://code.claude.com/docs/ko/settings-reference#enabledplugins) 값은 세션의 가져오기가 페이로드를 확인할 때까지 기본 제공 가드를 제거하거나, 위치를 변경하거나, 끌 수 없습니다.

187* [엔드포인트 관리형 소스](https://code.claude.com/docs/ko/managed-settings.md#choose-a-delivery-mechanism)가 자체 플러그인을 나열하거나 활성화하는 머신에서는, 캐시된 목록만 활성화하는 플러그인은 가져오기가 페이로드를 확인할 때까지 조직의 플러그인이 아니라 [사용자의 플러그인](https://code.claude.com/docs/ko/plugins/mods/admin.md#install-your-organizations-mods)으로 간주됩니다.196* [엔드포인트 관리형 소스](https://code.claude.com/docs/ko/managed-settings.md#choose-a-delivery-mechanism)가 자체 플러그인을 나열하거나 활성화하는 머신에서는, 캐시된 목록만 활성화하는 플러그인은 가져오기가 페이로드를 확인할 때까지 조직의 플러그인이 아니라 [사용자의 플러그인](https://code.claude.com/docs/ko/plugins/mods/admin.md#install-your-organizations-mods)으로 간주됩니다.

188* Claude Code는 백그라운드에서 새로운 설정을 가져옵니다.197* Claude Code는 백그라운드에서 새로운 설정을 가져옵니다.

189* 캐시된 설정은 네트워크 장애를 통해 유지됩니다. 시작 가져오기가 실패하면, Claude Code는 대화형 세션에서 캐시된 정책이 적용 중임을 경고합니다.198* 캐시된 설정은 네트워크 장애가 발생해도 유지됩니다. 시작 가져오기가 실패하면, Claude Code는 대화형 세션과 Code 탭에서 캐시된 정책이 적용 중임을 경고합니다

190* 가져오기가 성공할 때까지, 시작 시 보류된 값은 보류된 상태로 유지됩니다.199* 가져오기가 성공할 때까지, 시작 시 보류된 값은 보류된 상태로 유지됩니다.

191 200 

192Claude Code는 서버가 세션의 페이로드를 확인할 때까지 캐시된 `env` 블록의 여러 범주의 변수를 보류합니다. 이는 캐시된 프록시, 인증 기관, 엔드포인트, 또는 자격 증명 값이 페이로드를 확인하는 설정 가져오기를 리디렉션, 가로채기, 또는 재인증하는 것을 방지합니다. 이 강화 조치는 서버에서 가져온 설정 캐시에만 적용됩니다. MDM 또는 `managed-settings.json`을 통해 배포된 [엔드포인트 관리형 설정](https://code.claude.com/docs/ko/managed-settings.md#delivery-mechanisms)은 영향을 받지 않습니다. 보류된 범주는 다음을 포함합니다:201Claude Code는 서버가 세션의 페이로드를 확인할 때까지 캐시된 `env` 블록의 여러 범주의 변수를 보류합니다. 이는 캐시된 프록시, 인증 기관, 엔드포인트, 또는 자격 증명 값이 페이로드를 확인하는 설정 가져오기를 리디렉션, 가로채기, 또는 재인증하는 것을 방지합니다. 이 강화 조치는 서버에서 가져온 설정 캐시에만 적용됩니다. MDM 또는 `managed-settings.json`을 통해 배포된 [엔드포인트 관리형 설정](https://code.claude.com/docs/ko/managed-settings.md#delivery-mechanisms)은 영향을 받지 않습니다. 보류된 범주는 다음을 포함합니다:


221 * 이들 중 어느 것도 더 엄격한 값으로 폴백하지 않습니다.230 * 이들 중 어느 것도 더 엄격한 값으로 폴백하지 않습니다.

222 * 페이로드가 이 두 보존 키 이외의 키를 보유합니다.231 * 페이로드가 이 두 보존 키 이외의 키를 보유합니다.

223 232 

224 시작 알림, `/status`, `claude doctor`는 그러면 [실패한 로드](https://code.claude.com/docs/ko/errors.md#remote-managed-settings-failed-to-load)를 원인 `no setting in the server response could be applied as written`과 함께 보고하며, 해당 항목은 세션이 실행되는 정책을 나타냅니다. [실패 폐쇄 시작을 적용](#enforce-fail-closed-startup)하는 클라이언트는 대신 시작 시 종료됩니다.233 그러면 시작 알림, `/status`, `claude doctor`는 원인 `no setting in the server response could be applied as written`과 함께 [실패한 로드](https://code.claude.com/docs/ko/errors.md#remote-managed-settings-failed-to-load)를 보고하며, 해당 항목은 세션이 어떤 정책으로 실행되는지 나타냅니다. [실패 폐쇄 시작을 적용](#enforce-fail-closed-startup)하는 클라이언트는 대신 시작 시 종료됩니다. 조직이 `before a session can start` 설정을 요구한다는 메시지와 함께 시작이 중지되면 [Claude Code가 조직의 설정을 로드할 수 없음](https://code.claude.com/docs/ko/errors.md#couldnt-load-your-organizations-settings)을 참조하세요.

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`로 페이로드 변경을 검증하세요.

228 237 

229### 실패 폐쇄 시작 적용238### 실패 폐쇄 시작 적용

230 239 

231기본적으로 시작 시 원격 설정 가져오기가 실패하면, CLI는 마지막 성공적인 가져오기에서 캐시된 설정으로 계속 진행합니다. 단, [가져오기가 성공할 때까지 Claude Code가 보류하는 값](#fetch-and-caching-behavior)은 제외됩니다. 이전에 가져온 적이 없는 머신에서는 CLI가 서버 관리 설정 없이 계속 진행하며 여전히 디바이스의 모든 [엔드포인트 관리 설정](https://code.claude.com/docs/ko/managed-settings.md#delivery-mechanisms)을 적용합니다.240기본적으로 시작 시 원격 설정 가져오기가 실패하면, CLI는 마지막으로 성공한 가져오기에서 캐시된 설정으로 계속 진행합니다. [Claude Code가 보류하는 값](#fetch-and-caching-behavior)은 가져오기가 성공할 때까지 보류된 상태로 유지됩니다. 이를 가져온 적이 없는 머신에서는 CLI가 서버 관리형 설정 없이 계속 진행하며 디바이스의 모든 [엔드포인트 관리형 설정](https://code.claude.com/docs/ko/managed-settings.md#delivery-mechanisms)은 여전히 적용합니다. 대신 [Anthropic이 설정을 요구할 수도 있습니다](#fetch-and-caching-behavior).

232 241 

233클라이언트가 캐시되거나 부재한 서버 관리 설정에서 시작하는 것을 중지하려면, 관리 설정에서 `forceRemoteSettingsRefresh: true`를 설정하세요.242클라이언트가 캐시되거나 부재한 서버 관리 설정에서 시작하는 것을 중지하려면, 관리 설정에서 `forceRemoteSettingsRefresh: true`를 설정하세요.

234 243 


370| 사용자가 캐시된 설정 파일을 삭제함 | [첫 시작 동작](#fetch-and-caching-behavior)이 발생합니다. |379| 사용자가 캐시된 설정 파일을 삭제함 | [첫 시작 동작](#fetch-and-caching-behavior)이 발생합니다. |

371| 사용자가 수정된 Claude Code 바이너리를 실행함 | 수정된 클라이언트를 실행할 수 있는 사용자는 모든 클라이언트 측 제어를 우회할 수 있습니다. |380| 사용자가 수정된 Claude Code 바이너리를 실행함 | 수정된 클라이언트를 실행할 수 있는 사용자는 모든 클라이언트 측 제어를 우회할 수 있습니다. |

372| 사용자가 이전 Claude Code 버전을 실행함 | 서버 관리 설정 이전의 버전은 이를 가져오거나 적용하지 않습니다. |381| 사용자가 이전 Claude Code 버전을 실행함 | 서버 관리 설정 이전의 버전은 이를 가져오거나 적용하지 않습니다. |

373| API를 사용할 수 없음 | 캐시된 설정이 있으면 적용되지만, [가져오기가 성공할 때까지 Claude Code가 보류하는 값](#fetch-and-caching-behavior)은 제외됩니다. 캐시가 없으면 Claude Code는 다음 성공적인 가져오기까지 서버 관리 설정을 적용하지 않으며 기기의 [엔드포인트 관리 설정](https://code.claude.com/docs/ko/managed-settings.md#delivery-mechanisms)은 여전히 적용합니다. `forceRemoteSettingsRefresh: true`를 사용하면 CLI는 계속하는 대신 종료되지만, [`claude auth` 부분 명령](#enforce-fail-closed-startup)은 제외됩니다. [Claude 앱 게이트웨이](#platform-availability)를 통해 로그인한 클라이언트는 해당 설정 없이 시작 시 종료되며, 동일한 `claude auth` 예외가 적용됩니다. |382| API를 사용할 수 없음 | 캐시된 설정이 있으면 적용됩니다. 캐시가 없으면 Claude Code는 다음 성공적인 가져오기까지 서버 관리 설정을 적용하지 않습니다. [가져오기 및 캐싱 동작](#fetch-and-caching-behavior)에 Anthropic이 설정을 요구하는 경우를 포함한 예외가 나열되어 있습니다. `forceRemoteSettingsRefresh: true`를 사용하면 CLI는 계속하는 대신 종료되지만, [`claude auth` 부분 명령](#enforce-fail-closed-startup)은 제외됩니다. [Claude 앱 게이트웨이](#platform-availability)를 통해 로그인한 클라이언트는 해당 설정 없이 시작 시 종료되며, 동일한 `claude auth` 예외가 적용됩니다. |

374| 사용자가 다른 조직으로 인증함 | [Console API 키](#platform-availability)로 인증하는 세션을 포함하여 관리 조직 외부의 계정에 대해서는 설정이 전달되지 않습니다. |383| 사용자가 다른 조직으로 인증함 | [Console API 키](#platform-availability)로 인증하는 세션을 포함하여 관리 조직 외부의 계정에 대해서는 설정이 전달되지 않습니다. |

375| 사용자가 [타사 모델 공급자](#platform-availability)를 구성함 | 서버 관리 설정이 우회됩니다. 여기에는 `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` 설정 또는 기본이 아닌 `ANTHROPIC_BASE_URL` 설정이 포함됩니다. |384| 사용자가 [타사 모델 공급자](#platform-availability)를 구성함 | 서버 관리 설정이 우회됩니다. 여기에는 `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS` 설정 또는 기본이 아닌 `ANTHROPIC_BASE_URL` 설정이 포함됩니다. |

376| 네트워크 트래픽이 가로채지거나 리디렉션됨 | 비활성화된 TLS 검증 또는 가로챈 트래픽은 클라이언트가 수신하는 설정을 변경할 수 있습니다. |385| 네트워크 트래픽이 가로채지거나 리디렉션됨 | 비활성화된 TLS 검증 또는 가로챈 트래픽은 클라이언트가 수신하는 설정을 변경할 수 있습니다. |

settings.md +2 −2

Details

199* **설정 오류**: 사용자, 프로젝트 또는 로컬 파일에 유효하지 않은 JSON 또는 스키마가 거부하는 값이 있습니다. 대화형 세션 시작 시 Claude Code는 Claude의 도움으로 파일을 수정하거나, 종료하거나, 손상된 설정 없이 계속할 수 있는 대화를 표시합니다.199* **설정 오류**: 사용자, 프로젝트 또는 로컬 파일에 유효하지 않은 JSON 또는 스키마가 거부하는 값이 있습니다. 대화형 세션 시작 시 Claude Code는 Claude의 도움으로 파일을 수정하거나, 종료하거나, 손상된 설정 없이 계속할 수 있는 대화를 표시합니다.

200* **설정 경고**: 개별 항목만 실패합니다. 예: 잘못된 형식의 권한 규칙 또는 알 수 없는 hook 이벤트 이름. Claude Code는 해당 값을 건너뛰고 파일의 나머지를 유지합니다.200* **설정 경고**: 개별 항목만 실패합니다. 예: 잘못된 형식의 권한 규칙 또는 알 수 없는 hook 이벤트 이름. Claude Code는 해당 값을 건너뛰고 파일의 나머지를 유지합니다.

201* **관리되는 설정**: Claude Code는 파일의 나머지를 적용합니다. [관리되는 설정의 유효하지 않은 항목](https://code.claude.com/docs/ko/managed-settings.md#invalid-entries-in-managed-settings)은 삭제되는 것과 유효하지 않은 항목을 수정할 때까지 폴백하는 키를 설명합니다. 유효한 JSON이 아닌 관리되는 설정 문서는 [관리되는 설정 문서를 파싱할 수 없음](https://code.claude.com/docs/ko/errors.md#managed-settings-document-could-not-be-parsed)을 참조하세요.201* **관리되는 설정**: Claude Code는 파일의 나머지를 적용합니다. [관리되는 설정의 유효하지 않은 항목](https://code.claude.com/docs/ko/managed-settings.md#invalid-entries-in-managed-settings)은 삭제되는 것과 유효하지 않은 항목을 수정할 때까지 폴백하는 키를 설명합니다. 유효한 JSON이 아닌 관리되는 설정 문서는 [관리되는 설정 문서를 파싱할 수 없음](https://code.claude.com/docs/ko/errors.md#managed-settings-document-could-not-be-parsed)을 참조하세요.

202* **구성 오류**: `~/.claude.json`을 파싱할 수 없습니다. Claude Code는 손상된 파일을 `~/.claude/backups/.claude.json.corrupted.<timestamp>`에 복사하고 종료하고 직접 수정하거나 기본 구성으로 재설정할지 묻습니다. `-p` 실행은 오류를 인쇄하고 종료합니다. 이전 상태를 복구하려면 `~/.claude/backups/`의 5개 가장 최근 `.claude.json.backup.<timestamp>` 파일 중 하나를 다시 복사합니다. Claude Code는 파일을 쓰기 전에 저장합니다.202* **구성 오류**: [`~/.claude.json`](https://code.claude.com/docs/ko/claude-directory#ce-claude-json)을 파싱할 수 없습니다. `claude -p` 실행은 종료되며 파일은 변경되지 않습니다. 이전 사본을 복원하려면 [\~/.claude.json의 구성 오류](https://code.claude.com/docs/ko/errors.md#configuration-error-in-claude-json)를 참조하세요. Claude Code는 손상된 파일을 `~/.claude/backups/.claude.json.corrupted.<timestamp>`에 복사하고, 대화형 세션에서는 종료하고 직접 수정할지 기본 구성으로 재설정할지 묻습니다. 파일이 비어 있고 복원할 백업이 없으면 Claude Code는 기본 설정으로 시작합니다.

203 203 

204계속한 후 `/status`를 실행하여 영향을 받는 파일을 확인하고 각 오류의 세부 사항을 보려면 `claude doctor`를 실행합니다.204계속한 후 `/status`를 실행하여 영향을 받는 파일을 확인하고 각 오류의 세부 사항을 보려면 `claude doctor`를 실행합니다.

205 205 

206`-p` 실행은 대화를 표시하지 않습니다. [관리되는 설정 문서를 파싱할 수 없음](https://code.claude.com/docs/ko/errors.md#managed-settings-document-could-not-be-parsed)이 아니면 Claude Code는 손상된 파일이나 값을 건너뛰고 나머지로 계속합니다. 따라서 설정을 무시한 `-p` 실행 후 `claude doctor`를 실행하여 삭제된 것을 확인합니다.206`-p` 실행은 대화 상자를 표시하지 않습니다. [관리형 설정 문서를 파싱할 수 없는](https://code.claude.com/docs/ko/errors.md#managed-settings-document-could-not-be-parsed) 경우가 아니면 Claude Code는 손상된 사용자, 프로젝트 또는 로컬 파일이나 그 손상된 값을 건너뛰고 나머지로 계속합니다. 설정을 무시한 `-p` 실행 후에는 터미널에서 `claude doctor`를 실행하여 삭제된 항목을 확인합니다.

207 207 

208## 설정 우선순위208## 설정 우선순위

209 209 

Details

40| [`autoCompactWindow`](#autocompactwindow) | Claude Code가 [압축](https://code.claude.com/docs/ko/context-window.md)하기 전에 컨텍스트가 얼마나 찰지 설정합니다 | 메모리 및 컨텍스트 | 모든 파일 |40| [`autoCompactWindow`](#autocompactwindow) | Claude Code가 [압축](https://code.claude.com/docs/ko/context-window.md)하기 전에 컨텍스트가 얼마나 찰지 설정합니다 | 메모리 및 컨텍스트 | 모든 파일 |

41| [`autoConnectIde`](#autoconnectide) | 외부 터미널에서 실행 중인 [VS Code](https://code.claude.com/docs/ko/vs-code.md) 또는 [JetBrains](https://code.claude.com/docs/ko/jetbrains.md#from-external-terminals) IDE에 자동으로 연결합니다 | 전역 구성 설정 | 전역 구성 |41| [`autoConnectIde`](#autoconnectide) | 외부 터미널에서 실행 중인 [VS Code](https://code.claude.com/docs/ko/vs-code.md) 또는 [JetBrains](https://code.claude.com/docs/ko/jetbrains.md#from-external-terminals) IDE에 자동으로 연결합니다 | 전역 구성 설정 | 전역 구성 |

42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | 열린 세션에서 대기하다가 claude.ai 사용 한도가 재설정된 후 [작업을 자동으로 계속](https://code.claude.com/docs/ko/interactive-mode.md#wait-for-a-usage-limit-to-reset)합니다 | 인터페이스 및 터미널 | 사용자 또는 관리형 |42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | 열린 세션에서 대기하다가 claude.ai 사용 한도가 재설정된 후 [작업을 자동으로 계속](https://code.claude.com/docs/ko/interactive-mode.md#wait-for-a-usage-limit-to-reset)합니다 | 인터페이스 및 터미널 | 사용자 또는 관리형 |

43| [`autoInstallIdeExtension`](#autoinstallideextension) | VS Code 터미널에서 [IDE 확장 프로그램](https://code.claude.com/docs/ko/vs-code.md#install-the-extension)의 자동 설치를 끕니다 | 전역 구성 설정 | 전역 구성 |43| [`autoInstallIdeExtension`](#autoinstallideextension) | `/ide`가 외부 터미널에서 [IDE 확장 프로그램](https://code.claude.com/docs/ko/vs-code.md#install-the-extension)을 설치할 수 있도록 합니다 | 전역 구성 설정 | 전역 구성 |

44| [`autoMemoryDirectory`](#automemorydirectory) | [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory)를 원하는 디렉터리에 저장합니다 | 메모리 및 컨텍스트 | 모든 파일 |44| [`autoMemoryDirectory`](#automemorydirectory) | [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory)를 원하는 디렉터리에 저장합니다 | 메모리 및 컨텍스트 | 모든 파일 |

45| [`autoMemoryEnabled`](#automemoryenabled) | [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory)를 끄거나 켭니다 | 메모리 및 컨텍스트 | 모든 파일 |45| [`autoMemoryEnabled`](#automemoryenabled) | [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory)를 끄거나 켭니다 | 메모리 및 컨텍스트 | 모든 파일 |

46| [`autoMode`](#automode) | [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode) 분류기에 자체 허용 및 거부 규칙을 추가합니다 | 권한 설정 | 사용자 또는 관리형 |46| [`autoMode`](#automode) | [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode) 분류기에 자체 허용 및 거부 규칙을 추가합니다 | 권한 설정 | 사용자 또는 관리형 |


139| [`outputStyle`](#outputstyle) | [출력 스타일](https://code.claude.com/docs/ko/output-styles.md)로 Claude의 역할, 어조, 출력 형식을 변경합니다 | 모델 및 응답 | 모든 파일 |139| [`outputStyle`](#outputstyle) | [출력 스타일](https://code.claude.com/docs/ko/output-styles.md)로 Claude의 역할, 어조, 출력 형식을 변경합니다 | 모델 및 응답 | 모든 파일 |

140| [`parentSettingsBehavior`](#parentsettingsbehavior) | [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)을 배포할 때 [SDK 또는 IDE 호스트](https://code.claude.com/docs/ko/managed-settings.md#let-an-embedding-host-add-policy)가 전달하는 제한을 적용하거나 무시합니다 | 엔터프라이즈 및 관리형 설정 | 관리형 |140| [`parentSettingsBehavior`](#parentsettingsbehavior) | [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)을 배포할 때 [SDK 또는 IDE 호스트](https://code.claude.com/docs/ko/managed-settings.md#let-an-embedding-host-add-policy)가 전달하는 제한을 적용하거나 무시합니다 | 엔터프라이즈 및 관리형 설정 | 관리형 |

141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | 셸 권한 프롬프트의 `Ctrl+E` 명령 설명과 함께 v2.1.257에서 제거되었습니다 | 전역 구성 설정 | 전역 구성 |141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | 셸 권한 프롬프트의 `Ctrl+E` 명령 설명과 함께 v2.1.257에서 제거되었습니다 | 전역 구성 설정 | 전역 구성 |

142| [`permissions`](#permissions) | 허용, 확인, 거부 규칙과 시작 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다 | 권한 설정 | 모든 파일 |142| [`permissions`](#permissions) | 허용, 확인, 거부 규칙과 기본 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다 | 권한 설정 | 모든 파일 |

143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Claude에게 [현재 디렉터리 외부의 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories)에 대한 파일 접근 권한을 부여합니다 | 권한 설정 | 모든 파일 |143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Claude에게 [현재 디렉터리 외부의 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories)에 대한 파일 접근 권한을 부여합니다 | 권한 설정 | 모든 파일 |

144| [`permissions.allow`](#permissions-allow) | 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 확인 요청 없이 승인합니다 | 권한 설정 | 모든 파일 |144| [`permissions.allow`](#permissions-allow) | 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 확인 요청 없이 승인합니다 | 권한 설정 | 모든 파일 |

145| [`permissions.ask`](#permissions-ask) | 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax) 전에 항상 확인을 요청합니다 | 권한 설정 | 모든 파일 |145| [`permissions.ask`](#permissions-ask) | 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax) 전에 항상 확인을 요청합니다 | 권한 설정 | 모든 파일 |

146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | 모든 권한 모드에서 파일 도구가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 읽기를 거부하도록 합니다 | 권한 설정 | 모든 파일 |146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | 모든 권한 모드에서 파일 도구가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 읽기를 거부하도록 합니다 | 권한 설정 | 모든 파일 |

147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | 모든 권한 모드에서 `Write`, `Edit`, `NotebookEdit` 도구가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 경로를 거부하도록 합니다. 단, [Claude Code 자체 파일 일부](#what-the-write-block-refuses-and-what-stays-writable)는 예외입니다 | 권한 설정 | 모든 파일 |147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | 모든 권한 모드에서 `Write`, `Edit`, `NotebookEdit` 도구가 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 경로를 거부하도록 합니다. 단, [Claude Code 자체 파일 일부](#what-the-write-block-refuses-and-what-stays-writable)는 예외입니다 | 권한 설정 | 모든 파일 |

148| [`permissions.defaultMode`](#permissions-defaultmode) | 새 세션이 시작되는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)를 설정합니다 | 권한 설정 | 모든 파일 |148| [`permissions.defaultMode`](#permissions-defaultmode) | 새 세션의 기본 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)를 설정합니다 | 권한 설정 | 모든 파일 |

149| [`permissions.deny`](#permissions-deny) | 비밀 정보가 담긴 파일 읽기를 포함하여 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 차단합니다 | 권한 설정 | 모든 파일 |149| [`permissions.deny`](#permissions-deny) | 비밀 정보가 담긴 파일 읽기를 포함하여 나열된 [도구 사용](https://code.claude.com/docs/ko/permissions.md#permission-rule-syntax)을 차단합니다 | 권한 설정 | 모든 파일 |

150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 누구도 [bypassPermissions 모드](https://code.claude.com/docs/ko/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)에 진입하지 못하도록 합니다 | 권한 설정 | 모든 파일 |150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | 누구도 [bypassPermissions 모드](https://code.claude.com/docs/ko/permission-modes.md#skip-all-checks-with-bypasspermissions-mode)에 진입하지 못하도록 합니다 | 권한 설정 | 모든 파일 |

151| [`plansDirectory`](#plansdirectory) | [플랜 모드](https://code.claude.com/docs/ko/permission-modes.md#analyze-before-you-edit-with-plan-mode)가 플랜 파일을 작성할 위치를 선택합니다 | 메모리 및 컨텍스트 | 모든 파일 |151| [`plansDirectory`](#plansdirectory) | [플랜 모드](https://code.claude.com/docs/ko/permission-modes.md#analyze-before-you-edit-with-plan-mode)가 플랜 파일을 작성할 위치를 선택합니다 | 메모리 및 컨텍스트 | 모든 파일 |


804 804 

805## 권한 설정805## 권한 설정

806 806 

807Claude가 묻지 않고 수행할 수 있는 작업, 세션이 시작되는 권한 모드, 자동 모드 분류기가 허용하는 항목을 결정합니다. 규칙 구문과 권한 모델은 [권한 구성](https://code.claude.com/docs/ko/permissions.md)을 참조하십시오.807Claude가 묻지 않고 수행할 수 있는 작업, 새 세션의 기본 권한 모드, 자동 모드 분류기가 허용하는 항목을 결정합니다. 규칙 구문과 권한 모델은 [권한 구성](https://code.claude.com/docs/ko/permissions.md)을 참조하십시오.

808 808 

809### `allowManagedPermissionRulesOnly`809### `allowManagedPermissionRulesOnly`

810 810 


899 899 

900### `permissions`900### `permissions`

901 901 

902Claude가 묻지 않고 사용할 수 있는 도구, 항상 확인을 요청하는 도구, 차단되는 도구를 제어하고, 세션이 시작되는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다. 아래의 모든 `permissions.*` 키는 이 객체 아래에 중첩됩니다.902Claude가 묻지 않고 사용할 수 있는 도구, 확인을 요청하는 도구, 차단되는 도구를 제어합니다. 또한 새 세션의 기본 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다. 아래의 모든 `permissions.*` 키는 이 객체 아래에 중첩됩니다.

903 903 

904* **범위**: [`Any file`](#scopes)904* **범위**: [`Any file`](#scopes)

905* **타입**: `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode`, `disableAutoMode`를 포함하는 객체905* **타입**: `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode`, `disableAutoMode`를 포함하는 객체


1137 1137 

1138### `permissions.defaultMode`1138### `permissions.defaultMode`

1139 1139 

1140새 세션이 시작되는 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다. 설정하지 않으면 세션은 사용 환경의 [기본 제공 기본값](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)으로 시작합니다.1140새 세션의 기본 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 설정합니다. 설정하지 않으면 사용 환경의 [기본 제공 기본값](https://code.claude.com/docs/ko/permission-modes.md#which-mode-a-session-starts-in)이 적용됩니다.

1141 1141 

1142* **범위**: [`Any file`](#scopes). `auto` 및 `bypassPermissions`는 프로젝트 또는 로컬 설정에서는 적용되지 않으므로 대신 `~/.claude/settings.json`에서 설정하십시오. v2.1.257 이전에는 `bypassPermissions`가 모든 파일에서 적용되었습니다. VS Code 확장이 시작하는 대화의 경우 Claude Code는 사용자, 관리형 및 `--settings` 값만 읽습니다.1142* **범위**: [`Any file`](#scopes). `auto` 및 `bypassPermissions`는 프로젝트 또는 로컬 설정에서는 적용되지 않으므로 대신 `~/.claude/settings.json`에서 설정하십시오. v2.1.257 이전에는 `bypassPermissions`가 모든 파일에서 적용되었습니다. VS Code 확장이 시작하는 대화의 경우 Claude Code는 사용자, 관리형 및 `--settings` 값만 읽습니다.

1143* **타입**: 다음 중 하나의 문자열1143* **타입**: 다음 중 하나의 문자열


1267 1267 

1268### `sandbox.failIfUnavailable`1268### `sandbox.failIfUnavailable`

1269 1269 

1270`sandbox.enabled`가 `true`이지만 의존성이 누락되었거나 플랫폼이 지원되지 않아 샌드박스를 시작할 수 없을 때 Claude Code가 시작 시 오류로 종료되도록 합니다. 이 키가 없으면 Claude Code는 명령을 샌드박스 없이 실행합니다. 샌드박싱을 보안 관문으로 요구하는 관리형 배포에서 이 설정을 사용할 수 있습니다.1270`sandbox.enabled`가 `true`이지만 플랫폼이 지원하지 않거나 의존성 검사가 실패하여 샌드박스를 시작할 수 없는 경우, Claude Code가 시작 시 오류와 함께 종료되도록 합니다. 이 키가 없으면 Claude Code는 샌드박스 없이 명령을 실행합니다. 샌드박싱을 보안 관문으로 요구하는 관리형 배포에서 이 설정을 사용할 수 있습니다.

1271 1271 

1272샌드박스가 지원하지 않는 플랫폼에서는 이 키가 켜져 있으면 Claude Code가 시작되지 않습니다. [관리형 설정으로 샌드박싱 적용](https://code.claude.com/docs/ko/sandboxing.md#enforce-sandboxing-with-managed-settings)을 참조하십시오.1272샌드박스가 지원하지 않는 플랫폼에서는 이 키가 켜져 있으면 Claude Code가 시작되지 않습니다. [관리형 설정으로 샌드박싱 적용](https://code.claude.com/docs/ko/sandboxing.md#enforce-sandboxing-with-managed-settings)을 참조하십시오.

1273 1273 


5087 5087 

5088### `sshHostCommands`5088### `sshHostCommands`

5089 5089 

5090호스트를 명령에서 가져오는 SSH 연결을 [Desktop](https://code.claude.com/docs/ko/desktop.md#create-an-ssh-connection-from-a-command) 환경 선택기에 추가합니다. 연결을 생성하거나 연결의 호스트를 교체하면 Desktop은 사용자의 컴퓨터에서 해당 항목의 명령을 실행하고, 명령이 출력하는 호스트에 연결합니다. macOS 또는 Linux에서 Claude 계정으로 로그인한 Claude Desktop v3.6556.0 이상이 필요합니다.5090호스트를 명령에서 가져오는 SSH 연결을 [Desktop](https://code.claude.com/docs/ko/desktop.md#create-an-ssh-connection-from-a-command) 환경 선택기에 추가합니다. 연결을 생성하거나 해당 연결에 사용할 다른 머신을 생성하면 Desktop은 사용자의 컴퓨터에서 해당 항목의 명령을 실행하고, 명령이 출력하는 호스트에 연결합니다.

5091 

5092Claude 계정으로 로그인한 상태에서 macOS 또는 Linux에서는 Claude Desktop v3.6556.0 이상, Windows에서는 v4.16336.0 이상이 필요합니다. Windows에서는 또한 Desktop이 [OpenSSH 클라이언트를 통해 연결](https://code.claude.com/docs/ko/desktop.md#use-your-ssh-configuration)해야 합니다.

5091 5093 

5092* **범위**: [`User or managed`](#scopes). 이 키는 데스크톱 앱만 읽습니다. 관리형 항목은 컴퓨터의 [하나의 관리형 설정 파일 또는 MDM 정책](https://code.claude.com/docs/ko/desktop.md#distribute-commands-to-your-team)에서 읽으며, [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)에 있는 키는 무시합니다.5094* **범위**: [`User or managed`](#scopes). 이 키는 데스크톱 앱만 읽습니다. 관리형 항목은 컴퓨터의 [하나의 관리형 설정 파일 또는 MDM 정책](https://code.claude.com/docs/ko/desktop.md#distribute-commands-to-your-team)에서 읽으며, [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)에 있는 키는 무시합니다.

5093* **유형**: 객체 배열. 각 객체에는 필수 항목 `id`, `name`, `command`와 선택 항목 `sshIdentityFile`, `startDirectory`가 있습니다. Desktop은 셸 없이 `command`를 시작하므로, [프로그램과 일반 인수 형태로 작성](https://code.claude.com/docs/ko/desktop.md#write-the-command)하십시오.5095* **유형**: 객체 배열. 각 객체에는 필수 항목 `id`, `name`, `command`와 선택 항목 `sshIdentityFile`, `startDirectory`가 있습니다. Desktop은 `command`를 셸 구문으로 읽지 않으므로 파이프와 변수는 작동하지 않습니다. [프로그램과 그 인수 형태로 작성](https://code.claude.com/docs/ko/desktop.md#write-the-command)하십시오.

5094* **기본값**: 설정되지 않음5096* **기본값**: 설정되지 않음

5095 5097 

5096다음 예시는 `Dev box`라는 연결 하나를 추가하며, 여기서 `acme-dev create`는 사용자 자신의 도구를 나타냅니다.5098다음 예시는 `Dev box`라는 연결 하나를 추가하며, 여기서 `acme-dev create`는 사용자 자신의 도구를 나타냅니다.


5107}5109}

5108```5110```

5109 5111 

5112Windows에서는 `acme-dev`와 같은 이름만으로는 작동하지 않으므로, [프로그램의 전체 경로로 명령을 시작](https://code.claude.com/docs/ko/desktop.md#write-the-command-on-windows)하십시오.

5113 

5110Claude Code v2.1.307 이전에는 Edit 도구가 유효한 설정 파일에 이 키를 추가하는 변경을 `Unrecognized field: sshHostCommands` 오류와 함께 거부했습니다. 해당 버전에서는 대신 텍스트 편집기에서 키를 추가하십시오. Claude Code는 이 키가 포함된 파일을 정상적으로 로드합니다. Desktop에서는 터미널의 버전이 아니라 [Code 탭의 Claude Code 버전](https://code.claude.com/docs/ko/desktop.md#claude-code-version-in-the-code-tab)이 기준이 됩니다.5114Claude Code v2.1.307 이전에는 Edit 도구가 유효한 설정 파일에 이 키를 추가하는 변경을 `Unrecognized field: sshHostCommands` 오류와 함께 거부했습니다. 해당 버전에서는 대신 텍스트 편집기에서 키를 추가하십시오. Claude Code는 이 키가 포함된 파일을 정상적으로 로드합니다. Desktop에서는 터미널의 버전이 아니라 [Code 탭의 Claude Code 버전](https://code.claude.com/docs/ko/desktop.md#claude-code-version-in-the-code-tab)이 기준이 됩니다.

5111 5115 

5112## 인증 및 공급자5116## 인증 및 공급자


5583 5587 

5584Claude Code가 [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)을 새로 가져올 때까지 CLI 시작을 차단합니다. 가져오기에 실패하면 Claude Code는 캐시된 설정이나 설정 없이 계속 진행하는 대신 종료됩니다. 세션이 관리형 정책 없이 실행되는 짧은 시간조차 허용할 수 없는 환경에서 설정하십시오.5588Claude Code가 [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)을 새로 가져올 때까지 CLI 시작을 차단합니다. 가져오기에 실패하면 Claude Code는 캐시된 설정이나 설정 없이 계속 진행하는 대신 종료됩니다. 세션이 관리형 정책 없이 실행되는 짧은 시간조차 허용할 수 없는 환경에서 설정하십시오.

5585 5589 

5586이 키가 설정되지 않은 경우 Claude Code는 가져오기 때문에 시작을 차단하지 않지만, 개발자가 시작 시 로그인하면 가져오기를 최대 5초 동안 기다립니다. Cloud 게이트웨이 세션은 항상 기다리며, 게이트웨이에 연결할 수 없으면 종료됩니다.5590이 키가 설정되지 않은 경우 Claude Code는 가져오기 때문에 시작을 차단하지 않지만, 개발자가 시작 시 로그인하면 가져오기를 최대 5초 동안 기다립니다. [Anthropic이 설정을 필수로 요구할 수 있으며](https://code.claude.com/docs/ko/server-managed-settings.md#fetch-and-caching-behavior), 이 경우 설정 없이는 시작이 차단됩니다. Cloud gateway 세션은 기다리며, 게이트웨이에 연결할 수 없으면 종료됩니다.

5587 5591 

5588* **범위**: [`Managed`](#scopes). Claude Code는 최우선 소스가 아니더라도 관리자가 제어하는 모든 관리형 소스의 `true`를 적용합니다.5592* **범위**: [`Managed`](#scopes). Claude Code는 최우선 소스가 아니더라도 관리자가 제어하는 모든 관리형 소스의 `true`를 적용합니다.

5589* **유형**: Boolean5593* **유형**: Boolean

5590 * `true`: Claude Code가 서버 관리형 설정을 새로 가져올 때까지 시작을 차단하고, 가져오기에 실패하면 종료됩니다5594 * `true`: Claude Code가 서버 관리형 설정을 새로 가져올 때까지 시작을 차단하고, 가져오기에 실패하면 종료됩니다

5591 * `false`: Claude Code가 가져오기 때문에 시작을 차단하지 않지만, 로그인과 함께 시작하는 경우 가져오기를 최대 5초 동안 기다립니다5595 * `false`: Anthropic이 설정을 요구하지 않는 한 Claude Code가 가져오기 때문에 시작을 차단하지 않지만, 로그인과 함께 시작하는 경우 가져오기를 최대 5초 동안 기다립니다

5592* **기본값**: `false`5596* **기본값**: `false`

5593 5597 

5594```json managed-settings.json theme={null}5598```json managed-settings.json theme={null}


5823 5827 

5824### `autoInstallIdeExtension`5828### `autoInstallIdeExtension`

5825 5829 

5826VS Code 터미널에서 Claude Code를 실행할 때 Claude Code IDE 확장을 자동으로 설치합니다. VS Code 또는 JetBrains 터미널 내부에서 Claude Code를 실행할 때 `/config`에 **IDE 확장 자동 설치**로 표시됩니다.5830외부 터미널에서 [`/ide`](https://code.claude.com/docs/ko/commands) 명령을 실행할 때 실행 중인 VS Code, Cursor 또는 Devin Desktop에 `/ide`가 Claude Code IDE 확장을 설치하도록 합니다. Claude Code는 시작할 때 확장을 설치하지 않습니다. VS Code 또는 JetBrains 터미널 내부에서 Claude Code를 실행할 때 `/config`에 **IDE 확장 자동 설치**로 표시됩니다.

5827 5831 

5828* **범위**: [`전역 설정`](#scopes)5832* **범위**: [`전역 설정`](#scopes)

5829* **유형**: Boolean5833* **유형**: Boolean

5830 * `true`: Claude Code가 VS Code 터미널에서 실행될 때 IDE 확장을 자동으로 설치합니다5834 * `true`: `/ide`가 확장을 설치합니다

5831 * `false`: Claude Code가 확장을 자동으로 설치하지 않습니다5835 * `false`: `/ide`가 확장을 설치하지 않습니다

5832* **기본값**: `true`5836* **기본값**: `true`

5833* **세션별 재정의**: [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/ko/env-vars)을 `1`로 설정하면 이 키가 `true`일 때도 한 세션 동안 설치를 건너뜁니다5837* **세션별 재정의**: [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/ko/env-vars)을 `1`로 설정하면 이 키가 `true`일 때도 한 세션 동안 설치를 건너뜁니다

5834 5838 

skills.md +1 −1

Details

404| `allowed-tools` | 아니요 | 이 스킬을 호출하는 턴 중에 Claude가 권한을 요청하지 않고 사용할 수 있는 도구입니다. 다음 메시지를 보낼 때 권한이 해제됩니다. 공백 또는 쉼표로 구분된 문자열 또는 YAML 목록을 허용합니다. [스킬에 대한 도구 사전 승인](#pre-approve-tools-for-a-skill)을 참조하세요. |404| `allowed-tools` | 아니요 | 이 스킬을 호출하는 턴 중에 Claude가 권한을 요청하지 않고 사용할 수 있는 도구입니다. 다음 메시지를 보낼 때 권한이 해제됩니다. 공백 또는 쉼표로 구분된 문자열 또는 YAML 목록을 허용합니다. [스킬에 대한 도구 사전 승인](#pre-approve-tools-for-a-skill)을 참조하세요. |

405| `disallowed-tools` | 아니요 | 이 스킬이 활성화되는 동안 Claude의 사용 가능한 도구 풀에서 제거되는 도구입니다. 백그라운드 루프에서의 `AskUserQuestion`처럼 특정 도구를 호출하지 않아야 하는 자율 스킬에 사용합니다. 공백 또는 쉼표로 구분된 문자열 또는 YAML 목록을 허용합니다. 다음 메시지를 보낼 때 제한이 해제됩니다. 거부 규칙과 마찬가지로 다른 도구가 남아 있는 동안 이 필드는 [`EndConversation`](https://code.claude.com/docs/ko/tools-reference#endconversation-tool-behavior)을 제거할 수 없습니다. |405| `disallowed-tools` | 아니요 | 이 스킬이 활성화되는 동안 Claude의 사용 가능한 도구 풀에서 제거되는 도구입니다. 백그라운드 루프에서의 `AskUserQuestion`처럼 특정 도구를 호출하지 않아야 하는 자율 스킬에 사용합니다. 공백 또는 쉼표로 구분된 문자열 또는 YAML 목록을 허용합니다. 다음 메시지를 보낼 때 제한이 해제됩니다. 거부 규칙과 마찬가지로 다른 도구가 남아 있는 동안 이 필드는 [`EndConversation`](https://code.claude.com/docs/ko/tools-reference#endconversation-tool-behavior)을 제거할 수 없습니다. |

406| `model` | 아니요 | 이 스킬이 활성화될 때 사용할 모델입니다. 재정의는 현재 턴의 나머지 부분에 적용되며 설정에 저장되지 않습니다. 다음 프롬프트를 보낼 때 세션 모델이 재개됩니다. [`/model`](https://code.claude.com/docs/ko/model-config)과 동일한 값을 허용하거나 활성 모델을 유지하려면 `inherit`을 허용합니다. 조직의 [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 허용 목록에서 제외된 값은 사용되지 않으며 세션은 현재 모델을 유지합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서, 그리고 [분류기가 명령을 검토하는 동안 플랜 모드](https://code.claude.com/docs/ko/permission-modes.md#analyze-before-you-edit-with-plan-mode)에서 자동 모드가 지원하지 않는 모델도 사용되지 않으며 세션은 현재 모델을 유지합니다. `context: fork`를 사용하면 값이 [포크된 서브에이전트의 모델](#run-skills-in-a-subagent)을 설정하고 제외된 값은 [서브에이전트 모델 재정의와 동일한 규칙을 따릅니다](https://code.claude.com/docs/ko/model-config.md#restrict-model-selection). |406| `model` | 아니요 | 이 스킬이 활성화될 때 사용할 모델입니다. 재정의는 현재 턴의 나머지 부분에 적용되며 설정에 저장되지 않습니다. 다음 프롬프트를 보낼 때 세션 모델이 재개됩니다. [`/model`](https://code.claude.com/docs/ko/model-config)과 동일한 값을 허용하거나 활성 모델을 유지하려면 `inherit`을 허용합니다. 조직의 [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 허용 목록에서 제외된 값은 사용되지 않으며 세션은 현재 모델을 유지합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서, 그리고 [분류기가 명령을 검토하는 동안 플랜 모드](https://code.claude.com/docs/ko/permission-modes.md#analyze-before-you-edit-with-plan-mode)에서 자동 모드가 지원하지 않는 모델도 사용되지 않으며 세션은 현재 모델을 유지합니다. `context: fork`를 사용하면 값이 [포크된 서브에이전트의 모델](#run-skills-in-a-subagent)을 설정하고 제외된 값은 [서브에이전트 모델 재정의와 동일한 규칙을 따릅니다](https://code.claude.com/docs/ko/model-config.md#restrict-model-selection). |

407| `effort` | 아니요 | 현재 턴의 나머지 부분에 적용되는 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)입니다. 세션 effort 수준을 재정의하지만 [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ko/env-vars#variables) 환경 변수는 재정의하지 않습니다. `context: fork`를 사용하면 값이 대신 포크된 서브에이전트의 effort 수준을 설정합니다. 생략하면 [effort 결정 순서](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)에 따라 수준이 정해집니다. 옵션: `low`, `medium`, `high`, `xhigh`, `max`. 사용 가능한 수준은 모델에 따라 다릅니다. |407| `effort` | 아니요 | 현재 턴의 나머지 부분에 적용되는 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)입니다. 세션 effort 수준을 재정의하지만 [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ko/env-vars#variables) 환경 변수는 재정의하지 않습니다. `context: fork`를 사용하면 값이 대신 포크된 서브에이전트의 effort 수준을 설정합니다. 생략하면 [effort 결정 순서](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)에 따라 수준이 정해집니다. 다른 모델에서 실행되는 포크의 경우 [서브에이전트 및 팀원의 effort 수준](https://code.claude.com/docs/ko/model-config.md#effort-level-of-subagents-and-teammates)을 참조하세요. 옵션: `low`, `medium`, `high`, `xhigh`, `max`. 사용 가능한 수준은 모델에 따라 다릅니다. |

408| `context` | 아니요 | 포크된 서브에이전트 컨텍스트에서 실행하려면 `fork`로 설정합니다. [서브에이전트에서 스킬 실행](#run-skills-in-a-subagent)을 참조하세요. |408| `context` | 아니요 | 포크된 서브에이전트 컨텍스트에서 실행하려면 `fork`로 설정합니다. [서브에이전트에서 스킬 실행](#run-skills-in-a-subagent)을 참조하세요. |

409| `agent` | 아니요 | `context: fork`가 설정되었을 때 사용할 서브에이전트 유형입니다. |409| `agent` | 아니요 | `context: fork`가 설정되었을 때 사용할 서브에이전트 유형입니다. |

410| `background` | 아니요 | `context: fork`에만 적용됩니다. [백그라운드에서 실행](#run-skills-in-a-subagent)하는 대신 스킬을 호출한 턴에서 포크된 서브에이전트의 결과를 기다리려면 `false`로 설정합니다. 기본값: `true`. |410| `background` | 아니요 | `context: fork`에만 적용됩니다. [백그라운드에서 실행](#run-skills-in-a-subagent)하는 대신 스킬을 호출한 턴에서 포크된 서브에이전트의 결과를 기다리려면 `false`로 설정합니다. 기본값: `true`. |

Details

1264 1264 

1265Keychain이 다시 쓰기 가능해지면 Claude Code는 다음 번에 자격 증명을 쓸 때 자격 증명을 다시 Keychain으로 이동합니다. 지금 강제하려면 `/logout`을 실행한 다음 `/login`을 실행하세요. 로그아웃하면 일반 텍스트 파일의 내용, 저장된 MCP 서버 로그인 및 플러그인 민감한 값을 포함한 모든 저장된 자격 증명이 제거되므로 그 후에 MCP 서버를 다시 인증하고 플러그인 비밀을 다시 입력해야 합니다. 다시 로그인하면 Keychain에 로그인이 저장됩니다.1265Keychain이 다시 쓰기 가능해지면 Claude Code는 다음 번에 자격 증명을 쓸 때 자격 증명을 다시 Keychain으로 이동합니다. 지금 강제하려면 `/logout`을 실행한 다음 `/login`을 실행하세요. 로그아웃하면 일반 텍스트 파일의 내용, 저장된 MCP 서버 로그인 및 플러그인 민감한 값을 포함한 모든 저장된 자격 증명이 제거되므로 그 후에 MCP 서버를 다시 인증하고 플러그인 비밀을 다시 입력해야 합니다. 다시 로그인하면 Keychain에 로그인이 저장됩니다.

1266 1266 

1267#### 네트워크 홈 디렉터리에서 로그인 실패

1268 

1269요청이 `API Error: 401`로 실패하고 [구성 디렉터리](https://code.claude.com/docs/ko/claude-directory.md)가 네트워크 파일 시스템에 있는 경우, 해당 파일 시스템이나 그 파일 시스템의 할당량이 가득 찼는지 확인하세요. 남은 공간이 없으면 Claude Code는 새 로그인이나 갱신된 로그인을 일반 텍스트 [`.credentials.json` 파일](https://code.claude.com/docs/ko/authentication#credential-management)에 저장할 수 없으며, 이 경우에도 `claude auth login`은 `Login successful.`을 출력할 수 있습니다.

1270 

1271**1. 파일 시스템에 공간 확보**

1272 

1273`~/.claude` 또는 [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ko/env-vars)에 설정한 디렉터리가 있는 파일 시스템에서 더 이상 필요하지 않은 파일을 삭제하세요.

1274 

1275**2. 다시 로그인**

1276 

1277Claude Code 프롬프트에서 `/login`을 실행하거나 셸에서 `claude auth login`을 실행하세요.

1278 

1279v2.1.318 이전에는 Claude Code가 가득 찬 네트워크 파일 시스템에 로그인 파일을 저장할 때 아직 유효한 저장된 로그인을 빈 파일로 대체할 수 있었습니다. 그러면 이후 명령에서 `Not logged in`이 보고되었습니다.

1280 

1267### Bedrock, Agent Platform 또는 Foundry 자격 증명이 로드되지 않음1281### Bedrock, Agent Platform 또는 Foundry 자격 증명이 로드되지 않음

1268 1282 

1269Claude Code를 클라우드 공급자를 사용하도록 구성했고 Amazon Bedrock에서 `Could not load credentials from any providers`, Google Cloud의 Agent Platform에서 `Could not load the default credentials` 또는 Microsoft Foundry에서 `ChainedTokenCredential authentication failed`가 표시되면 클라우드 공급자 CLI가 현재 셸에서 인증되지 않았을 가능성이 높습니다.1283Claude Code를 클라우드 공급자를 사용하도록 구성했고 Amazon Bedrock에서 `Could not load credentials from any providers`, Google Cloud의 Agent Platform에서 `Could not load the default credentials` 또는 Microsoft Foundry에서 `ChainedTokenCredential authentication failed`가 표시되면 클라우드 공급자 CLI가 현재 셸에서 인증되지 않았을 가능성이 높습니다.

vs-code.md +7 −2

Details

818 818 

819### VS Code에서 CLI 실행819### VS Code에서 CLI 실행

820 820 

821VS Code를 벗어나지 않고 CLI를 사용하려면 Windows/Linux에서는 `` Ctrl+` ``, Mac에서는 `` Cmd+` ``를 눌러 통합 터미널을 연 다음 `claude`를 실행합니다. CLI는 diff 보기 및 진단 정보 공유와 같은 기능을 위해 IDE와 자동으로 통합됩니다. 외부 터미널을 사용하는 경우 Claude Code 내에서 `/ide`를 실행하여 VS Code에 연결합니다.821VS Code를 벗어나지 않고 CLI를 사용하려면 Windows/Linux에서는 `` Ctrl+` ``, Mac에서는 `` Cmd+` ``를 눌러 통합 터미널을 연 다음 `claude`를 실행합니다. `claude`를 시작해도 확장 프로그램이 설치되지는 않습니다. 확장 프로그램이 없으면 통합 터미널에서 `/ide`를 실행했을 때 "No available IDEs detected"가 표시되고, `/status`에는 IDE가 "Not connected"로 표시됩니다.

822 

823diff 보기 및 진단 정보 공유와 같은 기능을 사용하려면 통합 터미널 또는 외부 터미널에서 CLI를 확장 프로그램에 연결합니다.

824 

825* **통합 터미널**: [확장 프로그램을 설치](#install-the-extension)한 다음 `claude`를 시작합니다. CLI가 자동으로 연결됩니다.

826* **외부 터미널**: Claude Code 내에서 `/ide`를 실행하여 VS Code에 연결합니다. 확장 프로그램 없이 VS Code가 실행 중인 경우, [`autoInstallIdeExtension`](https://code.claude.com/docs/ko/settings-reference#autoinstallideextension)을 끄지 않았다면 `/ide`가 확장 프로그램을 설치합니다.

822 827 

823확장 프로그램을 설치해도 `claude`가 셸 PATH에 추가되지는 않습니다. 확장 프로그램은 채팅 패널용으로 CLI의 비공개 사본을 번들로 포함하지만, 터미널에서 `claude`를 입력하려면 [독립 실행형 CLI 설치](https://code.claude.com/docs/ko/setup.md)가 필요합니다. 설치를 한 번 실행하면 `claude mcp add` 및 `claude --resume`을 포함하여 이 페이지의 명령을 모든 터미널에서 사용할 수 있습니다. 설치 후에도 `claude`를 찾을 수 없다면 [PATH를 확인](https://code.claude.com/docs/ko/troubleshoot-install.md#verify-your-path)하세요.828확장 프로그램을 설치해도 `claude`가 셸 PATH에 추가되지는 않습니다. 확장 프로그램은 채팅 패널용으로 CLI의 비공개 사본을 번들로 포함하지만, 터미널에서 `claude`를 입력하려면 [독립 실행형 CLI 설치](https://code.claude.com/docs/ko/setup.md)가 필요합니다. 설치를 한 번 실행하면 `claude mcp add` 및 `claude --resume`을 포함하여 이 페이지의 명령을 모든 터미널에서 사용할 수 있습니다. 설치 후에도 `claude`를 찾을 수 없다면 [PATH를 확인](https://code.claude.com/docs/ko/troubleshoot-install.md#verify-your-path)하세요.

824 829 


10862. "Claude Code"를 검색합니다10912. "Claude Code"를 검색합니다

10873. **Uninstall**을 클릭합니다10923. **Uninstall**을 클릭합니다

1088 1093 

1089VS Code 통합 터미널에서 `claude`를 실행하면 Claude Code가 확장 프로그램을 자동으로 다시 설치합니다. 제거된 상태를 유지하려면 `/config`에서 **Auto-install IDE extension**을 끄거나 [`autoInstallIdeExtension`](https://code.claude.com/docs/ko/settings-reference#autoinstallideextension)을 `false`로 설정합니다. [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/ko/env-vars) 환경 변수를 `1`로 설정할 수도 있습니다.1094`claude`를 시작해도 확장 프로그램은 제거된 상태로 유지됩니다. VS Code가 실행 중일 때 외부 터미널에서 `/ide`를 실행하면 Claude Code가 확장 프로그램을 다시 설치합니다. 이를 막으려면 `~/.claude.json`에서 [`autoInstallIdeExtension`](https://code.claude.com/docs/ko/settings-reference#autoinstallideextension)을 `false`로 설정하거나, 통합 터미널의 `/config`에서 **Auto-install IDE extension**을 끕니다. [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/ko/env-vars) 환경 변수를 `1`로 설정할 수도 있습니다.

1090 1095 

1091확장 프로그램 데이터도 제거하고 모든 설정을 초기화하려면 플랫폼에 해당하는 확장 프로그램 저장소 디렉터리를 삭제합니다.1096확장 프로그램 데이터도 제거하고 모든 설정을 초기화하려면 플랫폼에 해당하는 확장 프로그램 저장소 디렉터리를 삭제합니다.

1092 1097