SpyBara
Go Premium

Documentation 2026-11-12 23:02 UTC to 2026-11-13 02:58 UTC

36 files changed +470 −440. View all changes and history on the product overview
2026
Fri 13 02:58 Thu 12 23:02 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

349 349 

350### 세션 중에 모델이 비활성화될 때350### 세션 중에 모델이 비활성화될 때

351 351 

352계정이 세션이 실행 중인 모델에 대한 액세스를 잃으면(예: 관리자가 Amazon Bedrock 계정에서 비활성화), Claude Code는 각 요청이 실패하는 대신 세션을 다른 모델로 전환하고 `Switched to <fallback> because <model> is not available`을 표시합니다. 시작 폴백과 동일한 모델을 시도합니다: 먼저 동일한 계층의 이전 버전을 시도하고, 사용 가능한 Opus 버전이 없는 Opus 세션의 경우 기본 Sonnet 모델을 시도합니다.352Amazon Bedrock이 세션의 모델을 계정에서 사용할 수 없다는 이유로 거부하면, Claude Code는 세션을 다른 모델로 전환하며 작업을 계속할 수 있습니다. `Switched to <fallback> because <model> is not available`로 시작하는 메시지가 표시됩니다. 예를 들어 관리자가 모델을 비활성화했거나 최신 모델을 아직 계정에서 사용할 수 없는 경우에 이런 상황이 발생합니다.

353 353 

354전환은 고정하지 않은 계층에만 적용되며, 이는 시작 폴백과 동일한 조건입니다. 선택한 특정 버전에서의 세션 또는 [애플리케이션 추론 프로필 ARN](#map-each-model-version-to-an-inference-profile)에서의 세션은 모델을 유지하고, 폴백 모델 체인이 없으면 요청이 실패합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry)에서 Claude Code는 Amazon Bedrock에서 자동 모드가 지원하는 모델로만 전환합니다. 해당 모델도 사용할 수 없으면 요청이 [AWS 인증 실패](https://code.claude.com/docs/ko/errors.md#aws-authentication-failed)로 실패하고 모델을 활성화하라는 힌트가 표시됩니다.354[폴백 모델 체인](https://code.claude.com/docs/ko/model-config.md#fallback-model-chains)을 구성한 경우, Claude Code는 대신 구성한 폴백으로 전환합니다. 체인이 없으면 다음과 같은 경우에 요청이 실패합니다.

355 355 

356구성한 [폴백 모델 체인](https://code.claude.com/docs/ko/model-config.md#fallback-model-chains)은 계층 전환을 대체합니다: 이러한 거부에서 Claude Code는 구성한 폴백으로 전환합니다. 거부된 요청이 전환하지 않고 실패하도록 하려면 [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/ko/env-vars)을 설정합니다. 구성한 폴백 체인은 여전히 이러한 거부에서 전환합니다; 모든 거부된 요청이 실패하도록 하려면 체인도 제거합니다.356* 세션이 고정된 모델, 선택한 특정 버전 또는 [애플리케이션 추론 프로필 ARN](#map-each-model-version-to-an-inference-profile)에서 실행 중인 경우

357* [Claude Code가 시도하는 모델](#startup-model-checks) 중 어느 것도 사용할 수 없는 경우. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry)에서 Claude Code는 Amazon Bedrock에서 자동 모드가 지원하는 모델로만 전환합니다.

358 

359작업을 계속하려면 세션에서 `/model`을 실행하고 계정에서 사용할 수 있는 모델에서 `s`를 누릅니다. 이렇게 하면 기본값은 변경되지 않습니다. `403`은 [AWS 인증 실패](https://code.claude.com/docs/ko/errors.md#aws-authentication-failed)로 표시됩니다.

360 

361거부된 요청이 전환하지 않고 실패하도록 하려면 [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/ko/env-vars)을 설정합니다. 폴백 모델 체인을 구성한 경우 Claude Code가 여전히 해당 폴백으로 이동하므로 체인도 제거합니다.

357 362 

358## 교차 지역 추론 프로필 접두사363## 교차 지역 추론 프로필 접두사

359 364 

Details

315 {315 {

316 "matcher": "Edit|Write",316 "matcher": "Edit|Write",

317 "hooks": [317 "hooks": [

318 { "type": "command", "command": "npx prettier --write --ignore-unknown \"$(jq -r '.tool_input.file_path')\"" }318 { "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }

319 ]319 ]

320 }320 }

321 ]321 ]

Details

74| PostgreSQL 11 이상 | 장치 로그인 흐름과 속도 제한 카운터를 지원합니다. 가장 작은 계층을 포함한 관리형 PostgreSQL 서비스가 작동합니다; [지원되는 데이터베이스](https://code.claude.com/docs/ko/claude-apps-gateway-deploy.md#postgres)를 참조하세요. [지출 제한](https://code.claude.com/docs/ko/claude-apps-gateway-spend-limits.md)을 사용하면 백업해야 하는 지속적인 지출, 감사 및 ID 테이블도 보유합니다. `?sslmode=require`를 통한 TLS가 권장됩니다. PostgreSQL 11, 12, 13은 게이트웨이 서버에서 Claude Code v2.1.290 이상이 필요합니다. PostgreSQL 프로젝트는 더 이상 해당 버전을 유지 관리하지 않으므로 가능하면 더 새로운 버전을 사용하세요. |74| PostgreSQL 11 이상 | 장치 로그인 흐름과 속도 제한 카운터를 지원합니다. 가장 작은 계층을 포함한 관리형 PostgreSQL 서비스가 작동합니다; [지원되는 데이터베이스](https://code.claude.com/docs/ko/claude-apps-gateway-deploy.md#postgres)를 참조하세요. [지출 제한](https://code.claude.com/docs/ko/claude-apps-gateway-spend-limits.md)을 사용하면 백업해야 하는 지속적인 지출, 감사 및 ID 테이블도 보유합니다. `?sslmode=require`를 통한 TLS가 권장됩니다. PostgreSQL 11, 12, 13은 게이트웨이 서버에서 Claude Code v2.1.290 이상이 필요합니다. PostgreSQL 프로젝트는 더 이상 해당 버전을 유지 관리하지 않으므로 가능하면 더 새로운 버전을 사용하세요. |

75| 모델 업스트림 | Amazon Bedrock 자격 증명, Claude Platform on AWS 자격 증명, Google Cloud 자격 증명, Microsoft Foundry 리소스 또는 Anthropic API 키. 장애 조치를 사용한 여러 업스트림이 지원됩니다. |75| 모델 업스트림 | Amazon Bedrock 자격 증명, Claude Platform on AWS 자격 증명, Google Cloud 자격 증명, Microsoft Foundry 리소스 또는 Anthropic API 키. 장애 조치를 사용한 여러 업스트림이 지원됩니다. |

76| HTTPS | 게이트웨이는 개발자 노트북과 로그인에 사용되는 모든 브라우저에서 `https://`를 통해 도달 가능해야 합니다; 게이트웨이는 동일한 리스너에서 장치 확인 페이지를 제공합니다. `listen.tls`를 통해 TLS 인증서를 제공하거나, TLS 종료 수신 대기 뒤에서 실행하고, 두 경우 모두 `listen.public_url`을 외부 원본으로 설정하세요. `/login`에서 Claude Code는 게이트웨이 호스트가 루프백인 경우에만 일반 `http://` 원본을 허용합니다: `localhost`, `127.0.0.1` 또는 `::1`. |76| HTTPS | 게이트웨이는 개발자 노트북과 로그인에 사용되는 모든 브라우저에서 `https://`를 통해 도달 가능해야 합니다; 게이트웨이는 동일한 리스너에서 장치 확인 페이지를 제공합니다. `listen.tls`를 통해 TLS 인증서를 제공하거나, TLS 종료 수신 대기 뒤에서 실행하고, 두 경우 모두 `listen.public_url`을 외부 원본으로 설정하세요. `/login`에서 Claude Code는 게이트웨이 호스트가 루프백인 경우에만 일반 `http://` 원본을 허용합니다: `localhost`, `127.0.0.1` 또는 `::1`. |

77| 개인 네트워크 주소 | `/login`에서 Claude Code는 게이트웨이의 호스트명 또는 IP 주소가 개인 주소로만 확인되도록 요구합니다: RFC 1918, 링크 로컬, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` 또는 루프백. 호스팅하는 게이트웨이의 경우 선언한 블록 외의 모든 공개 주소는 거부됩니다; 배포 가이드의 [위협 모델](https://code.claude.com/docs/ko/claude-apps-gateway-deploy.md#threat-model-summary)을 참조하세요. 개발자 머신이 HTTPS를 회사 프록시를 통해 라우팅하는 경우, 로그인은 프록시 호스트도 개인 주소로 확인되도록 요구합니다; 그렇지 않으면 게이트웨이 호스트를 `NO_PROXY`에 추가하여 CLI가 직접 연결하도록 하세요. 내부 네트워크가 조직이 소유한 공개 IPv4 공간에서 번호가 지정된 경우 [해당 블록을 선언](#allow-a-gateway-on-public-address-space-you-own)하여 `/login`이 거기서 게이트웨이를 수락하도록 하세요. |77| 개인 네트워크 주소 | `/login`에서 Claude Code는 게이트웨이의 호스트명 또는 IP 주소가 개인 주소로만 확인되도록 요구합니다: RFC 1918 및 링크 로컬 범위, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` 및 루프백. [위협 모델](https://code.claude.com/docs/ko/claude-apps-gateway-deploy.md#threat-model-summary)을 참조하세요. 내부 네트워크가 조직이 소유한 공개 IPv4 공간에서 번호가 지정된 경우 [해당 블록을 선언](#allow-a-gateway-on-public-address-space-you-own)하여 `/login`이 거기서 게이트웨이를 수락하도록 하세요. |

78| Linux 런타임 | 게이트웨이 서버는 네이티브 Linux 바이너리에서만 실행됩니다. macOS는 로컬 개발에 작동합니다. Windows는 서버 플랫폼으로 지원되지 않습니다. |78| Linux 런타임 | 게이트웨이 서버는 네이티브 Linux 바이너리에서만 실행됩니다. macOS는 로컬 개발에 작동합니다. Windows는 서버 플랫폼으로 지원되지 않습니다. |

79 79 

80`HTTPS_PROXY` 또는 `HTTP_PROXY`가 게이트웨이 호스트에 적용되는 경우, 로그인에는 호스트명이 개인 주소로 확인되는 프록시가 필요하거나, 개발자 머신의 `NO_PROXY`에 게이트웨이 호스트가 포함되어 있어야 합니다. 해당 머신에서 `no_proxy`도 설정하는 경우 게이트웨이 호스트를 거기에도 추가하세요. 그렇지 않으면 모델 요청이 여전히 프록시를 거칩니다.

81 

80### 단계82### 단계

81 83 

82**1. IdP에서 OAuth 클라이언트 등록**84**1. IdP에서 OAuth 클라이언트 등록**

Details

656 656 

657| 설정 | 방법 |657| 설정 | 방법 |

658| - | - |658| - | - |

659| RBAC | 게이트웨이의 ID에 Microsoft Foundry 리소스에 대한 `Azure AI User` 또는 `Cognitive Services User`를 부여하십시오 |659| RBAC | Microsoft Foundry 리소스에서 게이트웨이의 ID에 `Foundry User` 또는 `Cognitive Services User` 역할을 부여하세요 |

660| 배포 | Microsoft Foundry는 표준 모델 ID가 아닌 관리자가 선택한 배포 이름을 사용합니다. 각 표준 ID를 배포 이름에 매핑하는 [`models:`](#models) 블록을 추가하십시오. |660| 배포 | Microsoft Foundry는 표준 모델 ID가 아닌 관리자가 선택한 배포 이름을 사용합니다. 각 표준 ID를 배포 이름에 매핑하는 [`models:`](#models) 블록을 추가하십시오. |

661| AKS (워크로드 ID) | 사용자 할당 Managed Identity를 클러스터의 OIDC 발급자와 페더레이션하고 게이트웨이의 서비스 계정에 바인딩하십시오. `use_azure_ad: true`가 `WorkloadIdentityCredential`을 통해 이를 사용합니다. |661| AKS (워크로드 ID) | 사용자 할당 Managed Identity를 클러스터의 OIDC 발급자와 페더레이션하고 게이트웨이의 서비스 계정에 바인딩하십시오. `use_azure_ad: true`가 `WorkloadIdentityCredential`을 통해 이를 사용합니다. |

662| ACI / App Service | 리소스에서 시스템 할당 또는 사용자 할당 관리 ID를 활성화하십시오. `use_azure_ad: true`가 이를 자동으로 사용합니다. |662| ACI / App Service | 리소스에서 시스템 할당 또는 사용자 할당 관리 ID를 활성화하십시오. `use_azure_ad: true`가 이를 자동으로 사용합니다. |


1001 1001 

1002`upstream_model` 아래의 각 키는 구성된 업스트림의 `name`과 일치해야 하며, 기본값은 공급자 이름입니다. 어떤 업스트림과도 일치하지 않는 키는 부팅 실패를 일으키므로, 사용하지 않는 공급자의 줄은 생략하십시오.1002`upstream_model` 아래의 각 키는 구성된 업스트림의 `name`과 일치해야 하며, 기본값은 공급자 이름입니다. 어떤 업스트림과도 일치하지 않는 키는 부팅 실패를 일으키므로, 사용하지 않는 공급자의 줄은 생략하십시오.

1003 1003 

1004`auto_include_builtin_models: false`에서 개발자가 `fable` 별칭을 사용할 수 있도록 하려면 `models`에 `claude-fable-5` 항목을 추가하세요. 이 ID는 게이트웨이에 로그인한 개발자에게 [`fable` 별칭](https://code.claude.com/docs/ko/model-config#fable-alias-resolution)이 확인되는 ID입니다. 이 항목이 없으면 메시지가 `API Error: 400 model claude-fable-5 is not in the operator's model allowlist`로 시작하는 오류와 함께 실패합니다.

1005 

1004### `managed`1006### `managed`

1005 1007 

1006`managed` 블록은 IdP 그룹 또는 이메일 도메인을 기준으로 하는 역할 기반 접근 정책을 정의합니다. 정책은 순서대로 평가되며, 기본적으로 첫 번째로 매칭된 정책이 선택된 다음 `match: {}` 포괄 기본 정책 위에 병합됩니다. 두 역할 정책에 매칭되는 사용자는 첫 번째 정책만 받으므로, [매칭되는 모든 정책을 적용](#apply-every-matching-policy)하지 않는 한 두 번째 정책의 거부 규칙은 적용되지 않습니다. 정책은 ETag/304 캐싱과 함께 `GET /managed/settings`에서 사용자별로 제공됩니다.1008`managed` 블록은 IdP 그룹 또는 이메일 도메인을 기준으로 하는 역할 기반 접근 정책을 정의합니다. 정책은 순서대로 평가되며, 기본적으로 첫 번째로 매칭된 정책이 선택된 다음 `match: {}` 포괄 기본 정책 위에 병합됩니다. 두 역할 정책에 매칭되는 사용자는 첫 번째 정책만 받으므로, [매칭되는 모든 정책을 적용](#apply-every-matching-policy)하지 않는 한 두 번째 정책의 거부 규칙은 적용되지 않습니다. 정책은 ETag/304 캐싱과 함께 `GET /managed/settings`에서 사용자별로 제공됩니다.


1025관례상 마지막에 나열하는 `match: {}` 캐치올은 기본 계층으로 취급됩니다. 다른 모든 정책은 설정하지 않은 키를 캐치올에서 상속하므로, 역할별 항목에는 조직 기본값과 다른 부분만 나열하면 됩니다. 병합 규칙은 키 유형에 따라 다릅니다.1027관례상 마지막에 나열하는 `match: {}` 캐치올은 기본 계층으로 취급됩니다. 다른 모든 정책은 설정하지 않은 키를 캐치올에서 상속하므로, 역할별 항목에는 조직 기본값과 다른 부분만 나열하면 됩니다. 병합 규칙은 키 유형에 따라 다릅니다.

1026 1028 

1027* **허용 목록**: `availableModels` 및 `permissions.allow`. 특정 정책의 목록이 기본 정책의 목록을 완전히 대체합니다.1029* **허용 목록**: `availableModels` 및 `permissions.allow`. 특정 정책의 목록이 기본 정책의 목록을 완전히 대체합니다.

1028* **거부 목록 및 훅 배열**: `permissions.deny`, `permissions.ask`, `disabledMcpjsonServers`, `deniedMcpServers`, `blockedMarketplaces`, `deniedModels`, 그리고 모든 `hooks` 이벤트 유형 배열. 이들은 기본 정책과 정책의 합집합을 취하므로, 조직 전체의 거부 규칙이나 감사 훅이 역할별 재정의로 인해 실수로 누락되지 않습니다.1030* **거부 목록과 훅 배열**: 기본 정책과 해당 정책의 합집합을 취합니다:

1031 * `permissions.deny`와 `permissions.ask`

1032 * `disabledMcpjsonServers`와 `deniedMcpServers`

1033 * `blockedMarketplaces`와 `deniedModels`

1034 * `hooks` 이벤트 유형 배열

1029* **레코드 유형 키**: `env`, `modelOverrides`, `skillOverrides`. 이들은 얕은 병합을 수행하므로, 역할별 `env` 블록은 자신이 설정한 키를 재정의하고 나머지는 기본 정책에서 상속합니다.1035* **레코드 유형 키**: `env`, `modelOverrides`, `skillOverrides`. 이들은 얕은 병합을 수행하므로, 역할별 `env` 블록은 자신이 설정한 키를 재정의하고 나머지는 기본 정책에서 상속합니다.

1030 1036 

1031`availableModels`는 `/v1/messages`에서 서버 측으로도 적용되므로, 거부된 모델은 클라이언트가 무엇을 보내든 `400`을 반환합니다. 빈 목록은 모든 모델을 거부합니다. 이 검사는 개발자가 모델을 선택하기 전 세션이 시작되는 모델에도 적용되므로, [정책이 허용하는 모델로 세션을 시작](#start-sessions-on-a-model-the-policy-allows)하도록 하십시오.1037`availableModels`는 `/v1/messages`에서 서버 측으로도 적용되므로, 거부된 모델은 클라이언트가 무엇을 보내든 `400`을 반환합니다. 빈 목록은 모든 모델을 거부합니다. 이 검사는 개발자가 모델을 선택하기 전 세션이 시작되는 모델에도 적용되므로, [정책이 허용하는 모델로 세션을 시작](#start-sessions-on-a-model-the-policy-allows)하도록 하십시오.

Details

92 92 

93바이너리 외에도 이미지는 다음이 필요합니다:93바이너리 외에도 이미지는 다음이 필요합니다:

94 94 

95* **glibc 기반 이미지**: glibc 빌드의 유일한 동적 종속성은 glibc 라이브러리입니다. Musl 기반 이미지는 `linux-x64-musl` 또는 `linux-arm64-musl` 빌드와 추가 패키지가 필요합니다. [Alpine Linux 설정](https://code.claude.com/docs/ko/setup.md#alpine-linux-and-musl-based-distributions)을 참조하세요.95* **glibc 기반 이미지**: glibc 빌드의 유일한 동적 의존성은 glibc 라이브러리입니다. Musl 기반 이미지에는 `linux-x64-musl` 또는 `linux-arm64-musl` 빌드가 필요하며, 이 빌드의 유일한 동적 의존성은 musl입니다.

96* **쓰기 가능한 상태 디렉토리**: 게이트웨이는 모든 사용자로 실행되지만, 최소 이미지에는 쓰기 가능한 홈이 없습니다. `CLAUDE_CONFIG_DIR`을 `/tmp/.claude`와 같은 쓰기 가능한 경로로 설정하세요.96* **쓰기 가능한 상태 디렉토리**: 게이트웨이는 모든 사용자로 실행되지만, 최소 이미지에는 쓰기 가능한 홈이 없습니다. `CLAUDE_CONFIG_DIR`을 `/tmp/.claude`와 같은 쓰기 가능한 경로로 설정하세요.

97* **컨테이너 명령**: `claude gateway --config /etc/claude/gateway.yaml`. 구성 파일은 읽기 전용으로 마운트되고 시크릿은 환경 변수로 제공됩니다. 게이트웨이는 `listen.port`에서 수신하며, 기본값은 `8080`입니다.97* **컨테이너 명령**: `claude gateway --config /etc/claude/gateway.yaml`. 구성 파일은 읽기 전용으로 마운트되고 시크릿은 환경 변수로 제공됩니다. 게이트웨이는 `listen.port`에서 수신하며, 기본값은 `8080`입니다.

98 98 

Details

274 274 

275스레드는 [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서 실행되므로, Claude는 매번 묻지 않고 해당 폴더의 명령을 실행하고 파일을 편집합니다. 자동 모드를 사용할 수 없거나 해당 컴퓨터의 Claude Code에서 꺼져 있으면, 스레드는 자동 모드 없이 실행되고, 발생하는 모든 권한 프롬프트는 [승인을 기다리는 스레드 차단 해제](#unblock-a-thread-waiting-on-approval)에서 설명하는 대로 스레드에서 답변을 기다립니다.275스레드는 [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서 실행되므로, Claude는 매번 묻지 않고 해당 폴더의 명령을 실행하고 파일을 편집합니다. 자동 모드를 사용할 수 없거나 해당 컴퓨터의 Claude Code에서 꺼져 있으면, 스레드는 자동 모드 없이 실행되고, 발생하는 모든 권한 프롬프트는 [승인을 기다리는 스레드 차단 해제](#unblock-a-thread-waiting-on-approval)에서 설명하는 대로 스레드에서 답변을 기다립니다.

276 276 

277다른 모드로 스레드를 실행하려면 [`--settings`](https://code.claude.com/docs/ko/remote-control#start-a-remote-control-session)와 함께 `claude remote-control`을 시작합니다. 그러면 해당 파일 또는 해당 컴퓨터의 설정에 있는 [`permissions.defaultMode`](https://code.claude.com/docs/ko/permission-modes#start-in-a-different-mode)로 다른 모드를 선택할 수 있습니다.

278 

277스레드가 실행되는 동안, 헤더의 노트북 아이콘은 컴퓨터가 연결되어 있는지 표시합니다. 클릭하여 스레드가 사용 중인 폴더를 확인하거나 연결을 끕니다. 해당 컴퓨터가 잠자기 상태일 때 스레드는 일시 중지되고, 데스크톱 앱 또는 `claude remote-control`이 종료되면 중지됩니다.279스레드가 실행되는 동안, 헤더의 노트북 아이콘은 컴퓨터가 연결되어 있는지 표시합니다. 클릭하여 스레드가 사용 중인 폴더를 확인하거나 연결을 끕니다. 해당 컴퓨터가 잠자기 상태일 때 스레드는 일시 중지되고, 데스크톱 앱 또는 `claude remote-control`이 종료되면 중지됩니다.

278 280 

279* **스레드를 다시 시작하려면**: [폴더와의 연결 끊김](#lost-contact-with-your-folder)을 참조합니다281* **스레드를 다시 시작하려면**: [폴더와의 연결 끊김](#lost-contact-with-your-folder)을 참조합니다

commands.md +0 −2

Details

35아래 표에는 Claude Code에 포함된 모든 명령이 나열되어 있습니다. 대부분은 동작이 CLI에 직접 구현된 기본 제공 명령입니다. 다음 두 종류의 항목은 별도로 표시됩니다.35아래 표에는 Claude Code에 포함된 모든 명령이 나열되어 있습니다. 대부분은 동작이 CLI에 직접 구현된 기본 제공 명령입니다. 다음 두 종류의 항목은 별도로 표시됩니다.

36 36 

37* **[스킬](https://code.claude.com/docs/ko/skills.md#bundled-skills)**: 번들 스킬입니다. 사용자가 직접 작성하는 스킬과 같은 방식으로 작동하며, Claude에게 전달되는 프롬프트입니다.37* **[스킬](https://code.claude.com/docs/ko/skills.md#bundled-skills)**: 번들 스킬입니다. 사용자가 직접 작성하는 스킬과 같은 방식으로 작동하며, Claude에게 전달되는 프롬프트입니다.

38 * `/verify`는 사용자가 호출할 때만 실행됩니다.

39* **[워크플로](https://code.claude.com/docs/ko/workflows.md#bundled-workflows)**: 작업을 여러 서브에이전트에 분산하여 백그라운드에서 실행하는 번들 [동적 워크플로](https://code.claude.com/docs/ko/workflows.md)입니다.38* **[워크플로](https://code.claude.com/docs/ko/workflows.md#bundled-workflows)**: 작업을 여러 서브에이전트에 분산하여 백그라운드에서 실행하는 번들 [동적 워크플로](https://code.claude.com/docs/ko/workflows.md)입니다.

40 * `/deep-research`는 사용자가 호출할 때만 실행됩니다.

41 39 

42직접 명령을 추가하려면 [스킬](https://code.claude.com/docs/ko/skills.md)을 참조하세요.40직접 명령을 추가하려면 [스킬](https://code.claude.com/docs/ko/skills.md)을 참조하세요.

43 41 

Details

71 71 

72애플리케이션 런처에서 **Claude**를 실행하거나 터미널에서 `claude-desktop`을 실행한 후 Anthropic 계정으로 로그인합니다.72애플리케이션 런처에서 **Claude**를 실행하거나 터미널에서 `claude-desktop`을 실행한 후 Anthropic 계정으로 로그인합니다.

73 73 

74Linux 앱은 macOS 및 Windows와 동일한 방식으로 로그인합니다: claude.ai 구독 또는 조직의 SSO를 통해 로그인합니다. API 키 인증의 경우 [CLI](https://code.claude.com/docs/ko/quickstart.md)를 사용하세요. 대신 Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 LLM 게이트웨이와 함께 Desktop을 사용하려면 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 참조하세요. 이러한 배포에서 프록시 서버 및 사용자 지정 인증 기관을 설정하려면 [네트워크 구성](https://code.claude.com/docs/ko/network-config.md)을 참조하세요.74Linux 앱은 macOS 및 Windows와 동일한 방식으로 로그인합니다: claude.ai 구독 또는 조직의 SSO를 통해 로그인합니다. 대신 Claude API 키, Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 LLM 게이트웨이와 함께 Desktop을 사용하려면 [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview)를 참조하세요. 이러한 배포에서 프록시 서버 및 사용자 지정 인증 기관을 설정하려면 [네트워크 구성](https://code.claude.com/docs/ko/network-config.md)을 참조하세요.

75 75 

76### 다운로드한 파일에서 설치76### 다운로드한 파일에서 설치

77 77 

Details

83 83 

84**8. 권한 모드와 모델 선택하기**84**8. 권한 모드와 모델 선택하기**

85 85 

86지침 상자의 도구 모음에서 [권한 모드](#permissions-for-scheduled-tasks)와 모델을 선택합니다. 변경하지 않으면 실행 시 Claude Code 설정과 기본 모델이 사용됩니다.86지침 상자의 도구 모음에서 [권한 모드](#permissions-for-scheduled-tasks)와 모델을 선택합니다.

87 

88* **권한 모드**: 변경하지 않으면 실행 시 Claude Code 설정이 사용됩니다.

89* **모델**: 모델 메뉴에 **Default · Set by admin**이 표시되고 다른 모델을 선택하지 않으면, 실행 시 조직이 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 지정한 모델이 사용됩니다. 앱이 열릴 때 시작되는 [보충 실행](#missed-runs)에서는 대신 [계정의 런타임 기본값](https://code.claude.com/docs/ko/model-config.md#default-model-setting)이 사용될 수 있습니다.

87 90 

88**9. 작업 만들기**91**9. 작업 만들기**

89 92 

90**Create**를 클릭합니다. 아직 폴더를 신뢰하지 않은 경우 Desktop이 이 시점에 폴더를 신뢰하도록 요청합니다. 작업의 세부 정보 페이지가 열립니다.93**Create**를 클릭합니다. 아직 폴더를 신뢰하지 않은 경우 Desktop이 이 시점에 폴더를 신뢰하도록 요청합니다. 작업의 세부 정보 페이지가 열립니다.

91 94 

95**Default · Set by admin**이 어떤 모델을 가리키는지 확인하려면 세부 정보 페이지에서 **Run now**를 클릭하여 작업을 즉시 실행합니다. 그런 다음 [실행의 세션을 엽니다](#find-a-runs-session). 세션에서 프롬프트 상자 아래의 행에 모델 이름이 표시됩니다.

96 

92세부 정보 페이지에서 연필 아이콘을 클릭하면 [**Edit** 양식](#manage-scheduled-tasks)이 열립니다. 여기에서 Desktop이 지침을 바탕으로 채운 **Description**을 변경하거나, **Worktree**를 선택하거나, 일정을 **Manual** 또는 **Custom**으로 전환할 수 있습니다.97세부 정보 페이지에서 연필 아이콘을 클릭하면 [**Edit** 양식](#manage-scheduled-tasks)이 열립니다. 여기에서 Desktop이 지침을 바탕으로 채운 **Description**을 변경하거나, **Worktree**를 선택하거나, 일정을 **Manual** 또는 **Custom**으로 전환할 수 있습니다.

93 98 

94모든 세션에서 원하는 작업을 설명하여 작업을 만들 수도 있습니다. 예를 들어, "매일 아침 9시에 실행되는 일일 코드 리뷰 설정"은 반복 작업을 만듭니다. "내일 오후 3시에 배포 확인을 상기시켜 줘"와 같은 요청은 실행 후 스스로 비활성화되는 일회성 작업을 만듭니다.99모든 세션에서 원하는 작업을 설명하여 작업을 만들 수도 있습니다. 예를 들어, "매일 아침 9시에 실행되는 일일 코드 리뷰 설정"은 반복 작업을 만듭니다. "내일 오후 3시에 배포 확인을 상기시켜 줘"와 같은 요청은 실행 후 스스로 비활성화되는 일회성 작업을 만듭니다.


181 186 

182작업이 `update_scheduled_task` MCP 도구로 자신의 일정이나 프롬프트를 변경하도록 허용하려면 **Run now**를 클릭하고 매번 호출을 승인합니다.187작업이 `update_scheduled_task` MCP 도구로 자신의 일정이나 프롬프트를 변경하도록 허용하려면 **Run now**를 클릭하고 매번 호출을 승인합니다.

183 188 

184디스크에서 작업의 프롬프트를 편집하려면 `~/.claude/scheduled-tasks/<task-name>/SKILL.md`를 엽니다 (설정된 경우 [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ko/env-vars) 아래). 파일은 `name` 및 `description`에 대해 YAML frontmatter를 사용하며, 프롬프트는 본문입니다. 변경 사항은 다음 실행에 적용됩니다. Schedule, folder, model 및 enabled state는 이 파일에 없습니다: Edit 양식을 통해 변경하거나 Claude에게 요청합니다.189디스크에서 작업의 프롬프트를 편집하려면 `~/.claude/scheduled-tasks/<task-name>/SKILL.md`를 엽니다 (설정된 경우 [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ko/env-vars) 아래). 파일은 `name` 및 `description`에 대해 YAML frontmatter를 사용하며, 프롬프트는 본문입니다. 변경 사항은 다음 실행에 적용됩니다. Schedule, folder 및 enabled state는 이 파일에 없습니다: Edit 양식을 통해 변경하거나 Claude에게 요청합니다.

185 190 

186## 관련 리소스191## 관련 리소스

187 192 

errors.md +285 −242

Details

122| `A request to MCP server "<name>" was sent without your stored credentials` | [인증](#couldnt-read-the-stored-credentials-for-mcp-server) |122| `A request to MCP server "<name>" was sent without your stored credentials` | [인증](#couldnt-read-the-stored-credentials-for-mcp-server) |

123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [인증](#mcp-server-url-is-missing-or-not-a-valid-url) |123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [인증](#mcp-server-url-is-missing-or-not-a-valid-url) |

124| `Issuer mismatch in authorization response (RFC 9207)` | [인증](#issuer-mismatch-in-authorization-response) |124| `Issuer mismatch in authorization response (RFC 9207)` | [인증](#issuer-mismatch-in-authorization-response) |

125| `Stopped an OAuth request` | [인증](#stopped-an-oauth-request) |

125| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [인증](#refusing-to-send-credentials-to-non-https-token-endpoint) |126| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [인증](#refusing-to-send-credentials-to-non-https-token-endpoint) |

126| `Cloud gateway session expired — run /login to reconnect.` | [인증](#cloud-gateway-session-expired) |127| `Cloud gateway session expired — run /login to reconnect.` | [인증](#cloud-gateway-session-expired) |

127| `Cloud gateway <url> no longer accepts this session` | [인증](#cloud-gateway-session-expired) |128| `Cloud gateway <url> no longer accepts this session` | [인증](#cloud-gateway-session-expired) |


251| `Ultrareview did not start` | [명령줄 오류](#ultrareview-did-not-start) |252| `Ultrareview did not start` | [명령줄 오류](#ultrareview-did-not-start) |

252| `Remote Control did not start: "<question>" got no answer` | [명령줄 오류](#remote-control-did-not-start-got-no-answer) |253| `Remote Control did not start: "<question>" got no answer` | [명령줄 오류](#remote-control-did-not-start-got-no-answer) |

253| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [명령줄 오류](#not-carried-over-to-the-sessions-remote-control-starts) |254| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [명령줄 오류](#not-carried-over-to-the-sessions-remote-control-starts) |

255| `Remote Control did not start, because sessions would skip part or all of the --settings file` | [명령줄 오류](#remote-control-did-not-start-because-of-the-settings-file) |

256| `The settings file <file> has changed since Remote Control started, so this session did not start` | [명령줄 오류](#settings-file-changed-since-remote-control-started) |

254| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [명령줄 오류](#sandbox-is-not-supported-by-claude-remote-control) |257| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [명령줄 오류](#sandbox-is-not-supported-by-claude-remote-control) |

255| `` `claude import` is not yet available in this build `` | [명령줄 오류](#claude-import-is-not-yet-available-in-this-build) |258| `` `claude import` is not yet available in this build `` | [명령줄 오류](#claude-import-is-not-yet-available-in-this-build) |

256| `Could not read Claude Code config` | [명령줄 오류](#could-not-read-claude-code-config) |259| `Could not read Claude Code config` | [명령줄 오류](#could-not-read-claude-code-config) |


825동일한 Claude 응답의 이후 호출도 다음 사유로 거부될 수 있습니다:828동일한 Claude 응답의 이후 호출도 다음 사유로 거부될 수 있습니다:

826 829 

827```text theme={null}830```text theme={null}

828another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged831another call in this response was changed after auto mode reviewed it, or could not be confirmed unchanged

829```832```

830 833 

831그러면 Claude는 거부된 각 호출을 다시 발급하여 서버가 검토하도록 할 수 있습니다. 권한 프롬프트가 열리면 응답합니다. Claude가 응답에서 자동 모드가 호출을 검사할 수 없었다고 말하지 않는 한 다른 작업은 필요하지 않습니다. 그런 경우 변경을 중지하거나 호출을 직접 승인한 다음 Claude에게 호출을 다시 시도하도록 요청합니다:834그러면 Claude는 거부된 각 호출을 다시 발급하여 서버가 검토하도록 할 수 있습니다. 권한 프롬프트가 열리면 응답합니다. Claude가 응답에서 자동 모드가 호출을 검사할 수 없었다고 말하지 않는 한 다른 작업은 필요하지 않습니다. 그런 경우 변경을 중지하거나 호출을 직접 승인한 다음 Claude에게 호출을 다시 시도하도록 요청합니다:


1822 1825 

1823v2.1.232 이전에는 Claude Code가 점진적 출시 대상이거나 `MCP_SDK_GENERATION=v2`를 설정한 경우에만 v2 런타임을 사용했습니다.1826v2.1.232 이전에는 Claude Code가 점진적 출시 대상이거나 `MCP_SDK_GENERATION=v2`를 설정한 경우에만 v2 런타임을 사용했습니다.

1824 1827 

1828### Stopped an OAuth request

1829 

1830이 메시지는 OAuth 엔드포인트가 리디렉션했기 때문에 Claude Code가 [MCP 서버에 대한 OAuth 요청](https://code.claude.com/docs/ko/mcp.md#authenticate-with-remote-mcp-servers)을 중단했음을 의미합니다. 메시지의 두 가지 형태 모두에서 첫 번째 주소가 리디렉션을 보낸 주소입니다.

1831 

1832```text theme={null}

1833Stopped an OAuth request, which can hold secrets: https://auth.example.com redirected it to https://other.example.com. Ask the owner of https://auth.example.com to remove that redirect.

1834Stopped an OAuth request: https://auth.example.com redirected it more than 5 times. Ask the owner of https://auth.example.com to fix those redirects.

1835```

1836 

1837**해결 방법:**

1838 

1839* MCP 서버 운영자 등 첫 번째 주소를 운영하는 사람에게 리디렉션을 제거하거나 수정하도록 요청합니다. 그런 다음 `/mcp`에서 다시 시도합니다.

1840 

1825### HTTPS가 아닌 토큰 엔드포인트로 자격 증명 전송 거부1841### HTTPS가 아닌 토큰 엔드포인트로 자격 증명 전송 거부

1826 1842 

1827[v2 런타임](https://code.claude.com/docs/ko/mcp.md#mcp-client-runtimes)에서 Claude Code는 HTTPS로 제공되거나 `localhost`, `127.0.0.1`, `::1`에 있는 토큰 엔드포인트에만 [MCP OAuth](https://code.claude.com/docs/ko/mcp.md#authenticate-with-remote-mcp-servers) 토큰 요청을 보냅니다. 이 메시지는 서버의 토큰 엔드포인트가 둘 다 해당하지 않아 Claude Code가 요청을 보내기 전에 중단했다는 뜻입니다. 이는 브라우저 로그인 이후에 발생하므로 브라우저 단계는 먼저 성공하며, Claude Code가 서버의 토큰을 갱신할 때마다 다시 발생합니다.1843[v2 런타임](https://code.claude.com/docs/ko/mcp.md#mcp-client-runtimes)에서 Claude Code는 HTTPS로 제공되거나 `localhost`, `127.0.0.1`, `::1`에 있는 토큰 엔드포인트에만 [MCP OAuth](https://code.claude.com/docs/ko/mcp.md#authenticate-with-remote-mcp-servers) 토큰 요청을 보냅니다. 이 메시지는 서버의 토큰 엔드포인트가 둘 다 해당하지 않아 Claude Code가 요청을 보내기 전에 중단했다는 뜻입니다. 이는 브라우저 로그인 이후에 발생하므로 브라우저 단계는 먼저 성공하며, Claude Code가 서버의 토큰을 갱신할 때마다 다시 발생합니다.


2207 2223 

2208### 클라우드 세션에서 호스트가 허용되지 않음2224### 클라우드 세션에서 호스트가 허용되지 않음

2209 2225 

2210클라우드 세션 또는 클라우드 예약 작업의 아웃바운드 HTTP 요청이 환경의 네트워크 정책에 의해 차단되었습니다.2226클라우드 세션 또는 클라우드 예약 작업에서 `403` 또는 `ENOTFOUND`와 같은 DNS 오류는 요청한 호스트가 [클라우드 환경의 허용 목록](https://code.claude.com/docs/ko/cloud-environments.md#access-levels)에 없음을 의미할 수 있습니다. 확인하려면 해당 목록과 호스트를 대조합니다. 이 헤더가 있는 `403`은 차단을 확인해 주지만, 차단된 모든 요청의 `403`에 이 헤더가 있는 것은 아닙니다:

2211 2227 

2212```text theme={null}2228```text theme={null}

2213HTTP 4032229HTTP 403


2393 2409 

2394## 요청 오류2410## 요청 오류

2395 2411 

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

2397 2413 

2398### Prompt is too long2414### Prompt is too long

2399 2415 

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

2401 2417 

2402```text theme={null}2418```text theme={null}

2403Prompt is too long2419Prompt is too long

2404```2420```

2405 2421 

2406대화형 세션에서 Claude Code는 이 오류를 다음과 같이 표시합니다.2422대화형 세션에서 Claude Code는 이 오류를 다음과 같이 표시합니다:

2407 2423 

2408```text theme={null}2424```text theme={null}

2409Context limit reached · /compact or /clear to continue2425Context limit reached · /compact or /clear to continue

2410```2426```

2411 2427 

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

2413 2429 

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

2415 2431 

2416```text theme={null}2432```text theme={null}

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

2418```2434```

2419 2435 

2420`/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 이전에는 이 줄에 자동 압축 힌트가 포함되지 않았습니다.2436`/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 이전에는 이 줄에 자동 압축 힌트가 없었습니다.

2421 2437 

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

2423 2439 

2424[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가 이 토큰을 인식하지 못했기 때문에 자동 압축이 트리거되지 않았습니다.2440[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가 이 토큰을 인식하지 못해 자동 압축이 트리거되지 않았습니다.

2425 2441 

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

2427 2443 

2428```text theme={null}2444```text theme={null}

2429Prompt is too long · automatic compaction failed: <the underlying error>2445Prompt is too long · automatic compaction failed: <the underlying error>

2430```2446```

2431 2447 

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

2433 2449 

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

2435 2451 

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

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

2438 2454 

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

2440 2456 

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

2442 2458 

2443```text theme={null}2459```text theme={null}

2444Prompt 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.2460Prompt 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.

2445```2461```

2446 2462 

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

2448 2464 

2449```text theme={null}2465```text theme={null}

2450Prompt 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).2466Prompt 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).

2451```2467```

2452 2468 

2453요청의 대부분이 대화 외부에 있는 경우 메시지는 다음과 같습니다.2469요청의 대부분이 대화 외부에 있으면 메시지는 다음과 같습니다:

2454 2470 

2455```text theme={null}2471```text theme={null}

2456Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) but this conversation is only ~<conversation tokens> tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context.2472Prompt is too long · the request is ~<request tokens> tokens (limit <limit>) but this conversation is only ~<conversation tokens> tokens — the rest is system prompt, tool definitions, and attachment content. A single-exchange conversation cannot be compacted; reduce attached files/tools or start with less context.

2457```2473```

2458 2474 

2459v2.1.162 이전에는 Claude Code가 그래도 압축을 시도했고, 실패하면 `Prompt is too long`만 표시했습니다.2475v2.1.162 이전에는 Claude Code가 그럼에도 압축을 시도했고, 실패하면 `Prompt is too long`만 표시했습니다.

2460 2476 

2461**해결 방법:**2477**해결 방법:**

2462 2478 

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

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

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

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

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

2468* 더 큰 컨텍스트를 지원하는 모델에서 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)하십시오.2484* 더 많은 토큰을 허용하는 모델에서 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).

2469 * 사용자 지정 [`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 윈도우 근처에서 요청을 보내는 대신 해당 메시지와 함께 턴을 종료했습니다.2485 * 사용자 지정 [`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 윈도우 근처에서 요청을 보내는 대신 해당 메시지와 함께 턴을 종료했습니다.

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

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

2472 2488 

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

2474 2490 

2475### 컨텍스트가 토큰 한도를 초과함2491### Context exceeds the token limit

2476 2492 

2477대화가 모델의 컨텍스트 윈도우를 넘어설 만큼 커지면 `/context`는 출력 상단에 다음 경고를 표시합니다:2493대화가 모델의 컨텍스트 윈도우를 넘어서면 `/context`는 출력 상단에 다음 경고를 표시합니다:

2478 2494 

2479```text theme={null}2495```text theme={null}

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

2481```2497```

2482 2498 

2483`Context exceeds` 경고가 표시된 후, 기본값인 [자동 압축](https://code.claude.com/docs/ko/settings-reference.md#autocompactenabled)이 켜져 있는 동안에는 두 명령 중 어느 것도 실행할 필요가 없습니다:2499`Context exceeds` 경고가 표시된 후에도 [자동 압축](https://code.claude.com/docs/ko/settings-reference.md#autocompactenabled)이 켜져 있는 동안(기본값)에는 두 명령 중 어느 것도 실행할 필요가 없습니다:

2484 2500 

2485* **자동 압축 켜짐**: 다음 메시지를 보내세요. 여전히 [`Prompt is too long`](#prompt-is-too-long)으로 실패하면 해당 항목을 참조하세요.2501* **자동 압축 켜짐**: 다음 메시지를 보내세요. 여전히 [`Prompt is too long`](#prompt-is-too-long)으로 실패하면 해당 항목을 참조하세요.

2486* **자동 압축 꺼짐**: 세션에서 경고에 `/compact`가 표시되어 있으면 이를 실행하고, 그렇지 않으면 `/clear`를 실행하여 다시 시작하세요. 둘 중 하나를 실행하기 전까지 메시지는 `Context limit reached`로 실패하며, `-p` 출력에서는 `Prompt is too long`으로 실패합니다.2502* **자동 압축 꺼짐**: 세션에서 경고에 `/compact`가 표시되어 있으면 이를 실행하거나, `/clear`를 실행하여 다시 시작하세요. 둘 중 하나를 실행하기 전까지는 메시지가 `Context limit reached`(`-p` 출력에서는 `Prompt is too long`)로 실패합니다.

2487 2503 

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

2489 2505 

2490```text theme={null}2506```text theme={null}

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


2496**해결 방법:**2512**해결 방법:**

2497 2513 

2498* **압축 윈도우 경고 후**: 여러 턴으로 이루어진 대화에서는 `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보하세요. 대신 새로 시작하려면 `/clear`를 실행하세요.2514* **압축 윈도우 경고 후**: 여러 턴으로 이루어진 대화에서는 `/compact`를 실행하여 이전 턴을 요약하고 공간을 확보하세요. 대신 새로 시작하려면 `/clear`를 실행하세요.

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

2500 2516 

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

2502 2518 

2503### Request too large2519### Request too large

2504 2520 

2505토큰화 이전의 원시 요청 본문이 API의 32MB 한도를 초과했습니다. 보통 큰 붙여넣기 내용, 도구 결과 또는 첨부 파일 때문입니다. 이 한도는 [컨텍스트 윈도우](#prompt-is-too-long)와는 별개입니다.2521원시 요청 본문이 토큰화 전에 API의 32MB 한도를 초과했습니다. 대개 크게 붙여넣은 내용, 도구 결과 또는 첨부 파일 때문입니다. 이 한도는 [컨텍스트 윈도우](#prompt-is-too-long)와는 별개입니다.

2506 2522 

2507```text theme={null}2523```text theme={null}

2508Request 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.2524Request 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.

2509```2525```

2510 2526 

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

2512 2528 

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

2514* `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)에서는 대신 입력을 줄이거나 새 세션을 시작하라는 메시지가 표시됩니다.2530* `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)에서는 메시지가 대신 입력을 줄이거나 새 세션을 시작하라고 안내합니다.

2515 2531 

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

2517 2533 

2518**해결 방법:**2534**해결 방법:**

2519 2535 

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

2521* 그렇지 않으면 누적된 이미지와 첨부 파일을 제거하는 `/compact`를 실행하십시오2537* 그렇지 않으면 누적된 이미지와 첨부 파일을 제거하는 `/compact`를 실행하세요

2522* 큰 파일은 내용을 붙여넣는 대신 경로로 참조하여 Claude가 나누어 읽을 수 있도록 하십시오2538* 큰 파일은 내용을 붙여넣는 대신 경로로 참조하여 Claude가 나누어 읽을 수 있도록 하세요

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

2524 2540 

2525### Image was too large2541### Image was too large

2526 2542 

2527붙여넣거나 첨부한 이미지가 API의 크기 또는 해상도 한도를 초과했습니다.2543붙여넣거나 첨부한 이미지가 API의 크기 또는 치수 한도를 초과합니다.

2528 2544 

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

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


2533An 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.2549An 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.

2534```2550```

2535 2551 

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

2537 2553 

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

2539 2555 

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

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

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

2543 2559 

2544**해결 방법:**2560**해결 방법:**

2545 2561 

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

2547* 전체 화면 대신 관련 영역만 더 좁게 스크린샷을 찍으십시오2563* 전체 화면 대신 관련 영역만 좁게 스크린샷을 찍으세요

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

2549 2565 

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

2551 2567 


2563Unable 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.2579Unable 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.

2564```2580```

2565 2581 

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

2583 

2584표시되는 오류에는 이 예시의 `2000x2000px` 대신 `2576x2576px`와 같은 다른 픽셀 한도가 명시될 수 있습니다.

2567 2585 

2568**해결 방법:**2586**해결 방법:**

2569 2587 

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

2571* 메시지에 해상도 또는 크기 한도가 표시되면, 첨부하기 전에 해당 한도 이하로 이미지 크기를 조정하거나 다시 압축하십시오.2589* 메시지에 치수 또는 크기 한도가 표시되면 첨부하기 전에 이미지를 해당 한도 미만으로 크기 조정하거나 다시 압축하세요.

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

2573 2591 

2574### Request rejected as unprocessable by the model2592### Request rejected as unprocessable by the model

2575 2593 

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

2577 2595 

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

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

2580```2598```

2581 2599 

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

2583 2601 

2584**해결 방법:**2602**해결 방법:**

2585 2603 

2586* 이미지나 문서가 포함된 대화에서 메시지가 계속 나타나면 직접 제거하십시오. Esc를 두 번 눌러 이를 추가한 턴 이전으로 되돌아가거나, `/clear`를 실행하여 새로 시작하십시오.2604* 이미지나 문서가 있는 대화에서 메시지가 계속 나타나면 직접 제거하세요. Esc를 두 번 눌러 해당 항목을 추가한 턴 이전으로 돌아가거나, `/clear`를 실행하여 새로 시작하세요.

2587 2605 

2588### PDF 오류2606### PDF 오류

2589 2607 

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

2591 2609 

2592```text theme={null}2610```text theme={null}

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


2597 2615 

2598**해결 방법:**2616**해결 방법:**

2599 2617 

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

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

2602 2620 

2603Claude가 Read 도구로 PDF의 페이지 범위를 읽을 때, 다른 메시지와 함께 읽기가 실패할 수 있습니다.2621Claude가 Read 도구로 PDF의 페이지 범위를 읽을 때 다음과 같은 다른 메시지와 함께 읽기가 실패할 수 있습니다:

2604 2622 

2605```text theme={null}2623```text theme={null}

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

2607```2625```

2608 2626 

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

2610 2628 

2611### Extra inputs are not permitted2629### Extra inputs are not permitted

2612 2630 

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

2614 2632 

2615```text theme={null}2633```text theme={null}

2616API Error: 400 ... context_management: Extra inputs are not permitted2634API Error: 400 ... context_management: Extra inputs are not permitted

2617```2635```

2618 2636 

2619Claude 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)에서 두 경우를 모두 다룹니다.2637Claude 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)에서 두 경우를 모두 다룹니다.

2620 2638 

2621**해결 방법:**2639**해결 방법:**

2622 2640 

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

2624* 메시지에 `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).2642* 메시지에 `defer_loading` 또는 `tool_reference`가 명시되어 있으면 v2.1.305 이상으로 [Claude Code를 업데이트](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).

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

2626* 대안으로, 실행하기 전에 [`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)에서 다룹니다.2644* 대체 방법으로, 실행하기 전에 [`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)에서 다룹니다.

2627 2645 

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

2629 2647 

2630### Tool input schema is invalid2648### 도구 입력 스키마가 유효하지 않음

2631 2649 

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

2633 2651 

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

2635API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid2653API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid


2638 2656 

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

2640 2658 

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

2642 2660 

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

2644 2662 

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

2646 2664 

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

2648 2666 

2649**해결 방법:**2667**해결 방법:**

2650 2668 

2651* 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)하지 않았기 때문에, 해당 도구가 포함된 모든 요청에서 이 오류가 반복되었습니다.2669* 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)하지 않았기 때문에, 해당 도구를 포함한 모든 요청에서 이 오류가 반복되었습니다.

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

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

2654 2672 

2655### 128자를 초과하는 MCP 도구 이름2673### 128자를 초과하는 MCP 도구 이름

2656 2674 

2657MCP 서버가 나열한 도구의 전체 이름(예: `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`의 디버그 로그에 다음 메시지를 기록합니다.2675MCP 서버가 `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`의 디버그 로그에 다음 메시지를 기록합니다:

2658 2676 

2659```text theme={null}2677```text theme={null}

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


2662 2680 

2663**해결 방법:**2681**해결 방법:**

2664 2682 

2665* 서버를 직접 관리한다면 도구 이름을 줄이십시오.2683* 서버를 유지 관리하는 경우 도구 이름을 줄이세요.

2666* 서버가 [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)처럼 이전 이름으로 서버나 도구를 참조하는 항목을 업데이트하십시오.2684* 서버가 [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) 등 이전 이름으로 서버나 해당 도구를 참조하는 항목을 업데이트하세요.

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

2668 2686 

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

2670 2688 

2671### 200자를 초과하는 tool\_use.name2689### 200자를 초과하는 tool\_use.name

2672 2690 

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

2674 2692 

2675```text theme={null}2693```text theme={null}

2676API Error: 400 ... tool_use.name: String should have at most 200 characters2694API Error: 400 ... tool_use.name: String should have at most 200 characters

2677```2695```

2678 2696 

2679Claude Code는 응답이 도착할 때와 저장된 대화를 로드할 때 이런 이름을 200자로 자르므로, 해당 호출은 [`No such tool available`](#no-such-tool-available) 도구 오류로 실패하고 대화는 이 API 오류 없이 계속됩니다.2697Claude Code는 응답이 도착할 때와 저장된 대화를 로드할 때 이러한 이름을 200자로 자르므로, 해당 호출은 [`No such tool available`](#no-such-tool-available) 도구 오류로 실패하고 대화는 이 API 오류 없이 계속됩니다.

2680 2698 

2681**해결 방법:**2699**해결 방법:**

2682 2700 

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

2684 2702 

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

2686 2704 

2687### There's an issue with the selected model2705### There's an issue with the selected model

2688 2706 

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

2690 2708 

2691```text theme={null}2709```text theme={null}

2692There'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.2710There'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.


2694 2712 

2695**해결 방법:**2713**해결 방법:**

2696 2714 

2697* **대화형 CLI**: `/model`을 실행하여 계정에서 사용할 수 있는 모델 중에서 선택하십시오.2715* **대화형 CLI**: `/model`을 실행하여 계정에서 사용할 수 있는 모델 중에서 선택하세요.

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

2699* **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` 오류를 처리하여 자체 재시도 또는 모델 선택기를 표시하십시오.2717* **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` 오류를 처리하여 자체 재시도 또는 모델 선택기를 표시하세요.

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

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

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

2703* [`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`로 켜지 않는 한 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.2721* [`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`로 직접 켠 경우를 제외하고 게이트웨이 뒤에서 도구 검색이 꺼져 있었습니다.

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

2705 2723 

2706### Model is not a recognized model id2724### Model is not a recognized model id

2707 2725 

2708모델 전환에 전달한 문자열이 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)로 실패했습니다.2726모델 전환에 전달한 문자열은 Claude Code가 모델로 사용할 수 있는 문자열이 아니므로, 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)로 실패했습니다.

2709 2727 

2710```text theme={null}2728```text theme={null}

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

2712```2730```

2713 2731 

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

2715 2733 

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

2717 2735 

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

2719 2737 

2720**해결 방법:**2738**해결 방법:**

2721 2739 

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

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

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

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

2726 2744 

2727### Model not found2745### Model not found

2728 2746 

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

2730 2748 

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

2732Model 'claude-opus-9' not found2750Model 'claude-opus-9' not found

2733```2751```

2734 2752 

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

2736 2754 

2737**해결 방법:**2755**해결 방법:**

2738 2756 

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

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

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

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

2743 2761 

2744### Couldn't confirm model with the API2762### Couldn't confirm model with the API

2745 2763 

2746[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초 이내에 응답을 받지 못했습니다. 세션은 현재 모델을 유지합니다.2764[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초 내에 응답을 받지 못했습니다. 세션은 현재 모델을 유지합니다.

2747 2765 

2748```text theme={null}2766```text theme={null}

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

2750```2768```

2751 2769 

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

2753 2771 

2754**해결 방법:**2772**해결 방법:**

2755 2773 

2756* 모델로 다시 전환하십시오2774* 해당 모델로 다시 전환하세요

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

2758 2776 

2759### 선택한 모델을 확인할 때 발생하는 API 오류2777### 선택한 모델을 확인할 때 발생하는 API 오류

2760 2778 

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

2762 2780 

2763```text theme={null}2781```text theme={null}

2764API error: 429 <the server's explanation> · model not changed2782API error: 429 <the server's explanation> · model not changed


2768 2786 

2769**해결 방법:**2787**해결 방법:**

2770 2788 

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

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

2773 2791 

2774### Claude Opus is not available with the Claude Pro plan2792### Claude Opus is not available with the Claude Pro plan

2775 2793 

2776현재 구독 플랜에 선택한 모델이 포함되어 있지 않습니다.2794활성 구독 플랜에 선택한 모델이 포함되어 있지 않습니다.

2777 2795 

2778```text theme={null}2796```text theme={null}

2779Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.2797Claude Opus is not available with the Claude Pro plan. If you have updated your subscription plan recently, run /logout and /login for the plan to take effect.

2780```2798```

2781 2799 

2782Claude Desktop 앱이 실행하는 세션에서는 메시지가 명령 이름 대신 `sign out and sign in again`이라고 안내합니다.2800Claude Desktop 앱이 실행하는 세션에서는 메시지가 명령 이름을 표시하는 대신 `sign out and sign in again`하라고 안내합니다.

2783 2801 

2784**해결 방법:**2802**해결 방법:**

2785 2803 

2786* `/model`을 실행하여 플랜에 포함된 모델을 선택하십시오2804* `/model`을 실행하고 플랜에 포함된 모델을 선택하세요

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

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

2789 2807 

2790### Claude Code does not support this model2808### Claude Code does not support this model

2791 2809 

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

2793 2811 

2794```text theme={null}2812```text theme={null}

2795API 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.2813API 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.

2796```2814```

2797 2815 

2798조직 정책 문구는 다음과 같습니다.2816조직 정책 문구는 다음과 같습니다:

2799 2817 

2800```text theme={null}2818```text theme={null}

2801API 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.2819API 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.

2802```2820```

2803 2821 

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

2805 2823 

2806**해결 방법:**2824**해결 방법:**

2807 2825 

2808해당 바이너리를 업데이트한 후 새 세션을 시작하십시오. [자체 호스팅 환경](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#pin-the-version)을 제외하면, 바이너리의 출처에 따라 업데이트 방법이 결정됩니다.2826해당 바이너리를 업데이트한 후 새 세션을 시작하세요. [자체 호스팅 환경](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#pin-the-version)을 제외하면, 바이너리의 출처에 따라 방법이 달라집니다:

2809 2827 

2810| 요청을 보낸 바이너리 | 업데이트 방법 |2828| 요청을 보낸 바이너리 | 업데이트 방법 |

2811| :- | :- |2829| :- | :- |

2812| 직접 설치한 Claude Code | `claude update` 실행 |2830| 직접 설치한 Claude Code | `claude update` 실행 |

2813| Claude desktop 앱 | 앱 업데이트 |2831| Claude 데스크톱 앱 | 앱 업데이트 |

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

2815| 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)의 경우 다시 빌드 |2833| 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)에서는 다시 빌드합니다 |

2816 2834 

2817* [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)으로 채널이나 버전을 고정한 경우 관리자에게 변경을 요청하십시오2835* [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)을 통해 채널이나 버전을 고정한 경우 관리자에게 변경을 요청하세요

2818* 모델별 문구의 경우, 다른 모델로 전환하여 현재 세션에서 계속 작업할 수 있습니다. 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)을 호출하십시오2836* 모델별 문구의 경우 다른 모델로 전환하여 현재 세션에서 계속 작업할 수 있습니다. 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)을 호출하세요

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

2820 2838 

2821### Model is restricted by your organization's settings2839### Model is restricted by your organization's settings

2822 2840 

2823조직 관리자가 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 관리 콘솔에서 세션이 실행 중인 모델을 비활성화하면, 대체 알림이 세션 도중에도 나타날 수 있습니다.2841조직 관리자가 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 관리 콘솔에서 세션이 실행 중인 모델을 비활성화하면 대체 알림이 세션 도중에 나타날 수도 있습니다.

2824 2842 

2825```text theme={null}2843```text theme={null}

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

2827```2845```

2828 2846 

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

2830 2848 

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

2832 2850 

2833Claude 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 이전에는 같은 계열의 이전 버전이 허용되더라도 계열 별칭이 최신 버전만을 기준으로 대체되거나 거부되었습니다.2851Claude 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 이전에는 같은 패밀리의 이전 버전이 허용되더라도 패밀리 별칭이 최신 버전만을 기준으로 대체되거나 거부되었습니다.

2834 2852 

2835**해결 방법:**2853**해결 방법:**

2836 2854 

2837* `/model`을 실행하여 조직이 허용하는 모델 중에서 선택하십시오. 제한된 모델은 선택기에서 숨겨집니다.2855* `/model`을 실행하여 조직이 허용하는 모델 중에서 선택하세요. 제한된 모델은 선택기에서 숨겨집니다.

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

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

2840 2858 

2841### Can't switch to the default model2859### Can't switch to the default model

2842 2860 

2843`/model` 선택기에서 Default 행을 선택하거나 `/model default`를 입력하는 등의 방법으로 Default 모델을 선택했습니다. Claude Code가 전환을 거부했으므로 세션은 현재 모델을 유지합니다.2861예를 들어 `/model` 선택기에서 Default 행을 선택하거나 `/model default`를 입력하여 Default 모델을 선택했습니다. Claude Code가 전환을 거부했으므로 세션은 현재 모델을 유지합니다.

2844 2862 

2845```text theme={null}2863```text theme={null}

2846Can'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".2864Can'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".

2847```2865```

2848 2866 

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

2850 2868 

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

2852* **`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 옵션이 해석되는 모델이 포함되어 있지 않습니다2870* **`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 옵션이 확인되는 모델이 포함되어 있지 않습니다

2853* **`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는 확인 없이 전환을 적용하는 대신 전환을 거부합니다2871* **`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는 확인되지 않은 상태로 전환을 적용하는 대신 전환을 거부합니다

2854 2872 

2855**해결 방법:**2873**해결 방법:**

2856 2874 

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

2858* 관리자에게 메시지에 표시된 관리형 설정을 업데이트해 달라고 요청하십시오2876* 메시지에 명시된 관리형 설정을 업데이트하도록 관리자에게 요청하세요

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

2860 2878 

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

2862 2880 

2863### Model switch was blocked by a PreModelSwitch hook2881### Model switch was blocked by a PreModelSwitch hook

2864 2882 

2865[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`으로 표시됩니다.2883[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`으로 표시됩니다.

2866 2884 

2867```text theme={null}2885```text theme={null}

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

2869```2887```

2870 2888 

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

2872 2890 

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

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

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

2876* **`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`를 실행하고 다시 전환하여 세부 정보를 캡처한 후, 플러그인을 수정하거나 관리자에게 수정을 요청하십시오.2894* **`so organization-managed PreModelSwitch hooks could not be checked`**: v2.1.323 이전의 Claude Code는 [관리형 플러그인](https://code.claude.com/docs/ko/settings-reference.md#enabledplugins)이 제공하는 PreModelSwitch 훅을 파악할 수 없으면 전환을 거부합니다. 이 문구 앞의 텍스트는 무엇이 실패했는지 나타냅니다. 거부를 멈추려면 Claude Code를 업데이트하세요. 실패한 플러그인의 훅도 실행되도록 하려면 플러그인을 수정하거나 관리자에게 문의하세요. 자세한 내용을 확인하려면 셸에서 `claude --debug`를 시작하고 모델을 전환한 다음 [디버그 로그](https://code.claude.com/docs/ko/hooks.md#debug-hooks)를 읽으세요.

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

2878 2896 

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

2880 2898 

2881### Couldn't save it as your default2899### Couldn't save it as your default

2882 2900 

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

2884 2902 

2885```text theme={null}2903```text theme={null}

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

2887```2905```

2888 2906 

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

2890 2908 

2891* **`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)를 참조하십시오.2909* **`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)을 참조하세요.

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

2893 2911 

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

2895 2913 

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

2897 2915 

2898### Advisor is less capable than the current main model2916### Advisor is less capable than the current main model

2899 2917 

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

2901 2919 

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

2903Advisor set to Opus 4.82921Advisor set to Opus 4.8

2904Note: 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.2922Note: 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.

2905```2923```

2906 2924 

2907다른 메시지도 같은 상태를 보고합니다.2925다른 메시지도 같은 상태를 보고합니다:

2908 2926 

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

2910* [비대화형 모드](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)에만 기록합니다.2928* [비대화형 모드](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)에만 기록합니다.

2911 2929 

2912**해결 방법:**2930**해결 방법:**

2913 2931 

2914* 순위가 더 높은 advisor나 순위가 더 낮은 메인 모델을 선택하십시오. [advisor 모델 선택](https://code.claude.com/docs/ko/advisor.md#choose-an-advisor-model)에서 순위를 확인하고 각 메인 모델에 허용되는 advisor 목록을 볼 수 있습니다.2932* 순위가 더 높은 어드바이저나 순위가 더 낮은 메인 모델을 선택하세요. [어드바이저 모델 선택](https://code.claude.com/docs/ko/advisor.md#choose-an-advisor-model)에서 순위를 보여 주고 각 메인 모델에 허용되는 어드바이저를 나열합니다.

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

2916 2934 

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

2918 2936 

2919### thinking.type.enabled is not supported for this model2937### thinking.type.enabled is not supported for this model

2920 2938 

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

2922 2940 

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

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


2926 2944 

2927**해결 방법:**2945**해결 방법:**

2928 2946 

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

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

2931* 업그레이드할 수 없다면 `/model`을 실행하고 대신 Opus 4.6 또는 Sonnet 4.6을 선택하십시오2949* 업그레이드할 수 없으면 `/model`을 실행하고 대신 Opus 4.6 또는 Sonnet 4.6을 선택하세요

2932* [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 이상이 필요합니다2950* [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 이상이 필요합니다

2933 2951 

2934### Effort isn't available with thinking turned off2952### Effort isn't available with thinking turned off

2935 2953 

2936[확장 사고](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가 요청을 거부했습니다.2954[확장 사고](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가 요청을 거부했습니다.

2937 2955 

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

2939API 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)2957API 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)


2943 2961 

2944**해결 방법:**2962**해결 방법:**

2945 2963 

2946* [effort 수준을 낮추어](https://code.claude.com/docs/ko/model-config.md#set-the-effort-level) `high` 이하로 설정하십시오.2964* [effort 수준을 낮춰](https://code.claude.com/docs/ko/model-config.md#set-the-effort-level) `high` 이하로 설정하세요.

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

2948 2966 

2949v2.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`로 요청을 보냅니다.2967v2.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`를 보냅니다.

2950 2968 

2951### 사고 예산이 출력 한도를 초과함2969### 사고 예산이 출력 한도를 초과함

2952 2970 

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

2954 2972 

2955```text theme={null}2973```text theme={null}

2956API Error: 400 ... max_tokens must be greater than thinking.budget_tokens2974API Error: 400 ... max_tokens must be greater than thinking.budget_tokens


2958 2976 

2959**해결 방법:**2977**해결 방법:**

2960 2978 

2961* [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](https://code.claude.com/docs/ko/env-vars)를 사고 예산보다 높게 설정하십시오2979* [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](https://code.claude.com/docs/ko/env-vars)를 사고 예산보다 높게 올리세요

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

2963 2981 

2964### Response exceeded the output token maximum2982### Response exceeded the output token maximum

2965 2983 

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

2967 2985 

2968```text theme={null}2986```text theme={null}

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

2970API 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.2988API 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.

2971```2989```

2972 2990 

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

2974 2992 

2975**해결 방법:**2993**해결 방법:**

2976 2994 

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

2978* 메시지에서 `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)을 참조하십시오2996* 메시지에서 `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)을 참조하세요

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

2980 2998 

2981### 도구 사용 또는 thinking 블록 불일치2999### 도구 사용 또는 thinking 블록 불일치

2982 3000 


2990API Error: 400 ... thinking blocks ... cannot be modified3008API Error: 400 ... thinking blocks ... cannot be modified

2991```3009```

2992 3010 

2993모든 변형은 같은 의미입니다. 기록에 있는 `tool_use`, `tool_result`, `thinking` 블록의 순서가 더 이상 API가 기대하는 것과 일치하지 않습니다.3011모든 변형은 같은 의미입니다. 기록의 `tool_use`, `tool_result`, `thinking` 블록 순서가 더 이상 API가 예상하는 것과 일치하지 않습니다.

2994 3012 

2995**해결 방법:**3013**해결 방법:**

2996 3014 

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

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

2999 3017 

3000### Invalid data in redacted\_thinking block3018### Invalid data in redacted\_thinking block

3001 3019 

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

3003 3021 

3004```text theme={null}3022```text theme={null}

3005API Error: 400 ... Invalid `data` in `redacted_thinking` block3023API Error: 400 ... Invalid `data` in `redacted_thinking` block

3006```3024```

3007 3025 

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

3009 3027 

3010**해결 방법:**3028**해결 방법:**

3011 3029 

3012* v2.1.281 이하 버전을 사용 중이고 모든 턴이 이 오류로 실패한다면 `claude update`를 실행하고 세션을 재개하십시오3030* v2.1.281 이하를 사용 중이고 모든 턴이 이 오류로 실패하면 `claude update`를 실행하고 세션을 재개하세요

3013* 오류가 지속되면 `/clear`를 실행하여 해당 블록이 포함되지 않은 대화를 시작하십시오3031* 오류가 지속되면 `/clear`를 실행하여 해당 블록이 포함되지 않은 대화를 시작하세요

3014 3032 

3015### Unsupported tool content removed3033### Unsupported tool content removed

3016 3034 

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

3018 3036 

3019```text theme={null}3037```text theme={null}

3020[Unsupported tool content removed]3038[Unsupported tool content removed]

3021```3039```

3022 3040 

3023이러한 콘텐츠는 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 오류로 실패했습니다.3041이러한 콘텐츠는 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 오류로 실패했습니다.

3024 3042 

3025**해결 방법:**3043**해결 방법:**

3026 3044 

3027* 자리 표시 줄이 보이는 경우에는 조치가 필요하지 않습니다. 세션은 제거된 콘텐츠 없이 계속됩니다.3045* 자리 표시자 줄이 표시되는 경우에는 조치가 필요하지 않습니다. 세션은 제거된 콘텐츠 없이 계속됩니다.

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

3029 3047 

3030### role 'system' must precede an 'assistant' message3048### role 'system' must precede an 'assistant' message

3031 3049 

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

3033 3051 

3034```text theme={null}3052```text theme={null}

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

3036```3054```

3037 3055 

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

3039 3057 

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

3041 3059 

3042**해결 방법:**3060**해결 방법:**

3043 3061 

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

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

3046 3064 

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

3048 3066 

3049### Invalid encrypted\_content in search\_result block3067### Invalid encrypted\_content in search\_result block

3050 3068 

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

3052 3070 

3053```text theme={null}3071```text theme={null}

3054API Error: 400 ... Invalid `encrypted_content` in `search_result` block3072API Error: 400 ... Invalid `encrypted_content` in `search_result` block


3057API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block3075API Error: 400 ... Invalid `encrypted_stdout` in `encrypted_code_execution_result` block

3058```3076```

3059 3077 

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

3061 3079 

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

3063 3081 

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

3065 3083 

3066**해결 방법:**3084**해결 방법:**

3067 3085 

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

3069* 오류가 지속되거나 메시지에 `encrypted_stdout`이 표시된다면, `/rewind`를 실행하여 해당 콘텐츠를 추가한 턴 이전의 체크포인트로 되돌아가거나, `/clear`를 실행하여 해당 콘텐츠가 포함되지 않은 대화를 시작하십시오3087* 오류가 지속되거나 메시지에 `encrypted_stdout`이 명시되어 있으면 `/rewind`를 실행하여 해당 콘텐츠를 추가한 턴 이전의 체크포인트로 돌아가거나, `/clear`를 실행하여 해당 콘텐츠가 포함되지 않은 대화를 시작하세요

3070* 프록시나 게이트웨이 뒤에서 Claude Code를 실행한다면 운영자에게 오류를 보고하십시오3088* 프록시나 게이트웨이 뒤에서 Claude Code를 실행하는 경우 해당 운영자에게 오류를 보고하세요

3071 3089 

3072### Usage Policy refusal3090### 사용 정책 거부

3073 3091 

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

3075 3093 

3076메시지에 `` Details: `[reasoning_extraction]` `` 줄이 포함되어 있다면 [Claude의 추론을 요청하는 요청이 세이프가드에 의해 플래그됨](#safeguards-flagged-a-request-for-claudes-reasoning)을 참조하십시오.3094메시지에 `` Details: `[reasoning_extraction]` `` 줄이 포함되어 있다면 [안전 장치가 Claude의 추론을 요구하는 요청을 플래그 처리함](#safeguards-flagged-a-request-for-claudes-reasoning)을 참조하십시오.

3077 3095 

3078메시지에는 거부가 잘못되었다고 판단될 경우 지원팀에 전달할 수 있는 Request ID와 Message ID가 포함되어 있습니다.3096메시지에는 Request ID와 Message ID가 포함되어 있으며, 거부가 잘못되었다고 판단되는 경우 지원팀에 문의할 때 이를 인용할 수 있습니다.

3079 3097 

3080```text theme={null}3098```text theme={null}

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


3083Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup3101Send feedback with /feedback or learn more: https://www.anthropic.com/legal/aup

3084```3102```

3085 3103 

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

3087 3105 

3088이 검사는 최신 프롬프트만이 아니라 전체 대화를 평가하므로, 같은 세션에서 새 메시지를 보내면 대개 동일한 거부가 다시 트리거됩니다. 세션을 종료한 후 `--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)을 참조하십시오.3106이 검사는 최신 프롬프트뿐만 아니라 전체 대화를 평가하므로, 같은 세션에서 새 메시지를 보내면 대개 같은 거부가 다시 트리거됩니다. 세션을 종료한 후 `--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)을 참조하십시오.

3089 3107 

3090v2.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.`로 표시되었습니다.3108v2.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.`로 표시되었습니다.

3091 3109 

3092**해결 방법:**3110**해결 방법:**

3093 3111 

3094* Esc를 두 번 누르거나 `/rewind`를 실행하여 거부를 트리거한 턴 이전의 체크포인트로 되돌아간 다음, 표현을 바꾸거나 다른 접근 방식을 사용하십시오. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오.3112* Esc를 두 번 누르거나 `/rewind`를 실행하여 거부를 트리거한 턴 이전의 체크포인트로 되돌아간 다음, 표현을 바꾸거나 다른 접근 방식을 사용합니다. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오.

3095* 어떤 턴이 원인인지 파악할 수 없다면 `/clear`를 실행하여 같은 프로젝트에서 새 대화를 시작하십시오. 이전 대화는 디스크에 보존되며 `/resume`에서 계속 사용할 수 있습니다.3113* 어떤 턴이 원인인지 파악할 수 없다면 `/clear`를 실행하여 같은 프로젝트에서 새 대화를 시작합니다. 이전 대화는 디스크에 보존되며 `/resume`에서 계속 사용할 수 있습니다.

3096* 되감기를 사용할 수 없는 [비대화형 모드](https://code.claude.com/docs/ko/headless.md)(`-p`)에서는 `--continue` 없이 새 세션에서 표현을 바꾼 프롬프트로 재시도하십시오. 정책 검사는 모델마다 다르므로 `--model`로 다른 모델로 전환하면 경우에 따라 거부가 해결될 수도 있습니다.3114* 되감기를 사용할 수 없는 [비대화형 모드](https://code.claude.com/docs/ko/headless.md)(`-p`)에서는 `--continue` 없이 새 세션에서 표현을 바꾼 프롬프트로 재시도합니다. 정책 검사는 모델마다 다르므로, 경우에 따라 `--model`로 다른 모델로 전환하는 것도 거부를 해결할 수 있습니다.

3097 3115 

3098### Safety measures flagged a cybersecurity topic3116### 안전 조치가 사이버 보안 주제를 플래그 처리함

3099 3117 

3100모델의 안전 조치가 대화의 콘텐츠를 사이버 보안 주제로 플래그했습니다. 메시지에는 요청을 플래그한 모델의 이름이 표시됩니다.3118모델의 안전 조치가 대화의 콘텐츠를 사이버 보안 주제로 플래그 처리했습니다. 메시지에는 요청을 플래그 처리한 모델의 이름이 표시됩니다.

3101 3119 

3102```text theme={null}3120```text theme={null}

3103API 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-claude3121API 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

3104```3122```

3105 3123 

3106메시지에 `` Details: `[reasoning_extraction]` `` 줄이 포함되어 있다면 [Claude의 추론을 요청하는 요청이 세이프가드에 의해 플래그됨](#safeguards-flagged-a-request-for-claudes-reasoning)을 참조하십시오.3124메시지에 `` Details: `[reasoning_extraction]` `` 줄이 포함되어 있다면 [안전 장치가 Claude의 추론을 요구하는 요청을 플래그 처리함](#safeguards-flagged-a-request-for-claudes-reasoning)을 참조하십시오.

3107 3125 

3108이 메시지는 정당한 사이버 보안 작업에 대한 액세스 권한을 부여하는 [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가 대신 모델을 전환하는 경우도 다룹니다.3126이 메시지는 합법적인 사이버 보안 작업을 위한 액세스 권한을 부여하는 [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가 대신 모델을 전환하는 경우도 다룹니다.

3109 3127 

3110[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) 메시지가 표시됩니다.3128[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) 메시지가 표시됩니다.

3111 3129 

3112**해결 방법:**3130**해결 방법:**

3113 3131 

3114* 작업에 이 콘텐츠가 필요한 경우 [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)을 통해 액세스를 신청하십시오3132* 작업에 이 콘텐츠가 필요한 경우 [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)을 통해 액세스를 신청합니다

3115* 요청이 사이버 보안 주제와 관련이 없었다면 `/feedback`을 실행하여 오탐을 보고하십시오3133* 요청이 사이버 보안 주제와 관련이 없었다면 `/feedback`을 실행하여 오탐을 신고합니다

3116* 같은 세션에서 작업을 계속하려면 Esc를 두 번 누르거나 `/rewind`를 실행하여 플래그를 트리거한 턴 이전의 체크포인트로 되돌아간 다음 다른 접근 방식을 사용하십시오. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오.3134* 같은 세션에서 계속 작업하려면 Esc를 두 번 누르거나 `/rewind`를 실행하여 플래그를 트리거한 턴 이전의 체크포인트로 되돌아간 다음, 다른 접근 방식을 사용합니다. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오.

3117 3135 

3118표시된 메시지가 대신 다음 중 하나와 같은 문구라면, 이전 Claude Code 버전에서 발생한 동일한 플래그입니다.3136표시되는 메시지가 대신 다음 중 하나와 같은 문구라면, 이전 Claude Code 버전에서 발생한 동일한 플래그입니다.

3119 3137 

3120* v2.1.219부터 v2.1.296까지는 메시지의 마지막 문장 앞에 `Apply to the Cyber Verification Program to reduce these interruptions.`가 포함될 수도 있었습니다3138* v2.1.219부터 v2.1.296까지는 메시지의 마지막 문장 앞에 `Apply to the Cyber Verification Program to reduce these interruptions.`가 포함될 수도 있었습니다

3121* 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.`가 이어서 표시되었습니다.3139* 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.`가 표시되었습니다

3122* 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:`으로 표시되고 그 뒤에 예외 신청 양식 링크가 이어졌습니다3140* 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:` 뒤에 예외 신청 양식 링크가 이어지는 형태로 표시되었습니다

3123 3141 

3124### Claude의 추론을 요청하는 요청이 세이프가드에 의해 플래그됨3142### 안전 장치가 Claude의 추론을 요구하는 요청을 플래그 처리함

3125 3143 

3126세이프가드가 요청을 모델의 내부 추론을 응답에 재현하도록 요구하는 것으로 플래그했기 때문에 API가 요청을 거부했습니다. API는 이 [거부 범주](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#refusal-response)를 `reasoning_extraction`이라고 부르며, 거부 메시지에는 다음 줄이 포함됩니다.3144안전 장치가 해당 요청을 모델에게 내부 추론을 응답에 재현하도록 요구하는 것으로 플래그 처리하여 API가 요청을 거부했습니다. API는 이 [거부 범주](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#refusal-response)를 `reasoning_extraction`으로 명명하며, 거부 메시지에는 다음 줄이 포함됩니다.

3127 3145 

3128```text theme={null}3146```text theme={null}

3129Details: `[reasoning_extraction]`3147Details: `[reasoning_extraction]`


3133 3151 

3134**해결 방법:**3152**해결 방법:**

3135 3153 

3136* Claude에게 사고 또는 추론을 그대로 또는 고정된 형식으로 작성하도록 요청하는 지시를 제거하거나 표현을 바꾸십시오. 예를 들어 `<thinking>` 섹션, 스크래치패드 섹션, JSON 출력의 `reasoning` 필드 등이 있습니다. 이러한 지시는 프롬프트에 있을 수도 있고, CLAUDE.md, 스킬, 서브에이전트 프롬프트, 출력 스타일, MCP 도구 설명처럼 Claude Code가 프롬프트와 함께 로드하는 사용자 지정 항목에 있을 수도 있습니다.3154* Claude에게 사고나 추론을 그대로 또는 고정된 형식으로 작성하도록 요구하는 지시를 제거하거나 표현을 바꿉니다. 예를 들어 `<thinking>` 섹션, 스크래치패드 섹션, JSON 출력의 `reasoning` 필드 등이 있습니다. 이러한 지시는 프롬프트에 있을 수도 있고, CLAUDE.md, 스킬, 서브에이전트 프롬프트, 출력 스타일, MCP 도구 설명처럼 Claude Code가 프롬프트와 함께 로드하는 사용자 지정 항목에 있을 수도 있습니다.

3137* 사용자 지정 항목이 원인인지 확인하려면 터미널에서 [`claude --safe-mode`](https://code.claude.com/docs/ko/cli-reference#cli-flags)를 실행하여 사용자 지정 항목이 비활성화된 세션을 시작한 다음 같은 프롬프트를 보내십시오3155* 사용자 지정 항목이 트리거인지 확인하려면 터미널에서 [`claude --safe-mode`](https://code.claude.com/docs/ko/cli-reference#cli-flags)를 실행하여 사용자 지정 항목이 비활성화된 세션을 시작한 다음, 같은 프롬프트를 보냅니다

3138* 사용자 지정 항목을 변경한 후에는 새 세션을 시작하십시오3156* 사용자 지정 항목을 변경한 후에는 새 세션을 시작합니다

3139* 이미 보낸 프롬프트의 표현을 바꾸려면 [되감기 및 요약](https://code.claude.com/docs/ko/checkpointing.md#rewind-and-summarize)을 참조하십시오3157* 이미 보낸 프롬프트의 표현을 바꾸려면 [되감기 및 요약](https://code.claude.com/docs/ko/checkpointing.md#rewind-and-summarize)을 참조하십시오

3140* Claude에게 답변을 설명해 달라고 요청하는 것은 여전히 가능합니다. 간단한 설명, 결과의 근거, 또는 수행한 작업의 요약을 요청하십시오. Claude의 사고 요약을 보려면 [`showThinkingSummaries`](https://code.claude.com/docs/ko/settings-reference#showthinkingsummaries)를 참조하십시오.3158* Claude에게 답변을 설명해 달라고 요청하는 것은 여전히 가능합니다. 간단한 설명, 결과의 근거, 또는 수행한 작업의 요약을 요청하십시오. Claude의 사고 요약을 읽으려면 [`showThinkingSummaries`](https://code.claude.com/docs/ko/settings-reference#showthinkingsummaries)를 참조하십시오.

3141* 더 많은 예시와 표현을 바꾼 요청이 여전히 거부될 때의 해결 방법은 [추론을 thinking 블록에 유지하기](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#keep-reasoning-in-thinking-blocks)를 참조하십시오3159* 더 많은 예시와 표현을 바꾼 요청이 여전히 거부되는 경우의 해결 방법은 [추론을 thinking 블록에 유지하기](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#keep-reasoning-in-thinking-blocks)를 참조하십시오

3142 3160 

3143### Output blocked by content filtering policy3161### Output blocked by content filtering policy

3144 3162 


3150 3168 

3151**해결 방법:**3169**해결 방법:**

3152 3170 

3153* 마지막 메시지의 표현을 바꾸거나 다른 접근 방식을 사용하십시오3171* 마지막 메시지의 표현을 바꾸거나 다른 접근 방식을 사용합니다

3154* 차단을 트리거한 턴 이전의 체크포인트로 되돌아가려면 Esc를 두 번 누르거나 `/rewind`를 실행하십시오. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오3172* 차단을 트리거한 턴 이전의 체크포인트로 되돌아가려면 Esc를 두 번 누르거나 `/rewind`를 실행합니다. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하십시오

3155 3173 

3156## 명령줄 오류3174## 명령줄 오류

3157 3175 


3499* **`Error: Workspace not trusted. <folder> is your home directory`**: 홈 디렉터리에 대한 신뢰는 저장되지 않으므로, 그곳에서 먼저 `claude`를 실행해도 도움이 되지 않습니다. 대신 프로젝트 디렉터리에서 `claude`를 한 번 실행하여 신뢰 대화 상자를 수락한 후 그곳에서 `claude ultrareview`를 실행하거나, `--trust-workspace`를 추가합니다.3517* **`Error: Workspace not trusted. <folder> is your home directory`**: 홈 디렉터리에 대한 신뢰는 저장되지 않으므로, 그곳에서 먼저 `claude`를 실행해도 도움이 되지 않습니다. 대신 프로젝트 디렉터리에서 `claude`를 한 번 실행하여 신뢰 대화 상자를 수락한 후 그곳에서 `claude ultrareview`를 실행하거나, `--trust-workspace`를 추가합니다.

3500* **`No answer in time.` 다음에 `Error: Workspace not trusted`**: `Trust <folder>? [y/N]` 질문에 5분 동안 응답이 없었습니다. `claude ultrareview`를 다시 실행하고 질문에 답합니다.3518* **`No answer in time.` 다음에 `Error: Workspace not trusted`**: `Trust <folder>? [y/N]` 질문에 5분 동안 응답이 없었습니다. `claude ultrareview`를 다시 실행하고 질문에 답합니다.

3501* **`Ultrareview did not start: <folder> is not trusted`**: 예를 들어 `n`으로 답하거나 Enter를 눌러 `Trust <folder>? [y/N]` 질문을 거절했습니다. 리뷰를 시작하려면 `claude ultrareview`를 다시 실행하고 `y`로 답합니다.3519* **`Ultrareview did not start: <folder> is not trusted`**: 예를 들어 `n`으로 답하거나 Enter를 눌러 `Trust <folder>? [y/N]` 질문을 거절했습니다. 리뷰를 시작하려면 `claude ultrareview`를 다시 실행하고 `y`로 답합니다.

3502* **``Ultrareview did not start: `--trust-workspace` takes no value``**: PR 번호나 `false`처럼 플래그가 아닌 값이 `--trust-workspace` 뒤에 있습니다. 폴더를 신뢰하지 않는다면 플래그를 빼십시오. 이번 실행에 대해 신뢰하려면 PR 번호나 베이스 브랜치를 플래그 앞에 둡니다: `claude ultrareview 1234 --trust-workspace`.3520* **``Ultrareview did not start: `--trust-workspace` takes no value``**: PR 번호나 `false`처럼 플래그가 아닌 것이 `--trust-workspace` 뒤에 옵니다. 폴더를 신뢰하지 않는다면 플래그를 빼세요. 이번 실행에 대해 신뢰하려면 PR 번호나 기본 브랜치를 플래그 앞에 둡니다: `claude ultrareview 1234 --trust-workspace`.

3503 3521 

3504v2.1.309 이전에는 `claude ultrareview`가 `--trust-workspace`를 받지 않았습니다.3522v2.1.309 이전에는 `claude ultrareview`가 `--trust-workspace`를 받지 않았습니다.

3505 3523 


3522`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는 플래그 이름을 표시하며 시작을 거부합니다:3540`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는 플래그 이름을 표시하며 시작을 거부합니다:

3523 3541 

3524```text theme={null}3542```text theme={null}

3525Error: `--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`).3543Error: `--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`). Pass settings with `claude remote-control --settings <file>`.

3526```3544```

3527 3545 

3528`--verbose`, `--model`, 또는 래퍼가 주입한 `--session-id`나 `--plugin-dir`처럼 무시해도 문제없는 전역 플래그는 Claude Code가 거부하지 않습니다. 이러한 플래그는 무시되고 Remote Control이 시작됩니다.3546`--verbose`, `--model`, 또는 래퍼가 주입한 `--session-id`나 `--plugin-dir`처럼 무시해도 문제없는 전역 플래그는 Claude Code가 거부하지 않습니다. 이러한 플래그는 무시되고 Remote Control이 시작됩니다.


3536 3554 

3537v2.1.248 이전에는 전역 플래그가 먼저 오면 `claude remote-control`이 자체 플래그를 받지 않았으며, 명령이 `unknown option` 오류로 실패했습니다.3555v2.1.248 이전에는 전역 플래그가 먼저 오면 `claude remote-control`이 자체 플래그를 받지 않았으며, 명령이 `unknown option` 오류로 실패했습니다.

3538 3556 

3557### `--settings` 파일 때문에 Remote Control이 시작되지 않음

3558 

3559[`claude remote-control --settings`](https://code.claude.com/docs/ko/remote-control#start-a-remote-control-session)에 전달한 파일에 문제가 있습니다:

3560 

3561```text theme={null}

3562Error: Remote Control did not start, because sessions would skip part or all of the --settings file ./rc-settings.json: Invalid or malformed JSON

3563```

3564 

3565**해결 방법:**

3566 

3567* 메시지에 언급된 문제를 수정한 후 `claude remote-control` 명령을 다시 실행합니다

3568 

3569### Remote Control 시작 이후 설정 파일이 변경됨

3570 

3571`claude remote-control`을 실행 중인 터미널에 이 메시지가 표시되면, [`--settings`](https://code.claude.com/docs/ko/remote-control#start-a-remote-control-session)에 전달한 파일의 현재 상태로는 세션이 시작되지 않는다는 의미입니다:

3572 

3573```text theme={null}

3574Session failed: Error: The settings file /path/to/settings.json has changed since Remote Control started, so this session did not start. Restart `claude remote-control` to use it as it is now.

3575```

3576 

3577**해결 방법:**

3578 

3579* 파일을 현재 상태로 사용하려면 `claude remote-control`을 중지하고 같은 명령을 다시 실행합니다. 서버가 제공하던 세션을 다시 불러오려면 [서버 중지 후 세션 재개하기](https://code.claude.com/docs/ko/remote-control.md#resume-sessions-after-stopping-the-server)를 참조하세요.

3580* Remote Control이 시작될 때의 설정을 유지하려면 파일 내용을 원래대로 되돌린 다음, `claude remote-control`이 종료된 경우 명령을 다시 실행합니다

3581 

3539### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3582### `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3540 3583 

3541이 오류는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 서버를 시작하는 명령이 `remote-control` 뒤에 `--sandbox` 또는 `--no-sandbox`를 전달하는데, `claude remote-control`은 두 플래그 모두 받지 않는다는 의미입니다. 서버는 시작하지 않고 종료 코드 1로 종료됩니다:3584이 오류는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 서버를 시작하는 명령이 `remote-control` 뒤에 `--sandbox` 또는 `--no-sandbox`를 전달하는데, `claude remote-control`은 두 플래그 모두 받지 않는다는 의미입니다. 서버는 시작하지 않고 종료 코드 1로 종료됩니다:


3806 3849 

3807다음 관련 메시지는 명령이 실행되기도 전에 표시됩니다:3850다음 관련 메시지는 명령이 실행되기도 전에 표시됩니다:

3808 3851 

3809* `Shell command permission check failed for pattern "..."`: 명령의 권한 검사에서 허용되지 않았습니다. [주입된 명령에 대한 권한 검사](https://code.claude.com/docs/ko/skills.md#permission-checks-on-injected-commands)에서 각 권한 모드에서 어떤 결과가 중단을 일으키는지와 `allowed-tools`로 명령을 사전 승인하는 방법을 다룹니다3852* `Shell command permission check failed for pattern "..."`: 명령의 권한 검사가 이를 허용하지 않았습니다. [주입된 명령의 권한 검사](https://code.claude.com/docs/ko/skills.md#permission-checks-on-injected-commands)에서 각 권한 모드에서 어떤 결과가 중단을 일으키는지와 `allowed-tools`로 명령을 사전 승인하는 방법을 다룹니다

3810* ``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)을 참조하세요3853* ``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)을 참조하세요

3811 3854 

3812**해결 방법:**3855**해결 방법:**


3960 4003 

3961* **기본 브랜치를 전달하지 않은 경우**: Claude Code는 저장소의 기본 브랜치와 비교했으며, 위 예시처럼 기본 브랜치를 명시적으로 전달하도록 제안합니다4004* **기본 브랜치를 전달하지 않은 경우**: Claude Code는 저장소의 기본 브랜치와 비교했으며, 위 예시처럼 기본 브랜치를 명시적으로 전달하도록 제안합니다

3962* **클론에 이미 있던 기본 브랜치를 전달한 경우**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``입니다4005* **클론에 이미 있던 기본 브랜치를 전달한 경우**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``입니다

3963* **클론에 없던 기본 브랜치를 전달한 경우**: Claude Code가 비교하기 전에 origin에서 해당 브랜치를 가져왔습니다. 힌트는 ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``입니다. Claude Code가 클론이 얕은 클론인지 판단할 수 없으면 대신 `git fetch --unshallow origin`을 제안합니다. v2.1.221 이전에는 가져온 모든 기본 브랜치에 대해 힌트가 `git fetch --unshallow origin`을 제안했으며, 완전한 클론에서는 이 명령이 `fatal: --unshallow on a complete repository does not make sense`로 실패합니다.4006* **클론에 없던 기본 브랜치를 전달한 경우**: 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`와 함께 실패합니다.

3964 4007 

3965**해결 방법:**4008**해결 방법:**

3966 4009 

gateways.md +1 −1

Details

63* **클라이언트 원격 분석**: Claude Code는 세션이 Claude 앱 게이트웨이에 로그인할 때 Anthropic 바운드 클라이언트 분석을 비활성화합니다. 로그인 전 시작 분석도 꺼두려면, 각 기기의 [클라이언트 측 관리 설정](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#client-side-managed-settings)에서 [`DISABLE_TELEMETRY`](https://code.claude.com/docs/ko/managed-settings#turn-telemetry-off-for-your-organization)를 전달합니다.63* **클라이언트 원격 분석**: Claude Code는 세션이 Claude 앱 게이트웨이에 로그인할 때 Anthropic 바운드 클라이언트 분석을 비활성화합니다. 로그인 전 시작 분석도 꺼두려면, 각 기기의 [클라이언트 측 관리 설정](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#client-side-managed-settings)에서 [`DISABLE_TELEMETRY`](https://code.claude.com/docs/ko/managed-settings#turn-telemetry-off-for-your-organization)를 전달합니다.

64* **다른 게이트웨이의 클라이언트 원격 분석**: Claude Code가 선택적 클라이언트 원격 분석 스트림을 전송하는지 여부는 제공자에 따라 다르며, [원격 분석 기본값 표](https://code.claude.com/docs/ko/data-usage.md#default-behaviors-by-api-provider)에서 각 경우를 다룹니다.64* **다른 게이트웨이의 클라이언트 원격 분석**: Claude Code가 선택적 클라이언트 원격 분석 스트림을 전송하는지 여부는 제공자에 따라 다르며, [원격 분석 기본값 표](https://code.claude.com/docs/ko/data-usage.md#default-behaviors-by-api-provider)에서 각 경우를 다룹니다.

65* **원격 분석 대상**: Claude Code가 게이트웨이 세션의 원격 분석을 전송하는 위치는 세션이 로그인한 방식에 따라 다르며, [개발자에게 적용되는 항목](https://code.claude.com/docs/ko/claude-apps-gateway#whats-enforced-on-developers)에서 각 종류의 세션의 내보내기가 어디로 가는지 설명합니다.65* **원격 분석 대상**: Claude Code가 게이트웨이 세션의 원격 분석을 전송하는 위치는 세션이 로그인한 방식에 따라 다르며, [개발자에게 적용되는 항목](https://code.claude.com/docs/ko/claude-apps-gateway#whats-enforced-on-developers)에서 각 종류의 세션의 내보내기가 어디로 가는지 설명합니다.

66* **회사 HTTP 프록시**: `HTTPS_PROXY`는 Claude Code와 게이트웨이를 포함하여 통신하는 모든 서버 사이에 위치합니다. 네트워크에 필요한 경우, 게이트웨이 외에 [프록시를 구성](https://code.claude.com/docs/ko/network-config.md)하세요. Claude 앱 게이트웨이를 호스팅하는 경우, [로그인은 프록시 호스트도 개인 네트워크에 있는지 확인](https://code.claude.com/docs/ko/claude-apps-gateway#prerequisites)합니다. 그렇지 않으면 게이트웨이 호스트를 `NO_PROXY`에 추가하여 CLI가 직접 연결하도록 하세요.66* **회사 HTTP 프록시**: Claude Code는 게이트웨이로 가는 요청을 포함한 모든 요청을 `HTTPS_PROXY`에 지정된 프록시를 통해 전송합니다. 네트워크에 프록시가 필요한 경우 [프록시를 구성](https://code.claude.com/docs/ko/network-config.md)하세요. 프록시가 직접 호스팅하는 Claude 앱 게이트웨이에도 적용되는 경우, [로그인](https://code.claude.com/docs/ko/claude-apps-gateway#prerequisites)하려면 프록시의 호스트 이름이 사설 주소로 확인되거나 게이트웨이 호스트가 `NO_PROXY`에 포함되어 있어야 합니다.

67 67 

68## 다음 단계68## 다음 단계

69 69 

Details

83>83>

84> [GitHub Actions에서 인증하기에 대한 Microsoft 가이드](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect)에 따라 저장소에 대한 페더레이션 자격증명을 사용하여 Microsoft Entra 애플리케이션을 생성합니다:84> [GitHub Actions에서 인증하기에 대한 Microsoft 가이드](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect)에 따라 저장소에 대한 페더레이션 자격증명을 사용하여 Microsoft Entra 애플리케이션을 생성합니다:

85>85>

86> * Microsoft Entra 애플리케이션을 등록하고 저장소에 GitHub가 발급하는 토큰을 신뢰하는 페더레이션 ID 자격증명을 추가합니다. 사용자 할당 관리 ID는 애플리케이션 대신 사용할 수 있습니다. 둘 다 아래에서 기록하는 클라이언트 ID를 가집니다86> * Microsoft Entra 애플리케이션을 등록하고 저장소에 GitHub가 발급하는 토큰을 신뢰하는 페더레이션 ID 자격 증명을 추가합니다. 사용자 할당 관리 ID는 애플리케이션 대신 사용할 수 있습니다. 둘 다 아래에서 기록하는 클라이언트 ID를 가집니다

87> * 애플리케이션에 Foundry 리소스에 대한 `Azure AI User` 역할을 할당합니다. 더 좁은 사용자 정의 역할은 [Azure RBAC 구성](https://code.claude.com/docs/ko/microsoft-foundry.md#azure-rbac-configuration)을 참조합니다87> * 애플리케이션에 Foundry 리소스에 대한 `Foundry User` 역할을 할당합니다. 다른 기본 제공 역할과 사용자 정의 역할은 [Azure RBAC 구성](https://code.claude.com/docs/ko/microsoft-foundry.md#azure-rbac-configuration)을 참조합니다

88>88>

89> 애플리케이션의 클라이언트 ID, 테넌트 ID, 구독 ID를 기록합니다. 다음 단계에서 비밀로 추가합니다.89> 애플리케이션의 클라이언트 ID, 테넌트 ID, 구독 ID를 기록합니다. 다음 단계에서 비밀로 추가합니다.

90 90 

Details

228 228 

229### 세션 중에 모델이 비활성화될 때229### 세션 중에 모델이 비활성화될 때

230 230 

231프로젝트가 세션이 실행 중인 모델에 대한 액세스를 잃으면(예: 관리자가 [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)에서 비활성화하는 경우), Claude Code는 각 요청이 실패하는 대신 세션을 다른 모델로 전환하고 `Switched to <fallback> because <model> is not available`을 표시합니다. 시작 폴백과 동일한 모델을 시도합니다: 먼저 동일한 계층의 이전 버전이고, Opus 세션에서 사용 가능한 Opus 버전이 없으면 기본 Sonnet 모델입니다.231Agent Platform이 세션의 모델을 프로젝트 또는 리전에서 사용할 수 없다는 이유로 거부하면 Claude Code는 세션을 다른 모델로 전환하며, 계속 작업할 수 있습니다. `Switched to <fallback> because <model> is not available`로 시작하는 메시지가 표시됩니다. 예를 들어 관리자가 [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)에서 모델을 비활성화하거나 해당 리전에서 모델이 제공되지 않는 경우에 이런 일이 발생합니다.

232 232 

233전환은 고정하지 않은 계층에만 적용되며, 이는 시작 폴백과 동일한 조건입니다. 선택한 특정 버전의 세션은 모델을 유지하고, 폴백 모델 체인이 없으면 요청이 실패합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry)에서 Claude Code는 Agent Platform에서 자동 모드가 지원하는 모델로만 전환합니다. 해당 모델도 사용 가능하지 않으면 요청이 실패합니다.233[폴백 모델 체인](https://code.claude.com/docs/ko/model-config.md#fallback-model-chains)을 구성한 경우 Claude Code는 대신 구성한 폴백으로 전환합니다. 체인이 없으면 다음과 같은 경우에 요청이 실패합니다.

234 234 

235구성한 [폴백 모델 체인](https://code.claude.com/docs/ko/model-config.md#fallback-model-chains)은 계층 전환을 대체합니다: 이러한 거부에서 Claude Code는 구성한 폴백으로 전환합니다. 거부된 요청이 전환되지 않고 실패하도록 하려면 [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/ko/env-vars)을 설정합니다. 구성한 폴백 체인은 여전히 이러한 거부에서 전환합니다. 모든 거부된 요청이 실패하도록 하려면 체인도 제거합니다.235* 세션이 고정된 모델 또는 직접 선택한 특정 버전을 사용하는 경우

236* [Claude Code가 시도하는 모델](#startup-model-checks) 중 사용 가능한 모델이 없는 경우. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry)에서 Claude Code는 Agent Platform에서 자동 모드가 지원하는 모델로만 전환합니다.

237 

238계속 작업하려면 세션에서 `/model`을 실행하고 프로젝트와 리전에서 사용 가능한 모델에서 `s`를 누릅니다. 이렇게 하면 기본값은 변경되지 않습니다.

239 

240거부된 요청이 전환되지 않고 실패하도록 하려면 [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/ko/env-vars)을 설정합니다. 폴백 모델 체인을 구성한 경우 Claude Code가 여전히 해당 폴백으로 이동하므로 체인도 제거합니다.

236 241 

237## IAM 구성242## IAM 구성

238 243 

hooks.md +9 −3

Details

3000 3000 

3001세션 중에 설정 파일이 변경될 때 실행됩니다. 설정 변경을 감사하거나, 보안 정책을 강제하거나, 설정 파일의 무단 수정을 차단하는 데 사용하십시오.3001세션 중에 설정 파일이 변경될 때 실행됩니다. 설정 변경을 감사하거나, 보안 정책을 강제하거나, 설정 파일의 무단 수정을 차단하는 데 사용하십시오.

3002 3002 

3003Claude Code는 설정 파일, 관리형 정책 파일 또는 스킬 파일이 변경될 때 ConfigChange 훅을 실행합니다. 관리형 정책의 경우 `managed-settings.json` 또는 `managed-settings.d/`의 파일이 변경될 때만 실행합니다. [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)과 macOS 관리형 환경설정 또는 Windows 레지스트리 정책의 변경 사항은 훅을 실행하지 않고 적용합니다. [`wslInheritsWindowsSettings`](https://code.claude.com/docs/ko/settings-reference#wslinheritswindowssettings)가 설정된 WSL에서는 변경된 Windows 측 관리형 설정 파일도 정책 폴링 시 훅을 실행하지 않고 적용합니다.3003Claude Code는 설정 파일, 관리형 정책 파일 또는 스킬 파일이 변경될 때 ConfigChange 훅을 실행합니다. 관리형 정책의 경우 `managed-settings.json` 또는 `managed-settings.d/`의 파일이 변경될 때만 실행합니다.

3004 3004 

3005matcher는 구성 소스를 기준으로 필터링합니다.3005matcher는 구성 소스를 기준으로 필터링합니다.

3006 3006 


3012| `policy_settings` | `managed-settings.json` 또는 `managed-settings.d/`의 파일이 변경된 경우 |3012| `policy_settings` | `managed-settings.json` 또는 `managed-settings.d/`의 파일이 변경된 경우 |

3013| `skills` | `.claude/skills/`의 스킬 파일이 변경된 경우 |3013| `skills` | `.claude/skills/`의 스킬 파일이 변경된 경우 |

3014 3014 

3015이 예시는 보안 감사를 위해 모든 구성 변경을 로그에 기록합니다.3015다음과 같은 변경은 훅을 실행하지 않고 적용됩니다.

3016 

3017* **Yes, and don't ask again**, `/permissions` 또는 `/model`로 저장한 규칙과 설정(저장한 세션 내에서). 다른 열린 세션이 같은 파일을 로드하면 해당 세션에서는 훅이 실행됩니다.

3018* [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md), macOS 관리형 환경설정 또는 Windows 레지스트리 정책의 업데이트

3019* [`wslInheritsWindowsSettings`](https://code.claude.com/docs/ko/settings-reference#wslinheritswindowssettings)를 사용하는 WSL에서 Claude Code가 정책 폴링 시 감지하는 Windows 측 관리형 설정 파일의 변경

3020 

3021다음 예시는 보안 감사를 위해 구성 변경을 로그에 기록합니다.

3016 3022 

3017```json theme={null}3023```json theme={null}

3018{3024{


3335 "hooks": [3341 "hooks": [

3336 {3342 {

3337 "type": "command",3343 "type": "command",

3338 "command": "bash -c 'jq -r .worktree_path | xargs rm -rf'"3344 "command": "bash -c 'p=$(jq -er .worktree_path) && rm -rf -- \"$p\"'"

3339 }3345 }

3340 ]3346 ]

3341 }3347 }

hooks-guide.md +3 −3

Details

50 "PostToolUse": [50 "PostToolUse": [

51 {51 {

52 "matcher": "Edit|Write",52 "matcher": "Edit|Write",

53 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]53 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }]

54 }54 }

55 ],55 ],

56 "Notification": [56 "Notification": [


221 "hooks": [221 "hooks": [

222 {222 {

223 "type": "command",223 "type": "command",

224 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"224 "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\""

225 }225 }

226 ]226 ]

227 }227 }


336 336 

337세션 중에 설정 파일이나 스킬 파일이 변경되는 시점을 추적합니다. `ConfigChange` 이벤트는 외부 프로세스나 편집기가 설정 파일을 수정할 때 발생하므로, 규정 준수를 위해 변경 사항을 로그에 기록하거나 승인되지 않은 수정을 차단할 수 있습니다.337세션 중에 설정 파일이나 스킬 파일이 변경되는 시점을 추적합니다. `ConfigChange` 이벤트는 외부 프로세스나 편집기가 설정 파일을 수정할 때 발생하므로, 규정 준수를 위해 변경 사항을 로그에 기록하거나 승인되지 않은 수정을 차단할 수 있습니다.

338 338 

339이 예시는 각 변경 사항을 감사 로그에 추가합니다. 다음을 `~/.claude/settings.json`에 추가하십시오.339이 예시는 각 이벤트를 감사 로그에 추가합니다. 다음 내용을 `~/.claude/settings.json`에 추가합니다:

340 340 

341```json theme={null}341```json theme={null}

342{342{

Details

36| `Esc` | Claude 중단 또는 대화 상자 닫기 | 현재 응답 또는 도구 호출을 중간에 중지하여 리디렉션할 수 있습니다. Claude는 지금까지 수행한 작업을 유지합니다. [메시지가 대기 중](#queue-messages-while-claude-works)이면 Claude Code는 이어서 그 메시지를 보냅니다. 대화 상자가 열려 있으면 `Esc`는 대화 상자를 닫습니다. 푸터 항목(예: 프롬프트 아래의 [서브에이전트 패널](https://code.claude.com/docs/ko/sub-agents.md#run-subagents-in-foreground-or-background))이 선택되어 있으면 `Esc`는 중단하는 대신 [선택을 해제합니다](https://code.claude.com/docs/ko/keybindings.md#footer-actions). 권한 프롬프트에서 `Esc`는 [**No** 주석 없음](https://code.claude.com/docs/ko/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)과 동일하게 작업을 거부합니다 |36| `Esc` | Claude 중단 또는 대화 상자 닫기 | 현재 응답 또는 도구 호출을 중간에 중지하여 리디렉션할 수 있습니다. Claude는 지금까지 수행한 작업을 유지합니다. [메시지가 대기 중](#queue-messages-while-claude-works)이면 Claude Code는 이어서 그 메시지를 보냅니다. 대화 상자가 열려 있으면 `Esc`는 대화 상자를 닫습니다. 푸터 항목(예: 프롬프트 아래의 [서브에이전트 패널](https://code.claude.com/docs/ko/sub-agents.md#run-subagents-in-foreground-or-background))이 선택되어 있으면 `Esc`는 중단하는 대신 [선택을 해제합니다](https://code.claude.com/docs/ko/keybindings.md#footer-actions). 권한 프롬프트에서 `Esc`는 [**No** 주석 없음](https://code.claude.com/docs/ko/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)과 동일하게 작업을 거부합니다 |

37| `Esc` + `Esc` | 입력 초안 지우기 또는 되감기 | 프롬프트 입력에 텍스트가 있으면 이중 `Esc`는 이를 지우고 초안을 기록에 저장하여 `Up`이 이를 회상할 수 있습니다. 입력이 비어 있으면 이중 `Esc`는 [되감기 메뉴](https://code.claude.com/docs/ko/checkpointing.md)를 열어 이전 지점에서 코드 및 대화를 복원하거나 요약합니다 |37| `Esc` + `Esc` | 입력 초안 지우기 또는 되감기 | 프롬프트 입력에 텍스트가 있으면 이중 `Esc`는 이를 지우고 초안을 기록에 저장하여 `Up`이 이를 회상할 수 있습니다. 입력이 비어 있으면 이중 `Esc`는 [되감기 메뉴](https://code.claude.com/docs/ko/checkpointing.md)를 열어 이전 지점에서 코드 및 대화를 복원하거나 요약합니다 |

38| `Ctrl+Enter` 또는 `Ctrl+X Ctrl+S` | 대기 중인 메시지 지금 보내기 | [대기 중인 메시지](#queue-messages-while-claude-works)와 초안을 지금 바로 보냅니다. [Claude Code가 대기 중인 메시지를 보낼 때](#when-claude-code-sends-what-you-queued)는 Claude가 작업 중인 턴에 어떤 일이 발생하는지 설명합니다. [셸 모드](#shell-mode-with-prefix)에서 키는 명령만 대기열에 넣습니다. 확장 키를 보고하지 않는 터미널에서 `Ctrl+Enter`는 일반 `Enter`로 도착합니다. `Ctrl+X Ctrl+S`는 모든 터미널에서 작동합니다. Claude Code v2.1.275 이상 필요 |38| `Ctrl+Enter` 또는 `Ctrl+X Ctrl+S` | 대기 중인 메시지 지금 보내기 | [대기 중인 메시지](#queue-messages-while-claude-works)와 초안을 지금 바로 보냅니다. [Claude Code가 대기 중인 메시지를 보낼 때](#when-claude-code-sends-what-you-queued)는 Claude가 작업 중인 턴에 어떤 일이 발생하는지 설명합니다. [셸 모드](#shell-mode-with-prefix)에서 키는 명령만 대기열에 넣습니다. 확장 키를 보고하지 않는 터미널에서 `Ctrl+Enter`는 일반 `Enter`로 도착합니다. `Ctrl+X Ctrl+S`는 모든 터미널에서 작동합니다. Claude Code v2.1.275 이상 필요 |

39| `Shift+Tab` 또는 Node 또는 Bun 런타임이 VT 입력 모드를 활성화하지 않을 때 Windows의 `Alt+M` | 권한 모드 순환 | `default` (모드 표시기에서 Manual로 표시됨), `acceptEdits`, `plan` 및 사용 가능할 때 `bypassPermissions` 및 `auto`를 순환합니다. `auto`에서 첫 번째 누름은 `default`로 전환합니다. [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 참조하세요. 파일 권한 프롬프트에서 동일한 키는 열린 [주석 필드](https://code.claude.com/docs/ko/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)를 닫습니다. 필드가 열려 있지 않으면 프롬프트가 나머지 세션에 대해 작업을 허용하는 옵션을 선택합니다 |39| `Shift+Tab` 또는 Node 또는 Bun 런타임이 VT 입력 모드를 활성화하지 않을 때 Windows의 `Alt+M` | 권한 모드 순환 | `default` (모드 표시기에서 Manual로 표시됨), `acceptEdits`, `plan`을 순환한 다음, 사용 가능한 경우 `bypassPermissions` 및 `auto`를 순환합니다. [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 참조하세요. 파일 권한 프롬프트에서 동일한 키는 열린 [주석 필드](https://code.claude.com/docs/ko/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)를 닫습니다. 필드가 열려 있지 않으면, 프롬프트가 나머지 세션 동안 작업을 허용하는 옵션을 제공하는 경우 해당 옵션을 선택합니다. 계획 승인 프롬프트에서는 계획을 승인합니다 |

40| `Option+P` (macOS) 또는 `Alt+P` (Windows/Linux) | 모델 전환 | 프롬프트를 지우지 않고 모델을 전환합니다 |40| `Option+P` (macOS) 또는 `Alt+P` (Windows/Linux) | 모델 전환 | 프롬프트를 지우지 않고 모델을 전환합니다 |

41| `Option+T` (macOS) 또는 `Alt+T` (Windows/Linux) | 확장 사고 전환 | 확장 사고 모드를 활성화하거나 비활성화합니다. Opus 5.5, Sonnet 5.5, Haiku 5.5 또는 Fable 모델에는 영향을 주지 않으며, 이들은 항상 확장 사고를 사용합니다. Option을 Meta로 구성하지 않고도 macOS에서 작동합니다 |41| `Option+T` (macOS) 또는 `Alt+T` (Windows/Linux) | 확장 사고 전환 | 확장 사고 모드를 활성화하거나 비활성화합니다. Opus 5.5, Sonnet 5.5, Haiku 5.5 또는 Fable 모델에는 영향을 주지 않으며, 이들은 항상 확장 사고를 사용합니다. Option을 Meta로 구성하지 않고도 macOS에서 작동합니다 |

42| `Option+O` (macOS) 또는 `Alt+O` (Windows/Linux) | 빠른 모드 전환 | [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md)를 활성화하거나 비활성화합니다 |42| `Option+O` (macOS) 또는 `Alt+O` (Windows/Linux) | 빠른 모드 전환 | [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md)를 활성화하거나 비활성화합니다 |


81| :- | :- | :- |81| :- | :- | :- |

82| 빠른 탈출 | `\` + `Enter` | 모든 터미널에서 작동합니다 |82| 빠른 탈출 | `\` + `Enter` | 모든 터미널에서 작동합니다 |

83| Option 키 | `Option+Enter` | macOS에서 [Option을 Meta로](https://code.claude.com/docs/ko/terminal-config.md#enable-option-key-shortcuts-on-macos) 활성화한 후 |83| Option 키 | `Option+Enter` | macOS에서 [Option을 Meta로](https://code.claude.com/docs/ko/terminal-config.md#enable-option-key-shortcuts-on-macos) 활성화한 후 |

84| Shift+Enter | `Shift+Enter` | iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal에서 기본적으로 지원됩니다. 다른 터미널의 경우 [여러 줄 프롬프트 입력](https://code.claude.com/docs/ko/terminal-config.md#enter-multiline-prompts)을 참조하세요 |84| Shift+Enter | `Shift+Enter` | iTerm2, WezTerm, Ghostty, Kitty, Warp, Windows Terminal에서 기본적으로 지원됩니다. 다른 터미널의 경우 [여러 줄 프롬프트 입력](https://code.claude.com/docs/ko/terminal-config.md#enter-multiline-prompts)을 참조하세요 |

85| 제어 시퀀스 | `Ctrl+J` | 구성 없이 모든 터미널에서 작동합니다 |85| 제어 시퀀스 | `Ctrl+J` | 구성 없이 모든 터미널에서 작동합니다 |

86| 붙여넣기 모드 | 직접 붙여넣기 | 코드 블록, 로그의 경우 |86| 붙여넣기 모드 | 직접 붙여넣기 | 코드 블록, 로그의 경우 |

87 87 


137 137 

138`/config` → 편집기 모드에서 vim 스타일 편집을 활성화합니다.138`/config` → 편집기 모드에서 vim 스타일 편집을 활성화합니다.

139 139 

140Claude Code는 `Ctrl+O`로 [트랜스크립트 뷰어](#transcript-viewer)를 전환하거나 `/config`와 같은 패널을 열고 닫을 때 vim 모드와 커서 위치를 유지합니다. 프롬프트를 NORMAL 모드로 두면, 돌아올 때도 여전히 NORMAL 모드이며 커서는 남겨둔 위치에 있습니다.

141 

142### 모드 전환140### 모드 전환

143 141 

144| 명령어 | 작업 | 시작 모드 |142| 명령어 | 작업 | 시작 모드 |


302 * `Ctrl+C`를 눌러 취소하고 원래 입력을 복원합니다300 * `Ctrl+C`를 눌러 취소하고 원래 입력을 복원합니다

303 * 빈 검색에서 `Backspace`를 눌러 취소합니다301 * 빈 검색에서 `Backspace`를 눌러 취소합니다

304 302 

305일치 항목을 수락하거나 검색을 취소하면 Claude Code가 여전히 기록을 로드 중이더라도 즉시 적용됩니다.

306 

307오류 로그처럼 길게 붙여넣은 내용만 기억나는 이전 프롬프트를 찾으려면 `Ctrl+R`을 누르고 붙여넣은 내용에 있던 단어를 입력합니다. Claude Code v2.1.314 이상이 필요합니다.303오류 로그처럼 길게 붙여넣은 내용만 기억나는 이전 프롬프트를 찾으려면 `Ctrl+R`을 누르고 붙여넣은 내용에 있던 단어를 입력합니다. Claude Code v2.1.314 이상이 필요합니다.

308 304 

309## 백그라운드 Bash 명령어305## 백그라운드 Bash 명령어


600 596 

601### Claude Code가 밑줄을 긋는 것597### Claude Code가 밑줄을 긋는 것

602 598 

603입력을 일시 중지한 후 얼마 지나지 않아 Claude Code는 사전이 모르는 단어에 밑줄을 그을 것입니다. 아직 입력 중인 단어는 그 단어를 지나갈 때까지 그대로 두며, 텍스트를 절대 변경하지 않습니다. 또한 코드처럼 보이는 텍스트를 건너뜁니다:599입력을 일시 중지한 후 얼마 지나지 않아 Claude Code는 사전이 모르는 단어에 밑줄을 긋습니다. 아직 입력 중인 단어는 그 단어를 지나갈 때까지 그대로 둡니다. 또한 코드처럼 보이는 텍스트를 건너뜁니다:

604 600 

605* `/help`, `@` 언급, URL, 파일 경로, `--verbose`와 같은 플래그 등의 명령어601* `/help`, `@` 언급, URL, 파일 경로, `--verbose`와 같은 플래그 등의 명령어

606* 숫자, 밑줄, 또는 첫 번째 이후의 대문자가 있는 단어, 그리고 백틱 안의 텍스트602* 숫자, 밑줄, 또는 첫 번째 이후의 대문자가 있는 단어, 그리고 백틱 안의 텍스트

keybindings.md +6 −1

Details

581 581 

582Claude Code는 `ctrl+x` 접두사에서 컨텍스트별로 다음과 같은 기본 코드를 바인딩합니다:582Claude Code는 `ctrl+x` 접두사에서 컨텍스트별로 다음과 같은 기본 코드를 바인딩합니다:

583 583 

584* `Chat`: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s`, `ctrl+x tab`584* `Chat`: `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s`, `ctrl+x tab`, `ctrl+x ctrl+=`, `ctrl+x ctrl+-`, `ctrl+x ctrl+_`, `ctrl+x =`, `ctrl+x -`

585* `Task`: `ctrl+x ctrl+b`585* `Task`: `ctrl+x ctrl+b`

586* `DiffPanel`: `ctrl+x b`586* `DiffPanel`: `ctrl+x b`

587* `Pane`: `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down`, `ctrl+x x`587* `Pane`: `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down`, `ctrl+x x`


631 "ctrl+x ctrl+a": null,631 "ctrl+x ctrl+a": null,

632 "ctrl+x ctrl+s": null,632 "ctrl+x ctrl+s": null,

633 "ctrl+x tab": null,633 "ctrl+x tab": null,

634 "ctrl+x ctrl+=": null,

635 "ctrl+x ctrl+-": null,

636 "ctrl+x ctrl+_": null,

637 "ctrl+x =": null,

638 "ctrl+x -": null,

634 "ctrl+x": "chat:newline"639 "ctrl+x": "chat:newline"

635 }640 }

636 }641 }

Details

36 36 

37`/status` 메뉴의 두 줄이 모두 올바르지만 Claude로의 메시지가 실패하면 [문제 해결 표](#troubleshoot-gateway-errors)를 참조하세요.37`/status` 메뉴의 두 줄이 모두 올바르지만 Claude로의 메시지가 실패하면 [문제 해결 표](#troubleshoot-gateway-errors)를 참조하세요.

38 38 

39## Claude Code 직접 구성39## Claude Code 직접 구성하기

40 40 

41게이트웨이에 대해 Claude Code를 직접 구성하려면 게이트웨이 팀에서 다음이 필요합니다:41게이트웨이용 Claude Code를 직접 구성하려면 게이트웨이 팀으로부터 다음 정보를 받아야 합니다.

42 42 

43* 게이트웨이의 기본 URL43* 게이트웨이의 기본 URL

44* 자격 증명: 키 또는 토큰 문자열, 또는 하나를 가져오는 명령44* 자격 증명: 키 또는 토큰 문자열, 또는 이를 가져오는 명령

45 * 게이트웨이 팀이 어떤 종류의 자격 증명인지 말하지 않았다면, 아래의 [자격 증명 변수 섹션](#set-the-credential-variable)에서 시도할 것을 다룹니다.45 * 게이트웨이 팀이 자격 증명의 종류를 알려주지 않았다면, 아래의 [자격 증명 변수 섹션](#set-the-credential-variable)에서 시도해 볼 방법을 안내합니다

46 46 

47아래 섹션은 순서대로 구성을 다룹니다:47아래 섹션에서는 구성을 순서대로 다룹니다.

48 48 

49* [자격 증명 변수 설정](#set-the-credential-variable) 및 [기본 URL 설정](#set-the-base-url-and-credential): 모든 게이트웨이 연결에 필요한 두 변수49* [자격 증명 변수 설정](#set-the-credential-variable) 및 [기본 URL 설정](#set-the-base-url-and-credential): 모든 게이트웨이 연결에 필요한 두 가지 변수

50* [연결 확인](#verify-the-connection): 무엇이든 유지하기 전에 작동하는지 확인50* [연결 확인](#verify-the-connection): 값을 영구적으로 저장하기 전에 연결이 작동하는지 확인

51* [각 표면 구성](#configure-each-surface): Claude Code CLI 외에 VS Code와 같은 다른 표면을 사용하는 경우, 게이트웨이 자격 증명으로 구성하는 방법을 참조하세요.51* [각 사용 환경 구성](#configure-each-surface): VS Code 등 Claude Code CLI 이외의 사용 환경을 사용하는 경우, 게이트웨이 자격 증명으로 해당 환경을 구성하는 방법 확인

52* [추가 구성](#additional-configuration): 기본 URL과 자격 증명 외에 일부 게이트웨이가 필요로 하는 변수(예: 사용자 정의 헤더, 자격 증명 도우미, 모델 검색, 제공자 형식 기본 URL 또는 게이트웨이 경로 외부의 트래픽 끄기). 관리자가 명시한 경우에만 이를 설정하거나 네트워크가 송신을 제한합니다.52* [추가 구성](#additional-configuration): 일부 게이트웨이에서 기본 URL과 자격 증명 외에 필요로 하는 변수(사용자 지정 헤더, 자격 증명 헬퍼, 모델 검색, 제공자 형식 기본 URL, 게이트웨이 경로 외부 트래픽 비활성화 등). 관리자가 지정했거나 네트워크에서 외부 송신(egress)을 제한하는 경우에만 설정합니다

53 53 

54### 자격 증명 변수 설정54### 자격 증명 변수 설정

55 55 

56Claude Code를 게이트웨이에 인증하려면 환경 변수에 자격 증명을 설정합니다. 어떤 변수를 사용할지는 게이트웨이 팀이 말한 것에 따라 다릅니다:56Claude Code가 게이트웨이에 인증하도록 하려면 환경 변수에 자격 증명을 설정합니다. 어떤 변수를 사용할지는 게이트웨이 팀이 안내한 내용에 따라 다릅니다.

57 57 

58| 자격 증명 설정 위치 | 사용 시기 |58| 자격 증명을 설정할 위치 | 사용하는 경우 |

59| :- | :- |59| :- | :- |

60| `ANTHROPIC_AUTH_TOKEN` | 게이트웨이 팀이 "bearer token" 또는 "Authorization header"라고 말했을 때 |60| `ANTHROPIC_AUTH_TOKEN` | 게이트웨이 팀이 "bearer token" 또는 "Authorization header"라고 안내한 경우 |

61| `ANTHROPIC_API_KEY` | 게이트웨이 팀이 "API key" 또는 "x-api-key"라고 말했을 때 |61| `ANTHROPIC_API_KEY` | 게이트웨이 팀이 "API key" 또는 "x-api-key"라고 안내한 경우 |

62| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | 자격 증명이 회전하거나 자격 증명 모음에서 나올 때 |62| [`apiKeyHelper`](#rotate-credentials-with-apikeyhelper) | 자격 증명이 교체(rotate)되거나 볼트(vault)에서 가져오는 경우 |

63 63 

64어떤 종류인지 말하지 않았다면 `ANTHROPIC_AUTH_TOKEN`을 사용하세요. 아래의 [확인 요청](#verify-the-connection)은 전환이 필요한지 확인하는 방법을 보여줍니다.64종류를 안내받지 못했다면 `ANTHROPIC_AUTH_TOKEN`을 사용합니다. 아래의 [확인 요청](#verify-the-connection)에서 변수를 바꿔야 하는지 판단하는 방법을 설명합니다.

65 65 

66### 기본 URL과 자격 증명 설정66### 기본 URL 및 자격 증명 설정

67 67 

68게이트웨이의 기본 URL과 위에서 선택한 자격 증명 변수를 환경 변수로 설정합니다. 예제는 `ANTHROPIC_AUTH_TOKEN`을 사용합니다. [선택한 변수](#set-the-credential-variable)가 `ANTHROPIC_API_KEY`라면 이를 바꾸세요. [셸에서](#set-as-shell-environment-variables) 설정할 수 있으며, 이는 한 터미널 세션 동안 지속되거나, [Claude Code 설정 파일에서](#set-in-a-settings-file) 설정할 수 있으며, 이는 Claude Code가 실행되는 모든 곳에서 지속됩니다.68게이트웨이의 기본 URL과 위에서 선택한 자격 증명 변수를 환경 변수로 설정합니다. 예시에서는 `ANTHROPIC_AUTH_TOKEN`을 사용하며, [선택한 변수](#set-the-credential-variable)가 `ANTHROPIC_API_KEY`라면 해당 변수로 바꿔서 사용합니다. 하나의 터미널 세션 동안만 유지되는 [셸에서 설정](#set-as-shell-environment-variables)하거나, Claude Code가 실행되는 모든 곳에서 유지되는 [Claude Code 설정 파일에서 설정](#set-in-a-settings-file)할 수 있습니다.

69 69 

70첫 번째 연결의 경우, 셸 내보내기로 시작하고 값을 설정 파일로 이동하기 전에 [확인 요청](#verify-the-connection)을 실행합니다.70처음 연결할 때는 셸 export로 시작하고, 값을 설정 파일로 옮기기 전에 [확인 요청](#verify-the-connection)을 실행합니다.

71 71 

72#### 셸 환경 변수로 설정72#### 셸 환경 변수로 설정

73 73 

74값을 게이트웨이 팀이 제공한 값으로 바꾸세요:74값을 게이트웨이 팀이 제공한 값으로 바꿉니다.

75 75 

76> [tab] Bash 또는 Zsh76> [tab] Bash or Zsh

77>77>

78> ```bash theme={null}78> ```bash theme={null}

79> export ANTHROPIC_BASE_URL=https://llm-gateway.example.com79> export ANTHROPIC_BASE_URL=https://llm-gateway.example.com


87> $env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"87> $env:ANTHROPIC_AUTH_TOKEN = "sk-gateway-key"

88> ```88> ```

89 89 

90셸 내보내기는 해당 터미널 세션과 그로부터 시작된 프로그램에만 적용됩니다. 도크 또는 시작 메뉴에서 시작된 편집기는 이를 볼 수 없습니다. 새 터미널에서 지속되도록 하려면 `~/.zshrc`, `~/.bashrc` 또는 PowerShell `$PROFILE`과 같은 셸 프로필에 동일한 줄을 추가하세요.90셸 export는 해당 터미널 세션과 그 세션에서 시작된 프로그램에만 적용됩니다. Dock이나 시작 메뉴에서 실행한 편집기에서는 이 값을 인식하지 못합니다. 새 터미널에서도 값이 유지되도록 하려면 `~/.zshrc`, `~/.bashrc` 또는 PowerShell `$PROFILE`과 같은 셸 프로필에 같은 줄을 추가합니다.

91 91 

92게이트웨이를 셸에서만 내보내면 [supervisor](https://code.claude.com/docs/ko/agent-view.md#how-background-sessions-are-hosted)에서 호스팅하는 백그라운드 에이전트에 안정적으로 도달하지 않습니다. [각 백그라운드 세션이 게이트웨이를 소싱하는 방식](https://code.claude.com/docs/ko/agent-view.md#llm-gateway)을 참조하세요. 백그라운드 에이전트가 항상 라우팅해야 하는 게이트웨이의 경우 설정 파일을 사용하세요.92게이트웨이를 셸에서만 export하면 [슈퍼바이저](https://code.claude.com/docs/ko/agent-view.md#how-background-sessions-are-hosted)가 호스팅하는 백그라운드 에이전트에 안정적으로 전달되지 않습니다. [각 백그라운드 세션이 게이트웨이를 가져오는 방식](https://code.claude.com/docs/ko/agent-view.md#llm-gateway)을 참조하세요. 백그라운드 에이전트가 항상 경유해야 하는 게이트웨이에는 설정 파일을 사용합니다.

93 93 

94#### 설정 파일에서 설정94#### 설정 파일에서 설정

95 95 

96Claude Code가 실행되는 모든 곳에서 구성이 적용되도록 하려면([백그라운드 에이전트](https://code.claude.com/docs/ko/agent-view.md#how-background-sessions-are-hosted) 포함), [설정 파일](https://code.claude.com/docs/ko/settings.md)의 `env` 블록에서 변수를 설정하세요. 설정 파일은 다양한 범위를 가집니다:96[백그라운드 에이전트](https://code.claude.com/docs/ko/agent-view.md#how-background-sessions-are-hosted)를 포함해 Claude Code가 실행되는 모든 곳에 구성을 적용하려면, 셸에 의존하는 대신 [설정 파일](https://code.claude.com/docs/ko/settings.md)의 `env` 블록에 변수를 설정합니다. 설정 파일마다 범위가 다릅니다.

97 97 

98* `~/.claude/settings.json`은 모든 프로젝트에 적용됩니다. Windows에서 경로는 `%USERPROFILE%\.claude\settings.json`입니다.98* `~/.claude/settings.json`은 모든 프로젝트에 적용됩니다. Windows에서의 경로는 `%USERPROFILE%\.claude\settings.json`입니다

99* `.claude/settings.local.json`은 한 프로젝트에 적용됩니다. Claude Code는 파일을 생성할 때 이를 gitignore에 추가합니다. 직접 생성하는 경우, 자격 증명을 실수로 커밋하지 않도록 먼저 gitignore에 수동으로 추가합니다.99* `.claude/settings.local.json`은 하나의 프로젝트에 적용됩니다. Claude Code가 이 파일에 설정을 저장할 때 전역 gitignore에 이 파일을 추가합니다. 파일을 직접 만들거나 Claude에게 작성하도록 하는 경우에는 실수로 자격 증명을 커밋하지 않도록 먼저 직접 gitignore에 추가합니다

100 100 

101> [!WARNING]101> [!WARNING]

102>102>

103> 프로젝트의 `.claude/settings.json`에 자격 증명을 넣지 마세요. 이 파일은 커밋되고 저장소를 복제하는 모든 사람과 공유됩니다.103> 프로젝트의 `.claude/settings.json`에 자격 증명을 넣지 마세요. 이 파일은 커밋되어 저장소를 클론하는 모든 사람과 공유됩니다.

104 104 

105`env` 블록은 두 파일 모두에서 동일하게 보입니다:105`env` 블록은 두 파일 모두에서 동일한 형태입니다.

106 106 

107```json theme={null}107```json theme={null}

108{108{


113}113}

114```114```

115 115 

116셸 내보내기와 설정 파일 `env` 블록이 동일한 변수를 설정할 때, 설정 파일 값이 적용됩니다. `/status`를 실행하여 Claude Code가 사용 중인 기본 URL과 자격 증명 소스를 확인합니다.116셸 export와 설정 파일의 `env` 블록이 같은 변수를 설정하면 설정 파일의 값이 적용됩니다. `/status`를 실행하면 Claude Code가 사용 중인 기본 URL과 자격 증명 소스를 확인할 수 있습니다.

117 117 

118### 연결 확인118### 연결 확인

119 119 

120셸에서 변수를 내보낸 상태에서, 게이트웨이에 한 토큰 요청을 직접 전송합니다. 이는 Claude Code를 열기 전에 URL과 자격 증명이 작동하는지 확인하므로, 실패는 구성이 아닌 게이트웨이를 가리킵니다. 아래 명령은 셸 변수를 읽으므로, 설정 파일에도 값을 넣었더라도 [셸 내보내기](#set-as-shell-environment-variables)가 필요합니다.120셸에 변수를 export한 상태에서 게이트웨이에 직접 1토큰 요청을 보냅니다. 이렇게 하면 Claude Code를 열기 전에 URL과 자격 증명이 작동하는지 확인할 수 있으므로, 실패할 경우 구성이 아닌 게이트웨이 쪽 문제임을 알 수 있습니다. 아래 명령은 셸 변수를 읽으므로, 설정 파일에도 값을 넣었더라도 [셸 export](#set-as-shell-environment-variables)가 필요합니다.

121 121 

122> [tab] Bash 또는 Zsh122> [tab] Bash or Zsh

123>123>

124> ```bash theme={null}124> ```bash theme={null}

125> curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \125> curl -sS -w '\n%{http_code}\n' -X POST "$ANTHROPIC_BASE_URL/v1/messages" \


138> -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'138> -Body '{"model": "claude-sonnet-4-6", "max_tokens": 1, "messages": [{"role": "user", "content": "."}]}'

139> ```139> ```

140 140 

141게이트웨이가 `x-api-key` 헤더의 키를 예상하면, Bash 명령에서 `Authorization` 헤더를 `x-api-key: $ANTHROPIC_API_KEY`로 바꾸거나, PowerShell 명령에서 `"Authorization"` 해시테이블 항목을 `"x-api-key" = "$env:ANTHROPIC_API_KEY"`로 바꾸세요.141게이트웨이가 `x-api-key` 헤더로 키를 받는 경우, Bash 명령에서는 `Authorization` 헤더를 `x-api-key: $ANTHROPIC_API_KEY`로, PowerShell 명령에서는 `"Authorization"` 해시테이블 항목을 `"x-api-key" = "$env:ANTHROPIC_API_KEY"`로 바꿉니다.

142 142 

143`{"id":"msg_`로 시작하고 `"content":[...]` 필드를 포함하는 JSON 응답은 게이트웨이에 도달할 수 있고 자격 증명이 작동함을 의미합니다. 알 수 없는 모델을 명시하는 오류는 게이트웨이가 모델 이름을 거부하기 전에 요청을 인증했으므로 URL과 자격 증명이 작동함을 증명합니다. 게이트웨이가 제공하는 모델을 찾을 필요가 없습니다. `401`은 자격 증명이 거부되었음을 의미합니다. 변수를 추측했다면 다른 변수로 전환하고 다시 내보내세요.143`{"id":"msg_`로 시작하고 `"content":[...]` 필드를 포함하는 JSON 응답이 반환되면 게이트웨이에 연결할 수 있고 자격 증명이 작동한다는 의미입니다. 알 수 없는 모델이라는 오류가 반환되더라도 URL과 자격 증명이 작동한다는 것이 확인됩니다. 게이트웨이가 모델 이름을 거부하기 전에 요청을 인증했기 때문입니다. 이 테스트를 위해 게이트웨이가 제공하는 모델을 찾을 필요는 없습니다. `401`은 자격 증명이 거부되었다는 의미입니다. 변수를 추측해서 설정했다면 다른 변수로 바꾸고 다시 export합니다.

144 144 

145#### Claude Code에서 확인145#### Claude Code에서 확인

146 146 

147같은 셸에서 `claude`를 시작하여 내보내기를 상속받고, 메시지를 전송하고, `/status`를 실행합니다.147export가 상속되도록 같은 셸에서 `claude`를 시작하고, 메시지를 보낸 다음 `/status`를 실행합니다.

148 148 

149**상태** 탭에서 `Anthropic base URL` 줄은 게이트웨이 주소를 표시해야 하며, 이는 요청이 그곳으로 라우팅되고 있음을 확인합니다. 줄이 없으면 변수가 세션에 도달하지 않았습니다. `Auth token` 또는 `API key` 줄이 설정한 변수를 명시하면 저장된 claude.ai 로그인이 아닌 게이트웨이 자격 증명이 활성화되어 있음을 확인합니다.149**Status** 탭의 `Anthropic base URL` 줄에 게이트웨이 주소가 표시되어야 하며, 이는 요청이 해당 게이트웨이로 라우팅되고 있음을 확인해 줍니다. 이 줄이 없다면 변수가 세션에 전달되지 않은 것입니다. 설정한 변수를 나타내는 `Auth token` 또는 `API key` 줄은 저장된 claude.ai 로그인이 아닌 게이트웨이 자격 증명이 활성화되어 있음을 확인해 줍니다.

150 150 

151메시지가 실패하거나 `/status`가 게이트웨이 URL을 표시하지 않으면, 아래의 [문제 해결 표](#troubleshoot-gateway-errors)를 참조하세요.151메시지 전송이 실패하거나 `/status`에 게이트웨이 URL이 표시되지 않으면 아래의 [문제 해결 표](#troubleshoot-gateway-errors)를 참조하세요.

152 152 

153### 자격 증명 변수가 헤더에 매핑되는 방식153### 자격 증명 변수와 헤더의 대응 관계

154 154 

155각 변수는 자격 증명을 다른 HTTP 헤더로 전송합니다: `ANTHROPIC_AUTH_TOKEN`은 `Authorization: Bearer`로, `ANTHROPIC_API_KEY`는 `x-api-key`로, `apiKeyHelper`는 둘 다로 전송합니다. 잘못된 변수의 자격 증명은 게이트웨이가 읽지 않는 헤더에 도달하고, 요청은 `401`로 실패합니다. 확인 요청이 `401`을 반환했다면 다른 변수로 전환하고 다시 시도하세요.155각 변수는 서로 다른 HTTP 헤더로 자격 증명을 전송합니다. `ANTHROPIC_AUTH_TOKEN`은 `Authorization: Bearer`로, `ANTHROPIC_API_KEY`는 `x-api-key`로, `apiKeyHelper`는 두 헤더 모두로 전송합니다. 잘못된 변수에 넣은 자격 증명은 게이트웨이가 읽지 않는 헤더로 전달되므로 요청이 `401`로 실패합니다. 확인 요청이 `401`을 반환했다면 다른 변수로 바꿔서 다시 시도합니다.

156 156 

157### 기존 로그인과의 충돌157### 기존 로그인과의 충돌

158 158 

159게이트웨이 자격 증명 변수는 저장된 claude.ai 로그인 또는 Console 키보다 우선합니다. `ANTHROPIC_AUTH_TOKEN`을 사용하면 변수가 즉시 우선합니다. `ANTHROPIC_API_KEY`를 사용하면 대화형 모드에서 키가 인수하기 전에 한 번 승인하도록 요청받습니다.159요청에는 저장된 claude.ai 로그인이 아닌 게이트웨이 자격 증명 변수가 사용됩니다. `ANTHROPIC_AUTH_TOKEN`을 사용하면 변수가 즉시 우선 적용됩니다. `ANTHROPIC_API_KEY`를 사용하면 키가 적용되기 전에 대화형 모드에서 키를 승인하라는 메시지가 한 번 표시됩니다.

160 160 

161`/status`를 실행하여 어떤 자격 증명 소스가 활성화되어 있는지 확인합니다. 시작 시 두 소스를 명시하는 인증 충돌 경고가 표시되면, [문제 해결 표](#troubleshoot-gateway-errors)의 첫 번째 행을 참조하여 어느 것을 제거할지 확인합니다. 저장된 로그인을 지워 게이트웨이 자격 증명만 남기려면 `/logout`을 실행합니다.161`/status`를 실행하여 어떤 자격 증명 소스가 활성화되어 있는지 확인합니다. 시작 시 두 소스를 명시하는 인증 충돌 경고가 표시되면 [문제 해결 표](#troubleshoot-gateway-errors)의 첫 번째 행에서 어느 쪽을 제거해야 하는지 확인하세요. 게이트웨이 자격 증명만 남도록 저장된 로그인을 지우려면 `/logout`을 실행합니다.

162 162 

163## 각 표면 구성163## 각 표면 구성

164 164 


506 506 

507| 오류 | 원인 | 해결 방법 |507| 오류 | 원인 | 해결 방법 |

508| :- | :- | :- |508| :- | :- | :- |

509| 두 개의 자격 증명 출처를 명시하고 `auth may not work as expected`로 끝나는 시작 시 경고. 이전 버전에서는 대신 `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set`가 표시됩니다. | 게이트웨이 자격 증명과 저장된 로그인이 모두 활성화되어 있습니다. 요청에는 변수가 사용되지만, 오래된 로그인으로 인해 예기치 않은 인증 동작이 발생할 수 있습니다 | 저장된 로그인을 사용하려면 변수를 해제하고, 게이트웨이 자격 증명을 사용하려면 `/logout`을 실행합니다 |509| 두 개의 자격 증명 출처를 명시하고 `auth may not work as expected`로 끝나는 시작 시 경고. 이전 버전에서는 대신 `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set`가 표시됩니다. | 게이트웨이 자격 증명과 저장된 로그인이 모두 활성화되어 있습니다 | 저장된 로그인을 사용하려면 변수를 해제하고, 게이트웨이 자격 증명을 사용하려면 `/logout`을 실행합니다 |

510| 유효하지 않거나 인식되지 않는 토큰을 명시하는 `401` 오류 | 자격 증명이 게이트웨이에서 발급한 것이 아니거나, 게이트웨이가 읽지 않는 헤더에 들어 있습니다 | [자격 증명 표](#set-the-credential-variable)에서 변수가 자격 증명 종류와 일치하는지 확인하고, 키가 폐기된 경우 게이트웨이에서 키를 다시 생성합니다 |510| 유효하지 않거나 인식되지 않는 토큰을 명시하는 `401` 오류 | 자격 증명이 게이트웨이에서 발급한 것이 아니거나, 게이트웨이가 읽지 않는 헤더에 들어 있습니다 | [자격 증명 표](#set-the-credential-variable)에서 변수가 자격 증명 종류와 일치하는지 확인하고, 키가 폐기된 경우 게이트웨이에서 키를 다시 생성합니다 |

511| `Your apiKeyHelper script is failing`, 또는 비대화형 모드에서 stderr에 출력되는 `apiKeyHelper failed:` | [`apiKeyHelper`](https://code.claude.com/docs/ko/settings-reference#apikeyhelper) 설정의 명령이 사용 가능한 키를 생성하지 못해 요청에 자리 표시자 키가 담깁니다 | 명령을 직접 실행하여 실패 원인을 확인하고, 세션 만료가 보고되면 자격 증명 제공자에서 다시 인증합니다. [오류 참조](https://code.claude.com/docs/ko/errors.md#your-apikeyhelper-script-is-failing)를 참조하세요 |511| `Your apiKeyHelper script is failing`, 또는 비대화형 모드에서 stderr에 출력되는 `apiKeyHelper failed:` | [`apiKeyHelper`](https://code.claude.com/docs/ko/settings-reference#apikeyhelper) 설정의 명령이 사용 가능한 키를 생성하지 못해 요청에 자리 표시자 키가 담깁니다 | 명령을 직접 실행하여 실패 원인을 확인하고, 세션 만료가 보고되면 자격 증명 제공자에서 다시 인증합니다. [오류 참조](https://code.claude.com/docs/ko/errors.md#your-apikeyhelper-script-is-failing)를 참조하세요 |

512| 주소에서 아무것도 응답하지 않을 때의 `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)`, 또는 호스트 이름이 확인되지 않을 때의 `Can't reach the API server — check your internet or DNS (ENOTFOUND)`. Claude Code가 [백오프를 적용해 재시도](https://code.claude.com/docs/ko/errors.md#automatic-retries)하는 동안 아무 표시 없이 잠시 멈춘 후에 나타나는 경우가 많습니다. 괄호 안의 코드는 다를 수 있으며, [Unable to connect to API](https://code.claude.com/docs/ko/errors.md#unable-to-connect-to-api)에서 코드 표기와 이전 문구를 다룹니다 | 기본 URL에서 아무것도 응답하지 않았습니다. 주소가 잘못되었거나 VPN 또는 방화벽이 게이트웨이로 가는 경로를 차단하고 있습니다 | [위의 curl 테스트](#verify-the-connection)를 실행하면 같은 원인으로 즉시 실패합니다. 게이트웨이 팀과 함께 URL과 네트워크 경로를 확인합니다 |512| 주소에서 아무것도 응답하지 않을 때의 `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)`, 또는 호스트 이름이 확인되지 않을 때의 `Can't reach the API server — check your internet or DNS (ENOTFOUND)`. Claude Code가 [백오프를 적용해 재시도](https://code.claude.com/docs/ko/errors.md#automatic-retries)하는 동안 아무 표시 없이 잠시 멈춘 후에 나타나는 경우가 많습니다. 괄호 안의 코드는 다를 수 있으며, [Unable to connect to API](https://code.claude.com/docs/ko/errors.md#unable-to-connect-to-api)에서 코드 표기와 이전 문구를 다룹니다 | 기본 URL에서 아무것도 응답하지 않았습니다. 주소가 잘못되었거나 VPN 또는 방화벽이 게이트웨이로 가는 경로를 차단하고 있습니다 | [위의 curl 테스트](#verify-the-connection)를 실행하면 같은 원인으로 즉시 실패합니다. 게이트웨이 팀과 함께 URL과 네트워크 경로를 확인합니다 |


520| 추론 요청은 작동하는데 `/fast`가 `Fast mode unavailable due to network connectivity issues`를 보고함 | [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md) 가용성 확인은 `api.anthropic.com`으로 직접 전송되며 `ANTHROPIC_BASE_URL`을 따르지 않으므로, 직접 송신이 차단되면 확인이 실패합니다 | 송신이 차단된 경우 `api.anthropic.com`을 허용 목록에 추가하거나 건너뛰기 변수를 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요 |520| 추론 요청은 작동하는데 `/fast`가 `Fast mode unavailable due to network connectivity issues`를 보고함 | [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md) 가용성 확인은 `api.anthropic.com`으로 직접 전송되며 `ANTHROPIC_BASE_URL`을 따르지 않으므로, 직접 송신이 차단되면 확인이 실패합니다 | 송신이 차단된 경우 `api.anthropic.com`을 허용 목록에 추가하거나 건너뛰기 변수를 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요 |

521| `ANTHROPIC_API_KEY`에 게이트웨이 발급 키를 사용해 인증하는 세션에서 `/fast`가 `Fast mode is currently unavailable`를 보고함 | `ANTHROPIC_BASE_URL`이 게이트웨이를 가리키고 키가 Anthropic API 키 형식이 아닌 동안에는 Claude Code가 [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md) 가용성 확인을 보내지 않습니다. 이전에 성공한 확인이 캐시되어 있지 않으면 Claude Code는 빠른 모드를 사용할 수 없는 것으로 간주합니다 | `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1`을 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요 |521| `ANTHROPIC_API_KEY`에 게이트웨이 발급 키를 사용해 인증하는 세션에서 `/fast`가 `Fast mode is currently unavailable`를 보고함 | `ANTHROPIC_BASE_URL`이 게이트웨이를 가리키고 키가 Anthropic API 키 형식이 아닌 동안에는 Claude Code가 [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md) 가용성 확인을 보내지 않습니다. 이전에 성공한 확인이 캐시되어 있지 않으면 Claude Code는 빠른 모드를 사용할 수 없는 것으로 간주합니다 | `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1`을 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요 |

522| 조직에서 빠른 모드를 활성화했는데도 `ANTHROPIC_AUTH_TOKEN`으로 인증한 세션에서 `/fast`가 `Fast mode has been disabled by your organization`를 보고함 | 가용성 확인에는 claude.ai 로그인 또는 API 키가 필요합니다. bearer 토큰만 있으면 Claude Code는 확인을 보내지 않고 빠른 모드를 비활성화된 것으로 간주합니다 | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`을 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요 |522| 조직에서 빠른 모드를 활성화했는데도 `ANTHROPIC_AUTH_TOKEN`으로 인증한 세션에서 `/fast`가 `Fast mode has been disabled by your organization`를 보고함 | 가용성 확인에는 claude.ai 로그인 또는 API 키가 필요합니다. bearer 토큰만 있으면 Claude Code는 확인을 보내지 않고 빠른 모드를 비활성화된 것으로 간주합니다 | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1`을 설정합니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)을 참조하세요 |

523| `ANTHROPIC_BASE_URL`을 사용하는 세션에서 `/feedback`이 로컬 파일을 저장함 | 게이트웨이 뒤에서는 `ANTHROPIC_AUTH_TOKEN`과 Anthropic API 키 형식이 아닌 키가 Anthropic 자격 증명이 아닙니다. Anthropic 자격 증명이 없으면 Claude Code는 보고서를 전송하지 않고 `~/.claude/feedback-bundles/` 아래의 로컬 아카이브에 기록합니다 | 파일을 Anthropic 계정 담당자에게 보내거나 지원 요청에 첨부합니다. [텔레메트리 서비스](https://code.claude.com/docs/ko/data-usage.md#telemetry-services)를 참조하세요 |

523| [curl 테스트](#verify-the-connection)가 성공하는데도 Claude Code가 로그인을 요청함 | CLI에 자체 자격 증명이 없습니다. 접근 가능한 기본 URL은 자격 증명이 아니며, 대화형 세션에서 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`에 있는 `env` 블록은 최초 실행 마법사와 [신뢰 프롬프트](https://code.claude.com/docs/ko/permissions.md#what-runs-before-you-trust-a-folder) 이후에만 적용됩니다 | 최초 실행 설정 전에 Claude Code가 읽는 위치에 `ANTHROPIC_AUTH_TOKEN`을 설정합니다. 셸 export, `~/.claude/settings.json`의 `env` 블록 또는 관리형 설정을 사용할 수 있습니다 |524| [curl 테스트](#verify-the-connection)가 성공하는데도 Claude Code가 로그인을 요청함 | CLI에 자체 자격 증명이 없습니다. 접근 가능한 기본 URL은 자격 증명이 아니며, 대화형 세션에서 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`에 있는 `env` 블록은 최초 실행 마법사와 [신뢰 프롬프트](https://code.claude.com/docs/ko/permissions.md#what-runs-before-you-trust-a-folder) 이후에만 적용됩니다 | 최초 실행 설정 전에 Claude Code가 읽는 위치에 `ANTHROPIC_AUTH_TOKEN`을 설정합니다. 셸 export, `~/.claude/settings.json`의 `env` 블록 또는 관리형 설정을 사용할 수 있습니다 |

524| `ANTHROPIC_API_KEY`가 설정되어 있지만 확인 요청 없이 무시됨 | 대화형 세션에서는 키에 대한 일회성 승인이 필요하며, 이전에 거부한 키는 다시 묻지 않고 무시됩니다 | `/config`에서 `Use custom API key` 옵션으로 활성화합니다 |525| `ANTHROPIC_API_KEY`가 설정되어 있지만 확인 요청 없이 무시됨 | 대화형 세션에서는 키에 대한 일회성 승인이 필요하며, 이전에 거부한 키는 다시 묻지 않고 무시됩니다 | `/config`에서 `Use custom API key` 옵션으로 활성화합니다 |

525| `This machine's managed settings require a first-party login`, 또는 관리형 설정이 `forceLoginMethod`를 `"gateway"`로 설정하거나 `forceLoginGatewayUrl`도 설정한 경우의 [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in) | 관리형 설정에 `forceLoginMethod` 또는 `forceLoginOrgUUID`가 포함되어 있으며, 이는 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`와 함께 사용할 수 없습니다 | 게이트웨이 자격 증명을 사용하려면 관리자가 관리형 설정에서 `forceLoginMethod`, `forceLoginOrgUUID`, `forceLoginGatewayUrl`을 제거해야 합니다. 또는 게이트웨이 자격 증명을 제거하고 관리형 설정이 요구하는 로그인을 사용합니다. 두 가지를 함께 사용할 수는 없습니다 |526| `This machine's managed settings require a first-party login`, 또는 관리형 설정이 `forceLoginMethod`를 `"gateway"`로 설정하거나 `forceLoginGatewayUrl`도 설정한 경우의 [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in) | 관리형 설정에 `forceLoginMethod` 또는 `forceLoginOrgUUID`가 포함되어 있으며, 이는 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`와 함께 사용할 수 없습니다 | 게이트웨이 자격 증명을 사용하려면 관리자가 관리형 설정에서 `forceLoginMethod`, `forceLoginOrgUUID`, `forceLoginGatewayUrl`을 제거해야 합니다. 또는 게이트웨이 자격 증명을 제거하고 관리형 설정이 요구하는 로그인을 사용합니다. 두 가지를 함께 사용할 수는 없습니다 |

Details

142claude -p "Reply with one word: connected"142claude -p "Reply with one word: connected"

143```143```

144 144 

145**체크포인트**: 프롬프트가 응답을 반환하고 요청이 게이트웨이 로그에 `/v1/messages` 경로에 대한 `POST`로 상태 `200`으로 나타납니다. Claude Code는 `?beta=true`와 같은 쿼리 문자열을 추가하므로 전체 URL이 아닌 경로와 일치합니다. 두 가지 실패 메시지는 다른 방향을 가리킵니다.145**체크포인트**: 프롬프트가 응답을 반환하고, 요청이 게이트웨이 로그에 `/v1/messages` 경로에 대한 상태 `200`의 `POST`로 나타납니다. Claude Code는 `?beta=true`와 같은 쿼리 문자열을 추가하므로 전체 URL이 아닌 경로로 일치 여부를 확인하십시오. 실패 메시지를 확인합니다.

146 146 

147* `Not logged in`: 게이트웨이 로그를 확인하여 두 가지 원인을 구분합니다. 비어 있으면 자격증명이 세션에 도달하지 않았고 요청이 머신을 떠나지 않았습니다. 테스트 중인 셸에서 내보내기를 다시 실행하십시오. `401` 본문에 `x-api-key`가 표시되면 게이트웨이가 대신 해당 헤더에서 키를 예상합니다. `ANTHROPIC_API_KEY`로 전환하십시오.147* `Not logged in`: 게이트웨이 로그를 확인합니다. 비어 있으면 자격 증명이 세션에 도달하지 않았고 요청이 머신을 떠나지 않은 것입니다. 테스트 중인 셸에서 export를 다시 실행하십시오. 게이트웨이가 `x-api-key`를 명시한 `401`을 보여 주면 게이트웨이가 대신 해당 헤더에서 키를 예상하는 것이므로 `ANTHROPIC_API_KEY`로 전환하십시오. `api.anthropic.com` 또는 공급자의 엔드포인트에서 온 `401`이 표시되면 게이트웨이가 보유한 공급자 자격 증명을 수정하십시오.

148* `Failed to authenticate. API Error: 401`은 자격증명이 전송되고 거부되었음을 의미하며, 게이트웨이 로그는 위치를 나타냅니다. `api.anthropic.com` 또는 공급자의 엔드포인트를 명명하는 `401`은 게이트웨이가 업스트림에 도달했지만 보유한 공급자 자격증명이 거부되었음을 의미하므로 개발자 키가 작동했고 게이트웨이가 보유한 공급자 자격증명이 잘못되었거나 자리 표시자입니다.148* `Failed to authenticate. API Error: 401`은 자격증명이 전송되고 거부되었음을 의미하며, 게이트웨이 로그는 위치를 나타냅니다. `api.anthropic.com` 또는 공급자의 엔드포인트를 명명하는 `401`은 게이트웨이가 업스트림에 도달했지만 보유한 공급자 자격증명이 거부되었음을 의미하므로 개발자 키가 작동했고 게이트웨이가 보유한 공급자 자격증명이 잘못되었거나 자리 표시자입니다.

149 149 

150잘못되었거나 도달할 수 없는 기본 URL은 다른 증상을 생성합니다. Claude Code는 [백오프를 사용하여 연결을 재시도](https://code.claude.com/docs/ko/errors.md#automatic-retries)하며 오류를 보고하기 전에 몇 분 동안 출력 없이 앉아 있을 수 있습니다. 명령이 중단된 것으로 보이면 대기하는 대신 게이트웨이 로그를 확인하십시오. 도착하는 요청이 없으면 `ANTHROPIC_BASE_URL`이 게이트웨이를 가리키지 않습니다.150잘못되었거나 도달할 수 없는 기본 URL은 다른 증상을 생성합니다. Claude Code는 [백오프를 사용하여 연결을 재시도](https://code.claude.com/docs/ko/errors.md#automatic-retries)하며 오류를 보고하기 전에 몇 분 동안 출력 없이 앉아 있을 수 있습니다. 명령이 중단된 것으로 보이면 대기하는 대신 게이트웨이 로그를 확인하십시오. 도착하는 요청이 없으면 `ANTHROPIC_BASE_URL`이 게이트웨이를 가리키지 않습니다.


247 247 

248`data:` 줄이 증분으로 도착하는 것을 볼 수 있습니다. 전체 응답이 일시 중지 후 한 번에 도착하면 게이트웨이가 버퍼링되고 있으며, 이는 Claude Code를 정체시킵니다. `404`는 모델 이름이 라우팅되지 않음을 의미합니다. 모델 이름당 반복합니다.248`data:` 줄이 증분으로 도착하는 것을 볼 수 있습니다. 전체 응답이 일시 중지 후 한 번에 도착하면 게이트웨이가 버퍼링되고 있으며, 이는 Claude Code를 정체시킵니다. `404`는 모델 이름이 라우팅되지 않음을 의미합니다. 모델 이름당 반복합니다.

249 249 

250그런 다음 `claude`를 시작하고 메시지를 보냅니다. 이 단계의 각 증상에는 하나의 원인이 있습니다.250그런 다음 `claude`를 시작하고 메시지를 보낸 후, 표시되는 내용과 대조합니다.

251 251 

252* 로그인 프롬프트는 자격증명 간격을 의미합니다. `/status`를 실행하고 **Status** 탭을 엽니다. `Setting sources` 줄에 관리되는 설정이 포함되지 않으면 배포가 머신에 도달하지 않았습니다. 포함되면 개발자 자격증명이 배포되지 않았으므로 `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`를 설정하십시오.252* 로그인 화면이 나타나거나, 게이트웨이 로그에 새 항목 없이 `Not logged in`이 표시되면 자격 증명이 누락된 것입니다. `/status`를 실행하고 **Status** 탭을 엽니다. `Setting sources` 줄에 관리형 설정이 포함되지 않으면 배포가 머신에 도달하지 않은 것이고, 포함되어 있으면 개발자 자격 증명이 전달되지 않은 것이므로 `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper`를 설정하십시오.

253* `Failed to authenticate` 오류는 게이트웨이가 요청을 거부함을 의미합니다. 로그는 어느 자격증명이 실패했는지 나타냅니다. 게이트웨이가 자체 로그하는 거부는 개발자 키를 명명하는 반면, `api.anthropic.com` 또는 공급자의 엔드포인트의 `401`은 게이트웨이가 보유한 공급자 자격증명이 거부되었음을 의미합니다.253* 게이트웨이 로그에 `401`이 있는 상태에서 `Please run /login · API Error: 401`, `Not logged in` 또는 `Invalid API key`가 표시되는 경우: 누가 `401`을 기록했는지 확인하십시오. 게이트웨이가 기록했다면 개발자 키 또는 해당 헤더를 수정하고, `api.anthropic.com` 또는 공급자의 엔드포인트에서 온 것이라면 게이트웨이가 보유한 공급자 자격 증명을 수정하십시오.

254* 게이트웨이가 `x-api-key` 헤더에서 키를 예상하여 `ANTHROPIC_API_KEY`로 설정한 경우, 처음 사용할 때 키에 대한 일회성 승인 프롬프트가 나타나는 것은 정상입니다.254* 게이트웨이가 `x-api-key` 헤더에서 키를 예상하여 `ANTHROPIC_API_KEY`로 설정한 경우, 처음 사용할 때 키에 대한 일회성 승인 프롬프트가 나타나는 것은 정상입니다.

255 255 

256조직이 [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md)를 사용하는 경우 여기서 `/fast`도 실행하십시오. 가용성 확인은 게이트웨이 기본 URL을 따르지 않고 `api.anthropic.com`을 직접 호출하므로 게이트웨이 라우팅 세션은 추론이 작동하더라도 빠른 모드를 사용할 수 없거나 비활성화된 것으로 보고할 수 있습니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)은 각 메시지를 복원하는 변수에 매핑하고, [구성의 나머지 부분](#distribute-the-configuration)과 함께 배포됩니다.256조직이 [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md)를 사용하는 경우 여기서 `/fast`도 실행하십시오. 가용성 확인은 게이트웨이 기본 URL을 따르지 않고 `api.anthropic.com`을 직접 호출하므로 게이트웨이 라우팅 세션은 추론이 작동하더라도 빠른 모드를 사용할 수 없거나 비활성화된 것으로 보고할 수 있습니다. [프록시 및 LLM 게이트웨이 뒤에서 빠른 모드 사용](https://code.claude.com/docs/ko/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)은 각 메시지를 복원하는 변수에 매핑하고, [구성의 나머지 부분](#distribute-the-configuration)과 함께 배포됩니다.

Details

147 147 

148## Azure RBAC 구성148## Azure RBAC 구성

149 149 

150`Azure AI User` 및 `Cognitive Services User` 기본 역할에는 Claude 모델을 호출하는 데 필요한 모든 권한이 포함됩니다.150Microsoft Entra ID 또는 Microsoft Entra ID에서 발급한 베어러 토큰으로 인증하는 경우, Foundry 리소스에서 해당 ID에 `Foundry User` 또는 `Cognitive Services User` 역할을 할당합니다. `Foundry User`는 이전 이름인 `Azure AI User`로 표시될 수도 있습니다.

151 151 

152더 제한적인 권한의 경우 다음을 포함하는 사용자 지정 역할을 만듭니다:152이러한 역할이 요구 사항을 충족하지 않는 경우 사용자 지정 역할에 대해서는 [Microsoft Foundry RBAC 설명서](https://learn.microsoft.com/en-us/azure/foundry/concepts/rbac-foundry)를 참조하세요.

153 

154```json theme={null}

155{

156 "permissions": [

157 {

158 "dataActions": [

159 "Microsoft.CognitiveServices/accounts/providers/*"

160 ]

161 }

162 ]

163}

164```

165 

166자세한 내용은 [Microsoft Foundry RBAC 설명서](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry)를 참조하세요.

167 153 

168## 1M 토큰 컨텍스트 윈도우154## 1M 토큰 컨텍스트 윈도우

169 155 

model-config.md +5 −3

Details

157 157 

158시작 시 활성 모델이 자신의 선택이 아닌 프로젝트 또는 관리형 설정에서 나오면 시작 헤더는 어떤 설정 파일이 설정했는지 표시합니다. `/model`을 실행하여 재정의합니다. 프로젝트 또는 관리형 설정은 다음 시작 시 다시 적용됩니다. Claude Code를 포함하고 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ko/env-vars)를 설정하는 플랫폼에서 호스트의 모델 구성은 관리형 모델 설정보다 우선 적용되며, 호스트가 자체 허용 목록을 제공하지 않으면 관리형 `availableModels` 허용 목록이 계속 적용됩니다. [관리형 설정 우선순위의 예외](https://code.claude.com/docs/ko/settings.md#exceptions-to-managed-settings-precedence)는 호스트가 재정의하는 키 및 변수를 나타냅니다.158시작 시 활성 모델이 자신의 선택이 아닌 프로젝트 또는 관리형 설정에서 나오면 시작 헤더는 어떤 설정 파일이 설정했는지 표시합니다. `/model`을 실행하여 재정의합니다. 프로젝트 또는 관리형 설정은 다음 시작 시 다시 적용됩니다. Claude Code를 포함하고 [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ko/env-vars)를 설정하는 플랫폼에서 호스트의 모델 구성은 관리형 모델 설정보다 우선 적용되며, 호스트가 자체 허용 목록을 제공하지 않으면 관리형 `availableModels` 허용 목록이 계속 적용됩니다. [관리형 설정 우선순위의 예외](https://code.claude.com/docs/ko/settings.md#exceptions-to-managed-settings-precedence)는 호스트가 재정의하는 키 및 변수를 나타냅니다.

159 159 

160사용자 또는 조직이 [PreModelSwitch 훅](https://code.claude.com/docs/ko/hooks.md#premodelswitch)을 구성하면 요청된 전환이 적용되기 전에 실행되며 이를 차단하거나 확인을 요청할 수 있습니다.160사용자 또는 조직이 [PreModelSwitch 훅](https://code.claude.com/docs/ko/hooks.md#premodelswitch)을 구성하면 요청된 전환이 적용되기 전에 실행되며 이를 차단하거나 확인을 요청할 수 있습니다. 훅이 전환을 차단한 이유와 해결 방법은 [Model switch was blocked by a PreModelSwitch hook](https://code.claude.com/docs/ko/errors.md#model-switch-was-blocked-by-a-premodelswitch-hook)을 참조하십시오.

161 161 

162Claude Code가 조직의 [관리형 플러그인](https://code.claude.com/docs/ko/settings-reference.md#enabledplugins)이 제공하는 PreModelSwitch 훅을 알 수 없는 경우(예: 관리형 플러그인이 로드되지 않음), 확인되지 않은 상태로 적용하는 대신 전환을 거부하며, 각 새 시도에서 다시 확인합니다. [PreModelSwitch 훅에 의해 모델 전환이 차단되었습니다](https://code.claude.com/docs/ko/errors.md#model-switch-was-blocked-by-a-premodelswitch-hook)를 참조하여 메시지 및 복구를 확인합니다.162[관리형 플러그인](https://code.claude.com/docs/ko/settings-reference.md#enabledplugins) 또는 해당 훅이 로드되지 않더라도 모델을 전환할 수 있습니다. 해당 플러그인의 PreModelSwitch 훅은 실행되지 않으므로, 그중 하나가 차단했을 전환도 진행될 수 있습니다. 로드된 다른 PreModelSwitch 훅은 여전히 실행되며 전환을 차단할 수 있습니다. v2.1.323 이전의 Claude Code가 `so organization-managed PreModelSwitch hooks could not be checked` 메시지와 함께 전환을 거부하면 Claude Code를 업데이트하십시오.

163 

164무엇이 실패했는지 확인하려면 세션에서 `/plugin`을 실행하고 [**Errors** 탭](https://code.claude.com/docs/ko/plugins/troubleshooting.md#failed-to-load-hooks-from-and-hooks-that-dont-fire)을 엽니다. 그곳에 아무것도 나열되지 않으면 셸에서 `claude --debug`로 새 세션을 시작하고 다른 모델로 전환한 다음 [디버그 로그](https://code.claude.com/docs/ko/hooks.md#debug-hooks)를 확인합니다. 플러그인을 수정한 후, 또는 [플러그인 업데이트](https://code.claude.com/docs/ko/plugins/install.md#keep-plugins-updated)를 통해 관리자의 수정 사항이 사용자의 컴퓨터에 반영된 후, 세션에서 `/reload-plugins`를 실행하여 해당 훅이 실행되도록 합니다.

163 165 

164[Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) `setModel()` 메서드를 통해 모델을 전환하거나 [Desktop 앱](https://code.claude.com/docs/ko/desktop.md)과 같은 앱에서, 또는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 통해 연결된 장치에서 Claude Code는 값을 전환할 때 확인합니다:166[Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) `setModel()` 메서드를 통해 모델을 전환하거나 [Desktop 앱](https://code.claude.com/docs/ko/desktop.md)과 같은 앱에서, 또는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)을 통해 연결된 장치에서 Claude Code는 값을 전환할 때 확인합니다:

165 167 


903 905 

904### 게이트웨이 또는 사용자 정의 모델 ID의 윈도우 수정906### 게이트웨이 또는 사용자 정의 모델 ID의 윈도우 수정

905 907 

906다음 시작 경고 중 하나가 표시되면 Claude Code가 세션의 모델 ID를 인식하지 못한다는 의미이며, 이 경우 Claude Code는 모델의 컨텍스트 윈도우를 파악할 수 없으므로 200K 토큰으로 가정합니다.908다음 경고 중 하나가 표시되면 Claude Code가 세션의 모델 ID를 인식하지 못한다는 의미이며, 이 경우 Claude Code는 모델의 컨텍스트 윈도우를 파악할 수 없으므로 200K 토큰으로 가정합니다.

907 909 

908```text theme={null}910```text theme={null}

909⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...911⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...

Details

431> * **공백 허용 안 됨**: 값에 공백을 포함할 수 없습니다. 예를 들어 `user.organizationName=My Company`는 유효하지 않습니다431> * **공백 허용 안 됨**: 값에 공백을 포함할 수 없습니다. 예를 들어 `user.organizationName=My Company`는 유효하지 않습니다

432> * **형식**: 쉼표로 구분된 key=value 쌍이어야 합니다: `key1=value1,key2=value2`432> * **형식**: 쉼표로 구분된 key=value 쌍이어야 합니다: `key1=value1,key2=value2`

433> * **허용 문자**: 제어 문자, 공백, 큰따옴표, 쉼표, 세미콜론, 백슬래시를 제외한 US-ASCII 문자만 허용됩니다433> * **허용 문자**: 제어 문자, 공백, 큰따옴표, 쉼표, 세미콜론, 백슬래시를 제외한 US-ASCII 문자만 허용됩니다

434> * **특수 문자**: 허용 범위를 벗어난 문자는 퍼센트 인코딩해야 합니다434> * **특수 문자**: 허용 범위를 벗어난 문자는 퍼센트 인코딩해야 하며, 값 안의 `=`는 `%3D`로 작성해야 합니다

435>435>

436> 공백이 필요한 값에는 대신 밑줄이나 camelCase를 사용하세요. 다음 예시는 각 형식으로 `org.name`을 설정합니다.436> 공백이 필요한 값에는 대신 밑줄이나 camelCase를 사용하세요. 다음 예시는 각 형식으로 `org.name`을 설정합니다.

437>437>

Details

304claude --permission-mode plan304claude --permission-mode plan

305```305```

306 306 

307플랜을 승인하지 않고 플랜 모드를 종료하려면 `Shift+Tab`을 다시 누릅니다.307승인 프롬프트가 열려 있지 않은 상태에서 `Shift+Tab`을 다시 누르면 플랜 모드가 종료됩니다. 승인 프롬프트에서는 `Shift+Tab`을 누르면 플랜이 승인되므로 먼저 `Esc`를 누릅니다.

308 308 

309### 플랜 검토 및 승인309### 플랜 검토 및 승인

310 310 

Details

344 "PostToolUse": [344 "PostToolUse": [

345 {345 {

346 "matcher": "Write|Edit",346 "matcher": "Write|Edit",

347 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]347 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npm run lint:fix -- \"$f\"" }]

348 }348 }

349 ]349 ]

350 }350 }

Details

196 196 

197### `expect`로 결과 확인하기197### `expect`로 결과 확인하기

198 198 

199키트에는 다음 어설션이 있으며, 선택한 어설션은 `expect(answer.text).toBe('ok')`처럼 확인할 값 뒤에 붙입니다.199`expect`에는 `toEqual`, `toHaveLength` 같은 자체 어설션 세트가 있으며, 어설션은 `expect(answer.text).toBe('ok')`처럼 확인할 값 뒤에 붙입니다. 전체 목록은 [빌드에 맞는 타입](https://code.claude.com/docs/ko/plugins/mods/create.md#get-the-types-for-your-build)의 `claude-code/index.d.ts`에서 `type Matchers`를 검색하여 확인할 수 있습니다. 반대 조건을 확인하려면 어설션 앞에 `.not`을 붙입니다. 프로미스가 어떤 값으로 처리되는지 확인하려면 `expect(...)` 바로 뒤에 `.resolves`나 `.rejects`를 붙이고, `await expect(promise).rejects.toThrow()`처럼 해당 줄을 `await`합니다.

200 

201* **동등성**: 같은 값 또는 객체에는 `toBe`, 구조에는 `toEqual`, 구조와 함께 `undefined` 필드 및 프로토타입까지 확인하려면 `toStrictEqual`, 지정한 필드만 확인하려면 `toMatchObject`

202* **텍스트**: 정규 표현식이나 부분 문자열을 받는 `toMatch`, `toStartWith`, `toEndWith`

203* **숫자**: `toBeGreaterThan`, `toBeGreaterThanOrEqual`, `toBeLessThan`, `toBeLessThanOrEqual`

204* **포함 내용**: 부분 문자열이나 멤버에는 `toContain`, 구조로 비교하는 멤버에는 `toContainEqual`, 그리고 `toHaveLength`, `toHaveProperty`

205* **존재 여부와 타입**: `toBeDefined`, `toBeUndefined`, `toBeNull`, `toBeTruthy`, `toBeFalsy`, `toBeNaN`, `toBeInstanceOf`

206* **예외 발생**: `expect`가 호출하는 함수 또는 `.rejects`로 확인하는 프로미스에 대한 `toThrow`

207 

208반대 조건을 확인하려면 어설션 앞에 `.not`을 붙이고, 프로미스가 어떤 값으로 처리되는지 확인하려면 `.resolves`나 `.rejects`를 붙입니다.

209 200 

210비동기 제너레이터가 아닌 일반 함수로 `on`에 전달한 스텁이나 훅 안에서 `expect`가 실패하면 테스트가 실패합니다. 엔진은 해당 훅을 건너뛰며, 실패 출력에는 `in the test's store.set hook`처럼 그 훅의 이름이 표시됩니다.201비동기 제너레이터가 아닌 일반 함수로 `on`에 전달한 스텁이나 훅 안에서 `expect`가 실패하면 테스트가 실패합니다. 엔진은 해당 훅을 건너뛰며, 실패 출력에는 `in the test's store.set hook`처럼 그 훅의 이름이 표시됩니다.

211 202 

Details

67> | `--capacity <N>` | 최대 동시 세션 수입니다. 기본값은 32입니다. `--spawn=session`과 함께 사용할 수 없습니다. |67> | `--capacity <N>` | 최대 동시 세션 수입니다. 기본값은 32입니다. `--spawn=session`과 함께 사용할 수 없습니다. |

68> | `--[no-]create-session-in-dir` | 서버가 시작될 때 현재 디렉터리에 세션 하나를 미리 생성하여 즉시 입력할 수 있도록 합니다. `worktree` 모드에서는 이 세션이 현재 디렉터리에 유지되고, 요청 시 생성되는 세션은 격리된 워크트리를 갖습니다. 기본적으로 켜져 있습니다. `--no-create-session-in-dir`을 전달하여 세션 없이 시작하면, 서버를 중지할 때 Claude Code가 서버의 세션을 보관 처리하므로 [재개](#resume-sessions-after-stopping-the-server)할 세션이 남지 않습니다. |68> | `--[no-]create-session-in-dir` | 서버가 시작될 때 현재 디렉터리에 세션 하나를 미리 생성하여 즉시 입력할 수 있도록 합니다. `worktree` 모드에서는 이 세션이 현재 디렉터리에 유지되고, 요청 시 생성되는 세션은 격리된 워크트리를 갖습니다. 기본적으로 켜져 있습니다. `--no-create-session-in-dir`을 전달하여 세션 없이 시작하면, 서버를 중지할 때 Claude Code가 서버의 세션을 보관 처리하므로 [재개](#resume-sessions-after-stopping-the-server)할 세션이 남지 않습니다. |

69> | `--permission-mode <mode>` | 서버 세션의 시작 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 `acceptEdits` 등으로 설정합니다. `manual`을 `default`의 별칭으로 허용합니다. 인식할 수 없는 모드를 지정하면 시작 시 서버가 중지되고 유효한 모드 목록이 표시됩니다. |69> | `--permission-mode <mode>` | 서버 세션의 시작 [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)를 `acceptEdits` 등으로 설정합니다. `manual`을 `default`의 별칭으로 허용합니다. 인식할 수 없는 모드를 지정하면 시작 시 서버가 중지되고 유효한 모드 목록이 표시됩니다. |

70> | `--settings <file>` | JSON 설정 파일을 `claude --settings`와 같은 [우선순위](https://code.claude.com/docs/ko/settings.md#settings-precedence)로 서버의 세션에 적용합니다. JSON 문자열이 아닌 파일 경로를 지정합니다. Claude Code v2.1.321 이상이 필요합니다. |

70> | `--chrome` / `--no-chrome` | 서버가 생성하는 세션에서 [Chrome 통합](https://code.claude.com/docs/ko/chrome.md)을 켜거나 꺼, 다른 기기에서 작업하는 동안 Claude가 사용자 머신의 Chrome을 사용할 수 있도록 합니다. 두 플래그 모두 없으면, [Chrome을 기본으로 활성화](https://code.claude.com/docs/ko/chrome.md#enable-chrome-by-default)한 경우에도 서버가 미리 생성하는 세션과 claude.ai/code 또는 Claude 앱에서 직접 시작하는 세션은 Chrome이 꺼진 상태로 시작합니다. 서버가 [프로젝트](https://code.claude.com/docs/ko/claude-projects.md) 스레드 중 하나를 위해 시작하는 세션은 대신 해당 설정을 따르며, `bypassPermissions` 모드에서는 예외입니다. Claude Code v2.1.273 이상이 필요합니다. |71> | `--chrome` / `--no-chrome` | 서버가 생성하는 세션에서 [Chrome 통합](https://code.claude.com/docs/ko/chrome.md)을 켜거나 꺼, 다른 기기에서 작업하는 동안 Claude가 사용자 머신의 Chrome을 사용할 수 있도록 합니다. 두 플래그 모두 없으면, [Chrome을 기본으로 활성화](https://code.claude.com/docs/ko/chrome.md#enable-chrome-by-default)한 경우에도 서버가 미리 생성하는 세션과 claude.ai/code 또는 Claude 앱에서 직접 시작하는 세션은 Chrome이 꺼진 상태로 시작합니다. 서버가 [프로젝트](https://code.claude.com/docs/ko/claude-projects.md) 스레드 중 하나를 위해 시작하는 세션은 대신 해당 설정을 따르며, `bypassPermissions` 모드에서는 예외입니다. Claude Code v2.1.273 이상이 필요합니다. |

71> | `-d`, `--debug[=<filter>]` | 서버의 디버그 로깅을 켜며, 선택적으로 카테고리별로 필터링할 수 있습니다. 필터는 `--debug=api,hooks`와 같이 `=` 형식으로만 전달합니다. Claude Code v2.1.282 이상이 필요합니다. |72> | `-d`, `--debug[=<filter>]` | 서버의 디버그 로깅을 켜며, 선택적으로 카테고리별로 필터링할 수 있습니다. 필터는 `--debug=api,hooks`와 같이 `=` 형식으로만 전달합니다. Claude Code v2.1.282 이상이 필요합니다. |

72> | `--debug-file <path>` | 디버그 로그를 지정한 파일에 기록합니다. |73> | `--debug-file <path>` | 디버그 로그를 지정한 파일에 기록합니다. |

73> | `--verbose` | 자세한 연결 및 세션 로그를 표시합니다. |74> | `--verbose` | 자세한 연결 및 세션 로그를 표시합니다. |

74> | `--sandbox`, `--no-sandbox` | v2.1.300에서 제거되었습니다. 두 플래그 중 하나를 전달하면 서버가 시작되지 않고 [오류와 함께 종료](https://code.claude.com/docs/ko/errors.md#sandbox-is-not-supported-by-claude-remote-control)됩니다. |75> | `--sandbox`, `--no-sandbox` | v2.1.300에서 제거되었습니다. 두 플래그 중 하나를 전달하면 서버가 시작되지 않고 [오류와 함께 종료](https://code.claude.com/docs/ko/errors.md#sandbox-is-not-supported-by-claude-remote-control)됩니다. |

75>76>

76> `remote-control` 앞에 전역 `claude` 플래그를 전달하거나 래퍼 스크립트가 이를 추가하는 경우, Claude Code는 해당 플래그를 서버가 생성하는 세션으로 전달하지 않습니다. Claude Code는 `--verbose`나 `--model`처럼 플래그를 제외해도 해당 세션이 할 수 있는 일이 바뀌지 않는 것으로 알려진 경우에만 플래그를 허용합니다. `--settings` 등 그 외의 플래그에 대해서는 Claude Code가 [시작을 거부](https://code.claude.com/docs/ko/errors.md#not-carried-over-to-the-sessions-remote-control-starts)하고 제거해야 할 플래그 이름을 알려 줍니다.77> `remote-control` 앞에 전역 `claude` 플래그를 전달하거나 래퍼 스크립트가 이를 추가하는 경우, Claude Code는 해당 플래그를 서버가 생성하는 세션으로 전달하지 않습니다. `--verbose`나 `--model` 등 일부 플래그를 사용하면 서버는 그래도 시작됩니다. 그 외의 플래그를 사용하면 서버가 [시작되지 않습니다](https://code.claude.com/docs/ko/errors.md#not-carried-over-to-the-sessions-remote-control-starts). 설정 파일을 전달하려면 `remote-control` 뒤에 `--settings`를 넣습니다.

77>78>

78> 서버가 시작하는 세션을 샌드박스로 격리하려면 설정 파일에서 [샌드박싱](https://code.claude.com/docs/ko/sandboxing.md)을 켭니다.79> 서버가 시작하는 세션을 샌드박스로 격리하려면 설정 파일에서 [샌드박싱](https://code.claude.com/docs/ko/sandboxing.md)을 켭니다.

79>80>

routines.md +1 −1

Details

431 431 

432각 예약 작업은 네트워크 액세스, 환경 변수 및 설정 스크립트를 제어하는 [클라우드 환경](https://code.claude.com/docs/ko/cloud-environments.md)을 사용합니다. 작업은 모든 실행에서 환경의 네트워크 정책을 상속합니다.432각 예약 작업은 네트워크 액세스, 환경 변수 및 설정 스크립트를 제어하는 [클라우드 환경](https://code.claude.com/docs/ko/cloud-environments.md)을 사용합니다. 작업은 모든 실행에서 환경의 네트워크 정책을 상속합니다.

433 433 

434**Default** 환경은 **Allow package managers**가 선택된 **Limited** 액세스를 사용하므로, 실행은 [기본 허용 목록](https://code.claude.com/docs/ko/cloud-environments.md#default-allowed-domains)에 접근할 수 있습니다. 차단된 호스트로 보내는 요청은 `403` 및 `x-deny-reason: host_not_allowed`로 실패합니다. MCP 커넥터 트래픽은 Anthropic의 서버를 통해 라우팅되므로, 작업에 추가한 커넥터는 **Allowed domains**에 호스트를 추가하지 않아도 작동합니다. 필요하지 않은 커넥터는 [커넥터](#connectors)에서 제거하십시오.434**Default** 환경은 **Allow package managers**가 선택된 **Limited** 액세스를 사용하므로, 실행은 [기본 허용 목록](https://code.claude.com/docs/ko/cloud-environments.md#default-allowed-domains)에 접근할 수 있습니다. 차단된 호스트로 보내는 요청은 [`403` 또는 `ENOTFOUND`와 같은 오류](https://code.claude.com/docs/ko/errors#host-not-allowed-in-a-cloud-session)로 실패합니다. MCP 커넥터 트래픽은 Anthropic의 서버를 통해 라우팅되므로, 작업에 추가한 커넥터는 **Allowed domains**에 호스트를 추가하지 않아도 작동합니다. 필요하지 않은 커넥터는 [커넥터](#connectors)에서 제거하십시오.

435 435 

436자신의 환경 중 하나에서 추가 도메인을 허용하려면 다음 단계를 따릅니다. [조직 공유 환경](https://code.claude.com/docs/ko/cloud-environments.md#organization-shared-environments)은 여기서 읽기 전용으로 열리므로, Owner가 대신 [관리자 설정](https://claude.ai/admin-settings)의 **Cloud environments** 페이지에서 네트워크 액세스를 변경합니다.436자신의 환경 중 하나에서 추가 도메인을 허용하려면 다음 단계를 따릅니다. [조직 공유 환경](https://code.claude.com/docs/ko/cloud-environments.md#organization-shared-environments)은 여기서 읽기 전용으로 열리므로, Owner가 대신 [관리자 설정](https://claude.ai/admin-settings)의 **Cloud environments** 페이지에서 네트워크 액세스를 변경합니다.

437 437 

sandboxing.md +5 −3

Details

276 276 

277이 경로들은 OS 수준에서 적용되므로 샌드박스 내부에서 실행되는 모든 명령과 그 하위 프로세스가 이를 따릅니다. 도구에 특정 위치에 대한 쓰기 권한이 필요한 경우, `excludedCommands`로 해당 도구를 샌드박스에서 완전히 제외하는 대신 이 방법을 사용하는 것이 권장됩니다.277이 경로들은 OS 수준에서 적용되므로 샌드박스 내부에서 실행되는 모든 명령과 그 하위 프로세스가 이를 따릅니다. 도구에 특정 위치에 대한 쓰기 권한이 필요한 경우, `excludedCommands`로 해당 도구를 샌드박스에서 완전히 제외하는 대신 이 방법을 사용하는 것이 권장됩니다.

278 278 

279Linux 및 WSL2에서는 아직 존재하지 않는 경로에 대한 항목은 효과가 없으므로, 먼저 경로를 생성하세요.

280 

279동일한 파일 시스템 배열을 여러 [설정 범위](https://code.claude.com/docs/ko/settings.md#settings-precedence)에서 정의하면 Claude Code는 이를 병합하며, 한 범위의 배열을 다른 범위의 배열로 대체하는 대신 모든 범위의 경로를 결합합니다. Claude Code는 [개발자가 정책을 넓히지 못하도록 하기](#keep-developers-from-widening-the-policy)의 잠금이 적용되는 항목은 병합에서 제외합니다.281동일한 파일 시스템 배열을 여러 [설정 범위](https://code.claude.com/docs/ko/settings.md#settings-precedence)에서 정의하면 Claude Code는 이를 병합하며, 한 범위의 배열을 다른 범위의 배열로 대체하는 대신 모든 범위의 경로를 결합합니다. Claude Code는 [개발자가 정책을 넓히지 못하도록 하기](#keep-developers-from-widening-the-policy)의 잠금이 적용되는 항목은 병합에서 제외합니다.

280 282 

281CLI에서 [`--setting-sources`](https://code.claude.com/docs/ko/cli-reference)로, 또는 Agent SDK에서 [`settingSources`](https://code.claude.com/docs/ko/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)로 특정 소스를 제외하면, Claude Code는 샌드박스 구성을 만들 때 해당 소스의 `sandbox.filesystem` 항목, `Edit` 권한 규칙, `Read` 거부 규칙을 무시합니다. Claude Code v2.1.246 이상이 필요합니다.283CLI에서 [`--setting-sources`](https://code.claude.com/docs/ko/cli-reference)로, 또는 Agent SDK에서 [`settingSources`](https://code.claude.com/docs/ko/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)로 특정 소스를 제외하면, Claude Code는 샌드박스 구성을 만들 때 해당 소스의 `sandbox.filesystem` 항목, `Edit` 권한 규칙, `Read` 거부 규칙을 무시합니다. Claude Code v2.1.246 이상이 필요합니다.


376 378 

377파일 시스템 격리를 끄면 샌드박스 처리된 명령이 할 수 있는 작업이 넓어지므로, Claude Code는 다음 설정 소스의 `filesystem.disabled`만 적용합니다:379파일 시스템 격리를 끄면 샌드박스 처리된 명령이 할 수 있는 작업이 넓어지므로, Claude Code는 다음 설정 소스의 `filesystem.disabled`만 적용합니다:

378 380 

379* 사용자 설정, 관리형 설정, `--settings` CLI 플래그에서 설정할 수 있습니다. `.claude/settings.json` 및 `.claude/settings.local.json`의 프로젝트 설정에서는 설정할 수 없으므로, 체크아웃한 프로젝트가 파일 시스템 격리를 끌 수 없습니다.381* 사용자 설정, 관리형 설정, `--settings` CLI 플래그에서 설정할 수 있습니다. `.claude/settings.json` 및 `.claude/settings.local.json`의 프로젝트 설정에서는 설정할 수 없습니다.

380* 관리형 설정이 `sandbox.filesystem`을 조금이라도 구성하거나 `"mode": "deny"`인 `sandbox.credentials.files` 항목을 하나라도 나열하는 경우, 관리형 설정만 이 키를 설정할 수 있습니다. 이를 통해 개발자가 이러한 배포에서 파일 시스템 격리를 끌 수 없게 됩니다. 모든 사용자에 대해 파일 시스템 격리를 끄려면 관리형 설정에서 `"disabled": true`를 설정합니다.382* 관리형 설정이 `sandbox.filesystem`을 조금이라도 구성하거나 `"mode": "deny"`인 `sandbox.credentials.files` 항목을 하나라도 나열하는 경우, 관리형 설정만 이 키를 설정할 수 있습니다. 모든 사용자에 대해 파일 시스템 격리를 끄려면 관리형 설정에서 `"disabled": true`를 설정합니다.

381* [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/ko/env-vars)이 설정된 경우, Claude Code는 관리형 설정을 포함한 모든 소스의 `filesystem.disabled`를 무시하고 파일 시스템 격리를 켜 둡니다.383* [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/ko/env-vars)이 설정된 경우, Claude Code는 관리형 설정을 포함한 모든 소스의 `filesystem.disabled`를 무시합니다.

382 384 

383[유효한](https://code.claude.com/docs/ko/settings-reference.md#invalid-credential-entries-in-managed-settings) `mask` 항목은 Claude Code가 시작 시 해당 항목을 [`deny`로 폴백](#mask-credential-files)하더라도 키를 고정하지 않습니다. 자격 증명 디렉터리처럼 마스킹할 수 없는 경로는 관리형 설정에서 명시적인 `deny` 항목으로 나열하면 키가 고정됩니다.385[유효한](https://code.claude.com/docs/ko/settings-reference.md#invalid-credential-entries-in-managed-settings) `mask` 항목은 Claude Code가 시작 시 해당 항목을 [`deny`로 폴백](#mask-credential-files)하더라도 키를 고정하지 않습니다. 자격 증명 디렉터리처럼 마스킹할 수 없는 경로는 관리형 설정에서 명시적인 `deny` 항목으로 나열하면 키가 고정됩니다.

384 386 

settings.md +40 −40

Details

107 107 

108관리자라면 [조직을 위한 Claude Code 설정](https://code.claude.com/docs/ko/admin-setup.md)에서 적용할 항목을 선택하는 과정을 안내하며, [관리형 설정 배포](https://code.claude.com/docs/ko/managed-settings.md)에서 전달 방법과 정책이 적용되었는지 확인하는 방법을 다룹니다. claude.ai 관리자 콘솔의 관리형 설정 편집기에 표시될 수 있는 경고에 대해서는 [서버 관리형 설정 구성](https://code.claude.com/docs/ko/server-managed-settings.md#configure-server-managed-settings)을 참조하세요.108관리자라면 [조직을 위한 Claude Code 설정](https://code.claude.com/docs/ko/admin-setup.md)에서 적용할 항목을 선택하는 과정을 안내하며, [관리형 설정 배포](https://code.claude.com/docs/ko/managed-settings.md)에서 전달 방법과 정책이 적용되었는지 확인하는 방법을 다룹니다. claude.ai 관리자 콘솔의 관리형 설정 편집기에 표시될 수 있는 경고에 대해서는 [서버 관리형 설정 구성](https://code.claude.com/docs/ko/server-managed-settings.md#configure-server-managed-settings)을 참조하세요.

109 109 

110## 설정 변경110## 설정 변경하기

111 111 

112`/config` 메뉴, 설정 파일 편집, 또는 한 세션에 대해 명령줄에서 설정을 변경할 수 있습니다.112설정은 `/config` 메뉴에서 변경하거나, 설정 파일을 편집하여 변경하거나, 명령줄에서 한 세션에 한해 변경할 수 있습니다.

113 113 

114Claude Code의 시스템 프롬프트는 게시되지 않습니다. Claude에 지속적인 지침을 제공하려면 [`CLAUDE.md` 파일](https://code.claude.com/docs/ko/memory) 또는 `--append-system-prompt` 플래그를 사용합니다.114Claude Code의 시스템 프롬프트는 공개되어 있지 않습니다. Claude에게 지속적인 지침을 제공하려면 [`CLAUDE.md` 파일](https://code.claude.com/docs/ko/memory) 또는 `--append-system-prompt` 플래그를 사용합니다.

115 115 

116### /config 메뉴 사용116### /config 메뉴 사용하기

117 117 

118Claude Code 내에서 `/config`를 실행하고 **Config** 탭을 엽니다. 테마, 편집기 모드, 상세 출력과 같은 짧은 개인 옵션 집합을 나열하며, 모든 설정 키는 아닙니다. 옵션을 선택하여 변경합니다. Claude Code가 저장합니다:118Claude Code 안에서 `/config`를 실행하고 **Config** 탭을 엽니다. 이 탭에는 모든 설정 키가 아니라 테마, 에디터 모드, 상세 출력과 같은 소수의 개인 옵션이 나열됩니다. 옵션을 선택하여 변경하면 Claude Code가 다음 위치에 자동으로 저장합니다.

119 119 

120* **대부분의 옵션**: `~/.claude/settings.json`120* **대부분의 옵션**: `~/.claude/settings.json`

121* **팁 표시와 같은 몇 가지 옵션**: `.claude/settings.local.json`121* **Show tips와 같은 일부 옵션**: `.claude/settings.local.json`

122* **[전역 구성 옵션](https://code.claude.com/docs/ko/settings-reference.md#global-config-settings)**: `~/.claude.json`122* **[전역 구성 옵션](https://code.claude.com/docs/ko/settings-reference.md#global-config-settings)**: `~/.claude.json`

123 123 

124메뉴 없이 한 옵션을 설정하려면 `/config verbose=true`와 같이 `key=value`를 전달합니다.124메뉴 없이 옵션 하나를 설정하려면 `/config verbose=true`와 같이 `key=value`를 전달합니다.

125 125 

126> [!NOTE]126> [!NOTE]

127>127>

128> `/config`는 터미널 인터페이스의 일부입니다. [VS Code](https://code.claude.com/docs/ko/vs-code.md) 채팅 패널 및 [데스크톱 앱](https://code.claude.com/docs/ko/desktop.md)은 열지 않습니다. 설정 파일을 편집하거나 해당 앱의 자체 설정을 통해 변경합니다.128> `/config`는 터미널 인터페이스의 일부입니다. [VS Code](https://code.claude.com/docs/ko/vs-code.md) 채팅 패널과 [데스크톱 앱](https://code.claude.com/docs/ko/desktop.md)에서는 이를 열 수 없으므로, 해당 환경에서는 설정 파일을 편집하거나 각 앱 자체의 설정을 통해 설정을 변경합니다.

129 129 

130### 설정 파일 편집130### 설정 파일 편집하기

131 131 

132원하는 범위의 설정 파일을 편집기에서 열고 키를 추가하거나 변경합니다. 설정 파일은 엄격한 JSON입니다: `//` 주석이나 후행 쉼표는 구문 오류이며, Claude Code는 다음 시작에서 파일을 [설정 오류](#fix-a-broken-settings-file)로 보고합니다. 예를 들어 Claude Code가 lint 및 테스트 명령을 묻지 않고 실행하고 `.env` 파일 읽기를 중지하도록 하려면 `~/.claude/settings.json`에 다음을 추가합니다:132원하는 범위의 설정 파일을 에디터에서 열고 키를 추가하거나 변경합니다. 설정 파일은 엄격한 JSON입니다. `//` 주석이나 후행 쉼표는 구문 오류이며, Claude Code는 다음 시작 시 해당 파일을 [Settings Error](#fix-a-broken-settings-file)로 보고합니다. 예를 들어 Claude Code가 묻지 않고 lint 및 test 명령을 실행하도록 허용하고 `.env` 파일을 읽지 못하도록 하려면 `~/.claude/settings.json`에 다음을 추가합니다.

133 133 

134```json ~/.claude/settings.json theme={null}134```json ~/.claude/settings.json theme={null}

135{135{


147}147}

148```148```

149 149 

150`permissions` 아래의 각 항목은 도구와 수행할 수 있는 것을 명명하는 규칙입니다. [권한 구성](https://code.claude.com/docs/ko/permissions.md)은 구문을 설명합니다. `$schema` 줄은 Claude Code 설정에 대한 [게시된 JSON 스키마](https://json.schemastore.org/claude-code-settings.json)를 가리키며, VS Code, Cursor 및 JSON 스키마를 지원하는 다른 편집기에서 자동 완성 및 인라인 검증을 제공합니다. 스키마는 최신 CLI 릴리스보다 뒤떨어질 수 있으므로 최근에 문서화된 키에 대한 검증 경고는 구성이 유효하지 않음을 의미하지 않습니다.150`permissions` 아래의 각 항목은 도구와 해당 도구가 수행할 수 있는 작업을 지정하는 규칙이며, 구문은 [권한 구성하기](https://code.claude.com/docs/ko/permissions.md)에서 설명합니다. `$schema` 줄은 Claude Code 설정용 [공개 JSON 스키마](https://json.schemastore.org/claude-code-settings.json)를 가리키며, 이를 통해 VS Code, Cursor 및 JSON 스키마를 지원하는 기타 에디터에서 자동 완성과 인라인 유효성 검사를 사용할 수 있습니다. 스키마는 최신 CLI 릴리스보다 늦게 반영될 수 있으므로, 최근 문서화된 키에 대한 유효성 검사 경고가 구성이 잘못되었다는 의미는 아닙니다.

151 151 

152저장한 후 Claude Code 내에서 `/status`를 실행하여 파일이 로드되었는지 확인합니다. [로드된 것 확인](#check-what-loaded)은 `Setting sources` 줄이 표시하는 것과 손상된 파일이 보고되는 방식을 설명합니다.152저장한 후 Claude Code 안에서 `/status`를 실행하여 파일이 로드되었는지 확인합니다. `Setting sources` 줄에 표시되는 내용과 손상된 파일이 보고되는 방식은 [로드된 항목 확인하기](#check-what-loaded)에서 설명합니다.

153 153 

154완전한 개인 파일, 팀 파일, 조직 파일은 각각 설정하는 모든 키에 대한 주석과 함께 [예제 설정 파일](https://code.claude.com/docs/ko/settings-example.md)을 참조하세요.154설정하는 모든 키에 주석이 달린 완전한 개인 파일, 팀 파일, 조직 파일은 [예제 설정 파일](https://code.claude.com/docs/ko/settings-example.md)을 참조하세요.

155 155 

156### 한 세션에 대해 설정 변경156### 한 세션에 한해 설정 변경하기

157 157 

158값을 저장하지 않고 시도하려면 Claude Code를 시작할 때 설정합니다. 값은 해당 세션에 적용되고 설정 파일은 그대로 유지됩니다. 3가지 방법이 있습니다:158값을 저장하지 않고 시험해 보려면 Claude Code를 시작할 때 설정합니다. 해당 값은 그 세션에만 적용되며 설정 파일은 그대로 유지됩니다. 방법은 세 가지입니다.

159 159 

160* **`--settings`**: JSON으로 키를 전달하거나 파일 경로로. Claude Code는 사용자, 프로젝트, 로컬 파일 위에 적용하고 관리되는 설정 아래에 적용합니다. 사용자 설정 파일이 설정할 수 있는 모든 키를 설정할 수 있습니다. `Managed` 또는 `Global config` 키는 설정할 수 없습니다.160* **`--settings`**: 키를 JSON으로 인라인 또는 파일 경로로 전달합니다. Claude Code는 이를 사용자, 프로젝트, 로컬 파일보다 위에, 관리형 설정보다 아래에 적용합니다. 사용자 설정 파일에서 설정할 수 있는 모든 키를 설정할 수 있지만, `Managed` 또는 `Global config` 키는 설정할 수 없습니다.

161* **해당 키에 대한 플래그**: 일부 키에는 `model`에 대한 `--model`, `effortLevel` 및 `modelSettings`에 대한 `--effort`와 같은 자체 플래그가 있습니다.161* **해당 키 전용 플래그**: 일부 키에는 `model`에 대한 `--model`, `effortLevel` 및 `modelSettings`에 대한 `--effort`처럼 자체 플래그가 있습니다.

162* **환경 변수**: `model`에 대해 `ANTHROPIC_MODEL`과 같이 `claude`를 실행하기 전에 키의 쌍을 이루는 변수를 내보냅니다.162* **환경 변수**: `claude`를 실행하기 전에 `model`에 대한 `ANTHROPIC_MODEL`처럼 키와 짝을 이루는 변수를 export합니다.

163 163 

164각 키의 [설정 참조](https://code.claude.com/docs/ko/settings-reference.md) 항목은 세션별 재정의 및 우선순위를 나열하므로 변경하려는 키의 항목을 확인합니다.164[설정 참조](https://code.claude.com/docs/ko/settings-reference.md)의 각 키 항목에는 세션별 재정의 방법과 어느 것이 우선하는지가 나와 있으므로, 변경하려는 키의 항목을 확인하세요.

165 165 

166세션 내에서 실행하는 명령은 대부분 선택을 저장합니다: `/config`에서 설정을 변경하면 Claude Code가 설정 파일에 작성하고, `/model`은 새 세션의 기본값으로 값을 저장합니다.166세션 안에서 실행하는 명령은 대부분 선택 사항을 저장합니다. `/config`에서 설정을 변경하면 Claude Code가 이를 설정 파일에 기록하고, `/model`은 해당 값을 새 세션의 기본값으로 저장합니다.

167 167 

168`/model` 선택기에서 `s`를 누르면 Claude Code는 기본값으로 저장하지 않고 모델을 전환합니다. [노력 수준 조정](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)은 `/effort`가 사용 중인 모델의 기본값으로 저장하는 것과 현재 세션에만 적용하는 것을 설명합니다.168`/model` 선택기에서 `s`를 누르면 Claude Code는 모델을 사용자 기본값으로 저장하지 않고 전환합니다. [effort 수준 조정하기](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)에서는 어떤 `/effort` 선택을 Claude Code가 사용 중인 모델의 기본값으로 저장하고 어떤 선택이 현재 세션에만 적용되는지 설명합니다.

169 169 

170예를 들어 기본값을 변경하지 않고 한 세션을 Opus에서 시작하려면:170예를 들어 기본값을 변경하지 않고 Opus로 세션 하나를 시작하려면 다음과 같이 합니다.

171 171 

172```bash theme={null}172```bash theme={null}

173claude --settings '{"model": "claude-opus-5-5"}'173claude --settings '{"model": "claude-opus-5-5"}'

174```174```

175 175 

176### 편집이 적용되는 시기176### 편집 사항이 적용되는 시점

177 177 

178Claude Code는 설정 파일을 감시하고 변경될 때 다시 로드하므로 대부분의 편집이 재시작 없이 실행 중인 세션에 적용됩니다. 여기에는 `permissions`, `hooks`, `apiKeyHelper`와 같은 자격 증명 도우미에 대한 편집이 포함됩니다. Claude Code는 또한 세션 중에 생성한 설정 파일을 로드합니다. 해당 폴더가 세션 시작 시 존재했다면 말입니다. 프로젝트의 `.claude/` 폴더의 경우 같은 세션에서 폴더를 생성할 때도 파일을 로드합니다.178Claude Code는 설정 파일을 감시하고 변경되면 다시 로드하므로, `permissions`, `hooks` 및 `apiKeyHelper`와 같은 자격 증명 헬퍼에 대한 편집을 포함하여 대부분의 편집 사항을 재시작 없이 실행 중인 세션에 적용합니다. 또한 세션 시작 시 폴더가 존재했다면 세션 도중에 생성한 설정 파일도 로드합니다. 프로젝트의 `.claude/` 폴더의 경우, 같은 세션에서 폴더를 생성하더라도 파일을 로드합니다.

179 179 

180다시 로드는 사용자, 프로젝트, 로컬, 관리되는 설정을 다룹니다. Claude Code는 감지된 각 설정 파일 변경에 대해 [`ConfigChange` hook](https://code.claude.com/docs/ko/hooks#configchange)을 실행하며, MDM 또는 claude.ai 콘솔에서 도착하는 관리되는 설정에 대해서는 실행하지 않습니다. MDM 또는 claude.ai 콘솔에서 도착하는 관리되는 설정은 일정에 따라 실행 중인 세션에 도달합니다. [전달 테이블](https://code.claude.com/docs/ko/managed-settings.md#choose-a-delivery-mechanism)은 소스별로 제공합니다.180다시 로드는 사용자, 프로젝트, 로컬 및 관리형 설정을 대상으로 합니다. Claude Code는 설정 파일을 직접 편집한 경우 [`ConfigChange` 훅](https://code.claude.com/docs/ko/hooks#configchange)을 실행하며, MDM 또는 claude.ai 콘솔에서 전달되는 관리형 설정에 대해서는 실행하지 않습니다. MDM을 통해 또는 claude.ai 콘솔에서 전달되는 관리형 설정은 저장 시점이 아니라 일정에 따라 실행 중인 세션에 반영되며, 소스별 일정은 [전달 표](https://code.claude.com/docs/ko/managed-settings.md#choose-a-delivery-mechanism)에 나와 있습니다.

181 181 

182Claude Code는 일부 키를 세션 시작 시에만 한 번 읽으므로 편집이 실행 중인 세션에 도달하지 않습니다. 관리자 측 키도 `requiredMinimumVersion`과 같이 재시작을 기다립니다. [정책이 적용되는 위치와 시기](https://code.claude.com/docs/ko/managed-settings.md#where-and-when-a-policy-applies)에 나열됩니다. 세션 중에 편집할 가능성이 가장 높은 것:182Claude Code는 일부 키를 세션 시작 시 한 번만 읽으므로, 이러한 키를 편집해도 실행 중인 세션에는 반영되지 않습니다. `requiredMinimumVersion`처럼 재시작을 기다려야 하는 관리자 측 키는 [정책이 적용되는 위치와 시점](https://code.claude.com/docs/ko/managed-settings.md#where-and-when-a-policy-applies)에 나와 있습니다. 세션 도중에 편집할 가능성이 가장 높은 키는 다음과 같습니다.

183 183 

184* [`model`](https://code.claude.com/docs/ko/settings-reference#model): 세션 중에 전환하려면 [`/model`](https://code.claude.com/docs/ko/model-config#setting-your-model)을 사용합니다. 각 모델에는 자체 프롬프트 캐시가 있으므로 전환 후 첫 요청은 전체 대화를 캐시되지 않은 상태로 다시 읽습니다. [모델 전환](https://code.claude.com/docs/ko/prompt-caching.md#switching-models)을 참조하세요184* [`model`](https://code.claude.com/docs/ko/settings-reference#model): 세션 도중에 전환하려면 [`/model`](https://code.claude.com/docs/ko/model-config#setting-your-model)을 사용합니다. 각 모델에는 자체 프롬프트 캐시가 있으므로, 전환 후 첫 번째 요청은 전체 대화를 캐시 없이 다시 읽습니다. [모델 전환](https://code.claude.com/docs/ko/prompt-caching.md#switching-models)을 참조하세요

185* [`effortLevel`](https://code.claude.com/docs/ko/settings-reference#effortlevel) 및 [`modelSettings`](https://code.claude.com/docs/ko/settings-reference#modelsettings): 세션 중에 변경하려면 [`/effort`](https://code.claude.com/docs/ko/model-config#adjust-effort-level)를 사용합니다185* [`effortLevel`](https://code.claude.com/docs/ko/settings-reference#effortlevel) 및 [`modelSettings`](https://code.claude.com/docs/ko/settings-reference#modelsettings): 세션 도중에 effort를 변경하려면 [`/effort`](https://code.claude.com/docs/ko/model-config#adjust-effort-level)를 사용합니다

186 186 

187세션 중에 [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 제거해도 파일 도구는 실행 중인 세션에서 차단을 유지합니다. 차단을 해제하려면 이 키를 설정하는 모든 설정 파일에서 키를 제거한 다음 실행 중인 각 세션을 다시 시작합니다.187세션 도중에 [`permissions.blockReadsOutsideWorkingDirectories`](https://code.claude.com/docs/ko/settings-reference#permissions-blockreadsoutsideworkingdirectories)를 제거하더라도 파일 도구는 실행 중인 세션에서 차단을 유지합니다. 차단을 해제하려면 해당 키를 설정하는 모든 설정 파일에서 키를 제거한 다음, 실행 중인 각 세션을 재시작합니다.

188 188 

189### 로드된 것 확인189### 로드된 항목 확인하기

190 190 

191Claude Code 내에서 `/status`를 실행하여 활성 설정 소스를 확인합니다. **Status** 탭에는 Claude Code가 현재 세션에 로드한 각 설정 파일을 나열하는 `Setting sources` 줄이 포함됩니다. 예: `User settings` 또는 `Project local settings`. [관리되는 설정](https://code.claude.com/docs/ko/admin-setup.md#decide-how-settings-reach-devices)이 적용되면 관리되는 설정 항목은 괄호에 도달 방식을 표시합니다.191Claude Code 안에서 `/status`를 실행하면 어떤 설정 소스가 활성 상태인지 확인할 수 있습니다. **Status** 탭에는 `User settings` 또는 `Project local settings`처럼 Claude Code가 현재 세션에 로드한 각 설정 파일을 나열하는 `Setting sources` 줄이 있습니다. [관리형 설정](https://code.claude.com/docs/ko/admin-setup.md#decide-how-settings-reach-devices)이 적용 중인 경우, 관리형 설정 항목에는 해당 설정이 컴퓨터에 전달된 방식이 괄호 안에 표시됩니다.

192 192 

193줄은 Claude Code가 읽은 파일을 확인합니다. 각 키를 제공한 파일은 표시하지 않습니다. Claude Code가 거부한 항목을 나열하려면 [`claude doctor`](https://code.claude.com/docs/ko/debug-your-config)를 실행합니다. 프로젝트 또는 관리되는 설정이 설정한 모델의 경우 시작 헤더가 설정한 파일의 이름을 지정합니다. `/status`와 `/config`는 다른 탭에서 동일한 대화를 엽니다. **Config** 탭은 `settings.json` 내용의 보기가 아닙니다.193이 줄은 Claude Code가 어떤 파일을 읽었는지 확인해 줄 뿐, 각 키를 어느 파일이 제공했는지는 표시하지 않습니다. Claude Code가 거부한 항목을 나열하려면 [`claude doctor`](https://code.claude.com/docs/ko/debug-your-config)를 실행합니다. 프로젝트 또는 관리형 설정에서 설정한 모델의 경우, 시작 헤더에 해당 모델을 설정한 파일이 표시됩니다. `/status`와 `/config`는 같은 대화 상자를 서로 다른 탭으로 열며, **Config** 탭은 `settings.json` 내용을 보여 주는 화면이 아닙니다.

194 194 

195### 손상된 설정 파일 수정195### 손상된 설정 파일 수정하기

196 196 

197JSON을 잘못 입력하거나 Claude Code가 수락하지 않는 값으로 키를 설정하면 Claude Code는 대화형 세션 시작 시 알려줍니다. 표시되는 것은 파일의 얼마나 많은 부분이 영향을 받는지에 따라 다릅니다:197JSON을 잘못 입력하거나 Claude Code가 허용하지 않는 값으로 키를 설정하면, Claude Code는 대화형 세션을 시작할 때 이를 알려 줍니다. 표시되는 내용은 파일이 영향을 받은 정도에 따라 다릅니다.

198 198 

199* **설정 오류**: 사용자, 프로젝트 또는 로컬 파일에 유효하지 않은 JSON 또는 스키마가 거부하는 값이 있습니다. 대화형 세션 시작 시 Claude Code는 Claude의 도움으로 파일을 수정하거나, 종료하거나, 손상된 설정 없이 계속할 수 있는 대화를 표시합니다.199* **Settings Error**: 사용자, 프로젝트 또는 로컬 파일에 잘못된 JSON이나 스키마가 거부하는 값이 있습니다. 대화형 세션을 시작할 때 Claude Code는 Claude의 도움을 받아 파일을 수정하거나, 종료하거나, 손상된 설정 없이 계속할 수 있는 대화 상자를 표시합니다.

200* **설정 경고**: 개별 항목만 실패합니다. 예: 잘못된 형식의 권한 규칙 또는 알 수 없는 hook 이벤트 이름. Claude Code는 해당 값을 건너뛰고 파일의 나머지를 유지합니다.200* **Settings Warning**: 잘못된 형식의 권한 규칙이나 알 수 없는 훅 이벤트 이름처럼 개별 항목만 실패한 경우입니다. 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이 아닌 관리형 설정 문서에 대해서는 [Managed settings document could not be parsed](https://code.claude.com/docs/ko/errors.md#managed-settings-document-could-not-be-parsed)를 참조하세요.

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는 기본 설정으로 시작합니다.202* **Configuration error**: [`~/.claude.json`](https://code.claude.com/docs/ko/claude-directory#ce-claude-json)을 구문 분석할 수 없습니다. `claude -p` 실행은 종료됩니다. 이전 사본을 복원하려면 [Configuration error in \~/.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

1533}1533}

1534```1534```

1535 1535 

1536Linux와 WSL2에서는 아직 존재하지 않는 경로에 대한 항목은 효과가 없으므로 먼저 경로를 만드십시오.

1537 

1536Claude Code는 세션이 로드하는 설정 범위 전체에서 `allowWrite` 항목과 `Edit(...)` 허용 권한 규칙의 경로를 병합하며, [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block)가 켜져 있는 동안 저장소 설정의 항목을 제외합니다. [저장소 잠금](https://code.claude.com/docs/ko/sandboxing.md#repository-settings-under-an-admin-required-sandbox)도 저장소의 항목을 제외할 수 있습니다. `allowWrite` 항목은 [보호된 경로](https://code.claude.com/docs/ko/sandboxing.md#protected-paths)를 해제할 수 없습니다.1538Claude Code는 세션이 로드하는 설정 범위 전체에서 `allowWrite` 항목과 `Edit(...)` 허용 권한 규칙의 경로를 병합하며, [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block)가 켜져 있는 동안 저장소 설정의 항목을 제외합니다. [저장소 잠금](https://code.claude.com/docs/ko/sandboxing.md#repository-settings-under-an-admin-required-sandbox)도 저장소의 항목을 제외할 수 있습니다. `allowWrite` 항목은 [보호된 경로](https://code.claude.com/docs/ko/sandboxing.md#protected-paths)를 해제할 수 없습니다.

1537 1539 

1538### `sandbox.filesystem.denyWrite`1540### `sandbox.filesystem.denyWrite`

setup.md +8 −26

Details

40>40>

41> **macOS, Linux, WSL:**41> **macOS, Linux, WSL:**

42>42>

43> ```bash theme={null}43> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

44> curl -fsSL https://claude.ai/install.sh | bash44> curl -fsSL https://claude.ai/install.sh | bash

45> ```45> ```

46>46>


48>48>

49> **Windows PowerShell:**49> **Windows PowerShell:**

50>50>

51> ```powershell theme={null}51> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

52> irm https://claude.ai/install.ps1 | iex52> irm https://claude.ai/install.ps1 | iex

53> ```53> ```

54>54>

55> **Windows CMD:**55> **Windows CMD:**

56>56>

57> ```batch theme={null}57> ```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd58> curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

59> ```59> ```

60>60>


72 72 

73> [tab] Homebrew73> [tab] Homebrew

74>74>

75> ```bash theme={null}75> ```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

76> brew install --cask claude-code76> brew install --cask claude-code

77> ```77> ```

78>78>


84 84 

85> [tab] WinGet85> [tab] WinGet

86>86>

87> ```powershell theme={null}87> ```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

88> winget install Anthropic.ClaudeCode88> winget install Anthropic.ClaudeCode

89> ```89> ```

90>90>


141 141 

142### Alpine Linux 및 musl 기반 배포판142### Alpine Linux 및 musl 기반 배포판

143 143 

144Alpine 및 기타 musl/uClibc 기반 배포판에 Claude Code를 설치하려면 설치 명령을 위해 `bash` 및 `curl`이 필요하며, 런타임에는 `libgcc`, `libstdc++` 및 `ripgrep`이 필요합니다. Alpine은 기본적으로 `bash` 또는 `curl`을 포함하지 않으므로 문서화된 설치 명령은 이들을 설치할 때까지 `not found` 오류로 실패합니다. 배포판의 패키지 관리자를 사용하여 이들 패키지를 설치한 후 `USE_BUILTIN_RIPGREP=0`을 설정하세요.144Alpine 및 기타 musl 기반 배포판에서 [설치 명령](#install-claude-code)을 실행하려면 `bash` 및 `curl`이 필요하며, Claude Code 자체에는 `bash` 또는 `zsh`가 필요합니다. Alpine은 기본적으로 `bash` 또는 `curl`을 포함하지 않으므로 문서화된 설치 명령은 이들을 설치할 때까지 `not found` 오류로 실패합니다.

145 145 

146이 예제는 Alpine에 필요한 패키지를 설치합니다:146이 예제는 Alpine에 필요한 패키지를 설치합니다:

147 147 

148```bash theme={null}148```bash theme={null}

149apk add bash curl libgcc libstdc++ ripgrep149apk add bash curl

150```

151 

152Alpine에서 `ripgrep`은 커뮤니티 저장소에 있습니다. `apk`가 패키지가 누락되었다고 보고하면 Alpine 버전을 사용하여 `/etc/apk/repositories`에 커뮤니티 저장소를 추가하세요:

153 

154```bash theme={null}

155echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories

156```

157 

158`apk update`를 실행하여 패키지 인덱스를 새로 고친 후 `apk add` 명령을 다시 시도하세요.

159 

160그런 다음 [`settings.json`](https://code.claude.com/docs/ko/settings-reference#all-settings) 파일에서 `USE_BUILTIN_RIPGREP`을 `0`으로 설정하세요:

161 

162```json theme={null}

163{

164 "env": {

165 "USE_BUILTIN_RIPGREP": "0"

166 }

167}

168```150```

169 151 

170## 설치 확인152## 설치 확인


443> wget -O /etc/apk/keys/claude-code.rsa.pub \425> wget -O /etc/apk/keys/claude-code.rsa.pub \

444> https://downloads.claude.ai/keys/claude-code.rsa.pub426> https://downloads.claude.ai/keys/claude-code.rsa.pub

445> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories427> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

446> apk add claude-code428> apk add bash claude-code

447> ```429> ```

448>430>

449> `latest` 채널로 전환하려면 `stable` 저장소 줄을 제거하고 `latest` 저장소를 추가하세요:431> `latest` 채널로 전환하려면 `stable` 저장소 줄을 제거하고 `latest` 저장소를 추가하세요:

Details

26 26 

27| 터미널 | 줄바꿈을 위한 Shift+Enter |27| 터미널 | 줄바꿈을 위한 Shift+Enter |

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

29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | 설정 없이 작동 |29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Windows Terminal | 설정 없이 작동 |

30| kitty 키보드 프로토콜을 지원하는 기타 터미널(예: foot 및 Alacritty 0.16 이상) | 설정 없이 작동합니다. Claude Code v2.1.269 이상 필요 |30| kitty 키보드 프로토콜을 지원하는 기타 터미널(예: foot 및 Alacritty 0.16 이상) | 설정 없이 작동합니다. Claude Code v2.1.269 이상 필요 |

31| VS Code, Cursor, Devin Desktop, Alacritty 0.16 이전, Zed | 한 번 `/terminal-setup` 실행 |31| VS Code, Cursor, Devin Desktop, Alacritty 0.16 이전, Zed | 한 번 `/terminal-setup` 실행 |

32| gnome-terminal, PyCharm 및 Android Studio와 같은 JetBrains IDE | 사용 불가; Ctrl+J 또는 `\` 다음 Enter 사용 |32| gnome-terminal, PyCharm 및 Android Studio와 같은 JetBrains IDE | 사용 불가; Ctrl+J 또는 `\` 다음 Enter 사용 |

Details

127 127 

128Claude는 결정이나 명확화가 필요할 때 `AskUserQuestion`을 사용하여 객관식 질문을 제시합니다. 옵션을 선택하거나 `Other` 행 또는 메모 필드를 통해 직접 텍스트를 입력하여 답변합니다.128Claude는 결정이나 명확화가 필요할 때 `AskUserQuestion`을 사용하여 객관식 질문을 제시합니다. 옵션을 선택하거나 `Other` 행 또는 메모 필드를 통해 직접 텍스트를 입력하여 답변합니다.

129 129 

130직접 텍스트를 입력하여 답변하면, Claude Code는 중립적인 표현으로 답변을 전달하므로 Claude는 먼저 대기하거나 설명해 달라는 요청을 포함하여 사용자가 작성한 내용을 따릅니다.

131 

132### 질문 자동 계속 타임아웃130### 질문 자동 계속 타임아웃

133 131 

134질문은 답변할 때까지 열려 있습니다. 답변하지 않은 질문이 결국 닫혀서 Claude가 사용자 없이 계속 진행되도록 하려면, [`askUserQuestionTimeout`](https://code.claude.com/docs/ko/settings-reference#askuserquestiontimeout) 설정을 `60s`, `5m`, 또는 `10m`으로 설정합니다. 사용자 `settings.json`에서 또는 `/config`의 **Question auto-continue timeout** 행에서 설정할 수 있습니다.132질문은 답변할 때까지 열려 있습니다. 답변하지 않은 질문이 결국 닫혀서 Claude가 사용자 없이 계속 진행되도록 하려면, [`askUserQuestionTimeout`](https://code.claude.com/docs/ko/settings-reference#askuserquestiontimeout) 설정을 `60s`, `5m`, 또는 `10m`으로 설정합니다. 사용자 `settings.json`에서 또는 `/config`의 **Question auto-continue timeout** 행에서 설정할 수 있습니다.


525 523 

526## Read 도구 동작524## Read 도구 동작

527 525 

528Read 도구는 파일 경로를 받아 줄 번호와 함께 내용을 반환합니다. Claude는 항상 절대 경로를 전달하도록 지시됩니다.526Read 도구는 파일 경로를 받아 줄 번호와 함께 내용을 반환합니다.

529 527 

530빈 파일을 읽으면 파일이 존재하지만 내용이 비어 있다는 공지가 반환되고, 마지막 줄을 지난 `offset`은 파일의 줄 수를 나타내는 공지를 반환합니다.528빈 파일을 읽으면 파일이 존재하지만 내용이 비어 있다는 공지가 반환되고, 마지막 줄을 지난 `offset`은 파일의 줄 수를 나타내는 공지를 반환합니다.

531 529 

Details

388> Get-Command claude | Select-Object Source388> Get-Command claude | Select-Object Source

389> ```389> ```

390 390 

391Linux에서 누락된 공유 라이브러리를 확인하세요. `ldd`가 누락된 라이브러리를 표시하면 시스템 패키지를 설치해야 할 수 있습니다. Alpine Linux 및 기타 musl 기반 배포판의 경우 [Alpine Linux 설정](https://code.claude.com/docs/ko/setup.md#alpine-linux-and-musl-based-distributions)을 참조하세요.391Linux에서 누락된 공유 라이브러리를 확인하세요. `ldd`가 누락된 라이브러리를 표시하면 시스템 패키지를 설치해야 할 수 있습니다. Alpine Linux 및 기타 musl 기반 배포판의 경우 [Linux musl 또는 glibc 바이너리 불일치](#linux-musl-or-glibc-binary-mismatch)를 참조하세요.

392 392 

393```bash theme={null}393```bash theme={null}

394ldd "$(command -v claude)" | grep "not found"394ldd "$(command -v claude)" | grep "not found"


906 906 

907### Linux musl 또는 glibc 바이너리 불일치907### Linux musl 또는 glibc 바이너리 불일치

908 908 

909설치 후 `libstdc++.so.6` 또는 `libgcc_s.so.1`과 같은 누락된 공유 라이브러리에 대한 오류가 표시되면 설치 프로그램이 시스템에 대해 잘못된 바이너리 변형을 다운로드했을 수 있습니다.909설치 후 `ld-linux-x86-64.so.2` 또는 `ld-linux-aarch64.so.1`과 같은 누락된 공유 라이브러리에 대한 오류가 표시되면 설치 프로그램이 시스템에 대해 잘못된 바이너리 변형을 다운로드했을 수 있습니다.

910 910 

911```text theme={null}911```text theme={null}

912Error loading shared library libstdc++.so.6: No such file or directory912Error loading shared library ld-linux-x86-64.so.2: No such file or directory

913```913```

914 914 

915이는 musl 교차 컴파일 패키지가 설치된 glibc 기반 시스템에서 발생할 수 있으며, 설치 프로그램이 시스템을 musl로 잘못 감지하게 합니다.

916 

917**해결 방법:**915**해결 방법:**

918 916 

9191. **시스템이 사용하는 libc 확인**:9171. **시스템이 사용하는 libc 확인**:


924 922 

9252. **glibc에 있지만 musl 바이너리를 받은 경우** 설치를 제거하고 다시 설치합니다. `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`의 매니페스트를 사용하여 올바른 바이너리를 수동으로 다운로드할 수도 있습니다. `ldd --version` 및 `ls /lib/libc.musl*`의 출력으로 [GitHub 이슈](https://github.com/anthropics/claude-code/issues)를 제출합니다.9232. **glibc에 있지만 musl 바이너리를 받은 경우** 설치를 제거하고 다시 설치합니다. `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`의 매니페스트를 사용하여 올바른 바이너리를 수동으로 다운로드할 수도 있습니다. `ldd --version` 및 `ls /lib/libc.musl*`의 출력으로 [GitHub 이슈](https://github.com/anthropics/claude-code/issues)를 제출합니다.

926 924 

9273. **실제로 Alpine Linux와 같은 musl에 있으면** 필요한 패키지를 설치합니다.9253. **musl에 있지만 glibc 바이너리를 받은 경우** [설치를 제거](https://code.claude.com/docs/ko/setup.md#uninstall-claude-code)합니다. Alpine Linux에서는 먼저 [Alpine Linux 설정](https://code.claude.com/docs/ko/setup.md#alpine-linux-and-musl-based-distributions)에 명시된 패키지를 설치합니다. 그런 다음 musl 바이너리를 설치하는 [설치 명령](https://code.claude.com/docs/ko/setup.md#install-claude-code)을 실행합니다.

928 ```bash theme={null}

929 apk add libgcc libstdc++ ripgrep

930 ```

931 Alpine에서 `ripgrep`은 커뮤니티 저장소에 있습니다. `apk`가 패키지가 누락되었다고 보고하면 [Alpine Linux 설정](https://code.claude.com/docs/ko/setup.md#alpine-linux-and-musl-based-distributions)을 참조하세요.

932 926 

933### `Illegal instruction`927### `Illegal instruction`

934 928 

Details

152> apk add ripgrep152> apk add ripgrep

153> ```153> ```

154>154>

155> `ripgrep`은 Alpine의 커뮤니티 저장소에 있습니다. `apk`가 패키지가 누락되었다고 보고하면 [Alpine Linux 설정](https://code.claude.com/docs/ko/setup.md#alpine-linux-and-musl-based-distributions)을 참조합니다.155> `ripgrep`은 Alpine의 커뮤니티 저장소에 있습니다.

156 156 

157> [tab] Arch157> [tab] Arch

158>158>

workflows.md +0 −2

Details

75| :- | :- |75| :- | :- |

76| `/deep-research <question>` | 질문에 대해 여러 각도에서 웹 검색을 확산시키고, 찾은 소스를 가져와 교차 검증하며, 각 주장에 투표하고, 교차 검증을 통과하지 못한 주장이 필터링된 인용된 보고서를 반환합니다. [WebSearch 도구](https://code.claude.com/docs/ko/tools-reference.md#websearch-tool-behavior)를 사용할 수 있어야 합니다 |76| `/deep-research <question>` | 질문에 대해 여러 각도에서 웹 검색을 확산시키고, 찾은 소스를 가져와 교차 검증하며, 각 주장에 투표하고, 교차 검증을 통과하지 못한 주장이 필터링된 인용된 보고서를 반환합니다. [WebSearch 도구](https://code.claude.com/docs/ko/tools-reference.md#websearch-tool-behavior)를 사용할 수 있어야 합니다 |

77 77 

78`/deep-research`는 사용자가 호출할 때만 실행됩니다.

79 

80[직접 저장](#save-the-workflow-for-reuse)한 워크플로우는 같은 방식으로 명령이 되며 번들된 워크플로우와 함께 `/` 자동 완성에 나타납니다.78[직접 저장](#save-the-workflow-for-reuse)한 워크플로우는 같은 방식으로 명령이 되며 번들된 워크플로우와 함께 `/` 자동 완성에 나타납니다.

81 79 

82### 실행 확인80### 실행 확인