SpyBara
Go Premium

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

36 files changed +230 −202. View all changes and history on the product overview
2026
Fri 13 02:00 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 +49 −6

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


2565 2581 

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

2567 2583 

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

2585 

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

2569 2587 

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


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 +1 −1

Details

903 903 

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

905 905 

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

907 907 

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

909⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...909⚠ 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### 실행 확인