8 8
9이 페이지에는 Claude Code가 표시하는 런타임 오류와 각 오류에서 복구하는 방법, 그리고 오류 없이 응답이 이상해 보일 때 확인할 사항이 나열되어 있습니다. 설정 중 `command not found` 또는 TLS 오류와 같은 설치 오류는 [설치 및 로그인 문제 해결](/docs/ko/troubleshoot-install)을 참조하십시오.9이 페이지에는 Claude Code가 표시하는 런타임 오류와 각 오류에서 복구하는 방법, 그리고 오류 없이 응답이 이상해 보일 때 확인할 사항이 나열되어 있습니다. 설정 중 `command not found` 또는 TLS 오류와 같은 설치 오류는 [설치 및 로그인 문제 해결](/docs/ko/troubleshoot-install)을 참조하십시오.
10 10
11[래퍼 및 IDE 오류](#wrapper-and-ide-errors)를 제외하고, 이는 Claude Code 자체가 아닌 실행 프로그램이 출력하는 오류이며, 이러한 오류 및 복구 명령은 CLI, [데스크톱 앱](/docs/ko/desktop), [웹의 Claude Code](/docs/ko/claude-code-on-the-web)에 모두 적용됩니다. 세 가지 모두 동일한 Claude Code CLI를 래핑하기 때문입니다. 다른 표면별 문제는 해당 표면의 페이지에 있는 문제 해결 섹션을 참조하십시오.11Claude Code 자체가 아닌 실행 프로그램이 출력하는 [래퍼 및 IDE 오류](#wrapper-and-ide-errors)를 제외하면, 이러한 오류와 복구 명령은 CLI, [데스크톱 앱](/docs/ko/desktop), [클라우드 세션](/docs/ko/claude-code-on-the-web)에 모두 적용됩니다. 세 가지 모두 동일한 Claude Code CLI를 래핑하기 때문입니다. 기타 사용 환경별 문제는 해당 사용 환경 페이지의 문제 해결 섹션을 참조하십시오.
12 12
13<Note>13<Note>
14 Claude Code는 모델 응답을 위해 Claude API를 호출하므로 대부분의 런타임 오류는 기본 API 오류 코드에 매핑됩니다. 이 페이지에서는 Claude Code 내에서 각 오류의 의미와 복구 방법을 다룹니다. 원본 HTTP 상태 코드 정의는 [Claude Platform 오류 참조](https://platform.claude.com/docs/en/api/errors)를 참조하십시오.14 Claude Code는 모델 응답을 위해 Claude API를 호출하므로 대부분의 런타임 오류는 기본 API 오류 코드에 매핑됩니다. 이 페이지에서는 Claude Code 내에서 각 오류의 의미와 복구 방법을 다룹니다. 원본 HTTP 상태 코드 정의는 [Claude Platform 오류 참조](https://platform.claude.com/docs/en/api/errors)를 참조하십시오.
42| `The server-side auto mode classifier gave no verdict` | [서버 오류](#the-server-returned-no-safety-verdict) |42| `The server-side auto mode classifier gave no verdict` | [서버 오류](#the-server-returned-no-safety-verdict) |
43| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [서버 오류](#the-server-returned-no-safety-verdict) |43| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [서버 오류](#the-server-returned-no-safety-verdict) |
44| `Agent terminated early due to an API error` | [서버 오류](#agent-terminated-early-due-to-an-api-error) |44| `Agent terminated early due to an API error` | [서버 오류](#agent-terminated-early-due-to-an-api-error) |
45| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [사용 제한](#youve-hit-your-session-limit) |45| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [사용 한도](#youve-hit-your-session-limit) |
46| `Usage credits required for 1M context` | [사용 제한](#usage-credits-required-for-1m-context) |46| `Usage credits required for 1M context` | [사용 한도](#usage-credits-required-for-1m-context) |
47| `the prompt to confirm went unanswered — nothing was sent` | [사용 제한](#the-prompt-to-confirm-went-unanswered) |47| `the prompt to confirm went unanswered — nothing was sent` | [사용 한도](#the-prompt-to-confirm-went-unanswered) |
48| `Server is temporarily limiting requests` | [사용 제한](#server-is-temporarily-limiting-requests) |48| `Server is temporarily limiting requests` | [사용 한도](#server-is-temporarily-limiting-requests) |
49| `Request rejected (429)` | [사용 제한](#request-rejected-429) |49| `Request rejected (429)` | [사용 한도](#request-rejected-429) |
50| `Credit balance is too low` | [사용 제한](#credit-balance-is-too-low) |50| `Credit balance is too low` | [사용 한도](#credit-balance-is-too-low) |
51| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [사용 제한](#youve-hit-your-monthly-spend-limit) |51| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [사용 한도](#youve-hit-your-monthly-spend-limit) |
52| `Could not update your spend limit` | [사용 제한](#could-not-update-your-spend-limit) |52| `Could not update your spend limit` | [사용 한도](#could-not-update-your-spend-limit) |
53| `spend limit reached` / `spend limit unavailable` | [사용 제한](#spend-limit-reached) |53| `spend limit reached` / `spend limit unavailable` | [사용 한도](#spend-limit-reached) |
54| `Not logged in · Please run /login` | [인증](#not-logged-in) |54| `Not logged in · Please run /login` | [인증](#not-logged-in) |
55| `Couldn't save your login` | [인증](#couldnt-save-your-login) |55| `Couldn't save your login` | [인증](#couldnt-save-your-login) |
56| `Authentication required · Sign in again to continue` | [인증](#not-logged-in) |56| `Authentication required · Sign in again to continue` | [인증](#not-logged-in) |
186| `The connection dropped while downloading the update` | [설치 오류](#the-connection-dropped-while-downloading-the-update) |186| `The connection dropped while downloading the update` | [설치 오류](#the-connection-dropped-while-downloading-the-update) |
187| `Download timed out: exceeded the total deadline` | [설치 오류](#the-connection-dropped-while-downloading-the-update) |187| `Download timed out: exceeded the total deadline` | [설치 오류](#the-connection-dropped-while-downloading-the-update) |
188| `--bg and --print conflict` | [명령줄 오류](#conflict-between-bg-and-print) |188| `--bg and --print conflict` | [명령줄 오류](#conflict-between-bg-and-print) |
189| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [명령줄 오류](#conflict-between-a-system-prompt-flag-and-its-file-form) |
189| `Cloud sessions cannot be created from a --restricted session` | [명령줄 오류](#cloud-sessions-cannot-be-created-from-a-restricted-session) |190| `Cloud sessions cannot be created from a --restricted session` | [명령줄 오류](#cloud-sessions-cannot-be-created-from-a-restricted-session) |
190| `Cloud sessions are disabled by your organization's policy` | [명령줄 오류](#cloud-sessions-are-disabled-by-your-organizations-policy) |191| `Cloud sessions are disabled by your organization's policy` | [명령줄 오류](#cloud-sessions-are-disabled-by-your-organizations-policy) |
191| `Couldn't verify your organization's policy for cloud sessions` | [명령줄 오류](#cloud-sessions-are-disabled-by-your-organizations-policy) |192| `Couldn't verify your organization's policy for cloud sessions` | [명령줄 오류](#cloud-sessions-are-disabled-by-your-organizations-policy) |
250| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [플러그인 오류](#plugin-command-references-user-config) |251| `Monitor "<name>" from plugin <plugin> references ${user_config.*} in its command` | [플러그인 오류](#plugin-command-references-user-config) |
251| `headersHelper for MCP server '<name>' references ${user_config.*}` | [플러그인 오류](#plugin-command-references-user-config) |252| `headersHelper for MCP server '<name>' references ${user_config.*}` | [플러그인 오류](#plugin-command-references-user-config) |
252| `Plugin archive integrity check failed` | [플러그인 오류](#plugin-archive-integrity-check-failed) |253| `Plugin archive integrity check failed` | [플러그인 오류](#plugin-archive-integrity-check-failed) |
254| `An npm plugin source must name a registry package` | [플러그인 문제 해결](/docs/ko/plugins/troubleshooting#an-npm-plugin-source-must-name-a-registry-package) |
253| `path escapes plugin directory` | [플러그인 오류](#path-escapes-plugin-directory) |255| `path escapes plugin directory` | [플러그인 오류](#path-escapes-plugin-directory) |
254| `path could not be checked` | [플러그인 오류](#path-could-not-be-checked) |256| `path could not be checked` | [플러그인 오류](#path-could-not-be-checked) |
255| `its marketplace entry path does not stay inside the marketplace directory` | [플러그인 오류](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |257| `its marketplace entry path does not stay inside the marketplace directory` | [플러그인 오류](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |
290| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [도구 오류](#reading-a-local-file-from-outside-the-connected-folders) |292| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [도구 오류](#reading-a-local-file-from-outside-the-connected-folders) |
291| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [도구 오류](#reading-a-local-file-from-outside-the-connected-folders) |293| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [도구 오류](#reading-a-local-file-from-outside-the-connected-folders) |
292| `WebFetch cannot fetch localhost or other hostnames without a dot` | [도구 오류](#webfetch-cannot-fetch-localhost) |294| `WebFetch cannot fetch localhost or other hostnames without a dot` | [도구 오류](#webfetch-cannot-fetch-localhost) |
295| `The safety check for domain ... is rate-limited` | [도구 오류](#webfetch-domain-safety-check-failed) |
296| `The safety check for domain ... is temporarily rate-limited` | [도구 오류](#webfetch-domain-safety-check-failed) |
297| `Unable to verify if domain ... is safe to fetch` | [도구 오류](#webfetch-domain-safety-check-failed) |
293| `Can't open MCP settings while no terminal is attached to this background session` | [백그라운드 세션 오류](#commands-refused-in-a-background-session) |298| `Can't open MCP settings while no terminal is attached to this background session` | [백그라운드 세션 오류](#commands-refused-in-a-background-session) |
294| `Can't open MCP settings in a background session` | [백그라운드 세션 오류](#commands-refused-in-a-background-session) |299| `Can't open MCP settings in a background session` | [백그라운드 세션 오류](#commands-refused-in-a-background-session) |
295| `blocked because the path is spelled in a form that cannot be safely resolved` | [백그라운드 세션 오류](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |300| `blocked because the path is spelled in a form that cannot be safely resolved` | [백그라운드 세션 오류](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved) |
322| `Transcript writes are failing (...)` | [세션 저장 경고](#transcript-writes-are-failing) |327| `Transcript writes are failing (...)` | [세션 저장 경고](#transcript-writes-are-failing) |
323| `Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set` | [세션 저장 경고](#transcript-saving-is-off-skip-prompt-history) |328| `Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set` | [세션 저장 경고](#transcript-saving-is-off-skip-prompt-history) |
324| `Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker` | [세션 저장 경고](#transcript-saving-is-off-child-session-marker) |329| `Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker` | [세션 저장 경고](#transcript-saving-is-off-child-session-marker) |
325| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [구성 경고](#fullscreen-failed-start-notice) |330| `Claude Code's fullscreen renderer didn't finish starting last time on this machine` / `Claude Code's fullscreen renderer has repeatedly failed to start on this machine` | [전체 화면 렌더링](/docs/ko/fullscreen#fullscreen-renderer-didnt-finish-starting) |
326| `Claude Code exited after an unrecoverable interface error (...)` | [구성 경고](#exited-after-an-unrecoverable-interface-error) |331| `Claude Code exited after an unrecoverable interface error (...)` | [구성 경고](#exited-after-an-unrecoverable-interface-error) |
327| `Agent descriptions are over the 15.0k-token limit` | [구성 경고](#agent-descriptions-are-over-the-15000-token-limit) |332| `Agent descriptions are over the 15.0k-token limit` | [구성 경고](#agent-descriptions-are-over-the-15000-token-limit) |
328| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [구성 경고](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |333| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [구성 경고](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |
415 서버 오류420 서버 오류
416</h2>421</h2>
417 422
418이러한 오류의 대부분은 추론 제공자에서 발생합니다: Anthropic API의 Anthropic 서비스, Amazon Bedrock의 해당 제공자 엔드포인트 뒤의 서비스, Google Cloud의 Agent Platform, Microsoft Foundry 또는 사용자 정의 게이트웨이입니다. [자동 모드가 작업의 안전성을 결정할 수 없음](#auto-mode-cannot-determine-the-safety-of-an-action) 및 [API 오류로 인해 에이전트가 조기에 종료됨](#agent-terminated-early-due-to-an-api-error)은 또한 사용자 측의 원인을 다룹니다. 예를 들어 분류자 모델을 호출할 수 없는 Amazon Bedrock 계정이나 사용 한도에 도달한 하위 에이전트입니다.423이러한 오류의 대부분은 추론 제공자에서 발생합니다: Anthropic API의 Anthropic 서비스, Amazon Bedrock의 해당 제공자 엔드포인트 뒤의 서비스, Google Cloud의 Agent Platform, Microsoft Foundry 또는 사용자 정의 게이트웨이입니다. [자동 모드가 작업의 안전성을 결정할 수 없음](#auto-mode-cannot-determine-the-safety-of-an-action) 및 [API 오류로 인해 에이전트가 조기에 종료됨](#agent-terminated-early-due-to-an-api-error)은 또한 사용자 측의 원인을 다룹니다. 예를 들어 분류기 모델을 호출할 수 없는 Amazon Bedrock 계정이나 사용 한도에 도달한 서브에이전트입니다.
419 424
420<h3 id="api-error-500-internal-server-error">425<h3 id="api-error-500-internal-server-error">
421 API 오류: 500 내부 서버 오류426 API 오류: 500 내부 서버 오류
457 462
458* [status.claude.com](https://status.claude.com) 또는 메시지에 명시된 제공자 상태 페이지에서 용량 공지를 확인합니다463* [status.claude.com](https://status.claude.com) 또는 메시지에 명시된 제공자 상태 페이지에서 용량 공지를 확인합니다
459* 몇 분 후에 다시 시도합니다464* 몇 분 후에 다시 시도합니다
460* `/model`을 실행하고 다른 모델로 전환하여 계속 작업합니다. 용량은 모델별로 추적되기 때문입니다. Claude Code는 한 모델이 특히 높은 부하를 받을 때 이를 수행하도록 프롬프트합니다. 예를 들어 `Opus is experiencing high load, please use /model to switch to Sonnet`입니다. Fable 모델에서 메시지는 Fable을 명시합니다.465* `/model`을 실행하고 다른 모델로 전환하여 계속 작업합니다. 용량은 모델별로 추적되기 때문입니다. Claude Code는 한 모델이 특히 높은 부하를 받을 때 모델 전환을 요청합니다. 예를 들어 `Opus is experiencing high load, please use /model to switch to Sonnet`입니다. Fable 모델에서 메시지는 Fable을 명시합니다.
461 466
462 Claude Desktop 앱이 실행하는 세션(예: Code 탭 또는 Cowork)에서 메시지는 `Opus is experiencing high load. Switch to Sonnet.`으로 읽히며 앱의 모델 선택기로 모델을 전환합니다.467 Claude Desktop 앱이 실행하는 세션(예: Code 탭 또는 Cowork)에서 메시지는 `Opus is experiencing high load. Switch to Sonnet.`으로 읽히며 앱의 모델 선택기로 모델을 전환합니다.
463 468
471Request timed out476Request timed out
472```477```
473 478
474이는 높은 부하 기간 동안 또는 모델이 매우 큰 응답을 생성할 때 발생할 수 있습니다. 기본 요청 시간 초과는 10분입니다.479이는 높은 부하 기간 동안 또는 모델이 매우 큰 응답을 생성할 때 발생할 수 있습니다. 기본 요청 타임아웃은 10분입니다.
475 480
476**수행할 작업:**481**수행할 작업:**
477 482
483 API에서 응답 없음488 API에서 응답 없음
484</h3>489</h3>
485 490
486Claude Code가 스트리밍 요청을 보냈고 API가 첫 바이트의 마감 시간 내에 응답 헤더를 반환하지 않아 Claude Code가 전체 `API_TIMEOUT_MS` 요청 시간 초과(기본값 10분)를 기다리는 대신 요청을 중단했습니다. Claude Code는 [재시도 예산](#tune-retry-behavior)이 허용하는 경우 최대 한 번 요청을 다시 보냅니다. 재시도도 응답이 없을 때 턴이 이 메시지로 끝나며, 각 시도가 대기한 시간을 표시합니다. [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ko/env-vars)을 설정하면 일회 재시도 상한이 적용되지 않으며 Claude Code는 [재시도 동작 조정](#tune-retry-behavior)에 설명된 예산 내에서 재시도합니다.491Claude Code가 스트리밍 요청을 보냈고 API가 첫 바이트의 마감 시간 내에 응답 헤더를 반환하지 않아 Claude Code가 전체 `API_TIMEOUT_MS` 요청 타임아웃(기본값 10분)을 기다리는 대신 요청을 중단했습니다. Claude Code는 [재시도 예산](#tune-retry-behavior)이 허용하는 경우 최대 한 번 요청을 다시 보냅니다. 재시도도 응답이 없을 때 턴이 이 메시지로 끝나며, 각 시도가 대기한 시간을 표시합니다. [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/ko/env-vars)을 설정하면 일회 재시도 상한이 적용되지 않으며 Claude Code는 [재시도 동작 조정](#tune-retry-behavior)에 설명된 예산 내에서 재시도합니다.
487 492
488```text theme={null}493```text theme={null}
489API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.494API Error: No response from API (waited 3m, then 10m on the retry). If a proxy or gateway on your network holds responses until they complete, raise API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS to wait longer.
491 496
492Claude Code는 첫 시도의 응답 헤더 대기와 재시도의 대기를 별도로 설정합니다:497Claude Code는 첫 시도의 응답 헤더 대기와 재시도의 대기를 별도로 설정합니다:
493 498
494* **첫 시도**: 1 이상으로 설정할 때 [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ko/env-vars), 10초에서 30분 사이로 제한됩니다. 그렇지 않으면 Claude Code는 [스트리밍 유휴 감시자](/docs/ko/network-config#streaming-idle-watchdogs)에 나열된 바이트 수준 감시자 시간 초과를 사용하므로 해당 시간 초과를 변경하는 변수가 이 대기도 변경합니다. 어느 쪽이든 Claude Code는 요청 본문의 32KB마다 1초를 추가합니다.499* **첫 시도**: 1 이상으로 설정할 때 [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/ko/env-vars), 10초에서 30분 사이로 제한됩니다. 그렇지 않으면 Claude Code는 [스트리밍 유휴 감시자](/docs/ko/network-config#streaming-idle-watchdogs)에 나열된 바이트 수준 감시자 타임아웃을 사용하므로 해당 타임아웃을 변경하는 변수가 이 대기도 변경합니다. 어느 쪽이든 Claude Code는 요청 본문의 32KB마다 1초를 추가합니다.
495* **재시도**: `API_TIMEOUT_MS`보다 1초 적게, 기본값으로 거의 10분이므로 재시도가 응답을 생성이 완료될 때까지 보유하는 프록시 또는 게이트웨이를 초과할 수 있습니다. Amazon Bedrock에서 재시도는 첫 시도와 동일한 마감 시간을 사용하며 메시지는 두 가지 대신 하나의 기간을 표시합니다.500* **재시도**: `API_TIMEOUT_MS`보다 1초 적게, 기본값으로 거의 10분이므로 재시도가 응답을 생성이 완료될 때까지 보유하는 프록시 또는 게이트웨이를 초과할 수 있습니다. Amazon Bedrock에서 재시도는 첫 시도와 동일한 마감 시간을 사용하며 메시지는 두 가지 대신 하나의 기간을 표시합니다.
496 501
497어느 대기도 양수 `API_TIMEOUT_MS`보다 1초 적게 초과하지 않으며, 11초 미만의 양수 `API_TIMEOUT_MS`는 마감 시간을 끕니다. 바이트 수준 감시자는 응답 헤더가 도착한 후에만 시작되므로 그 후 바이트 전송을 중지하는 응답은 이 마감 시간 대신 [정지된 스트림 규칙](#automatic-retries)을 따릅니다.502어느 대기도 양수 `API_TIMEOUT_MS`보다 1초 적은 값을 초과하지 않으며, 11초 미만의 양수 `API_TIMEOUT_MS`는 마감 시간을 끕니다. 바이트 수준 감시자는 응답 헤더가 도착한 후에만 시작되므로 그 후 바이트 전송을 중지하는 응답은 이 마감 시간 대신 [정지된 스트림 규칙](#automatic-retries)을 따릅니다.
498 503
499**수행할 작업:**504**수행할 작업:**
500 505
503* 네트워크의 프록시 또는 게이트웨이가 응답을 생성이 완료될 때까지 보유하는 경우 `API_TIMEOUT_MS`를 높여 재시도가 더 오래 대기하도록 합니다. Amazon Bedrock에서 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`도 높입니다.508* 네트워크의 프록시 또는 게이트웨이가 응답을 생성이 완료될 때까지 보유하는 경우 `API_TIMEOUT_MS`를 높여 재시도가 더 오래 대기하도록 합니다. Amazon Bedrock에서 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`도 높입니다.
504* 첫 시도가 계속 시간 초과되고 재시도가 성공하면 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`를 높여 첫 시도도 충분히 오래 대기하도록 합니다.509* 첫 시도가 계속 시간 초과되고 재시도가 성공하면 `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`를 높여 첫 시도도 충분히 오래 대기하도록 합니다.
505 510
506v2.1.242 이전에는 Claude Code가 응답 없는 스트리밍 요청이 실패하기 전에 전체 `API_TIMEOUT_MS` 요청 시간 초과(기본값 10분)를 기다렸습니다. v2.1.261 이전에는 재시도가 첫 시도와 동일한 마감 시간을 기다렸고 메시지는 기간을 표시하지 않았습니다.511v2.1.242 이전에는 Claude Code가 응답 없는 스트리밍 요청이 실패하기 전에 전체 `API_TIMEOUT_MS` 요청 타임아웃(기본값 10분)을 기다렸습니다. v2.1.261 이전에는 재시도가 첫 시도와 동일한 마감 시간을 기다렸고 메시지는 기간을 표시하지 않았습니다.
507 512
508<h3 id="the-response-above-may-be-incomplete">513<h3 id="the-response-above-may-be-incomplete">
509 위의 응답이 불완전할 수 있음514 위의 응답이 불완전할 수 있음
510</h3>515</h3>
511 516
512스트리밍 요청이 응답이 진행 중일 때 실패했습니다. Claude가 텍스트 블록 또는 도구 호출을 완료한 후 또는 생각을 마친 후 하나를 시작했습니다. 요청을 다시 보내면 동일한 도구 호출을 두 번 실행할 수 있으므로 Claude Code는 Claude가 완료한 출력을 유지하고 턴을 버리는 대신 이 공지를 추가합니다. 표시되는 변형은 원인을 명시합니다:517스트리밍 요청이 응답이 진행 중일 때 실패했습니다. Claude가 텍스트 블록 또는 도구 호출을 완료한 후 또는 사고를 마친 후 하나를 시작했습니다. 요청을 다시 보내면 동일한 도구 호출을 두 번 실행할 수 있으므로 Claude Code는 Claude가 완료한 출력을 유지하고 턴을 버리는 대신 이 공지를 추가합니다. 표시되는 변형은 원인을 명시합니다:
513 518
514```text theme={null}519```text theme={null}
515API Error: Server error mid-response. The response above may be incomplete.520API Error: Server error mid-response. The response above may be incomplete.
524* `Connection lost mid-response`: 연결이 끊어졌습니다. 프록시 또는 게이트웨이가 응답이 완료되기 전에 응답 본문을 깔끔하게 종료할 때도 이 변형이 표시됩니다.529* `Connection lost mid-response`: 연결이 끊어졌습니다. 프록시 또는 게이트웨이가 응답이 완료되기 전에 응답 본문을 깔끔하게 종료할 때도 이 변형이 표시됩니다.
525* `Your computer went to sleep mid-response`: Claude Code가 응답이 스트리밍되는 동안 컴퓨터가 절전 모드로 전환되었음을 감지했습니다. 컴퓨터가 깨어나면 Claude Code는 연결을 끊어진 것으로 취급하고 읽기를 중지합니다.530* `Your computer went to sleep mid-response`: Claude Code가 응답이 스트리밍되는 동안 컴퓨터가 절전 모드로 전환되었음을 감지했습니다. 컴퓨터가 깨어나면 Claude Code는 연결을 끊어진 것으로 취급하고 읽기를 중지합니다.
526* `Part of the response never arrived`: 스트림 이벤트가 API와 Claude Code 사이에서 손실되어 나중 이벤트가 도착하지 않은 콘텐츠를 참조했습니다. v2.1.281 이전에는 이 경우 턴이 `API Error: Content block not found`로 종료되었습니다.531* `Part of the response never arrived`: 스트림 이벤트가 API와 Claude Code 사이에서 손실되어 나중 이벤트가 도착하지 않은 콘텐츠를 참조했습니다. v2.1.281 이전에는 이 경우 턴이 `API Error: Content block not found`로 종료되었습니다.
527* `The response stream was malformed`: 이미 완료된 콘텐츠 블록에 대한 이벤트가 도착했거나 손상된 이벤트가 도착했습니다. 손상된 이벤트는 데이터가 유효한 JSON이 아니거나 콘텐츠가 누락되었거나 콘텐츠가 이벤트의 유형과 일치하지 않는 이벤트입니다. v2.1.284 이전에는 파서의 원본 오류(예: `API Error: JSON Parse error`로 시작하는 오류)가 Claude가 생각, 텍스트 블록 또는 도구 호출을 완료한 후 유효하지 않은 JSON이 있는 이벤트가 도착했을 때 대신 나타났습니다.532* `The response stream was malformed`: 이미 완료된 콘텐츠 블록에 대한 이벤트가 도착했거나 손상된 이벤트가 도착했습니다. 손상된 이벤트는 데이터가 유효한 JSON이 아니거나 콘텐츠가 누락되었거나 콘텐츠가 이벤트의 유형과 일치하지 않는 이벤트입니다. v2.1.284 이전에는 파서의 원본 오류(예: `API Error: JSON Parse error`로 시작하는 오류)가 Claude가 사고, 텍스트 블록 또는 도구 호출을 완료한 후 유효하지 않은 JSON이 있는 이벤트가 도착했을 때 대신 나타났습니다. v2.1.287 이전에는 [Amazon Bedrock 가드레일](/docs/ko/amazon-bedrock#aws-guardrails)이 이미 사고와 일부 텍스트를 스트리밍한 응답을 차단했을 때 가드레일의 메시지 대신 이 변형이 나타났습니다.
528* `The response stopped arriving`: 연결은 열려 있었지만 데이터 전달을 중지했으므로 스트리밍 유휴 감시자가 중단했습니다. v2.1.222 이전에는 Claude Code가 `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통해 도달한 [게이트웨이](/docs/ko/gateways) 연결에서 서버의 킵얼라이브 핑이 여전히 도착하는 동안 이 실패를 보고할 수 있었습니다. 파싱된 응답 이벤트만 계산했기 때문입니다. 업그레이드하면 해당 경로에서 이러한 거짓 시간 초과를 중지합니다. `ANTHROPIC_BEDROCK_BASE_URL`과 같은 제공자 기본 URL을 통해 도달한 게이트웨이는 바이트 감시자로 래핑되지 않습니다. [스트리밍 유휴 감시자](/docs/ko/network-config#streaming-idle-watchdogs)를 참조하세요.533* `The response stopped arriving`: 연결은 열려 있었지만 데이터 전달을 중지했으므로 스트리밍 유휴 감시자가 중단했습니다. v2.1.222 이전에는 Claude Code가 `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통해 도달한 [게이트웨이](/docs/ko/gateways) 연결에서 서버의 킵얼라이브 핑이 여전히 도착하는 동안 이 실패를 보고할 수 있었습니다. 파싱된 응답 이벤트만 계산했기 때문입니다. 업그레이드하면 해당 경로에서 이러한 거짓 시간 초과를 중지합니다. `ANTHROPIC_BEDROCK_BASE_URL`과 같은 제공자 기본 URL을 통해 도달한 게이트웨이는 바이트 감시자로 래핑되지 않습니다. [스트리밍 유휴 감시자](/docs/ko/network-config#streaming-idle-watchdogs)를 참조하세요.
529 534
530v2.1.227 이전에는 `Connection lost mid-response`가 `Connection closed mid-response`로 읽혔고 `The response stopped arriving`이 `Response stalled mid-stream`으로 읽혔습니다.535v2.1.227 이전에는 `Connection lost mid-response`가 `Connection closed mid-response`로 읽혔고 `The response stopped arriving`이 `Response stalled mid-stream`으로 읽혔습니다.
531 536
532Claude가 텍스트 또는 도구 호출을 시작하기 전에 손실되거나 중복된 스트림 이벤트가 도착하면 이 공지가 표시되지 않습니다:537Claude가 텍스트 또는 도구 호출을 시작하기 전에 손실되거나 중복되거나 손상된 스트림 이벤트가 도착하면 이 공지가 표시되지 않습니다:
533 538
534* Claude가 생각만 완료했으면 Claude Code가 요청을 다시 발급합니다. 다시 발급된 스트림이 동일한 방식으로 끊어지면 턴이 `Part of the response never arrived and no response was produced. Try again.` 또는 `The response stream was malformed and no response was produced. Try again.`으로 끝납니다.539* Claude가 사고만 완료했으면 Claude Code가 요청을 다시 발급합니다. 다시 발급된 스트림이 동일한 방식으로 끊어지면 턴이 `Part of the response never arrived and no response was produced. Try again.` 또는 `The response stream was malformed and no response was produced. Try again.`으로 끝납니다.
535* 아무것도 완료되지 않았으면 Claude Code가 스트리밍 없이 요청을 다시 보냅니다. [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/ko/env-vars)으로 해당 폴백을 끈 경우 턴이 손실된 이벤트에 대해 `API Error: Content block not found`로 끝나거나 중복된 이벤트에 대해 `API Error: Content block already closed`로 끝납니다. 손상된 이벤트의 경우 폴백이 꺼져 있으면 턴이 `API Error: Stream event unreadable` 또는 파서의 원본 오류로 끝납니다.540* 아무것도 완료되지 않았으면 Claude Code가 스트리밍 없이 요청을 다시 보냅니다. [`CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK`](/docs/ko/env-vars)으로 해당 폴백을 끈 경우 턴이 손실된 이벤트에 대해 `API Error: Content block not found`로 끝나거나 중복된 이벤트에 대해 `API Error: Content block already closed`로 끝납니다. 손상된 이벤트의 경우 폴백이 꺼져 있으면 턴이 `API Error: Stream event unreadable` 또는 파서의 원본 오류로 끝납니다.
536 541
5374가지 경우에 Claude Code는 이 공지를 즉시 표시하지 않고 실패를 처리합니다:5424가지 경우에 Claude Code는 이 공지를 즉시 표시하지 않고 실패를 처리합니다:
538 543
539* 응답의 앞부분에서 Claude Code는 실패를 재시도하거나 다른 오류로 턴을 종료합니다. [자동 재시도](#automatic-retries)를 참조하세요.544* 응답의 앞부분에서 Claude Code는 실패를 재시도하거나 다른 오류로 턴을 종료합니다. [자동 재시도](#automatic-retries)를 참조하세요.
540* 이러한 실패 중 하나가 Claude가 응답을 마친 후에 도착하면 Claude Code는 완전한 응답을 유지하고 이 공지 없이 턴을 정상적으로 종료합니다. v2.1.222 이전에는 Claude Code가 응답이 완료된 후 연결이 끊어지거나 정지되었을 때 이 공지를 표시했고 응답이 완전했음에도 불구하고 턴을 오류로 보고했습니다.545* 이러한 실패 중 하나가 Claude가 응답을 마친 후에 도착하면 Claude Code는 완전한 응답을 유지하고 이 공지 없이 턴을 정상적으로 종료합니다. v2.1.222 이전에는 Claude Code가 응답이 완료된 후 연결이 끊어지거나 정지되었을 때 이 공지를 표시했고 응답이 완전했음에도 불구하고 턴을 오류로 보고했습니다.
541* [비대화형 세션](/docs/ko/headless)(예: `-p` 실행, [Agent SDK](/docs/ko/agent-sdk/overview) 실행 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web))에서 잘린 응답이 주 대화에 있고 텍스트를 포함하지만 도구 호출이 없는 경우 `continue`를 직접 보낼 필요가 없습니다: Claude Code는 부분 출력을 유지하고 Claude에게 중단된 위치에서 계속하도록 프롬프트합니다. 최대 3번 연속으로. 이 공지는 Claude Code가 해당 연속을 모두 사용한 후에만 이러한 응답에 대해 표시됩니다. v2.1.246 이전에는 Claude Code가 비대화형 턴을 첫 번째 잘림에서 이 공지로 종료했습니다.546* [비대화형 세션](/docs/ko/headless)(예: `-p` 실행, [Agent SDK](/docs/ko/agent-sdk/overview) 실행 또는 [클라우드 세션](/docs/ko/claude-code-on-the-web))에서 잘린 응답이 주 대화에 있고 텍스트를 포함하지만 도구 호출이 없는 경우 `continue`를 직접 보낼 필요가 없습니다: Claude Code는 부분 출력을 유지하고 Claude에게 중단된 위치에서 계속하도록 요청하며, 최대 3번 연속으로 요청합니다. 이 공지는 Claude Code가 해당 연속을 모두 사용한 후에만 이러한 응답에 대해 표시됩니다. v2.1.246 이전에는 Claude Code가 비대화형 턴을 첫 번째 잘림에서 이 공지로 종료했습니다.
542* [하위 에이전트](/docs/ko/sub-agents#api-errors-in-subagents)에서, 세션이 대화형인지 여부와 관계없이: 잘린 응답이 텍스트를 포함하지만 도구 호출이 없을 때 Claude Code는 하위 에이전트에게 계속하도록 프롬프트합니다. 공지는 해당 연속이 사용될 때까지만 하위 에이전트의 마지막 메시지가 됩니다. v2.1.257 이전에는 하위 에이전트가 첫 번째 잘림에서 이 공지를 표시했습니다.547* [서브에이전트](/docs/ko/sub-agents#api-errors-in-subagents)에서, 세션이 대화형인지 여부와 관계없이: 잘린 응답이 텍스트를 포함하지만 도구 호출이 없을 때 Claude Code는 서브에이전트에게 계속하도록 요청합니다. 공지는 해당 연속을 모두 사용한 후에만 서브에이전트의 마지막 메시지가 됩니다. v2.1.257 이전에는 서브에이전트가 첫 번째 잘림에서 이 공지를 표시했습니다.
543 548
544**수행할 작업:**549**수행할 작업:**
545 550
546* 대화형 세션에서 화면에 남아 있는 응답을 읽습니다: Claude Code는 오류 전에 Claude가 완료한 모든 블록을 유지하지만 턴이 끝날 때 중단된 최종 블록을 버립니다. 따라서 최종 문장 또는 도구 호출이 누락될 수 있습니다. `continue`로 회신하여 Claude가 마지막으로 완료한 블록에서 계속하도록 합니다.551* 대화형 세션에서 화면에 남아 있는 응답을 읽습니다: Claude Code는 오류 전에 Claude가 완료한 모든 블록을 유지하지만 턴이 끝날 때 중단된 최종 블록을 버립니다. 따라서 최종 문장 또는 도구 호출이 누락될 수 있습니다. `continue`로 회신하여 Claude가 마지막으로 완료한 블록에서 계속하도록 합니다.
547* [비대화형 모드](/docs/ko/headless)(`-p`):552* [비대화형 모드](/docs/ko/headless)(`-p`):
548 * 기본 텍스트 출력을 사용하면 Claude Code는 턴의 앞부분에서 여전히 보유한 마지막 완료된 텍스트 블록을 인쇄한 후 이 메시지를 인쇄합니다. 보유하지 않으면 Claude Code는 이 메시지만 인쇄합니다. 예를 들어 Claude Code가 턴 중간에 대화를 압축하고 해당 텍스트를 지웠기 때문입니다. v2.1.219 이전에는 Claude Code가 `-p` 텍스트 출력에서만 이 메시지를 인쇄했고 이미 생성한 응답을 버렸습니다.553 * 기본 텍스트 출력을 사용하면 Claude Code는 턴의 앞부분에서 여전히 보유한 마지막 완료된 텍스트 블록을 인쇄한 후 이 메시지를 인쇄합니다. 보유하지 않으면 Claude Code는 이 메시지만 인쇄합니다. 예를 들어 Claude Code가 턴 중간에 대화를 압축하고 해당 텍스트를 지웠기 때문입니다. v2.1.219 이전에는 Claude Code가 `-p` 텍스트 출력에서 이 메시지만 인쇄했고 이미 생성한 응답을 버렸습니다.
549 * `--output-format json` 또는 `stream-json`을 사용하면 Claude Code는 이 메시지를 `result` 필드에 보고합니다.554 * `--output-format json` 또는 `stream-json`을 사용하면 Claude Code는 이 메시지를 `result` 필드에 보고합니다.
550 * 연결이 안정적이면 턴을 계속하려면 세션을 재개하고 [대화 계속](/docs/ko/headless#continue-conversations)에 설명된 대로 `continue`를 보냅니다.555 * 연결이 안정되면 턴을 계속하려면 세션을 재개하고 [대화 계속](/docs/ko/headless#continue-conversations)에 설명된 대로 `continue`를 보냅니다.
551 556
552<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">557<h3 id="auto-mode-cannot-determine-the-safety-of-an-action">
553 자동 모드가 작업의 안전성을 결정할 수 없음558 자동 모드가 작업의 안전성을 결정할 수 없음
554</h3>559</h3>
555 560
556[자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)가 작업을 분류하는 데 사용하는 모델이 결정을 내릴 수 없어 자동 모드가 작업을 자동으로 승인하지 않았습니다. 표시되는 메시지는 분류자가 실패한 방식에 따라 다릅니다.561[자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)가 작업을 분류하는 데 사용하는 모델이 결정을 내릴 수 없어 자동 모드가 작업을 자동으로 승인하지 않았습니다. 표시되는 메시지는 분류기가 실패한 방식에 따라 다릅니다.
557 562
558작업 디렉토리 내의 읽기, 검색 및 편집은 분류자를 건너뛰므로 이러한 모든 경우에 계속 작동합니다.563작업 디렉터리 내의 읽기, 검색 및 편집은 분류기를 건너뛰므로 이러한 모든 경우에 계속 작동합니다.
559 564
560분류자 모델을 사용할 수 없을 때:565분류기 모델을 사용할 수 없을 때:
561 566
562```text theme={null}567```text theme={null}
563<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.568<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.
565 570
566Claude Code가 실패 범주를 결정할 수 있을 때 `temporarily unavailable` 뒤의 괄호에 범주를 명시합니다. 예를 들어 `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`입니다. 범주는 `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` 및 `(connection failed)`입니다. `(timed out)` 또는 `(connection failed)`가 반복되면 연결을 확인하세요. [API에 연결할 수 없음](#unable-to-connect-to-api)을 참조하세요. v2.1.229 이전에는 메시지가 범주를 명시하지 않았고 `Wait briefly and then try this action again`으로 읽혔습니다.571Claude Code가 실패 범주를 결정할 수 있을 때 `temporarily unavailable` 뒤의 괄호에 범주를 명시합니다. 예를 들어 `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`입니다. 범주는 `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)` 및 `(connection failed)`입니다. `(timed out)` 또는 `(connection failed)`가 반복되면 연결을 확인하세요. [API에 연결할 수 없음](#unable-to-connect-to-api)을 참조하세요. v2.1.229 이전에는 메시지가 범주를 명시하지 않았고 `Wait briefly and then try this action again`으로 읽혔습니다.
567 572
568범주가 맞지 않으면 메시지는 괄호에 범주 없이 나타납니다. 둘 이상의 실패가 해당 형식을 생성합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock)에서, [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint) 포함, AWS 계정이 메시지에 명시된 모델을 호출할 수 없을 때도 나타나며, 계정에 모델에 대한 액세스 권한이 부여될 때까지 모든 재시도에서 해당 실패가 반복됩니다.573맞는 범주가 없으면 메시지는 괄호에 범주 없이 나타납니다. 둘 이상의 실패가 해당 형식을 생성합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock)에서, [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint) 포함, AWS 계정이 메시지에 명시된 모델을 호출할 수 없을 때도 나타나며, 계정에 모델에 대한 액세스 권한이 부여될 때까지 모든 재시도에서 해당 실패가 반복됩니다.
569 574
570**수행할 작업:**575**수행할 작업:**
571 576
573* 재시도가 계속 실패하면 읽기 전용 작업을 계속하고 나중에 차단된 작업으로 돌아옵니다578* 재시도가 계속 실패하면 읽기 전용 작업을 계속하고 나중에 차단된 작업으로 돌아옵니다
574* Amazon Bedrock에서 메시지가 모든 재시도에서 반환되면 계정이 명시된 모델을 호출할 수 있는지 확인합니다: 표준 Amazon Bedrock 모델의 경우 [IAM 정책](/docs/ko/amazon-bedrock#iam-configuration)이 호출을 허용하는지 확인합니다. Mantle 모델 ID의 경우 [AWS 계정 팀에 문의](/docs/ko/amazon-bedrock#mantle-endpoint-errors)합니다579* Amazon Bedrock에서 메시지가 모든 재시도에서 반환되면 계정이 명시된 모델을 호출할 수 있는지 확인합니다: 표준 Amazon Bedrock 모델의 경우 [IAM 정책](/docs/ko/amazon-bedrock#iam-configuration)이 호출을 허용하는지 확인합니다. Mantle 모델 ID의 경우 [AWS 계정 팀에 문의](/docs/ko/amazon-bedrock#mantle-endpoint-errors)합니다
575 580
576분류자 요청이 OAuth 토큰이 만료되었거나 다른 세션에서 회전되었기 때문에 실패할 때 Claude Code는 토큰을 새로 고치고 요청을 한 번 재시도하므로 일상적인 토큰 만료는 이 메시지로 표시되지 않습니다. v2.1.216 이전에는 만료되었거나 회전된 토큰이 각 분류자 요청을 실패했고 토큰이 새로 고쳐질 때까지 자동 모드가 확인된 모든 작업을 거부했습니다.581분류기 요청이 OAuth 토큰이 만료되었거나 다른 세션에서 회전되었기 때문에 실패할 때 Claude Code는 토큰을 새로 고치고 요청을 한 번 재시도하므로 일상적인 토큰 만료는 이 메시지로 표시되지 않습니다. v2.1.216 이전에는 만료되었거나 회전된 토큰이 각 분류기 요청을 실패시켰고 토큰이 새로 고쳐질 때까지 자동 모드가 확인 대상인 모든 작업을 이 메시지와 함께 거부했습니다.
577 582
578분류자가 파싱할 수 없는 응답을 반환했을 때:583분류기가 파싱할 수 없는 응답을 반환했을 때:
579 584
580```text theme={null}585```text theme={null}
581Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details586Auto mode could not evaluate this action and is blocking it for safety — run with --debug for details
586* 작업을 재시도합니다. 이는 일반적으로 다음 시도에서 성공합니다591* 작업을 재시도합니다. 이는 일반적으로 다음 시도에서 성공합니다
587* `claude --debug`를 실행하고 작업을 반복하여 디버그 로그에서 세부 정보를 확인합니다592* `claude --debug`를 실행하고 작업을 반복하여 디버그 로그에서 세부 정보를 확인합니다
588 593
589별도의 API 안전 검사가 이전 대화 내용으로 인해 분류자 요청을 차단했을 때:594별도의 API 안전 검사가 이전 대화 내용으로 인해 분류기 요청을 차단했을 때:
590 595
591```text theme={null}596```text theme={null}
592Auto mode could not evaluate this action and is blocking it for safety — a safety check separate from auto mode blocked this request because of earlier conversation content — it isn't about the action itself — run with --debug for details597Auto mode could not evaluate this action and is blocking it for safety — a safety check separate from auto mode blocked this request because of earlier conversation content — it isn't about the action itself — run with --debug for details
594 599
595Claude Code는 작업을 거부하지만 Claude에게 이것이 작업이 안전하지 않다는 판단이 아니며 재시도하는 대신 다른 작업을 계속하도록 알립니다. 이러한 거부는 [자동 모드의 일시 중지 임계값](/docs/ko/permission-modes#when-auto-mode-falls-back)에 대해 계산되지 않습니다. [비대화형](/docs/ko/headless) `-p` 실행에서 Claude Code는 실행을 중지하지 않습니다. Claude가 수신하는 내용은 작업을 요청한 위치에 따라 다릅니다:600Claude Code는 작업을 거부하지만 Claude에게 이것이 작업이 안전하지 않다는 판단이 아니며 재시도하는 대신 다른 작업을 계속하도록 알립니다. 이러한 거부는 [자동 모드의 일시 중지 임계값](/docs/ko/permission-modes#when-auto-mode-falls-back)에 대해 계산되지 않습니다. [비대화형](/docs/ko/headless) `-p` 실행에서 Claude Code는 실행을 중지하지 않습니다. Claude가 수신하는 내용은 작업을 요청한 위치에 따라 다릅니다:
596 601
597* `-p` 실행 중 `--input-format stream-json` 없이 [백그라운드 하위 에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에 Claude Code는 `Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode`를 포함하는 오류 결과를 반환합니다602* `-p` 실행 중 `--input-format stream-json` 없이 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에 Claude Code는 `Agent aborted: auto mode classifier request refused by the safety safeguard in headless mode`를 포함하는 오류 결과를 반환합니다
598* 대화형 세션 및 `-p` 실행의 주 대화를 포함한 다른 모든 곳에서 Claude Code는 해당 거부를 Claude에게 반환합니다603* 대화형 세션 및 `-p` 실행의 주 대화를 포함한 다른 모든 곳에서 Claude Code는 해당 거부를 Claude에게 반환합니다
599 604
600v2.1.225 이전에는 Claude Code가 이러한 거부를 일시 중지 임계값에 대해 계산했고 진정한 분류자 블록과 동일한 거부 메시지를 반환했습니다.605v2.1.225 이전에는 Claude Code가 이러한 거부를 일시 중지 임계값에 대해 계산했고 진정한 분류기 차단과 동일한 거부 메시지를 반환했습니다.
601 606
602**수행할 작업:**607**수행할 작업:**
603 608
604* 이것은 작업에 대한 결정이 아닙니다. 대화에 이미 있는 내용이 Claude Code가 대화를 분류자에게 보낼 때 API의 안전 필터를 트리거했습니다609* 이것은 작업에 대한 결정이 아닙니다. 대화에 이미 있는 내용이 자동 모드가 대화를 분류기에 보낼 때 API의 안전 필터를 트리거했습니다
605* 재시도는 도움이 되지 않습니다. 동일한 대화 내용이 필터를 다시 트리거합니다610* 재시도는 도움이 되지 않습니다. 동일한 대화 내용이 필터를 다시 트리거합니다
606* 대화형 세션에서 다른 [권한 모드](/docs/ko/permission-modes)로 전환하여 프롬프트될 때 작업을 승인할 수 있습니다611* 대화형 세션에서 다른 [권한 모드](/docs/ko/permission-modes)로 전환하여 확인 요청이 표시될 때 작업을 승인할 수 있습니다
607* 트리거 내용 없이 새 대화를 시작합니다612* 트리거 내용 없이 새 대화를 시작합니다
608 613
609대화가 분류자의 컨텍스트 윈도우보다 커졌을 때:614대화가 분류기의 컨텍스트 윈도우보다 커졌을 때:
610 615
611```text theme={null}616```text theme={null}
612Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)617Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)
615작업에 발생하는 일은 Claude가 요청한 위치에 따라 다릅니다:620작업에 발생하는 일은 Claude가 요청한 위치에 따라 다릅니다:
616 621
617* 대화형 세션에서 자동 모드는 해당 작업에 대해 일반 권한 프롬프트로 폴백하므로 수동으로 승인하거나 거부할 수 있습니다622* 대화형 세션에서 자동 모드는 해당 작업에 대해 일반 권한 프롬프트로 폴백하므로 수동으로 승인하거나 거부할 수 있습니다
618* [비대화형](/docs/ko/headless) `-p` 실행 중 `--input-format stream-json` 없이 [백그라운드 하위 에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에 Claude Code는 `Agent aborted: auto mode classifier transcript exceeded context window in headless mode`를 포함하는 오류 결과를 반환하고 실행을 계속합니다623* [비대화형](/docs/ko/headless) `-p` 실행 중 `--input-format stream-json` 없이 [백그라운드 서브에이전트](/docs/ko/sub-agents#run-subagents-in-foreground-or-background)에 Claude Code는 `Agent aborted: auto mode classifier transcript exceeded context window in headless mode`를 포함하는 오류 결과를 반환하고 실행을 계속합니다
619* [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 없이 `-p` 실행의 다른 곳에서 폴백할 프롬프트가 없으므로 작업이 실행되지 않고 실행이 계속됩니다624* [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags) 없이 `-p` 실행의 다른 곳에서 폴백할 프롬프트가 없으므로 작업이 실행되지 않고 실행이 계속됩니다
620 625
621**수행할 작업:**626**수행할 작업:**
622 627
623* 대화형 세션에서 나타나는 프롬프트에서 작업을 승인하거나 거부합니다628* 대화형 세션에서 나타나는 프롬프트에서 작업을 승인하거나 거부합니다
624* 대화형 세션에서 `/compact`를 실행하여 대화 크기를 줄여 후속 작업이 분류자 윈도우에 맞도록 합니다629* 대화형 세션에서 `/compact`를 실행하여 대화 크기를 줄여 후속 작업이 분류기 윈도우에 다시 맞도록 합니다
625 630
626<h3 id="the-server-returned-no-safety-verdict">631<h3 id="the-server-returned-no-safety-verdict">
627 서버가 안전 판정을 반환하지 않음632 서버가 안전 판정을 반환하지 않음
628</h3>633</h3>
629 634
630[서버 측 분류자 검토](/docs/ko/permission-modes#server-side-classifier-review) 하에서 자동 모드는 서버가 판정을 제공하지 않을 때 작업을 거부합니다. 거부는 Claude Code가 하나를 결정할 수 있을 때 괄호에 범주를 명시합니다. 예를 들어 `(timed out)`:635[서버 측 분류기 검토](/docs/ko/permission-modes#server-side-classifier-review) 하에서 자동 모드는 서버가 판정을 제공하지 않을 때 작업을 거부합니다. 거부는 Claude Code가 하나를 결정할 수 있을 때 괄호에 범주를 명시합니다. 예를 들어 `(timed out)`:
631 636
632```text theme={null}637```text theme={null}
633The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.638The server-side auto mode classifier gave no verdict (timed out), so auto mode cannot determine the safety of <tool>.
635 640
636메시지의 나머지 부분은 Claude에게 한 번의 재시도가 도움이 될 수 있는지 알려줍니다. 이러한 거부 중 일부 전에 Claude Code는 대기하므로 Claude의 다음 시도가 즉시 따르지 않습니다. 대화형 세션에서 대기 중에 스피너는 `Auto mode check unavailable`을 카운트다운과 함께 표시하며, `Esc`를 누르면 턴이 중단됩니다.641메시지의 나머지 부분은 Claude에게 한 번의 재시도가 도움이 될 수 있는지 알려줍니다. 이러한 거부 중 일부 전에 Claude Code는 대기하므로 Claude의 다음 시도가 즉시 따르지 않습니다. 대화형 세션에서 대기 중에 스피너는 `Auto mode check unavailable`을 카운트다운과 함께 표시하며, `Esc`를 누르면 턴이 중단됩니다.
637 642
63810개 응답이 연속으로 판정이 없은 후 자동 모드는 턴을 중지합니다:64310개 응답이 연속으로 판정이 없으면 자동 모드는 턴을 중지합니다:
639 644
640```text theme={null}645```text theme={null}
641Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.646Auto mode is unavailable — the server returned no safety verdict for the last 10 responses, so Claude stopped. Send a message to try again, or switch out of auto mode.
643 648
644중지 메시지는 각 세션 종류에서 다른 위치에 나타납니다:649중지 메시지는 각 세션 종류에서 다른 위치에 나타납니다:
645 650
646* 대화형 세션에서 메시지는 대화 기록에 경고로 나타나고 턴이 끝납니다651* 대화형 세션에서 메시지는 트랜스크립트에 경고로 나타나고 턴이 끝납니다
647* [비대화형](/docs/ko/headless) `-p` 실행에서 실행이 끝나고 실행 오류를 보고합니다. 기본 텍스트 출력을 사용하면 메시지가 stderr에 인쇄됩니다.652* [비대화형](/docs/ko/headless) `-p` 실행에서 실행이 끝나고 실행 오류를 보고합니다. 기본 텍스트 출력을 사용하면 메시지가 stderr에 인쇄됩니다.
648* [하위 에이전트](/docs/ko/sub-agents)가 한도에 도달했을 때 하위 에이전트는 완료 전에 중지되고 Claude는 자동 모드가 중지했다는 메모와 함께 생성한 것을 받습니다653* [서브에이전트](/docs/ko/sub-agents)가 한도에 도달했을 때 서브에이전트는 완료 전에 중지되고 Claude는 자동 모드가 중지했다는 메모와 함께 서브에이전트가 생성한 것을 받습니다
649 654
650**수행할 작업:**655**수행할 작업:**
651 656
652* 다른 메시지를 보내 Claude가 다시 시도하도록 합니다. 응답 수 계산이 다시 시작됩니다.657* 다른 메시지를 보내 Claude가 다시 시도하도록 합니다. 응답 수 계산이 다시 시작됩니다.
653* 중지가 반복되고 요청이 [LLM 게이트웨이 또는 프록시](/docs/ko/llm-gateway)를 통과하면 스트리밍 응답을 자르거나 다시 쓰는지 확인합니다. [서버 측 분류자 검토](/docs/ko/permission-modes#server-side-classifier-review)는 어떤 게이트웨이 동작이 거부를 유발하는지 말하며, [게이트웨이 호환성 가이드](/docs/ko/llm-gateway-protocol#feature-pass-through)는 변경되지 않은 상태로 통과할 내용을 나열합니다.658* 중지가 반복되고 요청이 [LLM 게이트웨이 또는 프록시](/docs/ko/llm-gateway)를 통과하면 스트리밍 응답을 자르거나 다시 쓰는지 확인합니다. [서버 측 분류기 검토](/docs/ko/permission-modes#server-side-classifier-review)는 어떤 게이트웨이 동작이 거부를 유발하는지 설명하며, [게이트웨이 호환성 가이드](/docs/ko/llm-gateway-protocol#feature-pass-through)는 변경되지 않은 상태로 통과시켜야 할 내용을 나열합니다.
654* Claude Code를 시작하기 전에 `CLAUDE_CODE_AUTO_MODE_SERVER=0`을 설정하여 대신 자체 분류자 요청을 사용합니다. v2.1.281 이전에는 Claude Code가 Anthropic API에 대한 직접 연결에서 변수를 읽지 않았습니다.659* Claude Code를 시작하기 전에 `CLAUDE_CODE_AUTO_MODE_SERVER=0`을 설정하여 대신 자체 분류기 요청을 사용합니다. v2.1.281 이전에는 Claude Code가 Anthropic API에 대한 직접 연결에서 변수를 읽지 않았습니다.
655* 대신 작업을 직접 승인하려면 [자동 모드를 전환](/docs/ko/permission-modes#switch-permission-modes)합니다660* 대신 작업을 직접 승인하려면 [자동 모드에서 전환](/docs/ko/permission-modes#switch-permission-modes)합니다
656 661
657v2.1.280 이전에는 Claude Code가 판정이 없는 응답의 각 작업을 즉시 거부했고 턴을 중지하지 않았습니다.662v2.1.280 이전에는 Claude Code가 판정이 없는 응답의 각 작업을 즉시 거부했고 턴을 중지하지 않았습니다.
658 663
660 API 오류로 인해 에이전트가 조기에 종료됨665 API 오류로 인해 에이전트가 조기에 종료됨
661</h3>666</h3>
662 667
663[하위 에이전트](/docs/ko/sub-agents)의 API 요청이 사용 한도에 도달했거나 서버 오류에 대한 재시도가 소진되었기 때문에 터미널로 실패했으므로 하위 에이전트가 작업을 마치기 전에 중지했습니다. 이 메시지는 Claude Code v2.1.199 이상이 필요합니다. 그 이전에는 API 오류 텍스트가 하위 에이전트의 결과인 것처럼 Claude에게 반환되었습니다.668[서브에이전트](/docs/ko/sub-agents)의 API 요청이 사용 한도에 도달했거나 서버 오류에 대한 재시도가 소진되는 등의 이유로 최종적으로 실패했으므로 서브에이전트가 작업을 마치기 전에 중지했습니다. 이 메시지는 Claude Code v2.1.199 이상이 필요합니다. 그 이전에는 API 오류 텍스트가 서브에이전트의 결과인 것처럼 Claude에게 반환되었습니다.
664 669
665```text theme={null}670```text theme={null}
666Agent terminated early due to an API error: <error detail>671Agent terminated early due to an API error: <error detail>
668 673
669**수행할 작업:**674**수행할 작업:**
670 675
671* 콜론 뒤의 오류 세부 정보를 이 페이지의 자체 섹션(예: [사용 한도](#usage-limits) 또는 [서버 오류](#server-errors))과 일치시키고 해당 섹션의 단계를 따릅니다676* 콜론 뒤의 오류 세부 정보를 이 페이지의 해당 섹션(예: [사용 한도](#usage-limits) 또는 [서버 오류](#server-errors))과 대조하고 해당 섹션의 단계를 따릅니다
672* 기본 오류가 해결되면 Claude에게 작업을 재시도하거나 [하위 에이전트를 재개](/docs/ko/sub-agents#resume-subagents)하도록 요청합니다677* 기본 오류가 해결되면 Claude에게 작업을 재시도하거나 [서브에이전트를 재개](/docs/ko/sub-agents#resume-subagents)하도록 요청합니다
673 678
674속도 제한, 오버로드 또는 서버 오류가 이미 텍스트 출력을 생성한 포그라운드 하위 에이전트를 중단할 때 Claude는 이 오류 대신 불완전으로 표시된 부분 출력을 수신합니다. 유일한 출력이 도구 호출인 하위 에이전트도 이 오류를 받습니다. v2.1.199에서는 해당 형태가 빈 부분 결과를 대신 반환했습니다. [하위 에이전트의 API 오류](/docs/ko/sub-agents#api-errors-in-subagents)를 참조하세요.679속도 제한, 오버로드 또는 서버 오류가 이미 텍스트 출력을 생성한 포그라운드 서브에이전트를 중단할 때 Claude는 이 오류 대신 불완전으로 표시된 부분 출력을 수신합니다. 유일한 출력이 도구 호출인 서브에이전트도 이 오류를 받습니다. v2.1.199에서는 해당 형태가 빈 부분 결과를 대신 반환했습니다. [서브에이전트의 API 오류](/docs/ko/sub-agents#api-errors-in-subagents)를 참조하세요.
675 680
676<h2 id="usage-limits">681<h2 id="usage-limits">
677 사용 한도682 사용 한도
882 인증 오류887 인증 오류
883</h2>888</h2>
884 889
885이러한 오류는 Claude Code가 API에 대해 사용자의 신원을 증명할 수 없음을 의미합니다. 언제든지 `/status`를 실행하여 현재 활성화된 자격증명을 확인하십시오.890이 오류는 Claude Code가 API에 사용자의 신원을 증명할 수 없다는 의미입니다. 현재 어떤 자격 증명이 활성화되어 있는지 확인하려면 언제든지 `/status`를 실행하십시오.
886 891
887<h3 id="not-logged-in">892<h3 id="not-logged-in">
888 로그인하지 않음893 로그인되지 않음
889</h3>894</h3>
890 895
891이 세션에 유효한 자격증명이 없습니다.896이 세션에 사용할 수 있는 유효한 자격 증명이 없습니다.
892 897
893```text theme={null}898```text theme={null}
894Not logged in · Please run /login899Not logged in · Please run /login
895```900```
896 901
897Claude Desktop 앱이 실행하는 세션(예: Code 탭 또는 Cowork)에서 메시지는 `Authentication required · Sign in again to continue`로 읽으며, 앱에서 다시 로그인합니다.902Code 탭이나 Cowork처럼 Claude Desktop 앱이 실행하는 세션에서는 메시지가 `Authentication required · Sign in again to continue`로 표시되며, 앱에서 다시 로그인합니다.
898 903
899**수행할 작업:**904동일한 [구성 디렉터리](/docs/ko/claude-directory)를 사용하는 다른 Claude Code 창에서 claude.ai 계정으로 로그인하면, 이 메시지를 표시하는 대화형 세션은 자동으로 해당 로그인을 사용하기 시작합니다. 세션을 다시 시작할 필요가 없습니다.
905
906macOS에서 v2.1.286 이전에는 다른 창에서 로그인한 후에도 세션이 계속 이 메시지를 표시할 수 있었습니다. 해당 버전에서는 메시지를 표시하는 세션을 다시 시작하십시오.
900 907
901* `/login`을 실행하여 Claude 구독 또는 Console 계정으로 인증합니다.908**해결 방법:**
902* 환경 변수가 사용자를 인증할 것으로 예상했다면, `ANTHROPIC_API_KEY`가 `claude`를 실행한 셸에서 설정되고 내보내졌는지 확인합니다.
903* CI 또는 자동화에서 대화형 로그인이 불가능한 경우, 시작 시 키를 가져오는 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트를 구성합니다.
904* [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하여 여러 자격증명이 있을 때 Claude Code가 어떤 자격증명을 사용하는지 이해합니다.
905 909
906반복적으로 로그인하라는 메시지가 표시되면, [로그인하지 않음 또는 토큰 만료됨](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)에서 시스템 시계 확인 및 macOS 자격증명 저장소 복구 단계를 참조하십시오.910* `/login`을 실행하여 Claude 구독 또는 Console 계정으로 인증합니다
911* 환경 변수로 인증되기를 기대했다면 `claude`를 실행한 셸에서 `ANTHROPIC_API_KEY`가 설정되고 export되었는지 확인합니다
912* 대화형 로그인이 불가능한 CI 또는 자동화 환경에서는 시작 시 키를 가져오는 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트를 구성합니다
913* 여러 자격 증명이 있을 때 Claude Code가 어떤 자격 증명을 사용하는지 이해하려면 [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하십시오
914
915로그인하라는 메시지가 반복해서 표시되면 시스템 시계 확인 및 macOS 자격 증명 저장소 복구 단계에 대해 [로그인되지 않음 또는 토큰 만료](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)를 참조하십시오.
907 916
908<h3 id="could-not-resolve-authentication-method">917<h3 id="could-not-resolve-authentication-method">
909 인증 방법을 확인할 수 없음918 인증 방법을 확인할 수 없음
910</h3>919</h3>
911 920
912세션이 자격증명 없이 API 클라이언트에 도달했습니다. [백그라운드 세션](/docs/ko/agent-view) 및 클라우드 세션은 워커가 자격증명 없이 시작될 때 이 메시지를 표시합니다. 대화형, `-p` 및 Agent SDK 실행은 [로그인하지 않음](#not-logged-in)과 동일한 조건을 보고하며 이 문자열을 디버그 로그에만 기록하므로, 거기서 찾은 경우 대신 해당 항목을 따릅니다.921세션이 자격 증명 없이 API 클라이언트에 도달했습니다. [백그라운드 세션](/docs/ko/agent-view)과 클라우드 세션은 워커가 자격 증명 없이 시작될 때 이 메시지를 표시합니다. 대화형, `-p`, Agent SDK 실행은 동일한 상태를 [로그인되지 않음](#not-logged-in)으로 보고하고 이 문자열은 디버그 로그에만 기록하므로, 디버그 로그에서 이 문자열을 발견했다면 해당 항목을 따르십시오.
913 922
914```text theme={null}923```text theme={null}
915Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted924Could not resolve authentication method. Expected one of apiKey, authToken, credentials, config, or profile to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted
916```925```
917 926
918현재 버전에서 오류는 워커 프로세스에 사용 가능한 자격증명이 없음을 의미합니다. v2.1.174 이전에는 유휴 사전 초기화된 워커에 할당된 백그라운드 세션이 유효한 자격증명이 구성되어 있어도 이런 식으로 실패할 수 있었습니다. v2.1.176 이전에는 요청되기 전에 유휴 상태였던 클라우드 세션도 마찬가지였습니다. 업그레이드하여 복구합니다.927현재 버전에서 이 오류는 워커 프로세스에서 사용할 수 있는 자격 증명이 없었다는 의미입니다. v2.1.174 이전에는 유휴 상태의 사전 초기화된 워커에 할당된 백그라운드 세션이 유효한 자격 증명이 구성되어 있어도 이런 방식으로 실패할 수 있었습니다. v2.1.176 이전에는 할당되기 전에 유휴 상태로 있던 클라우드 세션도 마찬가지였습니다. 업그레이드하면 복구됩니다.
919 928
920**수행할 작업:**929**해결 방법:**
921 930
922* 백그라운드 또는 클라우드 세션에서 이것이 나타나고 자격증명이 이미 구성되어 있으면 v2.1.176 이상으로 업그레이드합니다.931* 백그라운드 또는 클라우드 세션에서 이 메시지가 나타나고 자격 증명이 이미 구성되어 있다면 v2.1.176 이상으로 업그레이드합니다
923* `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` 또는 클라우드 공급자 자격증명이 대화형 셸이 아닌 워커를 실행하는 환경에서 설정되어 있는지 확인합니다.932* `ANTHROPIC_API_KEY`, `CLAUDE_CODE_OAUTH_TOKEN` 또는 클라우드 제공업체 자격 증명이 대화형 셸뿐만 아니라 워커를 실행하는 환경에도 설정되어 있는지 확인합니다
924* Agent SDK의 경우, [빠른 시작의 인증 설정](/docs/ko/agent-sdk/quickstart#setup)을 참조합니다.933* Agent SDK의 경우 [빠른 시작의 인증 설정](/docs/ko/agent-sdk/quickstart#setup)을 참조하십시오
925* 동일한 환경의 대화형 세션에서 `/status`를 실행하여 어떤 자격증명 소스가 확인되는지 확인합니다.934* 동일한 환경의 대화형 세션에서 `/status`를 실행하여 어떤 자격 증명 소스가 확인되는지 확인합니다
926 935
927<h3 id="invalid-api-key">936<h3 id="invalid-api-key">
928 잘못된 API 키937 잘못된 API 키
929</h3>938</h3>
930 939
931`ANTHROPIC_API_KEY` 환경 변수 또는 `apiKeyHelper` 스크립트가 API가 거부한 키를 반환했습니다. 또는 Claude Code가 `ANTHROPIC_API_KEY`의 키를 전송하기 전에 차단했습니다.940`ANTHROPIC_API_KEY` 환경 변수 또는 `apiKeyHelper` 스크립트가 API에서 거부한 키를 반환했거나, Claude Code가 `ANTHROPIC_API_KEY`의 키를 전송하기 전에 차단했습니다.
932 941
933```text theme={null}942```text theme={null}
934Invalid API key · Fix external API key943Invalid API key · Fix external API key
935```944```
936 945
937메시지가 `Fix external API key` 이후로 계속되고 `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`와 같은 설명이 있으면, API는 키를 보지 못했습니다. Claude Code가 HTTP 헤더가 전달할 수 없는 문자를 찾았고 전송하기 전에 요청을 중지했습니다. 설명을 읽고 값을 수정하는 방법은 [잘못된 요청 헤더 값](#invalid-request-header-value)을 참조합니다.946메시지가 `Fix external API key` 뒤에 `Invalid X-Api-Key header value from ANTHROPIC_API_KEY: it contains a line break at character 41 (120 characters on 2 lines).`와 같은 설명으로 이어지면, API는 키를 전혀 받지 않은 것입니다. Claude Code가 HTTP 헤더로 전달할 수 없는 문자를 발견하고 요청을 전송하기 전에 중단했습니다. 설명을 읽고 값을 수정하는 방법은 [잘못된 요청 헤더 값](#invalid-request-header-value)을 참조하십시오.
938 947
939**수행할 작업:**948**해결 방법:**
940 949
941* 오타를 확인하고 [Console](https://platform.claude.com/settings/keys)에서 키가 취소되지 않았는지 확인합니다.950* 오타가 있는지 확인하고 [Console](https://platform.claude.com/settings/keys)에서 키가 취소되지 않았는지 확인합니다
942* 동일한 셸에서 `env | grep ANTHROPIC`을 실행하거나, PowerShell에서 `Get-ChildItem Env:ANTHROPIC*`을 실행합니다. direnv, dotenv 셸 플러그인 및 IDE 터미널과 같은 도구는 명시적으로 설정하지 않고도 프로젝트의 `.env` 파일에서 오래된 키를 로드할 수 있습니다.951* 동일한 셸에서 `env | grep ANTHROPIC`을 실행하거나, PowerShell에서는 `Get-ChildItem Env:ANTHROPIC*`를 실행합니다. direnv, dotenv 셸 플러그인, IDE 터미널과 같은 도구는 명시적으로 설정하지 않아도 프로젝트의 `.env` 파일에서 오래된 키를 로드할 수 있습니다.
943* `ANTHROPIC_API_KEY`를 설정 해제하고 `/login`을 실행하여 대신 구독 인증을 사용합니다.952* `ANTHROPIC_API_KEY`를 설정 해제하고 `/login`을 실행하여 대신 구독 인증을 사용합니다
944* 키가 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트에서 오는 경우, 스크립트를 직접 실행하여 stdout에 유효한 키를 인쇄하는지 확인합니다.953* 키가 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트에서 제공되는 경우, 스크립트를 직접 실행하여 stdout에 유효한 키를 출력하는지 확인합니다
945* `/status`를 실행하여 Claude Code가 실제로 사용 중인 자격증명 소스를 확인합니다.954* `/status`를 실행하여 Claude Code가 실제로 사용하는 자격 증명 소스를 확인합니다
946 955
947<h3 id="your-apikeyhelper-script-is-failing">956<h3 id="your-apikeyhelper-script-is-failing">
948 apiKeyHelper 스크립트가 실패 중입니다957 apiKeyHelper 스크립트 실패
949</h3>958</h3>
950 959
951Claude Code가 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정에서 명령을 실행했지만 키를 다시 받지 못했습니다. 키 없이 요청이 자리 표시자 자격증명으로 API에 도달하고, API가 `401`로 거부합니다. 터미널의 `Authentication` 패널은 다음 중 어떤 일이 발생했는지 보여줍니다:960Claude Code가 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정의 명령을 실행했지만 키를 받지 못했습니다. 키가 없으면 요청은 자리 표시자 자격 증명과 함께 API에 도달하고, API는 `401`로 이를 거부합니다. 터미널의 `Authentication` 패널에 다음 중 어떤 상황이 발생했는지 표시됩니다.
952 961
953* 명령이 오류로 종료되었거나 시간 초과되었습니다.962* 명령이 오류와 함께 종료되었거나 시간 초과되었습니다
954* 명령이 stdout에 아무것도 인쇄하지 않았습니다.963* 명령이 stdout에 아무것도 출력하지 않았습니다
955* 명령이 로그인 배너 또는 로그 라인과 같이 키 이외의 것을 인쇄했습니다. 패널은 `returned output that cannot be used as an API key`를 표시하고 무엇이 잘못되었는지 말하며, 출력을 반복하지 않습니다. v2.1.227 이전에는 Claude Code가 주변 공백을 자른 후 명령이 인쇄한 모든 것을 전송했습니다.964* 명령이 로그인 배너나 로그 줄처럼 키 이외의 내용을 출력했습니다. 패널에는 `returned output that cannot be used as an API key`가 표시되고 출력을 반복하지 않고 무엇이 잘못되었는지 알려 줍니다. v2.1.227 이전에는 Claude Code가 앞뒤 공백을 제거한 후 명령이 출력한 내용을 그대로 전송했습니다.
956 965
957```text theme={null}966```text theme={null}
958Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output967Your apiKeyHelper script is failing · This usually means you need to re-authenticate with your provider · Run /status to see the script's error output
959```968```
960 969
961[비대화형 모드](/docs/ko/headless)에서 stderr도 `apiKeyHelper failed:`로 접두사가 붙은 특정 이유를 전달합니다.970[비대화형 모드](/docs/ko/headless)에서는 stderr에도 `apiKeyHelper failed:` 접두사와 함께 구체적인 이유가 표시됩니다.
962 971
963Claude Code는 스크립트를 다시 실행하고 이 메시지를 표시하기 전에 요청을 최대 2회 더 재시도하므로, 실패는 3번의 시도 내에 표시됩니다. v2.1.208 이전에는 Claude Code가 전체 [재시도 예산](#automatic-retries)을 자리 표시자 자격증명으로 요청을 재전송하는 데 사용한 후 일반적인 `401` 인증 오류 대신 스크립트 실패를 보고했습니다.972Claude Code는 이 메시지를 표시하기 전에 스크립트를 다시 실행하고 요청을 최대 두 번 더 재시도하므로, 실패는 세 번의 시도 안에 드러납니다. v2.1.208 이전에는 Claude Code가 전체 [재시도 한도](#automatic-retries)를 소진하며 자리 표시자 자격 증명으로 요청을 다시 전송한 다음, 스크립트 실패 대신 일반적인 `401` 인증 오류를 보고했습니다.
964 973
965`/login`을 실행하는 것은 여기서 도움이 되지 않습니다: 헬퍼의 출력은 설정이 있는 한 저장된 로그인보다 [우선순위](/docs/ko/authentication#authentication-precedence)를 갖습니다.974여기서는 `/login`을 실행해도 도움이 되지 않습니다. 설정이 존재하는 동안에는 헬퍼의 출력이 저장된 로그인보다 [우선합니다](/docs/ko/authentication#authentication-precedence).
966 975
967**수행할 작업:**976**해결 방법:**
968 977
969* `apiKeyHelper`에 구성된 명령을 셸에서 직접 실행하여 실패를 재현합니다.978* `apiKeyHelper`에 구성된 명령을 셸에서 직접 실행하여 실패를 재현합니다
970* 명령이 만료된 세션을 보고하면, 예를 들어 SSO 또는 비밀 자격증명 모음에 다시 로그인하여 자격증명 공급자로 다시 인증합니다.979* 명령이 세션 만료를 보고하면 자격 증명 제공업체에서 다시 인증합니다. 예를 들어 SSO 또는 시크릿 볼트에 다시 로그인합니다
971* 명령이 stdout에만 키를 인쇄하도록 수정합니다. 단일 인쇄 가능한 ASCII 토큰으로 최대 16,384자이며 종료 코드 0으로 종료합니다. 작동하는 설정은 [apiKeyHelper로 자격증명 회전](/docs/ko/llm-gateway-connect#rotate-credentials-with-apikeyhelper)을 참조합니다.980* 명령이 stdout에 키만 출력하도록 수정합니다. 키는 최대 16,384자의 출력 가능한 ASCII로 된 단일 토큰이어야 하며, 명령은 종료 코드 0으로 종료되어야 합니다. 작동하는 설정은 [apiKeyHelper로 자격 증명 교체](/docs/ko/llm-gateway-connect#rotate-credentials-with-apikeyhelper)를 참조하십시오.
972* `/status`를 실행하여 실패를 확인하고 `apiKeyHelper`가 활성 자격증명 소스인지 확인합니다. `apiKeyHelper` 행은 종료 코드 및 명령의 오류 출력과 같은 마지막 실패의 세부 정보와 함께 `Failing`을 표시하며, 다음 성공적인 실행 후 사라집니다. v2.1.274 이전에는 `/status`가 실패가 아닌 자격증명 소스만 표시했습니다.981* `/status`를 실행하여 실패 내용을 확인하고 `apiKeyHelper`가 활성 자격 증명 소스인지 확인합니다. `apiKeyHelper` 행에는 종료 코드 및 명령의 오류 출력과 같은 마지막 실패의 세부 정보와 함께 `Failing`이 표시되며, 다음 실행이 성공하면 사라집니다. v2.1.274 이전에는 `/status`에 실패가 아닌 자격 증명 소스만 표시되었습니다.
973* 명령이 실패할 때마다 종료 코드와 오류 출력도 터미널의 `Authentication` 패널에 나타납니다. v2.1.212 이전에는 패널의 제목이 `Cloud authentication`이었습니다.982* 명령이 실패할 때마다 종료 코드와 오류 출력이 터미널의 `Authentication` 패널에도 표시됩니다. v2.1.212 이전에는 패널 제목이 `Cloud authentication`이었습니다.
974 983
975<h3 id="invalid-request-header-value">984<h3 id="invalid-request-header-value">
976 잘못된 요청 헤더 값985 잘못된 요청 헤더 값
977</h3>986</h3>
978 987
979Claude Code가 요청 헤더로 전송하려던 값에 HTTP 헤더가 전달할 수 없는 문자가 포함되어 있습니다: 줄 바꿈, NUL 바이트 또는 `U+00FF` 위의 문자(예: 곡선 따옴표 또는 너비가 0인 공백). Claude Code는 아무것도 전송되기 전에 요청을 중지하고 수정할 변수 또는 설정의 이름을 지정합니다. 일반적인 원인은 보이지 않는 문자 또는 잘못된 줄 바꿈을 전달한 문서 또는 채팅에서 붙여넣은 자격증명입니다.988Claude Code가 요청 헤더로 전송하려던 값에 HTTP 헤더로 전달할 수 없는 문자가 포함되어 있습니다. 줄바꿈, NUL 바이트 또는 둥근 따옴표나 폭이 없는 공백처럼 `U+00FF`보다 큰 문자가 이에 해당합니다. Claude Code는 아무것도 전송하기 전에 요청을 중단하고 수정해야 할 변수 또는 설정의 이름을 알려 줍니다. 일반적인 원인은 문서나 채팅에서 붙여 넣은 자격 증명에 보이지 않는 문자나 불필요한 줄바꿈이 포함된 경우입니다.
980 989
981Claude Code는 Claude API에 직접 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 요청을 전송할 때 이 확인을 실행합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock)과 같은 타사 클라우드 공급자에서는 Claude Code가 전송하기 전에 실행하지 않습니다.990Claude Code는 Claude API에 직접 또는 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 요청을 전송할 때 이 검사를 실행합니다. [Amazon Bedrock](/docs/ko/amazon-bedrock)과 같은 타사 클라우드 제공업체에서는 Claude Code가 전송 전에 이 검사를 실행하지 않습니다.
982 991
983```text theme={null}992```text theme={null}
984Invalid auth token · Fix external auth token993Invalid auth token · Fix external auth token
986Invalid request header from the environment · Fix the environment variable995Invalid request header from the environment · Fix the environment variable
987```996```
988 997
989메시지의 첫 번째 부분은 잘못된 값이 어디에서 왔는지에 따라 달라집니다:998메시지의 첫 부분은 잘못된 값이 어디에서 왔는지에 따라 달라집니다.
990 999
991* `Invalid auth token`: [`ANTHROPIC_AUTH_TOKEN`](/docs/ko/env-vars) 또는 [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars)의 베어러 토큰1000* `Invalid auth token`: [`ANTHROPIC_AUTH_TOKEN`](/docs/ko/env-vars) 또는 [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars)의 bearer 토큰
992* `Invalid ANTHROPIC_CUSTOM_HEADERS`: [`ANTHROPIC_CUSTOM_HEADERS`](/docs/ko/env-vars)에서 설정한 헤더 이름 또는 값입니다. 설명은 `ANTHROPIC_CUSTOM_HEADERS`에서 구문 분석된 3개 중 2번째 고유 헤더와 같이 어떤 `Name: Value` 쌍이 잘못되었는지 계산하며, 이름이나 값을 반복하지 않습니다.1001* `Invalid ANTHROPIC_CUSTOM_HEADERS`: [`ANTHROPIC_CUSTOM_HEADERS`](/docs/ko/env-vars)에 설정한 헤더 이름 또는 값. 설명은 이름이나 값을 반복하지 않고 `distinct header 2 of 3 parsed from ANTHROPIC_CUSTOM_HEADERS`처럼 몇 번째 `Name: Value` 쌍에 문제가 있는지 알려 줍니다. 이름과 값은 모두 사용자가 직접 지정한 것이기 때문입니다.
993* `Invalid request header from the environment`: Claude Code가 `CLAUDE_AGENT_SDK_CLIENT_APP`과 같은 다른 환경 변수에서 요청 헤더로 복사하는 값입니다. 설명은 수정할 변수의 이름을 지정합니다.1002* `Invalid request header from the environment`: Claude Code가 `CLAUDE_AGENT_SDK_CLIENT_APP`과 같은 다른 환경 변수에서 요청 헤더로 복사하는 값. 설명에 수정해야 할 변수의 이름이 표시됩니다.
994 1003
995Claude Code는 이 확인으로 포착된 잘못된 `ANTHROPIC_API_KEY`를 [잘못된 API 키](#invalid-api-key)로 보고하며, 동일한 후행 설명이 있습니다. 잘못된 저장된 `/login` 자격증명을 [로그인하지 않음](#not-logged-in)으로 보고합니다. [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트의 출력은 이 확인에 도달하지 않습니다: Claude Code는 스크립트가 실행될 때 유효성을 검사하며, HTTP 헤더가 전달할 수 없는 출력은 [apiKeyHelper 스크립트가 실패 중입니다](#your-apikeyhelper-script-is-failing)로 실패합니다.1004Claude Code는 이 검사에서 발견된 잘못된 `ANTHROPIC_API_KEY`를 동일한 후행 설명과 함께 [잘못된 API 키](#invalid-api-key)로 보고합니다. 저장된 `/login` 자격 증명이 잘못된 경우에는 대신 [로그인되지 않음](#not-logged-in)으로 보고합니다. `/login`을 실행하여 새 자격 증명을 저장하십시오. [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 스크립트의 출력은 이 검사에 도달하지 않습니다. Claude Code는 스크립트가 실행될 때 출력을 검증하며, HTTP 헤더로 전달할 수 없는 출력은 [apiKeyHelper 스크립트 실패](#your-apikeyhelper-script-is-failing)로 실패합니다.
996 1005
997두 번째 `·` 이후에 메시지는 다음과 같은 전체 예제에서 문제를 설명합니다:1006두 번째 `·` 뒤에는 다음 전체 예시와 같이 메시지가 문제를 설명합니다.
998 1007
999```text theme={null}1008```text theme={null}
1000Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).1009Invalid auth token · Fix external auth token · Invalid Authorization header value from ANTHROPIC_AUTH_TOKEN: it contains a line break at character 41 (120 characters on 2 lines).
1001```1010```
1002 1011
1003위치는 1부터 시작하는 문자를 계산합니다. 설명은 고정된 구문과 문자 수로 구성되므로 값 자체를 포함하지 않습니다. 바이트 순서 표시, 너비가 0인 공백 또는 곡선 따옴표와 같이 잘 알려진 보이지 않는 또는 인쇄 문자인 경우에만 잘못된 문자의 이름을 지정하며, 다른 모든 것을 `a non-ASCII character`로 보고합니다.1012위치는 1부터 시작하여 문자 수를 셉니다. 설명은 고정된 문구와 문자 수로 구성되므로 값 자체는 절대 포함되지 않습니다. 문제가 되는 문자가 바이트 순서 표시, 폭이 없는 공백, 둥근 따옴표처럼 잘 알려진 보이지 않는 문자나 타이포그래피 문자인 경우에만 해당 문자의 이름을 표시하며, 그 밖의 문자는 `a non-ASCII character`로 보고합니다.
1004 1013
1005**수행할 작업:**1014**해결 방법:**
1006 1015
1007* 메시지가 이름을 지정한 변수 또는 설정을 다시 설정하고, 동일한 소스에서 붙여넣는 대신 보고된 위치 주변의 문자를 다시 입력합니다.1016* 메시지가 가리키는 변수 또는 설정을 다시 설정하되, 같은 출처에서 다시 붙여 넣는 대신 보고된 위치 주변의 문자를 직접 다시 입력합니다
1008* `ANTHROPIC_CUSTOM_HEADERS`의 경우, 한 줄에 하나의 `Name: Value` 쌍을 유지하고 메시지가 계산하는 쌍을 다시 작성합니다.1017* `ANTHROPIC_CUSTOM_HEADERS`의 경우 한 줄에 `Name: Value` 쌍을 하나씩 두고, 메시지가 가리키는 쌍을 다시 작성합니다
1009* `/status`를 실행하여 어떤 자격증명 소스가 활성화되어 있는지 확인합니다.1018* `/status`를 실행하여 어떤 자격 증명 소스가 활성화되어 있는지 확인합니다
1010 1019
1011<h3 id="this-organization-has-been-disabled">1020<h3 id="this-organization-has-been-disabled">
1012 이 조직이 비활성화되었습니다1021 이 조직은 비활성화되었습니다
1013</h3>1022</h3>
1014 1023
1015Claude Code가 비활성화된 Console 조직의 오래된 `ANTHROPIC_API_KEY`를 사용 중입니다. 저장된 구독 로그인이 있으면 키가 이를 재정의합니다.1024Claude Code가 비활성화된 Console 조직의 오래된 `ANTHROPIC_API_KEY`를 사용하고 있습니다. 저장된 구독 로그인이 있는 경우 키가 이를 재정의합니다.
1016 1025
1017```text theme={null}1026```text theme={null}
1018Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead1027Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead
1020API Error: 400 ... This organization has been disabled.1029API Error: 400 ... This organization has been disabled.
1021```1030```
1022 1031
1023`·` 이후의 힌트는 저장된 자격증명에 따라 달라집니다: 첫 번째 형식은 저장된 `/login`이 키를 설정 해제한 후 인수할 수 있을 때 나타나고, 두 번째는 키가 유일한 자격증명일 때 나타납니다.1032`·` 뒤의 안내는 저장된 자격 증명에 따라 달라집니다. 첫 번째 형태는 키를 설정 해제한 후 저장된 `/login`이 대신 사용될 수 있을 때 나타나고, 두 번째 형태는 키가 유일한 자격 증명일 때 나타납니다.
1024 1033
1025환경 변수는 `/login`보다 우선순위를 가지므로, 셸 프로필에서 내보낸 키 또는 `.env` 파일에서 로드된 키는 작동하는 Pro 또는 Max 구독이 있어도 사용됩니다. 비대화형 모드(`-p`)에서는 키가 있을 때 항상 사용됩니다.1034환경 변수는 `/login`보다 우선하므로, 작동하는 Pro 또는 Max 구독이 있더라도 셸 프로필에서 export되었거나 `.env` 파일에서 로드된 키가 사용됩니다. 비대화형 모드(`-p`)에서는 키가 있으면 항상 사용됩니다.
1026 1035
1027**수행할 작업:**1036**해결 방법:**
1028 1037
1029* 현재 셸에서 `ANTHROPIC_API_KEY`를 설정 해제하고 셸 프로필에서 제거한 후 `claude`를 다시 실행합니다.1038* 현재 셸에서 `ANTHROPIC_API_KEY`를 설정 해제하고 셸 프로필에서 제거한 다음 `claude`를 다시 실행합니다
1030* 메시지가 `Update or unset`이라고 하면, 폴백할 저장된 로그인이 없습니다. 키를 설정 해제하고 `/login`을 실행하거나, 활성 Console 조직의 키로 바꿉니다.1039* 메시지에 `Update or unset`이라고 표시되면 대신 사용할 저장된 로그인이 없는 것입니다. 키를 설정 해제하고 `/login`을 실행하거나, 활성 Console 조직의 키로 교체합니다.
1031* 그 후 `/status`를 실행하여 활성 자격증명이 구독인지 확인합니다.1040* 이후 `/status`를 실행하여 활성 자격 증명이 구독인지 확인합니다
1032* 환경 변수가 설정되지 않았고 오류가 지속되면, 비활성화된 조직은 `/login`에 연결된 조직입니다. 지원팀에 문의하거나 다른 계정으로 로그인합니다.1041* 환경 변수가 설정되어 있지 않은데도 오류가 계속되면 지원팀에 문의하거나 다른 계정으로 로그인합니다.
1033 1042
1034<h3 id="your-organization-has-disabled-api-key-authentication">1043<h3 id="your-organization-has-disabled-api-key-authentication">
1035 조직이 API 키 인증을 비활성화했습니다1044 조직에서 API 키 인증을 비활성화함
1036</h3>1045</h3>
1037 1046
1038이 메시지는 Claude Code v2.1.169 이상이 필요합니다. Console 조직의 관리자가 API 키 인증을 비활성화했으므로 API가 Claude Code가 전송 중인 키를 거부합니다. 복구 힌트는 키가 어디에서 왔는지에 따라 `·` 이후에 달라집니다:1047이 메시지는 Claude Code v2.1.169 이상이 필요합니다. Console 조직의 관리자가 API 키 인증을 꺼 두었기 때문에 API가 Claude Code에서 전송하는 키를 거부합니다. `·` 뒤의 복구 안내는 키의 출처에 따라 다릅니다.
1039 1048
1040```text theme={null}1049```text theme={null}
1041Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account1050Your organization has disabled API key authentication · Run /login to sign in with your claude.ai account
1045Your organization has disabled API key authentication · Sign in again with your claude.ai account1054Your organization has disabled API key authentication · Sign in again with your claude.ai account
1046```1055```
1047 1056
1048마지막 형식은 Claude Desktop 앱이 실행하는 세션(예: Code 탭 또는 Cowork)에 나타나며, 앱에서 다시 로그인합니다.1057마지막 형태는 Code 탭이나 Cowork처럼 Claude Desktop 앱이 실행하는 세션에서 나타나며, 이 경우 앱에서 다시 로그인합니다.
1049 1058
1050환경 변수와 `apiKeyHelper`는 `/login`보다 우선순위를 가지므로, 둘 중 하나가 여전히 키를 제공하는 동안 `/login`을 실행하는 것만으로는 도움이 되지 않습니다. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조합니다.1059환경 변수와 `apiKeyHelper`는 `/login`보다 우선하므로, 둘 중 하나가 여전히 키를 제공하는 동안에는 `/login`만 실행해서는 도움이 되지 않습니다. [인증 우선순위](/docs/ko/authentication#authentication-precedence)를 참조하십시오.
1051 1060
1052**수행할 작업:**1061**해결 방법:**
1053 1062
1054* 메시지가 `ANTHROPIC_API_KEY`의 이름을 지정하면, 현재 셸에서 설정을 해제하고 셸 프로필 또는 `.env` 파일에서 제거한 후 `claude`를 다시 실행합니다.1063* 메시지에 `ANTHROPIC_API_KEY`가 표시되면 현재 셸에서 설정 해제하고 셸 프로필 또는 `.env` 파일에서 제거한 다음 `claude`를 다시 실행합니다
1055* 메시지가 `apiKeyHelper`의 이름을 지정하면, `settings.json`에서 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정을 제거합니다.1064* 메시지에 `apiKeyHelper`가 표시되면 `settings.json`에서 [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper) 설정을 제거합니다
1056* `/login`을 실행하여 claude.ai 계정으로 로그인합니다.1065* `/login`을 실행하여 claude.ai 계정으로 로그인합니다
1057* 그 후 `/status`를 실행하여 활성 자격증명이 API 키가 아닌 구독인지 확인합니다.1066* 이후 `/status`를 실행하여 활성 자격 증명이 API 키가 아닌 구독인지 확인합니다
1058* 자동화를 위해 API 키 인증이 필요하면, 조직 관리자에게 Console에서 이를 다시 활성화하도록 요청합니다.1067* 자동화를 위해 API 키 인증이 필요한 경우 조직 관리자에게 Console에서 다시 활성화해 달라고 요청합니다
1059 1068
1060<h3 id="your-organization-has-disabled-claude-subscription-access">1069<h3 id="your-organization-has-disabled-claude-subscription-access">
1061 조직이 Claude 구독 액세스를 비활성화했습니다1070 조직에서 Claude 구독 액세스를 비활성화함
1062</h3>1071</h3>
1063 1072
1064Claude 조직이 구독 로그인으로 Claude Code에 로그인하는 것을 허용하지 않습니다. 동일한 계정으로 `/login`을 다시 실행하면 동일한 오류가 반환됩니다.1073Claude 조직에서 구독 로그인으로 Claude Code에 로그인하는 것을 허용하지 않습니다. 동일한 계정으로 `/login`을 다시 실행하면 같은 오류가 반환됩니다.
1065 1074
1066```text theme={null}1075```text theme={null}
1067Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access1076Your organization has disabled Claude subscription access for Claude Code · Use an Anthropic API key instead, or ask your admin to enable access
1068```1077```
1069 1078
1070이것은 서버 측 조직 설정이므로 로컬 설정, 환경 변수 또는 CLI 플래그에서 재정의할 수 없습니다.1079이는 서버 측 조직 설정이므로 로컬 설정, 환경 변수 또는 CLI 플래그로 재정의할 수 없습니다.
1071 1080
1072Agent SDK 및 `-p` 비대화형 모드는 이를 `oauth_org_not_allowed` 오류 코드로 표시합니다.1081Agent SDK와 `-p` 비대화형 모드에서는 이를 `oauth_org_not_allowed` 오류 코드로 표시합니다.
1073 1082
1074**수행할 작업:**1083**해결 방법:**
1075 1084
1076* 조직 관리자에게 조직에 대한 Claude Code 액세스를 활성화하도록 요청합니다.1085* 관리자에게 조직의 Claude Code 액세스를 활성화해 달라고 요청합니다
1077* 구독 대신 Console API 키로 인증합니다. 설정은 [Claude Console 인증](/docs/ko/authentication#claude-console-authentication)을 참조합니다.1086* 구독 대신 Console API 키로 인증합니다. 설정 방법은 [Claude Console 인증](/docs/ko/authentication#claude-console-authentication)을 참조하십시오.
1078* 관리자이고 액세스를 활성화하는 옵션이 보이지 않으면, [Anthropic 지원](https://support.claude.com)에 문의합니다.1087* 본인이 관리자인데 액세스를 활성화하는 옵션이 보이지 않으면 [Anthropic 지원팀](https://support.claude.com)에 문의합니다
1079 1088
1080<h3 id="routines-are-disabled-by-your-organizations-policy">1089<h3 id="routines-are-disabled-by-your-organizations-policy">
1081 루틴이 조직의 정책에 의해 비활성화되었습니다1090 조직 정책에 의해 루틴이 비활성화됨
1082</h3>1091</h3>
1083 1092
1084Team 또는 Enterprise 조직의 Owner가 조직 수준에서 루틴을 비활성화했습니다. 오류는 예를 들어 claude.ai/code의 [루틴](/docs/ko/routines) UI에서 루틴을 생성하거나 실행하려고 할 때 나타납니다. Claude Code v2.1.227 이상에서는 동일한 설정이 CLI에서 [`/schedule`도 숨깁니다](/docs/ko/routines#troubleshooting).1093Team 또는 Enterprise 조직의 Owner가 조직 수준에서 루틴을 껐습니다. 이 오류는 claude.ai/code의 [루틴](/docs/ko/routines) UI 등에서 루틴을 만들거나 실행하려고 할 때 나타납니다. Claude Code v2.1.227 이상에서는 동일한 설정이 CLI에서 [`/schedule`도 숨깁니다](/docs/ko/routines#troubleshooting).
1085 1094
1086```text theme={null}1095```text theme={null}
1087Routines are disabled by your organization's policy.1096Routines are disabled by your organization's policy.
1088```1097```
1089 1098
1090이것은 서버 측 설정이므로 로컬 설정, 환경 변수 또는 CLI 플래그에서 재정의할 수 없습니다.1099이는 서버 측 설정이므로 로컬 설정, 환경 변수 또는 CLI 플래그로 재정의할 수 없습니다.
1091 1100
1092**수행할 작업:**1101**해결 방법:**
1093 1102
1094* 조직의 Owner에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)에서 **루틴** 토글을 활성화하도록 요청합니다.1103* 조직의 Owner에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)에서 **Routines** 토글을 활성화해 달라고 요청합니다
1095* 조직 수준의 루틴이 필요하지 않은 일회성 예약 작업의 경우, [예약된 작업](/docs/ko/scheduled-tasks)을 참조합니다.1104* 조직 수준 루틴이 필요하지 않은 일회성 예약 작업은 [예약 작업](/docs/ko/scheduled-tasks)을 참조하십시오
1096 1105
1097<h3 id="remote-control-requires-the-anthropic-api">1106<h3 id="remote-control-requires-the-anthropic-api">
1098 Remote Control에는 Anthropic API가 필요합니다1107 Remote Control에는 Anthropic API가 필요함
1099</h3>1108</h3>
1100 1109
1101세션이 Anthropic API와 직접 통신하지 않으므로 [Remote Control](/docs/ko/remote-control)이 필요로 하는 것입니다.1110세션이 Anthropic API와 직접 통신하지 않고 있으나, [Remote Control](/docs/ko/remote-control)에는 직접 통신이 필요합니다.
1102 1111
1103```text theme={null}1112```text theme={null}
1104Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.1113Remote Control is only available when using Claude via api.anthropic.com. CLAUDE_CODE_USE_BEDROCK is set, so this session is using Amazon Bedrock — unset it (or run in a shell without it) to use Remote Control.
1105```1114```
1106 1115
1107두 번째 문장은 세션을 Anthropic API에서 멀어지게 한 것을 설명합니다. v2.1.219 이전에는 메시지가 첫 번째 문장만 있었습니다. 원인에 따라 메시지는 다음의 이름을 지정합니다:1116두 번째 문장은 무엇이 세션을 Anthropic API가 아닌 다른 곳으로 라우팅했는지 설명합니다. v2.1.219 이전에는 메시지가 첫 번째 문장만으로 구성되었습니다. 원인에 따라 메시지는 다음을 명시합니다.
1108 1117
1109* `CLAUDE_CODE_USE_BEDROCK`(예: [Amazon Bedrock](/docs/ko/amazon-bedrock)) 또는 `CLAUDE_CODE_USE_VERTEX`(예: [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai))와 같은 `CLAUDE_CODE_USE_*` 공급자 변수1118* [Amazon Bedrock](/docs/ko/amazon-bedrock)의 `CLAUDE_CODE_USE_BEDROCK` 또는 [Google Cloud's Agent Platform](/docs/ko/google-vertex-ai)의 `CLAUDE_CODE_USE_VERTEX`와 같은 `CLAUDE_CODE_USE_*` 제공업체 변수
1110* [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 `api.anthropic.com` 이외의 호스트를 가리키고 있습니다. 예를 들어 [LLM 게이트웨이](/docs/ko/llm-gateway) 또는 프록시이며, claude.ai로 로그인할 때도 마찬가지입니다. v2.1.196 이전에는 사용자 정의 기본 URL이 Remote Control을 차단하지 않았습니다.1119* claude.ai로 로그인한 경우에도 [LLM 게이트웨이](/docs/ko/llm-gateway)나 프록시처럼 `api.anthropic.com` 이외의 호스트를 가리키는 [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars). v2.1.196 이전에는 사용자 지정 기본 URL이 Remote Control을 차단하지 않았습니다
1111* `ANTHROPIC_UNIX_SOCKET`이 설정되어 있으므로 세션이 `api.anthropic.com`이 아닌 로컬 소켓을 통해 요청을 전송합니다.1120* `ANTHROPIC_UNIX_SOCKET`이 설정되어 있어 세션이 `api.anthropic.com` 대신 로컬 소켓을 통해 요청을 전송하는 경우
1112* `/login`을 통한 엔터프라이즈 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway) 로그인으로, Remote Control을 지원하지 않으며 설정 해제할 변수가 없습니다.1121* `/login`을 통해 이루어진 엔터프라이즈 [클라우드 게이트웨이](/docs/ko/claude-apps-gateway) 로그인. 이 로그인은 Remote Control을 지원하지 않으며 설정 해제할 변수가 없습니다
1113 1122
1114**수행할 작업:**1123**해결 방법:**
1115 1124
1116* 메시지가 이름을 지정한 변수(예: `CLAUDE_CODE_USE_BEDROCK` 또는 `ANTHROPIC_BASE_URL`)를 설정 해제하고 세션을 다시 시작하거나, Anthropic API와 직접 통신하는 세션에서 Remote Control을 시작합니다.1125* `CLAUDE_CODE_USE_BEDROCK` 또는 `ANTHROPIC_BASE_URL`처럼 메시지가 가리키는 변수를 설정 해제하고 세션을 다시 시작하거나, Anthropic API와 직접 통신하는 세션에서 Remote Control을 시작합니다
1117* 변수가 셸에 설정되지 않았으면, [설정 파일](/docs/ko/settings#where-settings-live)의 `env` 키를 확인합니다. 이는 모든 세션에 환경 변수를 적용합니다.1126* 셸에 변수가 설정되어 있지 않다면 모든 세션에 환경 변수를 적용하는 [설정 파일](/docs/ko/settings#where-settings-live)의 `env` 키를 확인합니다
1118* 이 및 다른 Remote Control 시작 메시지의 경우, [Remote Control 문제 해결](/docs/ko/remote-control#troubleshooting)을 참조합니다.1127* 이 메시지와 다른 Remote Control 시작 메시지에 대해서는 [Remote Control 문제 해결](/docs/ko/remote-control#troubleshooting)을 참조하십시오
1119 1128
1120<h3 id="remote-control-couldnt-refresh-your-login">1129<h3 id="remote-control-couldnt-refresh-your-login">
1121 Remote Control이 로그인을 새로 고칠 수 없습니다1130 Remote Control이 로그인을 갱신하지 못함
1122</h3>1131</h3>
1123 1132
1124Claude Code는 저장된 claude.ai 로그인을 사용하여 얻고 갱신하는 단기 자격증명에서 라이브 [Remote Control](/docs/ko/remote-control) 연결을 실행합니다. claude.ai가 해당 로그인을 더 이상 수락하지 않거나 Claude Code에 저장된 로그인이 남아 있지 않으면, Claude Code는 Remote Control을 중지하고 다시 로그인하도록 요청합니다. 두 실패 모두 Claude Code가 여전히 연결 중이거나 나중에 자격증명을 갱신할 때 발생할 수 있습니다.1133Claude Code는 저장된 claude.ai 로그인을 사용하여 얻고 갱신하는 단기 자격 증명으로 실시간 [Remote Control](/docs/ko/remote-control) 연결을 실행합니다. claude.ai가 해당 로그인을 더 이상 수락하지 않거나 Claude Code에 저장된 로그인이 남아 있지 않으면, Claude Code는 Remote Control을 중지하고 다시 로그인하도록 요구합니다. 두 실패 모두 Claude Code가 아직 연결 중일 때나 나중에 자격 증명을 갱신할 때 발생할 수 있습니다.
1125 1134
1126Claude Code가 로그인 서비스에 저장된 로그인을 새로 고치도록 요청하고 응답을 받지 못하면, Remote Control을 계속 실행하고 연결의 현재 자격증명이 여전히 유효한 동안 새로 고침을 다시 시도합니다. 새로 고침이 응답을 받지 못하는 경우는 Claude Code가 로그인 서비스에 도달할 수 없거나, 요청이 시간 초과되거나, 서비스가 로그인을 거부하지 않고 실패할 때입니다. 해당 자격증명이 만료될 때 로그인 서비스가 여전히 응답하지 않으면, Claude Code는 Remote Control을 중지하고 `OAuth token refresh failed`를 보고합니다.1135Claude Code가 로그인 서비스에 저장된 로그인 갱신을 요청했는데 응답을 받지 못하면, 연결의 현재 자격 증명이 아직 유효한 동안 Remote Control을 계속 실행하면서 갱신을 다시 시도합니다. Claude Code가 로그인 서비스에 연결할 수 없거나, 요청이 시간 초과되거나, 서비스가 로그인을 거부하지 않은 채 실패하면 갱신 응답을 받지 못합니다. 해당 자격 증명이 만료될 때까지 로그인 서비스가 여전히 응답하지 않으면 Claude Code는 Remote Control을 중지하고 `OAuth token refresh failed`를 보고합니다.
1127 1136
1128Claude Code가 Remote Control을 중지하면, 경고 및 `Remote Control disconnected`로 시작하는 기록 라인에 이유를 표시합니다. 로컬 세션은 Remote Control 없이 계속 실행됩니다. 이 섹션은 다음 라인을 다룹니다:1137Claude Code는 Remote Control을 중지할 때 경고와 `Remote Control disconnected`로 시작하는 트랜스크립트 줄에 이유를 표시합니다. 로컬 세션은 Remote Control 없이 계속 실행됩니다. 이 섹션에서는 다음 줄을 다룹니다.
1129 1138
1130```text theme={null}1139```text theme={null}
1131Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control1140Remote Control disconnected — Claude.ai login expired — run /login to restore Remote Control
1137Remote Control disconnected — Signed out of Claude — run /login, then /remote-control1146Remote Control disconnected — Signed out of Claude — run /login, then /remote-control
1138```1147```
1139 1148
1140Claude Code는 메시지의 중간에 원인의 이름을 지정합니다:1149Claude Code는 메시지 중간에 원인을 명시합니다.
1141 1150
1142* ` Claude.ai login expired` 및 `Claude.ai login was rejected`: claude.ai가 더 이상 저장된 로그인 토큰을 수락하지 않습니다. 만료되었거나 취소되었기 때문입니다.1151* `Claude.ai login expired` 및 `Claude.ai login was rejected`: 저장된 로그인 토큰이 만료되었거나 취소되어 claude.ai가 더 이상 이를 수락하지 않습니다
1143* ` OAuth token unavailable`: Claude Code가 연결의 자격증명이 갱신될 때 저장된 로그인 토큰이 없었습니다.1152* `OAuth token unavailable`: 연결의 자격 증명을 갱신해야 할 시점에 Claude Code에 저장된 로그인 토큰이 없었습니다
1144* `OAuth token refresh failed`: Claude Code가 다시 연결할 때 claude.ai가 저장된 로그인 토큰을 거부했으며, 토큰을 새로 고치면 새 토큰이 생성되지 않았습니다.1153* `OAuth token refresh failed`: Claude Code가 다시 연결하는 동안 claude.ai가 저장된 로그인 토큰을 거부했으며, 토큰 갱신으로 새 토큰을 얻지 못했습니다
1145* `JWT refresh failed: no OAuth token`: Claude Code가 갱신할 저장된 로그인 토큰을 찾지 못했습니다.1154* `JWT refresh failed: no OAuth token`: Claude Code가 갱신에 사용할 저장된 로그인 토큰을 찾지 못했습니다
1146* ` Signed out of Claude`: 예를 들어 다른 터미널에서 `/logout`을 실행하여 이 머신에서 로그아웃했으므로 Claude Code가 연결을 갱신할 저장된 로그인이 없습니다.1155* `Signed out of Claude`: 예를 들어 다른 터미널에서 `/logout`을 실행하는 등 이 컴퓨터에서 로그아웃했기 때문에, Claude Code에 연결을 갱신할 저장된 로그인이 남아 있지 않습니다
1147 1156
1148**수행할 작업:**1157**해결 방법:**
1149 1158
1150* `/login`을 실행하여 다시 로그인합니다.1159* `/login`을 실행하여 다시 로그인합니다
1151* `/remote-control`을 실행하여 세션을 다시 연결합니다. ` run /login to restore Remote Control`으로 끝나는 메시지는 이 단계가 필요하지 않습니다: Claude Code는 로그인하면 자동으로 다시 연결됩니다.1160* `/remote-control`을 실행하여 세션을 다시 연결합니다. `run /login to restore Remote Control`로 끝나는 메시지에서는 이 단계가 필요하지 않습니다. 로그인하면 Claude Code가 자동으로 다시 연결합니다.
1152 1161
1153v2.1.224 이전에는 `OAuth token refresh failed — run /login to re-authenticate`가 `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`으로 읽혔으며, `JWT refresh failed: no OAuth token — run /login`이 `no OAuth token available for recovery (code <N>)`으로 읽혔습니다. ` Claude.ai login expired`, `Claude.ai login was rejected` 및 `OAuth token unavailable` 메시지는 v2.1.225에서 추가되었습니다.1162v2.1.224 이전에는 `OAuth token refresh failed — run /login to re-authenticate`가 `OAuth token refresh failed — re-authenticate, then re-enable Remote Control`로, `JWT refresh failed: no OAuth token — run /login`이 `no OAuth token available for recovery (code <N>)`로 표시되었습니다. `Claude.ai login expired`, `Claude.ai login was rejected`, `OAuth token unavailable` 메시지는 v2.1.225에서 추가되었습니다.
1154 1163
1155v2.1.238 이전에는 Claude Code가 현재 `Signed out of Claude`라고 하는 경우를 `JWT refresh failed: no OAuth token — run /login`으로 보고했으며, 한 번의 로그인 새로 고침이 응답을 받지 못하자마자 `Claude.ai login expired — run /login to restore Remote Control`으로 Remote Control을 중지했습니다.1164v2.1.238 이전에는 현재 `Signed out of Claude`로 표시되는 경우를 Claude Code가 `JWT refresh failed: no OAuth token — run /login`으로 보고했으며, 로그인 갱신에 한 번이라도 응답이 없으면 즉시 `Claude.ai login expired — run /login to restore Remote Control`과 함께 Remote Control을 중지했습니다.
1156 1165
1157<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1166<h3 id="remote-control-stopped-because-the-signed-in-account-changed">
1158 Remote Control이 로그인한 계정이 변경되어 중지되었습니다1167 로그인한 계정이 변경되어 Remote Control이 중지됨
1159</h3>1168</h3>
1160 1169
1161Claude Code는 이 머신에서 다른 claude.ai 계정 또는 조직으로 로그인할 때 [Remote Control](/docs/ko/remote-control) 세션 중에 이 라인을 표시합니다. 예를 들어 다른 터미널에서 `/login`을 실행하여 Claude Code 세션 외부에서 전환했습니다.1170[Remote Control](/docs/ko/remote-control) 세션 중에 이 컴퓨터에서 다른 claude.ai 계정 또는 조직으로 로그인하면 Claude Code가 이 줄을 표시합니다. 예를 들어 다른 터미널에서 `/login`을 실행하는 등 Claude Code 세션 외부에서 전환한 경우입니다.
1162 1171
1163`/login`을 통해 로그인하는 동안 시작한 Remote Control 세션은 당시 로그인한 claude.ai 계정 및 조직에 속합니다.1172`/login`을 통해 로그인한 상태에서 시작한 Remote Control 세션은 그 당시 로그인되어 있던 claude.ai 계정과 조직에 속합니다.
1164 1173
1165```text theme={null}1174```text theme={null}
1166Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control1175Remote Control disconnected — signed-in claude.ai account or organization changed on this machine — run /remote-control to start a session for the current account, or /login to switch back, then /remote-control
1167```1176```
1168 1177
1169Claude Code는 claude.ai가 계정 또는 조직이 변경되었음을 확인하자마자 Remote Control 세션을 중지합니다. 로컬 세션은 Remote Control 없이 계속 실행됩니다.1178Claude Code는 claude.ai가 계정 또는 조직이 변경되었음을 확인하는 즉시 Remote Control 세션을 중지합니다. 로컬 세션은 Remote Control 없이 계속 실행됩니다.
1170 1179
1171**수행할 작업:**1180**해결 방법:**
1172 1181
1173* `/remote-control`을 실행하여 현재 계정 또는 조직에서 새 Remote Control 세션을 시작합니다.1182* `/remote-control`을 실행하여 현재 계정 또는 조직으로 새 Remote Control 세션을 시작합니다
1174* 다시 전환하려면, `/login`을 실행하고 이전 계정 또는 조직으로 다시 로그인합니다. 그런 다음 `/remote-control`을 실행합니다.1183* 다시 전환하려면 `/login`을 실행하고 이전 계정 또는 조직으로 다시 로그인합니다. 그런 다음 `/remote-control`을 실행합니다.
1175 1184
1176v2.1.234 이전에는 Claude Code가 Claude Code 세션 외부에서 다른 계정 또는 조직으로 전환할 때 알아차리지 못했습니다. Claude Code는 Remote Control 서버에 대한 나중의 요청이 `Remote Control server rejected the request (HTTP 404)`로 실패할 때까지 Remote Control 세션을 연결된 상태로 유지했습니다. 해당 실패는 전환 후 몇 시간이 지날 수 있습니다.1185v2.1.234 이전에는 Claude Code 세션 외부에서 다른 계정 또는 조직으로 전환해도 Claude Code가 이를 감지하지 못했습니다. Claude Code는 이후 Remote Control 서버에 대한 요청이 `Remote Control server rejected the request (HTTP 404)`로 실패할 때까지 Remote Control 세션의 연결을 유지했습니다. 이 실패는 전환 후 몇 시간이 지나서 발생할 수도 있었습니다.
1177 1186
1178<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">1187<h3 id="remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts">
1179 Remote Control이 세션을 실행 중인 앱이 로그아웃하거나 계정을 전환하여 중지되었습니다1188 세션을 실행하는 앱이 로그아웃하거나 계정을 전환하여 Remote Control이 중지됨
1180</h3>1189</h3>
1181 1190
1182Claude 데스크톱 앱 또는 IDE가 세션을 호스팅할 때, Claude Code는 `/login`이 아닌 해당 앱에서 로그인 토큰을 가져옵니다. claude.ai가 해당 토큰을 거부할 때, Claude Code는 앱에 새 토큰을 요청합니다. 앱이 로그아웃했거나 이제 다른 Claude 계정으로 로그인했다고 응답하면, Claude Code는 [Remote Control](/docs/ko/remote-control) 세션을 종료하고 앱에 다음 라인 중 하나를 보냅니다:1191Claude 데스크톱 앱이나 IDE가 세션을 호스팅하는 경우, Claude Code는 `/login`이 아닌 해당 앱에서 로그인 토큰을 받습니다. claude.ai가 그 토큰을 거부하면 Claude Code는 앱에 새 토큰을 요청합니다. 앱이 로그아웃 상태라고 응답하거나 현재 다른 Claude 계정으로 로그인되어 있다고 응답하면, Claude Code는 [Remote Control](/docs/ko/remote-control) 세션을 종료하고 앱에 다음 줄 중 하나를 전송합니다.
1183 1192
1184```text theme={null}1193```text theme={null}
1185Remote Control stopped — the app running this session is now signed in to a different Claude account1194Remote Control stopped — the app running this session is now signed in to a different Claude account
1188 1197
1189로컬 세션은 Remote Control 없이 계속 실행됩니다.1198로컬 세션은 Remote Control 없이 계속 실행됩니다.
1190 1199
1191**수행할 작업:**1200**해결 방법:**
1192 1201
1193* 앱이 로그아웃했으면, 다시 로그인한 후 앱에서 Remote Control을 다시 켭니다.1202* 앱이 로그아웃된 경우 앱에 다시 로그인한 다음 앱에서 Remote Control을 다시 켭니다
1194* 앱이 계정을 전환했으면, Claude Code는 새 계정에서 종료된 세션을 계속할 수 없습니다. 해당 계정에서 새 Remote Control 세션을 시작합니다.1203* 앱이 계정을 전환한 경우 Claude Code는 종료된 세션을 새 계정으로 계속할 수 없습니다. 해당 계정으로 새 Remote Control 세션을 시작합니다.
1195 1204
1196v2.1.238 이전에는 Claude Code가 두 경우 모두에서 앱에 [Remote Control이 로그인을 새로 고칠 수 없습니다](#remote-control-couldnt-refresh-your-login)에 나열된 `run /login` 메시지를 보냈습니다.1205v2.1.238 이전에는 두 경우 모두 Claude Code가 [Remote Control이 로그인을 갱신하지 못함](#remote-control-couldnt-refresh-your-login)에 나열된 `run /login` 메시지를 앱에 전송했습니다.
1197 1206
1198<h3 id="oauth-token-revoked-or-expired">1207<h3 id="oauth-token-revoked-or-expired">
1199 OAuth 토큰이 취소되었거나 만료되었습니다1208 OAuth 토큰 취소 또는 만료
1200</h3>1209</h3>
1201 1210
1202저장된 로그인이 더 이상 유효하지 않습니다. 취소된 토큰은 어디서나 로그아웃했거나 관리자가 액세스를 제거했음을 의미합니다. 만료된 토큰은 자동 새로 고침이 세션 중에 실패했음을 의미합니다.1211저장된 로그인이 더 이상 유효하지 않습니다. 토큰이 취소되었다면 모든 곳에서 로그아웃했거나 관리자가 액세스 권한을 제거한 것이고, 토큰이 만료되었다면 세션 중에 자동 갱신이 실패한 것입니다.
1203 1212
1204두 메시지 모두 Claude Code가 전송한 요청에 대해 API가 반환한 거부를 보고합니다. 저장된 로그인이 실패한 새로 고침 후 이미 지워진 경우, 대신 [로그인 만료됨](#login-expired)을 봅니다. [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars)에서 장기 토큰으로 인증하면, 해당 토큰이 만료되거나 취소될 때 동일한 메시지가 표시됩니다.1213두 메시지 모두 Claude Code가 전송한 요청에 대해 API가 반환한 거부를 보고합니다. 갱신 실패 후 저장된 로그인이 이미 삭제된 경우에는 대신 [로그인 만료](#login-expired)가 표시됩니다. [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars)의 장기 토큰으로 인증하는 경우에도 해당 토큰이 만료되거나 취소되면 동일한 메시지가 표시됩니다.
1205 1214
1206```text theme={null}1215```text theme={null}
1207OAuth token revoked · Please run /login1216OAuth token revoked · Please run /login
1208Please run /login · API Error: 401 OAuth token has expired ...1217Please run /login · API Error: 401 OAuth token has expired ...
1209```1218```
1210 1219
1211**수행할 작업:**1220**해결 방법:**
1212 1221
1213* `/login`을 실행하여 다시 로그인합니다.1222* `/login`을 실행하여 다시 로그인합니다
1214* ` CLAUDE_CODE_OAUTH_TOKEN` 환경 변수로 인증하면, Claude Code는 요청이 401로 실패한 후 설정한 값을 계속 전송하며, 저장된 로그인의 토큰으로 전환하지 않습니다. [`/status`](/docs/ko/commands)는 이 자격증명을 `Auth token` 행으로 표시하며 `CLAUDE_CODE_OAUTH_TOKEN`을 읽습니다. [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)으로 새 토큰을 생성하고 이를 사용하여 다시 시작하거나, 변수를 설정 해제하고 `/login`을 실행합니다. v2.1.225 이전에는 Claude Code가 세션 중에 변수의 값을 저장된 로그인의 단기 액세스 토큰으로 바꿀 수 있었으며, 해당 토큰이 만료되면 세션이 다시 401 오류로 실패했습니다.1223* `CLAUDE_CODE_OAUTH_TOKEN` 환경 변수로 인증하는 경우, 요청이 401로 실패한 후에도 Claude Code는 저장된 로그인의 토큰으로 전환하지 않고 사용자가 설정한 값을 계속 전송합니다. [`/status`](/docs/ko/commands)는 이 자격 증명을 `CLAUDE_CODE_OAUTH_TOKEN`이라고 표시된 `Auth token` 행으로 보여 줍니다. [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)으로 새 토큰을 생성하고 해당 토큰으로 다시 시작하거나, 변수를 설정 해제하고 `/login`을 실행합니다. v2.1.225 이전에는 Claude Code가 세션 도중 변수의 값을 저장된 로그인의 단기 액세스 토큰으로 대체할 수 있었으며, 그 토큰이 만료되면 세션이 다시 401 오류로 실패했습니다.
1215* 시작 간 반복적인 로그인 프롬프트의 경우, [로그인하지 않음 또는 토큰 만료됨](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)의 시스템 시계 확인 및 macOS 자격증명 저장소 복구 단계를 참조합니다.1224* 실행할 때마다 로그인하라는 메시지가 반복되는 경우 [문제 해결](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)의 시스템 시계 확인 및 macOS 자격 증명 저장소 복구 단계를 참조하십시오
1216* `403 Forbidden` 및 OAuth 브라우저 문제를 포함한 다른 실패의 경우, [로그인 및 인증](/docs/ko/troubleshoot-install#login-and-authentication)을 참조합니다.1225* `403 Forbidden` 및 OAuth 브라우저 문제를 포함한 기타 실패는 [로그인 및 인증](/docs/ko/troubleshoot-install#login-and-authentication)을 참조하십시오
1217 1226
1218<h3 id="api-error-401-invalid-authentication-credentials">1227<h3 id="api-error-401-invalid-authentication-credentials">
1219 API 오류: 401 잘못된 인증 자격증명1228 API Error: 401 Invalid authentication credentials
1220</h3>1229</h3>
1221 1230
1222API가 자격증명의 형식을 인식했지만 뒤에 있는 계정 또는 조직을 거부했습니다. Anthropic은 자격증명이 최근에 취소되었거나, 조직이 비활성화되었거나 액세스를 제거했거나, 계정 자체가 비활성화되었을 때 이 메시지를 반환하므로, 만료된 토큰이 원인이 아닙니다. 자격증명은 저장된 로그인 또는 승인된 `ANTHROPIC_API_KEY`일 수 있으며, 수정이 다르므로 `/status`를 실행하여 어떤 것이 활성화되어 있는지 확인하여 시작합니다.1231API가 자격 증명의 형식은 인식했지만 그 뒤에 있는 계정 또는 조직을 거부했습니다. Anthropic은 자격 증명이 최근에 취소되었거나, 조직이 비활성화되었거나 사용자의 액세스 권한을 제거했거나, 계정 자체가 비활성화되었을 때 이 메시지를 반환하므로, 토큰 만료는 원인이 아닙니다. 자격 증명은 저장된 로그인일 수도 있고 승인된 `ANTHROPIC_API_KEY`일 수도 있으며 해결 방법이 다르므로, 먼저 `/status`를 실행하여 어떤 것이 활성화되어 있는지 확인하십시오.
1223 1232
1224```text theme={null}1233```text theme={null}
1225Please run /login · API Error: 401 Invalid authentication credentials1234Please run /login · API Error: 401 Invalid authentication credentials
1226```1235```
1227 1236
1228**수행할 작업:**1237**해결 방법:**
1229 1238
1230* `/status`가 사용 중이 아닌 것으로 표시되지 않은 `API key` 행을 표시하면, 승인된 [`ANTHROPIC_API_KEY`](/docs/ko/authentication#authentication-precedence)가 활성 자격증명이며 로그인보다 우선순위를 가지므로 `/login`이 이를 바꾸지 않습니다. Claude Console에서 키를 회전하거나, `unset ANTHROPIC_API_KEY`를 실행하거나, PowerShell에서 `Remove-Item Env:ANTHROPIC_API_KEY`를 실행하여 구독으로 폴백합니다.1239* `/status`에 사용 중이 아니라고 표시되지 않은 `API key` 행이 있으면, 승인된 [`ANTHROPIC_API_KEY`](/docs/ko/authentication#authentication-precedence)가 활성 자격 증명이며 로그인보다 우선하므로 `/login`으로 대체되지 않습니다. Claude Console에서 키를 교체하거나, `unset ANTHROPIC_API_KEY`(PowerShell에서는 `Remove-Item Env:ANTHROPIC_API_KEY`)를 실행하여 구독으로 되돌립니다.
1231* `/status`가 로그인만 표시하면, `/login`을 한 번 실행합니다. 자격증명이 취소되었으면, 새 로그인이 이를 바꿉니다.1240* `/status`에 로그인만 표시되면 `/login`을 한 번 실행합니다. 자격 증명이 취소된 경우 새 로그인이 이를 대체합니다.
1232* 동일한 로그인 계정에 대해 동일한 메시지가 반환되면, 계정 또는 조직이 더 이상 활성화되지 않습니다. `/status`가 보고하는 계정 및 조직을 확인하고, 조직 관리자에게 액세스를 복구하도록 요청합니다.1241* 동일한 로그인 계정에 대해 같은 메시지가 다시 나타나면 해당 계정 또는 조직이 더 이상 활성 상태가 아닙니다. `/status`가 보고하는 계정과 조직을 확인하고 조직 관리자에게 액세스 권한 복원을 요청합니다.
1233* [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 [LLM 게이트웨이](/docs/ko/llm-gateway)를 가리키면, `401` 이후의 텍스트는 Anthropic의 메시지가 아닌 게이트웨이의 메시지이며, `/login`이 이를 변경하지 않습니다. 게이트웨이가 예상하는 자격증명을 대신 수정합니다.1242* [`ANTHROPIC_BASE_URL`](/docs/ko/env-vars)이 [LLM 게이트웨이](/docs/ko/llm-gateway)를 가리키는 경우, `401` 뒤의 텍스트는 Anthropic이 아닌 게이트웨이의 메시지이며 `/login`으로는 바뀌지 않습니다. 대신 게이트웨이가 요구하는 자격 증명을 수정합니다.
1234 1243
1235<h3 id="login-expired">1244<h3 id="login-expired">
1236 로그인 만료됨1245 로그인 만료
1237</h3>1246</h3>
1238 1247
1239Claude Code가 저장된 claude.ai 또는 Claude Console 로그인을 갱신하려고 했으며 OAuth 서비스가 저장된 새로 고침 토큰을 거부했으므로, Claude Code가 저장된 자격증명을 지웠습니다. 그 후, 각 모델 요청은 `/login`만 새 자격증명을 만들 수 있으므로 API에 도달하기 전에 로컬에서 이 메시지로 중지됩니다.1248Claude Code가 저장된 claude.ai 로그인을 갱신하려고 했으나 OAuth 서비스가 저장된 갱신 토큰을 거부하여, Claude Code가 저장된 자격 증명을 삭제했습니다. 그 이후에는 `/login`만 새 자격 증명을 만들 수 있으므로, 각 모델 요청이 API에 도달하기 전에 로컬에서 이 메시지와 함께 중단됩니다.
1240 1249
1241v2.1.206 이전에는 Claude Code가 환경에 남아 있는 모든 자격증명으로 모델 요청을 어쨌든 전송했으며, 모든 모델이 로그인하라는 프롬프트 대신 [선택한 모델에 문제가 있습니다](#theres-an-issue-with-the-selected-model) 또는 401로 실패했습니다.1250v2.1.206 이전에는 Claude Code가 환경에 남아 있는 자격 증명으로 모델 요청을 그대로 전송했으며, 그 결과 모든 모델이 로그인하라는 안내 대신 [선택한 모델에 문제가 있음](#theres-an-issue-with-the-selected-model) 또는 401로 실패했습니다.
1242 1251
1243```text theme={null}1252```text theme={null}
1244Login expired · Please run /login1253Login expired · Please run /login
1245```1254```
1246 1255
1247[비대화형 모드](/docs/ko/headless)(`-p`) 및 [Agent SDK](/docs/ko/agent-sdk/overview)에서 메시지는 다음과 같이 읽으며, 구조화된 오류 코드는 `authentication_failed`입니다:1256[비대화형 모드](/docs/ko/headless)(`-p`)와 [Agent SDK](/docs/ko/agent-sdk/overview)에서는 메시지가 다음과 같이 표시되며, 구조화된 오류 코드는 `authentication_failed`입니다.
1248 1257
1249```text theme={null}1258```text theme={null}
1250Failed to authenticate: OAuth session expired and could not be refreshed1259Failed to authenticate: OAuth session expired and could not be refreshed
1251```1260```
1252 1261
1253이것은 [OAuth 토큰이 취소되었거나 만료되었습니다](#oauth-token-revoked-or-expired)와 동일한 상태가 아닙니다. 이러한 메시지는 API가 반환한 거부를 보고합니다. Claude Code 자체는 이미 갱신하지 못한 로그인에 대해 `Login expired`를 생성하므로, 요청을 전송하지 않습니다. 계정 자체가 일시 중단되었기 때문에 갱신이 실패하면, Claude Code는 대신 [계정이 보류 중입니다](#your-account-is-on-hold)를 표시합니다.1262이는 [OAuth 토큰 취소 또는 만료](#oauth-token-revoked-or-expired)와 같은 상태가 아닙니다. 해당 메시지는 API가 반환한 거부를 보고합니다. `Login expired`는 이미 갱신에 실패한 로그인에 대해 Claude Code 자체가 생성하므로 요청을 전송하지 않습니다. 로그인이 오래되어서가 아니라 계정 자체가 정지되어 갱신이 실패한 경우에는 Claude Code가 대신 [계정이 보류됨](#your-account-is-on-hold)을 표시합니다.
1254 1263
1255API 키, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars) 또는 타사 공급자로 인증된 세션은 저장된 로그인을 사용하지 않으며 이 메시지를 절대 보지 않습니다.1264API 키, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars) 또는 타사 제공업체로 인증된 세션은 저장된 로그인을 사용하지 않으므로 이 메시지가 표시되지 않습니다.
1256 1265
1257요청이 실패하기 전에 이 상태를 확인할 수 있습니다: [`/status`](/docs/ko/commands)는 `Login` 행을 표시하며 `Expired — log in again`을 읽고, 만료된 로그인에 대해 저장한 조직 및 이메일을 표시합니다. 행은 저장된 로그인이 활성 자격증명이고 더 이상 갱신할 수 없을 때만 나타납니다. 다른 방식으로 인증된 세션은 만료된 로그인이 저장되어 있어도 행을 표시하지 않습니다. v2.1.210 이전에는 `/status`가 이 상태에서 로그인이 존재했던 적이 있다는 표시를 주지 않았습니다. 지워진 자격증명이 보고할 것이 없었기 때문입니다.1266요청이 실패하기 전에 이 상태를 확인할 수 있습니다. [`/status`](/docs/ko/commands)에 `Expired — log in again`이라고 표시된 `Login` 행과 함께 만료된 로그인에 대해 저장된 조직 및 이메일이 표시됩니다. 이 행은 저장된 로그인이 활성 자격 증명이고 더 이상 갱신할 수 없는 경우에만 나타납니다. 다른 방식으로 인증된 세션에서는 만료된 로그인이 저장되어 있더라도 이 행이 표시되지 않습니다. v2.1.210 이전에는 자격 증명이 삭제되어 보고할 내용이 없었기 때문에, 이 상태에서 `/status`에 로그인이 존재했었다는 표시가 전혀 없었습니다.
1258 1267
1259**수행할 작업:**1268**해결 방법:**
1260 1269
1261* `/login`을 실행하여 다시 로그인합니다. 로그인하지 않고 재시도하면 모든 요청에서 동일한 메시지가 표시됩니다.1270* `/login`을 실행하여 다시 로그인합니다. 로그인하지 않고 재시도하면 모든 요청에서 같은 메시지가 표시됩니다.
1262* 비대화형 모드에서는 동일한 환경에서 `claude`를 실행하고, `/login`을 완료한 후 명령을 다시 실행합니다. 대화형으로 로그인할 수 없는 자동화의 경우, `ANTHROPIC_API_KEY`로 인증하거나 [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)으로 장기 토큰을 생성합니다.1271* 다른 Claude Code 창에서 claude.ai 계정으로 로그인하는 경우, 이 세션이 언제 자동으로 해당 로그인을 사용하기 시작하는지는 [로그인되지 않음](#not-logged-in)을 참조하십시오.
1263* 로그인이 계속 실패하면, [로그인 및 인증](/docs/ko/troubleshoot-install#login-and-authentication)을 참조합니다.1272* 비대화형 모드에서는 동일한 환경에서 `claude`를 실행하고 `/login`을 완료한 다음 명령을 다시 실행합니다. 대화형으로 로그인할 수 없는 자동화 환경에서는 `ANTHROPIC_API_KEY`로 인증하거나 [`claude setup-token`으로 장기 토큰을 생성](/docs/ko/authentication#generate-a-long-lived-token)합니다.
1273* 로그인이 계속 실패하면 [로그인 및 인증](/docs/ko/troubleshoot-install#login-and-authentication)을 참조하십시오
1264 1274
1265<h3 id="could-not-refresh-your-login">1275<h3 id="could-not-refresh-your-login">
1266 다른 Claude Code 프로세스가 로그인을 새로 고치고 있어서 로그인을 새로 고칠 수 없습니다1276 다른 Claude Code 프로세스가 로그인을 갱신하고 있어 갱신할 수 없음
1267</h3>1277</h3>
1268 1278
1269이 메시지는 로그인이 거부되었다는 의미가 아닙니다. 저장된 claude.ai 로그인이 만료되었으며 갱신이 필요했습니다. 동일한 머신의 다른 Claude Code 프로세스가 공유 새로 고침 잠금을 보유했거나, 종료되고 뒤에 남겨두었으며, 이 세션이 기다리는 동안 새로 고침이 진행되지 않았습니다. Claude Code는 전송하기 전에 요청을 중지합니다:1279이 메시지는 로그인이 거부되었다는 의미가 아닙니다. 저장된 claude.ai 로그인이 만료되어 갱신이 필요했습니다. 동일한 컴퓨터의 다른 Claude Code 프로세스가 공유 갱신 잠금을 보유하고 있었거나 잠금을 남겨 둔 채 종료되었고, 이 세션이 기다리는 동안 갱신이 진행되지 않았습니다. Claude Code는 요청을 전송하기 전에 중단합니다.
1270 1280
1271```text theme={null}1281```text theme={null}
1272Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login1282Could not refresh your login because another Claude Code process is refreshing it (or exited mid-refresh) · Try again in a minute; if it keeps happening, close other Claude Code windows or sign in again with /login
1273```1283```
1274 1284
1275[비대화형 모드](/docs/ko/headless)(`-p`) 및 [Agent SDK](/docs/ko/agent-sdk/overview)에서 메시지는 다음과 같이 읽으며, 구조화된 오류 코드는 `server_error`입니다:1285[비대화형 모드](/docs/ko/headless)(`-p`)와 [Agent SDK](/docs/ko/agent-sdk/overview)에서는 메시지가 다음과 같이 표시되며, 구조화된 오류 코드는 `server_error`입니다.
1276 1286
1277```text theme={null}1287```text theme={null}
1278Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again1288Failed to refresh OAuth token: another Claude Code process is refreshing it or exited mid-refresh. This is usually transient; retry in a minute, and if it persists close other Claude Code processes or sign in again
1279```1289```
1280 1290
1281API 키, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars) 또는 타사 공급자로 인증된 세션은 저장된 로그인을 사용하지 않으며 이 메시지를 절대 보지 않습니다.1291API 키, [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/env-vars) 또는 타사 제공업체로 인증된 세션은 저장된 로그인을 사용하지 않으므로 이 메시지가 표시되지 않습니다.
1282 1292
1283**수행할 작업:**1293**해결 방법:**
1284 1294
1285* 1분 후에 다시 시도합니다. 다른 프로세스가 먼저 새로 고침을 완료하면, 이 세션이 갱신된 로그인을 사용합니다.1295* 1분 후에 다시 시도합니다. 다른 프로세스가 먼저 갱신을 완료하면 이 세션은 갱신된 로그인을 사용합니다.
1286* 메시지가 계속 반환되면, 다른 Claude Code 창과 프로세스를 닫은 후 재시도합니다.1296* 메시지가 계속 나타나면 다른 Claude Code 창과 프로세스를 닫은 다음 재시도합니다.
1287* 다른 Claude Code 프로세스가 실행 중이지 않은 상태에서 반환되면, `/login`을 실행합니다. 다시 로그인하면 새로 고침 잠금을 기다리지 않습니다.1297* 실행 중인 다른 Claude Code 프로세스가 없는데도 메시지가 나타나면 `/login`을 실행합니다. 다시 로그인하는 것은 갱신 잠금을 기다리지 않습니다.
1288 1298
1289<h3 id="couldnt-save-your-login">1299<h3 id="couldnt-save-your-login">
1290 로그인을 저장할 수 없습니다1300 로그인을 저장할 수 없음
1291</h3>1301</h3>
1292 1302
1293claude.ai로 로그인했지만 Claude Code가 로그인을 자격증명 저장소에 저장할 수 없어서, 로그인이 완료되지 않았습니다. macOS에서는 예를 들어 절전 또는 유휴 후 로그인 키체인이 잠길 때 발생할 수 있으며, Claude Code가 동일한 세션 중에 이미 자격증명을 읽거나 저장한 후입니다.1303claude.ai로 로그인했지만 Claude Code가 로그인을 자격 증명 저장소에 저장할 수 없어서 로그인이 완료되지 않았습니다. macOS에서는 같은 세션 중에 Claude Code가 이미 로그인 키체인에서 자격 증명을 읽거나 저장한 후, 예를 들어 절전이나 유휴 상태로 인해 키체인이 잠기면 이런 상황이 발생할 수 있습니다.
1294 1304
1295```text theme={null}1305```text theme={null}
1296Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.1306Couldn't save your login. If your Mac's keychain is locked, unlock it and log in again.
1297Couldn't save your login. Try logging in again.1307Couldn't save your login. Try logging in again.
1298```1308```
1299 1309
1300첫 번째 형식은 macOS에 나타나고 두 번째는 다른 곳에 나타납니다. 시간 초과 또는 읽을 수 없는 저장소와 같은 일시적인 자격증명 저장소 실패는 동일한 메시지를 생성합니다.1310첫 번째 형태는 macOS에서, 두 번째 형태는 그 외의 모든 환경에서 나타납니다. 시간 초과나 읽을 수 없는 저장소와 같은 일시적인 자격 증명 저장소 실패도 같은 메시지를 생성합니다.
1301 1311
1302**수행할 작업:**1312**해결 방법:**
1303 1313
1304* macOS에서 로그인 키체인을 잠금 해제한 후 `/login`을 다시 실행합니다.1314* macOS에서는 로그인 키체인의 잠금을 해제한 다음 `/login`을 다시 실행합니다
1305* 다른 플랫폼에서 `/login`을 다시 실행합니다.1315* 다른 플랫폼에서는 `/login`을 다시 실행합니다
1306* 로그인이 여전히 저장되지 않으면, [로그인하지 않음 또는 토큰 만료됨](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)에서 키체인 잠금 해제 명령 및 기타 자격증명 저장소 복구 단계를 참조합니다.1316* 그래도 로그인이 저장되지 않으면 키체인 잠금 해제 명령과 기타 자격 증명 저장소 복구 단계에 대해 [로그인되지 않음 또는 토큰 만료](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired)를 참조하십시오
1307 1317
1308<h3 id="failed-to-start-oauth-callback-server">1318<h3 id="failed-to-start-oauth-callback-server">
1309 Failed to start OAuth callback server1319 OAuth 콜백 서버를 시작하지 못함
1310</h3>1320</h3>
1311 1321
1312`/login`, `claude auth login` 또는 `claude setup-token`이 브라우저를 통해 로그인할 때, Claude Code는 `127.0.0.1`에서 수신 포트를 열어서 브라우저가 로그인 결과를 반환할 수 있도록 합니다. 이 메시지는 Claude Code가 해당 포트를 열 수 없었으며, 로그인이 브라우저 창 또는 로그인 URL이 나타나기 전에 중지됨을 의미합니다:1322`/login`, `claude auth login` 또는 `claude setup-token`이 브라우저를 통해 로그인을 진행할 때, Claude Code는 브라우저가 로그인 결과를 돌려보낼 수 있도록 `127.0.0.1`에서 수신 대기 포트를 엽니다. 이 메시지는 Claude Code가 해당 포트를 열 수 없었다는 의미이며, 브라우저 창이나 로그인 URL이 나타나기 전에 로그인이 중단됩니다.
1313 1323
1314```text theme={null}1324```text theme={null}
1315Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1325Failed to start OAuth callback server: Failed to start server. Is port 0 in use?
1316```1326```
1317 1327
1318메시지가 `Is port 0 in use?`로 끝나면, IPv4 루프백 주소 `127.0.0.1`에서 수신하려는 시도가 완전히 실패했습니다. 실패가 로그인 URL이 존재하기 전에 발생하므로, `Paste code here if prompted` 흐름은 해결책으로 사용할 수 없습니다.1328메시지가 `Is port 0 in use?`로 끝나면 IPv4 루프백 주소 `127.0.0.1`에서 수신 대기하려는 시도가 완전히 실패한 것입니다. 로그인 URL이 생성되기 전에 실패가 발생하므로 `Paste code here if prompted` 흐름을 우회 방법으로 사용할 수 없습니다.
1319 1329
1320**수행할 작업:**1330**해결 방법:**
1321 1331
1322* 로컬 리스너 없이 지금 바로 로그인하려면: claude.ai 구독을 사용하면, 로그인이 작동하는 머신에서 [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)을 실행하고 인쇄하는 토큰을 이 머신에서 `CLAUDE_CODE_OAUTH_TOKEN`으로 설정합니다. 그렇지 않으면 [Claude Console](https://platform.claude.com/settings/keys)의 키로 `ANTHROPIC_API_KEY`를 설정합니다. [인증 우선순위](/docs/ko/authentication#authentication-precedence)는 Claude Code가 여러 자격증명 중에서 선택하는 방식을 설명합니다.1332* 로컬 리스너 없이 즉시 로그인하려면: claude.ai 구독을 사용하는 경우 로그인이 작동하는 컴퓨터에서 [`claude setup-token`](/docs/ko/authentication#generate-a-long-lived-token)을 실행하고, 출력된 토큰을 이 컴퓨터에서 `CLAUDE_CODE_OAUTH_TOKEN`으로 설정합니다. 그렇지 않으면 `ANTHROPIC_API_KEY`를 [Claude Console](https://platform.claude.com/settings/keys)의 키로 설정합니다. Claude Code가 자격 증명 중에서 선택하는 방식은 [인증 우선순위](/docs/ko/authentication#authentication-precedence)에 설명되어 있습니다.
1323* 대신 이 머신에서 브라우저 로그인을 사용하려면, Claude Code가 `127.0.0.1`에서 수신할 수 있어야 합니다. 샌드박스 내에서 실행되면, 샌드박스의 정책이 로컬 포트에서 수신하도록 허용하는지 확인한 후 `/login`을 다시 실행합니다. 할 수 있어야 하는데도 여전히 실패하면, `/feedback`을 실행하여 보고서에 환경 세부 정보가 포함되도록 합니다.1333* 대신 이 컴퓨터에서 브라우저 로그인을 사용하려면 Claude Code가 `127.0.0.1`에서 수신 대기할 수 있어야 합니다. 샌드박스 안에서 실행되는 경우 샌드박스 정책이 로컬 포트에서의 수신 대기를 허용하는지 확인한 다음 `/login`을 다시 실행합니다. 수신 대기가 가능해야 하는데도 여전히 실패하면 `/feedback`을 실행하여 보고서에 환경 세부 정보가 포함되도록 합니다.
1324 1334
1325<h3 id="claude-login-not-accepted">1335<h3 id="claude-login-not-accepted">
1326 Claude login not accepted1336 Claude 로그인이 수락되지 않음
1327</h3>1337</h3>
1328 1338
1329[클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작하려고 했으며, 서버가 401로 생성을 거부했습니다: 이 머신이 전송한 Claude 로그인을 수락하지 않았습니다. 일반적으로 로그인이 만료되었거나 취소되었기 때문입니다.1339[클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작하려고 했으나 서버가 401과 함께 세션 생성을 거부했습니다. 서버가 이 컴퓨터에서 전송한 Claude 로그인을 수락하지 않았으며, 일반적으로 로그인이 만료되었거나 취소되었기 때문입니다.
1330 1340
1331라인의 첫 번째 부분은 서버가 제공할 때 서버 자신의 이유입니다. 그렇지 않으면 라인은 다음과 같이 읽습니다:1341줄의 첫 부분은 서버가 이유를 제공하는 경우 서버 자체의 이유입니다. 그렇지 않으면 줄은 다음과 같습니다.
1332 1342
1333```text theme={null}1343```text theme={null}
1334Claude login not accepted · Run /login, then try again1344Claude login not accepted · Run /login, then try again
1335```1345```
1336 1346
1337**수행할 작업:**1347**해결 방법:**
1338 1348
1339* `/login`을 실행하고, 로그인을 완료한 후 세션을 다시 시작합니다.1349* `/login`을 실행하고 로그인을 완료한 다음 세션을 다시 시작합니다
1340 1350
1341<h3 id="artifacts-need-a-claude-ai-login">1351<h3 id="artifacts-need-a-claude-ai-login">
1342 아티팩트에 claude.ai 로그인이 필요합니다1352 아티팩트에는 claude.ai 로그인이 필요함
1343</h3>1353</h3>
1344 1354
1345Claude Code가 세션에 아티팩트에 사용할 수 있는 claude.ai 로그인이 없어서 [아티팩트](/docs/ko/artifacts) 게시 또는 읽기를 거부했습니다.1355세션에 아티팩트에 사용할 수 있는 claude.ai 로그인이 없기 때문에 Claude Code가 [아티팩트](/docs/ko/artifacts) 게시 또는 읽기를 거부했습니다.
1346 1356
1347메시지의 모든 형식은 동일한 단어로 시작하며, 그 뒤에 세션이 인증하는 방식에 따라 달라지는 해결책이 있습니다. 경쟁하는 자격증명이 없으면 다음과 같이 읽습니다:1357모든 형태의 메시지는 같은 문구로 시작하며, 그 뒤에 세션의 인증 방식에 따라 달라지는 해결책이 이어집니다. 경쟁하는 자격 증명이 없을 때는 다음과 같습니다.
1348 1358
1349```text theme={null}1359```text theme={null}
1350Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.1360Artifacts need a claude.ai login. Run /login and select "Claude account with subscription", then retry — the "Anthropic Console account" option does not provide claude.ai credentials.
1351```1361```
1352 1362
1353**수행할 작업:**1363**해결 방법:**
1354 1364
1355* `/login`을 실행하고 **Claude account with subscription**을 선택합니다. **Anthropic Console account** 옵션은 claude.ai 자격증명을 제공하지 않습니다.1365* `/login`을 실행하고 **Claude account with subscription**을 선택합니다. **Anthropic Console account** 옵션은 claude.ai 자격 증명을 제공하지 않습니다.
1356* 메시지가 `ANTHROPIC_API_KEY`, `apiKeyHelper` 설정 또는 이전 `/login`으로 저장된 Console 키와 같이 우선순위를 갖는 자격증명의 이름을 지정하면, 메시지가 말하는 방식으로 제거한 후 `/login`을 실행합니다.1366* 메시지가 `ANTHROPIC_API_KEY`, `apiKeyHelper` 설정 또는 이전 `/login`으로 저장된 Console 키처럼 우선하는 자격 증명을 명시하면, 메시지에 안내된 방법으로 이를 제거한 다음 `/login`을 실행합니다
1357* 메시지가 이 원격 세션이 이를 실행한 머신을 통해 인증한다고 하면, 해당 머신에서 claude.ai에 로그인한 후 세션을 다시 연결합니다.1367* 메시지에 이 원격 세션이 자신을 실행한 컴퓨터를 통해 인증한다고 표시되면, 해당 컴퓨터에서 claude.ai에 로그인한 다음 세션을 다시 연결합니다
1358* 메시지가 자격증명이 세션의 호스트 환경에 의해 주입된다고 하면, 해당 세션에서 이를 변경할 수 없습니다. claude.ai에 로그인한 세션을 시작합니다.1368* 메시지에 자격 증명이 세션의 호스트 환경에서 주입된다고 표시되면 해당 세션에서는 이를 변경할 수 없습니다. claude.ai에 로그인된 세션을 시작합니다
1359* 계획, 모델 공급자 및 조직 정책과 같은 아티팩트가 가진 다른 요구 사항은 [가용성](/docs/ko/artifacts#availability)을 참조합니다.1369* 플랜, 모델 제공업체, 조직 정책 등 아티팩트의 기타 요구 사항은 [사용 가능 여부](/docs/ko/artifacts#availability)를 참조하십시오
1360 1370
1361<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">1371<h3 id="administrator-policy-requires-a-cloud-gateway-sign-in">
1362 관리자 정책에 Cloud 게이트웨이 로그인이 필요합니다1372 관리자 정책에 따라 Cloud 게이트웨이 로그인이 필요함
1363</h3>1373</h3>
1364 1374
1365관리자의 [관리 설정](/docs/ko/managed-settings)이 이 머신에서 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정했거나 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl)을 설정했습니다. `CLAUDE_CODE_USE_BEDROCK`과 같은 변수를 통해 클라우드 공급자를 선택하지 않으면, Claude Code는 [Claude apps 게이트웨이](/docs/ko/claude-apps-gateway) 로그인만 수락합니다. 두 가지 메시지 중 하나가 표시됩니다:1375이 컴퓨터에서 관리자의 [관리형 설정](/docs/ko/managed-settings)이 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정했거나 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl)을 설정했습니다. `CLAUDE_CODE_USE_BEDROCK`과 같은 변수로 클라우드 제공업체를 선택하지 않는 한, Claude Code는 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway) 로그인만 허용합니다. 다음 두 메시지 중 하나가 표시됩니다.
1366 1376
1367```text theme={null}1377```text theme={null}
1368Not signed in to the Cloud gateway — run /login.1378Not signed in to the Cloud gateway — run /login.
1369```1379```
1370 1380
1371세션에 게이트웨이 로그인이 없을 때 모델 요청이 이 메시지로 실패합니다. 예를 들어 정책이 머신에 도달한 이후 `/login`을 실행하지 않았기 때문입니다.1381세션에 게이트웨이 로그인이 없으면, 예를 들어 정책이 컴퓨터에 적용된 이후 `/login`을 실행하지 않았다면, 모델 요청이 이 메시지와 함께 실패합니다.
1372 1382
1373또한 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper` 자격증명이 구성되어 있고 관리 설정이 `forceLoginMethod`를 설정하면, Claude Code는 대신 시작 시 다음과 같이 시작하는 메시지로 종료됩니다:1383컴퓨터에 Anthropic에서 발급한 자격 증명도 있고 관리형 설정이 `forceLoginMethod` 또는 `forceLoginOrgUUID`를 설정한 경우에는 Claude Code가 대신 시작 시 종료됩니다. 해당 자격 증명은 `ANTHROPIC_API_KEY` 또는 `ANTHROPIC_AUTH_TOKEN` 변수, `apiKeyHelper` 설정, 또는 이전 Claude Console 로그인으로 저장된 API 키일 수 있습니다. 메시지는 다음과 같이 시작합니다.
1374 1384
1375```text theme={null}1385```text theme={null}
1376Administrator policy requires a Cloud gateway sign-in on this machine; the1386Administrator policy requires a Cloud gateway sign-in on this machine; the
1378ANTHROPIC_AUTH_TOKEN, or apiKeyHelper) is not used.1388ANTHROPIC_AUTH_TOKEN, or apiKeyHelper) is not used.
1379```1389```
1380 1390
1381**수행할 작업:**1391**해결 방법:**
1382 1392
1383* `/login`을 실행하고 **Cloud gateway** 화면에서 로그인을 완료합니다.1393* `/login`을 실행하고 **Cloud gateway** 화면에서 로그인을 완료합니다
1384* 시작 메시지의 경우, 구성한 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper` 설정을 제거한 후 `claude`를 시작하고 `/login`을 실행합니다.1394* 시작 시 메시지의 경우, 구성한 `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` 또는 `apiKeyHelper` 설정을 제거합니다. 저장된 Console API 키를 제거하려면 `claude auth logout`을 실행합니다. 이 명령은 저장된 claude.ai 로그인도 제거합니다. `CLAUDE_CODE_USE_*`로 클라우드 제공업체를 선택하면 세션이 로그인 없이 시작됩니다. 그렇지 않으면 `claude`를 시작하고 `/login`을 실행합니다
1385* 머신이 게이트웨이를 요구하지 않아야 한다고 생각하면, 관리 설정에서 `forceLoginMethod` 및 `forceLoginGatewayUrl`을 제거하도록 머신을 관리하는 관리자에게 요청합니다.1395* 이 컴퓨터에 게이트웨이가 필요하지 않아야 한다고 생각되면, 컴퓨터를 관리하는 관리자에게 관리형 설정에서 `forceLoginMethod`와 `forceLoginGatewayUrl`을 제거해 달라고 요청합니다
1386 1396
1387v2.1.265에서는 회귀가 API 키, `apiKeyHelper` 또는 사용자 정의 헤더로 인증하는 일부 LLM 게이트웨이 및 프록시 구성에서도 첫 번째 메시지를 표시했으며, 머신에 관리자 요구 사항이 없었습니다. v2.1.266 이상으로 업데이트합니다. 구성을 변경할 필요가 없습니다.1397v2.1.265에서는 회귀 문제로 인해, 컴퓨터에 관리자 요구 사항이 없는데도 API 키, `apiKeyHelper` 또는 사용자 지정 헤더로 인증하는 일부 LLM 게이트웨이 및 프록시 구성에서 첫 번째 메시지가 표시되었습니다. v2.1.266 이상으로 업데이트하십시오. 구성을 변경할 필요는 없습니다.
1388 1398
1389v2.1.261 이전에는 `forceLoginMethod`를 `"gateway"`로 설정한 머신에서 Claude Code가 모델 요청을 실패하는 대신 남은 저장된 로그인을 사용했으며, 구성된 환경 자격증명을 `This machine's managed settings require a first-party login` 대신 시작 메시지로 보고했습니다. v2.1.265 이전에는 관리 설정이 `forceLoginGatewayUrl`만 설정한 머신이 게이트웨이 로그인을 요구하지 않았으며, Claude Code가 거기서 남은 자격증명을 사용했습니다.1399v2.1.261 이전에는 `forceLoginMethod`를 `"gateway"`로 설정한 컴퓨터에서 Claude Code가 모델 요청을 실패시키는 대신 남아 있는 저장된 로그인을 사용했으며, 구성된 환경 자격 증명을 시작 시 메시지 대신 `This machine's managed settings require a first-party login`으로 보고했습니다. v2.1.265 이전에는 관리형 설정에서 `forceLoginGatewayUrl`만 설정한 컴퓨터에서 게이트웨이 로그인이 요구되지 않았으며, Claude Code가 그곳에 남아 있는 자격 증명을 사용했습니다.
1390 1400
1391<h3 id="your-account-is-on-hold">1401<h3 id="your-account-is-on-hold">
1392 계정이 보류 중입니다1402 계정이 보류됨
1393</h3>1403</h3>
1394 1404
1395로그인 뒤의 Claude 계정이 일시 중단되었습니다. Claude Code는 저장된 로그인을 갱신하려고 할 때 보류를 알게 되면 첫 번째 메시지를 표시하고, 브라우저에서 완료한 로그인이 이를 보고하면 두 번째 메시지를 표시합니다:1405로그인에 연결된 Claude 계정이 정지되었습니다. Claude Code는 저장된 로그인을 갱신하려다 보류 사실을 알게 되면 첫 번째 메시지를 표시하고, 브라우저에서 완료한 로그인이 이를 보고하면 두 번째 메시지를 표시합니다.
1396 1406
1397```text theme={null}1407```text theme={null}
1398Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted1408Your account is on hold and can't use Claude Code. View details or appeal: https://claude.ai/restricted
1399Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted1409Your account is on hold and can't sign in to Claude Code. View details or appeal: https://claude.ai/restricted
1400```1410```
1401 1411
1402동일한 계정으로 다시 로그인하면 메시지가 지워지지 않습니다. 보류가 로그인이 아닌 계정에 있기 때문입니다. [비대화형 모드](/docs/ko/headless)(`-p`) 및 [Agent SDK](/docs/ko/agent-sdk/overview)에서 구조화된 오류 코드는 `account_on_hold`입니다. v2.1.235 이전에는 Claude Code가 보류된 계정을 [로그인 만료됨 · /login을 실행하십시오](#login-expired)로 보고했으며, 복구 단계가 보류를 지울 수 없습니다.1412보류는 로그인이 아닌 계정에 적용되므로 같은 계정으로 다시 로그인해도 메시지가 해결되지 않습니다. [비대화형 모드](/docs/ko/headless)(`-p`)와 [Agent SDK](/docs/ko/agent-sdk/overview)에서 구조화된 오류 코드는 `account_on_hold`입니다. v2.1.235 이전에는 Claude Code가 보류된 계정을 [Login expired · Please run /login](#login-expired)으로 보고했으며, 그 복구 단계로는 보류를 해제할 수 없었습니다.
1403 1413
1404**수행할 작업:**1414**해결 방법:**
1405 1415
1406* 메시지의 링크를 열어 보류의 세부 정보를 보거나 이의를 제기합니다.1416* 메시지의 링크를 열어 보류의 세부 정보를 확인하거나 이의를 제기합니다
1407* 보류의 영향을 받지 않는 다른 Claude 계정 또는 API 키가 있으면, 보류가 해결되는 동안 계속 작업할 수 있습니다: 해당 계정으로 `/login`을 실행하거나, `ANTHROPIC_API_KEY`로 키를 설정합니다.1417* 보류의 영향을 받지 않는 다른 Claude 계정이나 API 키가 있다면 보류가 해결되는 동안 계속 작업할 수 있습니다. 해당 계정으로 `/login`을 실행하거나 `ANTHROPIC_API_KEY`로 키를 설정합니다
1408 1418
1409<h3 id="anthropic-profile-login-expired">1419<h3 id="anthropic-profile-login-expired">
1410 Anthropic 프로필 로그인 만료됨1420 Anthropic 프로필 로그인 만료
1411</h3>1421</h3>
1412 1422
1413Claude Code가 저장된 로그인 자격증명이 만료된 Anthropic 자격증명 프로필을 통해 인증 중이며, 프로필이 Claude Code가 갱신하는 데 사용할 수 있는 새로 고침 자격증명을 보유하지 않습니다. Claude Code는 동일한 만료된 자격증명을 읽을 재시도가 있으므로 각 요청을 로컬에서 중지합니다.1423Claude Code가 저장된 로그인 자격 증명이 만료된 Anthropic 자격 증명 프로필을 통해 인증하고 있으며, 해당 프로필에 Claude Code가 갱신에 사용할 수 있는 갱신 자격 증명이 없습니다. 재시도해도 같은 만료된 자격 증명을 읽게 되므로, Claude Code는 재시도 없이 각 요청을 로컬에서 중단합니다.
1414 1424
1415```text theme={null}1425```text theme={null}
1416Anthropic profile login expired · Re-authenticate your Anthropic profile1426Anthropic profile login expired · Re-authenticate your Anthropic profile
1417Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile1427Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile
1418```1428```
1419 1429
1420이것은 활성 자격증명이 Anthropic 자격증명 프로필에서 올 때만 나타나며, `ANTHROPIC_PROFILE` 환경 변수로 선택하거나, Claude Code가 Anthropic 구성 디렉토리에서 활성 프로필로 발견하거나, Claude Code가 [API 키 없이 로그인](/docs/ko/authentication#sign-in-without-an-api-key)할 때 작성했습니다. `/login`의 claude.ai 옵션, API 키, `ANTHROPIC_AUTH_TOKEN`과 같은 베어러 토큰 또는 타사 공급자로 인증하는 세션은 이 메시지를 절대 보지 않습니다.1430이 메시지는 활성 자격 증명이 Anthropic 자격 증명 프로필에서 제공되는 경우에만 나타납니다. 이러한 프로필은 `ANTHROPIC_PROFILE` 환경 변수로 선택한 프로필, Claude Code가 Anthropic 구성 디렉터리에서 활성 프로필로 찾은 프로필, 또는 [API 키 없이 로그인](/docs/ko/authentication#sign-in-without-an-api-key)할 때 Claude Code가 작성한 프로필입니다. API 키, `ANTHROPIC_AUTH_TOKEN`과 같은 bearer 토큰 또는 타사 제공업체로 인증하는 세션에서는 이 메시지가 표시되지 않습니다.
1421 1431
1422[키 없는 로그인을 제공](/docs/ko/authentication#sign-in-without-an-api-key)하는 머신에서는 `/login`을 실행하고, Anthropic Console 계정을 선택하고, 다시 로그인하여 키 없는 Console 로그인 또는 Claude Platform CLI의 `ant auth login`이 작성한 프로필을 갱신합니다. Claude Code는 해당 프로필의 만료된 자격증명을 바꿉니다. 페더레이션 프로필 또는 다른 도구가 만든 프로필의 경우, `/login`이 자격증명을 갱신하지 않습니다. 어떤 형식을 보는지는 프로필을 선택했는지 아니면 Claude Code가 발견했는지에 따라 달라집니다:1432[키 없는 로그인을 제공하는](/docs/ko/authentication#sign-in-without-an-api-key) 컴퓨터에서는 `/login`을 실행하고 Anthropic Console 계정을 선택한 다음 다시 로그인하여, 키 없는 Console 로그인이나 Claude Platform CLI의 `ant auth login`이 작성한 프로필을 갱신합니다. Claude Code는 해당 프로필의 만료된 자격 증명을 교체합니다. 페더레이션 프로필이나 다른 도구가 만든 프로필의 경우 `/login`으로 자격 증명이 갱신되지 않습니다. 어떤 형태가 표시되는지는 프로필을 직접 선택했는지 Claude Code가 찾았는지에 따라 다릅니다.
1423 1433
1424* `ANTHROPIC_PROFILE`을 명시적으로 설정하면, 메시지는 `Re-authenticate your Anthropic profile`로 끝납니다.1434* `ANTHROPIC_PROFILE`을 명시적으로 설정한 경우 메시지는 `Re-authenticate your Anthropic profile`로 끝납니다.
1425* Claude Code가 구성 디렉토리에서 프로필을 발견했으면, 메시지는 `/login`을 제공합니다. Claude Code가 작동하는 `/login`을 발견된 프로필보다 우선순위를 주고 대신 claude.ai 또는 Console 계정으로 인증하기 때문입니다. v2.1.234 이전에는 Claude Code가 이 경우에도 `Re-authenticate your Anthropic profile` 형식을 표시했습니다.1435* Claude Code가 구성 디렉터리에서 프로필을 찾은 경우, Claude Code는 작동하는 `/login`을 찾은 프로필보다 우선 적용하고 그 후 claude.ai 또는 Console 계정으로 인증하므로 메시지가 `/login`을 제안합니다. v2.1.234 이전에는 이 경우에도 Claude Code가 `Re-authenticate your Anthropic profile` 형태를 표시했습니다.
1426 1436
1427**수행할 작업:**1437**해결 방법:**
1428 1438
1429* 프로필에 다시 로그인한 후 재시도합니다: [키 없는 로그인을 제공](/docs/ko/authentication#sign-in-without-an-api-key)하는 머신에서는 키 없는 Console 로그인 또는 Claude Platform CLI의 `ant auth login`이 작성한 프로필의 경우 `/login`을 실행하고 Anthropic Console 계정을 선택합니다. 다른 프로필의 경우, 프로필을 만든 도구를 사용합니다.1439* 프로필에 다시 로그인한 다음 재시도합니다. [키 없는 로그인을 제공하는](/docs/ko/authentication#sign-in-without-an-api-key) 컴퓨터에서 키 없는 Console 로그인이나 Claude Platform CLI의 `ant auth login`이 작성한 프로필의 경우 `/login`을 실행하고 Anthropic Console 계정을 선택합니다. 다른 프로필의 경우 해당 프로필을 만든 도구를 사용합니다
1430* 관리자가 프로필의 자격증명을 프로비저닝했으면, 새 자격증명을 발급하도록 요청합니다.1440* 관리자가 프로필의 자격 증명을 프로비저닝한 경우 새 자격 증명을 발급해 달라고 요청합니다
1431* `/status`를 실행하여 활성 자격증명 소스 및 프로필 이름을 확인합니다.1441* `/status`를 실행하여 활성 자격 증명 소스와 프로필 이름을 확인합니다
1432* 프로필 사용을 중지하려면, 설정했으면 `ANTHROPIC_PROFILE`을 설정 해제한 후 `/login` 또는 `ANTHROPIC_API_KEY`와 같은 다른 방식으로 인증합니다.1442* 프로필 사용을 중단하려면 `ANTHROPIC_PROFILE`을 설정했다면 설정 해제한 다음, `/login`이나 `ANTHROPIC_API_KEY`와 같은 다른 방법으로 인증합니다
1433 1443
1434<h3 id="oauth-scope-requirement">1444<h3 id="oauth-scope-requirement">
1435 OAuth 범위 요구 사항1445 OAuth 범위 요구 사항
1436</h3>1446</h3>
1437 1447
1438저장된 토큰이 최신 기능이 필요로 하는 권한 범위보다 앞서 있습니다:1448저장된 토큰이 새 기능에 필요한 권한 범위가 도입되기 이전에 발급되었습니다.
1439 1449
1440```text theme={null}1450```text theme={null}
1441OAuth token does not meet scope requirement: user:profile1451OAuth token does not meet scope requirement: user:profile
1442```1452```
1443 1453
1444**수행할 작업:**1454**해결 방법:**
1445 1455
1446* `/login`을 실행하여 현재 범위가 있는 새 토큰을 가져옵니다. 먼저 로그아웃할 필요가 없습니다.1456* `/login`을 실행하여 현재 범위가 포함된 새 토큰을 받습니다. 먼저 로그아웃할 필요는 없습니다.
1447 1457
1448<h3 id="claude-ai-rejected-the-session-token">1458<h3 id="claude-ai-rejected-the-session-token">
1449 claude.ai가 세션 토큰을 거부했습니다1459 claude.ai가 세션 토큰을 거부함
1450</h3>1460</h3>
1451 1461
1452[claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai) 요청이 실패했습니다. claude.ai가 Claude Code 로그인의 토큰을 거부했습니다. 일반적으로 만료되었거나 새로 고칠 수 없는 로그인입니다. 거부된 토큰은 로그인이며, 커넥터 자신의 claude.ai 인증이 아니므로, 커넥터를 다시 인증해도 해결되지 않습니다. `/mcp`에서 커넥터는 `session token rejected`로 표시되며 세부 정보 보기는 다음과 같이 읽습니다:1462claude.ai가 Claude Code 로그인의 토큰을 거부했기 때문에 [claude.ai 커넥터](/docs/ko/mcp#use-mcp-servers-from-claude-ai) 요청이 실패했습니다. 거부된 토큰은 claude.ai에서의 커넥터 자체 권한 부여가 아닌 사용자의 로그인이므로, 커넥터에 다시 권한을 부여해도 해결되지 않습니다. `/mcp`에서 커넥터는 `session token rejected`로 표시되며 세부 정보 보기에는 다음과 같이 표시됩니다.
1453 1463
1454```text theme={null}1464```text theme={null}
1455claude.ai rejected the session token. Run /login, then reconnect.1465claude.ai rejected the session token. Run /login, then reconnect.
1456```1466```
1457 1467
1458**수행할 작업:**1468**해결 방법:**
1459 1469
1460* `/login`을 실행하여 다시 로그인합니다.1470* `/login`을 실행하여 다시 로그인합니다
1461* `/mcp`에서 커넥터를 다시 연결하거나, `/mcp reconnect <server>`를 실행합니다. 다시 로그인하기 전에 다시 연결하면 커넥터가 동일한 상태로 유지됩니다. `/mcp` 패널의 **Reconnect** 옵션은 `your claude.ai session token was rejected`를 보고합니다. 입력된 `/mcp reconnect <server>` 형식은 토큰이 여전히 거부되었음에도 불구하고 성공적인 다시 연결을 보고합니다.1471* `/mcp`에서 커넥터를 다시 연결하거나 `/mcp reconnect <server>`를 실행합니다. 다시 로그인하기 전에 다시 연결하면 커넥터가 같은 상태로 남습니다. `/mcp` 패널의 **Reconnect** 옵션은 `your claude.ai session token was rejected`를 보고하며, 직접 입력하는 `/mcp reconnect <server>` 형태는 토큰이 여전히 거부되는 상태인데도 다시 연결에 성공했다고 보고합니다.
1462 1472
1463v2.1.222 이전에는 Claude Code가 커넥터를 인증이 필요한 것으로 표시했으며, 이는 완료해도 상태를 해결하지 못하는 커넥터의 인증 흐름을 가리켰습니다.1473v2.1.222 이전에는 Claude Code가 대신 커넥터를 인증이 필요한 상태로 표시했으며, 이로 인해 커넥터의 권한 부여 흐름을 완료해도 상태가 해결되지 않는데도 해당 흐름으로 안내했습니다.
1464 1474
1465<h3 id="mcp-server-needs-you-to-sign-in-again">1475<h3 id="mcp-server-needs-you-to-sign-in-again">
1466 MCP 서버가 다시 로그인하도록 요청합니다1476 MCP 서버에 다시 로그인해야 함
1467</h3>1477</h3>
1468 1478
1469원격 [MCP 서버](/docs/ko/mcp)가 세션 중에 도구 호출에서 자격증명을 거부했습니다. 일반적으로 로그인 또는 토큰이 만료되었거나 취소되었거나 토큰이 도구가 필요로 하는 권한이 부족합니다. 도구 호출이 실패하고 `/mcp`가 서버를 [인증이 필요한 것](/docs/ko/mcp#authenticate-with-remote-mcp-servers)으로 표시합니다.1479원격 [MCP 서버](/docs/ko/mcp)가 세션 도중 도구 호출에서 자격 증명을 거부했습니다. 일반적으로 로그인이나 토큰이 만료되었거나 토큰에 도구에 필요한 권한이 없기 때문입니다. 도구 호출이 실패하고, `/mcp`는 서버를 [인증이 필요한](/docs/ko/mcp#authenticate-with-remote-mcp-servers) 상태로 표시합니다.
1470 1480
1471Claude Code에서 로그인하는 서버(claude.ai 커넥터 포함)의 경우, 로그인이 만료되었거나 취소되었습니다:1481claude.ai 커넥터를 포함하여 Claude Code에서 로그인하는 서버의 경우, 로그인이 만료되었거나 취소된 것입니다.
1472 1482
1473```text theme={null}1483```text theme={null}
1474MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)1484MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)
1475```1485```
1476 1486
1477`/mcp`를 실행하고, 서버를 선택하고, 메뉴에서 다시 로그인합니다.1487`/mcp`를 실행하고 서버를 선택한 다음 해당 메뉴에서 다시 로그인합니다.
1478 1488
1479[`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication) 스크립트로 구성된 서버의 경우, Claude Code가 이미 헬퍼를 다시 실행하고 표시하기 전에 호출을 한 번 재시도했습니다:1489[`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication) 스크립트로 구성된 서버의 경우, Claude Code는 이 메시지를 표시하기 전에 이미 헬퍼를 다시 실행하고 호출을 한 번 재시도했습니다.
1480 1490
1481```text theme={null}1491```text theme={null}
1482MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)1492MCP server "<name>" rejected the credential from its headersHelper (check the helper and run /mcp to reconnect, or to authenticate if the server also uses OAuth)
1483```1493```
1484 1494
1485헬퍼가 서버가 수락하는 자격증명을 반환하는지 확인한 후, `/mcp`에서 다시 연결합니다. 이는 헬퍼를 다시 실행합니다.1495헬퍼가 서버에서 수락하는 자격 증명을 반환하는지 확인한 다음, 헬퍼를 다시 실행하는 `/mcp`에서 다시 연결합니다.
1486 1496
1487정적 `Authorization` 헤더가 있는 서버의 경우:1497구성에 정적 `Authorization` 헤더가 있는 서버의 경우:
1488 1498
1489```text theme={null}1499```text theme={null}
1490MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)1500MCP server "<name>" rejected the Authorization header in its config (update it, then run /mcp to reconnect)
1491```1501```
1492 1502
1493서버가 구성된 곳에서 헤더 값을 업데이트한 후 `/mcp`에서 다시 연결합니다.1503서버가 구성된 위치에서 헤더 값을 업데이트한 다음 `/mcp`에서 다시 연결합니다.
1494 1504
1495v2.1.273 이전에는 만료된 로그인, `headersHelper` 및 `Authorization` 헤더 경우가 모두 `MCP server "<name>" requires re-authorization (token expired)`를 표시했습니다.1505v2.1.273 이전에는 로그인 만료, `headersHelper`, `Authorization` 헤더의 경우 모두 `MCP server "<name>" requires re-authorization (token expired)`가 표시되었습니다.
1496 1506
1497서버는 HTTP 403 `insufficient_scope`로 도구 호출을 거부하여 범위를 요청할 수도 있습니다. 때로는 토큰이 이미 나열한 범위입니다. 메시지는 해당 범위의 이름을 지정합니다:1507서버는 범위에 대한 권한 부여를 요청하기 위해 HTTP 403 `insufficient_scope`로 도구 호출을 거부할 수도 있으며, 때로는 토큰에 이미 나열된 범위일 수도 있습니다. 메시지에 해당 범위가 표시됩니다.
1498 1508
1499```text theme={null}1509```text theme={null}
1500MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate1510MCP server "<name>" needs additional permissions (scope: "<scope>") — run /mcp to re-authenticate
1501```1511```
1502 1512
1503`/mcp`를 실행하고, 서버를 선택하고, 메뉴에서 다시 인증합니다.1513`/mcp`를 실행하고 서버를 선택한 다음 해당 메뉴에서 다시 인증합니다.
1504 1514
1505서버의 구성이 [`oauth.scopes`](/docs/ko/mcp#restrict-oauth-scopes) 또는 [`authServerMetadataUrl`](/docs/ko/mcp#override-oauth-metadata-discovery)을 설정하지 않으면, Claude Code가 서버가 이름을 지정한 범위를 요청합니다. 어느 설정이든 Claude Code가 해당 설정의 범위를 요청합니다. `oauth.scopes`를 고정했으면, 다시 인증하기 전에 누락된 범위를 해당 목록에 추가합니다.1515서버 구성에 [`oauth.scopes`](/docs/ko/mcp#restrict-oauth-scopes)와 [`authServerMetadataUrl`](/docs/ko/mcp#override-oauth-metadata-discovery)이 모두 설정되어 있지 않으면 Claude Code는 서버가 명시한 범위를 요청합니다. 둘 중 하나가 설정되어 있으면 Claude Code는 대신 해당 설정의 범위를 요청합니다. `oauth.scopes`를 고정했다면 다시 인증하기 전에 누락된 범위를 해당 목록에 추가하십시오.
1506 1516
1507v2.1.274 이전에는 이 경우가 `needs you to sign in again` 메시지를 표시했으며, v2.1.273 이전에는 다른 경우처럼 `requires re-authorization (token expired)`를 표시했습니다.1517v2.1.274 이전에는 이 경우 `needs you to sign in again` 메시지가 표시되었으며, v2.1.273 이전에는 다른 경우와 마찬가지로 `requires re-authorization (token expired)`가 표시되었습니다.
1508 1518
1509<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">1519<h3 id="mcp-server-url-is-missing-or-not-a-valid-url">
1510 MCP 서버 URL이 누락되었거나 유효한 URL이 아닙니다1520 MCP 서버 URL이 없거나 유효한 URL이 아님
1511</h3>1521</h3>
1512 1522
1513Claude Code가 원격 MCP 서버에 대한 OAuth 로그인을 시작하기를 거부했습니다. 서버의 구성된 `url`이 URL로 구문 분석되지 않기 때문입니다. Claude Code가 서버에 대해 보고할 더 구체적인 구성 문제가 없으면, [`claude mcp login <name>`](/docs/ko/mcp#authenticate-from-the-command-line)을 셸에서 실행하면 거부가 다음과 같이 인쇄됩니다:1523서버에 구성된 `url`을 URL로 파싱할 수 없기 때문에 Claude Code가 원격 MCP 서버에 대한 OAuth 로그인 시작을 거부했습니다. Claude Code가 해당 서버에 대해 보고할 더 구체적인 구성 문제가 없는 한, 셸에서 [`claude mcp login <name>`](/docs/ko/mcp#authenticate-from-the-command-line)을 실행하면 거부 내용이 다음과 같이 출력됩니다.
1514 1524
1515```text theme={null}1525```text theme={null}
1516Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.1526Couldn't complete authentication for "<name>": This server's URL is missing or not a valid URL, so sign-in can't start. Fix the URL in its MCP config (or set the environment variable it uses) and try again.
1517```1527```
1518 1528
1519**수행할 작업:**1529**해결 방법:**
1520 1530
1521* 서버가 구성된 곳에서 항목의 `url`을 서버의 실제 엔드포인트로 설정하거나, 해당 [`${VAR}` 참조](/docs/ko/mcp#environment-variable-expansion-in-mcp-json)가 이름을 지정하는 환경 변수를 설정한 후 로그인을 다시 실행합니다.1531* 서버가 구성된 위치에서 항목의 `url`을 서버의 실제 엔드포인트로 설정하거나, 해당 [`${VAR}` 참조](/docs/ko/mcp#environment-variable-expansion-in-mcp-json)가 가리키는 환경 변수를 설정한 다음 로그인을 다시 실행합니다.
1522 1532
1523<h3 id="issuer-mismatch-in-authorization-response">1533<h3 id="issuer-mismatch-in-authorization-response">
1524 인증 응답의 발급자 불일치1534 권한 부여 응답의 발급자 불일치
1525</h3>1535</h3>
1526 1536
1527[MCP OAuth 로그인](/docs/ko/mcp#authenticate-with-remote-mcp-servers) 중에 인증 서버가 Claude Code로 리디렉션되었으며, `iss` 매개변수가 Claude Code가 서버의 OAuth 메타데이터에서 예상한 발급자의 이름을 지정하지 않습니다. 이 단계에서 잘못된 발급자는 인증 서버 혼합 공격이 어떻게 보이는지이므로, Claude Code는 인증 코드를 교환하는 대신 로그인을 실패합니다. Claude Code는 브라우저 로그인 후 `/mcp` 서버 메뉴에 오류를 표시합니다:1537[MCP OAuth 로그인](/docs/ko/mcp#authenticate-with-remote-mcp-servers) 중에 권한 부여 서버가 Claude Code로 다시 리디렉션했는데, `iss` 파라미터가 Claude Code가 서버의 OAuth 메타데이터에서 예상한 발급자를 가리키지 않았습니다. 이 단계에서 잘못된 발급자가 나타나는 것은 권한 부여 서버 혼동(mix-up) 공격의 형태이므로, Claude Code는 권한 부여 코드를 교환하는 대신 로그인을 실패 처리합니다. Claude Code는 브라우저 로그인 후 `/mcp` 서버 메뉴에 오류를 표시합니다.
1528 1538
1529```text theme={null}1539```text theme={null}
1530Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"1540Issuer mismatch in authorization response (RFC 9207): expected "https://auth.example.com", received "https://other.example.com"
1531```1541```
1532 1542
1533`expected`는 서버의 OAuth 메타데이터의 발급자이며, `received`는 리디렉션이 전달한 `iss` 값입니다. `iss` 매개변수를 전달하지 않는 로그인은 확인을 통과합니다. 서버의 메타데이터가 `authorization_response_iss_parameter_supported`를 설정하지 않으면, 이 경우 Claude Code는 로그인을 실패합니다.1543`expected`는 서버의 OAuth 메타데이터에 있는 발급자이고, `received`는 리디렉션에 포함된 `iss` 값입니다. 리디렉션에 `iss` 파라미터가 없는 로그인은 검사를 통과하지만, 서버의 메타데이터가 `authorization_response_iss_parameter_supported`를 설정한 경우에는 Claude Code가 로그인을 실패 처리합니다.
1534 1544
1535**수행할 작업:**1545**해결 방법:**
1536 1546
1537* `/mcp`에서 로그인을 다시 시도합니다.1547* `/mcp`에서 로그인을 다시 시도합니다
1538* 오류가 반복되면, 서버 운영자에게 보고합니다. 수정은 서버 측입니다: 인증 서버는 메타데이터에서 광고하는 것과 동일한 발급자를 `iss` 매개변수에서 반환해야 합니다.1548* 오류가 반복되면 서버 운영자에게 보고합니다. 해결은 서버 측에서 이루어져야 합니다. 권한 부여 서버는 메타데이터에 게시한 것과 동일한 발급자를 `iss` 파라미터로 반환해야 합니다
1539* 서버가 수정되는 동안 연결하려면, [`MCP_SDK_GENERATION=v1`](/docs/ko/env-vars)로 Claude Code를 시작합니다. 해당 [런타임](/docs/ko/mcp#mcp-client-runtimes)은 이 확인을 실행하지 않습니다. 이것은 혼합 공격에 대한 보호를 제거하므로 서버 측 수정을 선호합니다.1549* 서버가 수정되는 동안 연결하려면 [`MCP_SDK_GENERATION=v1`](/docs/ko/env-vars)로 Claude Code를 시작합니다. 이 [런타임](/docs/ko/mcp#mcp-client-runtimes)은 이 검사를 실행하지 않습니다. 이 방법은 혼동 공격에 대한 보호를 제거하므로 서버 측 수정을 우선하십시오
1540 1550
1541v2.1.232 이전에는 Claude Code가 점진적 롤아웃에서만 v2 런타임을 사용했거나 `MCP_SDK_GENERATION=v2`를 설정했을 때 사용했습니다.1551v2.1.232 이전에는 Claude Code가 단계적 출시 중이거나 `MCP_SDK_GENERATION=v2`를 설정한 경우에만 v2 런타임을 사용했습니다.
1542 1552
1543<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">1553<h3 id="refusing-to-send-credentials-to-non-https-token-endpoint">
1544 HTTPS가 아닌 토큰 엔드포인트로 자격증명을 전송하기를 거부합니다1554 https가 아닌 토큰 엔드포인트로 자격 증명 전송을 거부함
1545</h3>1555</h3>
1546 1556
1547[v2 런타임](/docs/ko/mcp#mcp-client-runtimes)에서 Claude Code는 [MCP OAuth](/docs/ko/mcp#authenticate-with-remote-mcp-servers) 토큰 요청을 HTTPS를 통해 제공되거나 `localhost`, `127.0.0.1` 또는 `::1`에서만 전송합니다. 이 메시지는 서버의 토큰 엔드포인트가 둘 다 아니므로 Claude Code가 요청을 전송하기 전에 중지했음을 의미합니다. 이는 브라우저 로그인 후에 발생하므로 브라우저 단계가 먼저 성공하고, Claude Code가 서버의 토큰을 새로 고칠 때마다 다시 발생합니다.1557[v2 런타임](/docs/ko/mcp#mcp-client-runtimes)에서 Claude Code는 HTTPS로 제공되거나 `localhost`, `127.0.0.1`, `::1`에 있는 토큰 엔드포인트로만 [MCP OAuth](/docs/ko/mcp#authenticate-with-remote-mcp-servers) 토큰 요청을 전송합니다. 이 메시지는 서버의 토큰 엔드포인트가 둘 다 해당하지 않아 Claude Code가 요청을 전송하기 전에 중단했다는 의미입니다. 이는 브라우저 로그인 후에 발생하므로 브라우저 단계는 먼저 성공하며, Claude Code가 서버의 토큰을 갱신할 때마다 다시 발생합니다.
1548 1558
1549전체 형식에서 메시지는 MCP SDK에서 오며 거부한 토큰 엔드포인트를 인용합니다. 디버그 로그에서 로그인의 경우 `Error during auth completion:` 뒤에 오고, 새로 고침의 경우 `Token refresh failed:` 뒤에 옵니다. 셸에서 `claude mcp login <name>`은 `Couldn't complete authentication for "<name>":` 뒤에 인쇄하고, 세션에서 `/mcp`는 서버의 메뉴 아래에 표시합니다:1559전체 형태의 메시지는 MCP SDK에서 생성되며 거부한 토큰 엔드포인트를 인용합니다. 디버그 로그에서는 로그인의 경우 `Error during auth completion:` 뒤에, 갱신의 경우 `Token refresh failed:` 뒤에 나타납니다. 셸에서는 `claude mcp login <name>`이 `Couldn't complete authentication for "<name>":` 뒤에 이를 출력하며, 세션에서는 `/mcp`가 서버 메뉴 아래에 표시합니다.
1550 1560
1551```text theme={null}1561```text theme={null}
1552Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).1562Refusing to send credentials to non-https token endpoint 'http://192.168.1.50:8123/oauth/token'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).
1553```1563```
1554 1564
1555Claude Code는 쿼리 문자열이 있거나 긴 무작위 경로 세그먼트가 있는 서버 URL을 가능성 있게 비밀로 취급합니다. 그러한 서버의 경우, MCP SDK가 발생시키는 로그인 오류를 표시하거나 로깅하기 전에 수정합니다. 이 오류는 릴리스 간에 변경될 수 있는 짧은 이름(예: `io`)으로 읽은 후 `from the MCP SDK for` 및 수정된 서버 URL이 옵니다. MCP SDK의 다른 오류는 거기서 동일한 모양을 취합니다. 수정된 메시지는 서버의 토큰 엔드포인트가 `localhost`, `127.0.0.1` 또는 `::1` 이외의 주소에서 일반 `http://`일 때만 이 오류일 수 있습니다.1565Claude Code는 쿼리 문자열이나 임의로 보이는 긴 경로 세그먼트가 있는 서버 URL을 비밀일 수 있는 것으로 취급합니다. 이러한 서버의 경우 MCP SDK가 발생시키는 로그인 오류를 표시하거나 로그에 기록하기 전에 편집(redact)합니다. 그러면 이 오류는 `io`처럼 릴리스마다 바뀔 수 있는 짧은 이름 뒤에 `from the MCP SDK for`와 편집된 서버 URL이 이어지는 형태로 표시됩니다. MCP SDK의 다른 오류도 여기서 같은 형태를 띱니다. 편집된 메시지가 이 오류일 수 있는 경우는 서버의 토큰 엔드포인트가 `localhost`, `127.0.0.1`, `::1` 이외의 주소에 있는 일반 `http://`인 경우뿐입니다.
1556 1566
1557**수행할 작업:**1567**해결 방법:**
1558 1568
1559* 예를 들어 서버를 역방향 프록시 또는 TLS를 종료하는 터널 뒤에 놓고 서버가 `https://` 주소를 광고하도록 구성하여 해당 토큰 엔드포인트를 HTTPS를 통해 제공합니다.1569* 토큰 엔드포인트를 HTTPS로 제공합니다. 예를 들어 TLS를 종료하는 리버스 프록시나 터널 뒤에 서버를 두고 서버가 `https://` 주소를 게시하도록 구성합니다
1560* 서버를 변경하지 않고 연결하려면, [`MCP_SDK_GENERATION=v1`](/docs/ko/env-vars)로 Claude Code를 시작합니다. 해당 [런타임](/docs/ko/mcp#mcp-client-runtimes)은 이 규칙을 적용하지 않으며 일반 HTTP를 통해 토큰 요청을 전송합니다. 이 선택은 종료할 때까지 지속되며 모든 서버에 적용됩니다. v1 런타임은 또한 [발급자 확인](#issuer-mismatch-in-authorization-response)을 건너뜁니다. 따라서 엔드포인트를 HTTPS를 통해 제공하는 것을 선호합니다.1570* 서버를 변경하지 않고 연결하려면 [`MCP_SDK_GENERATION=v1`](/docs/ko/env-vars)로 Claude Code를 시작합니다. 이 [런타임](/docs/ko/mcp#mcp-client-runtimes)은 이 규칙을 적용하지 않으며 토큰 요청을 일반 HTTP로 전송합니다. 이 선택은 종료할 때까지 유지되며 모든 서버에 적용됩니다. v1 런타임은 [발급자 검사](#issuer-mismatch-in-authorization-response)도 건너뛰므로, 엔드포인트를 HTTPS로 제공하는 방법을 우선하십시오
1561 1571
1562<h3 id="aws-credentials-expired-or-invalid">1572<h3 id="aws-credentials-expired-or-invalid">
1563 AWS 자격증명이 만료되었거나 유효하지 않습니다1573 AWS 자격 증명 만료 또는 잘못됨
1564</h3>1574</h3>
1565 1575
1566AWS 세션 토큰이 만료되었거나 거부되었습니다. 이 메시지는 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 또는 [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)에서 401로 나타나며, 이는 해당 공급자가 만료된 보안 토큰을 보고하는 방식입니다.1576AWS 세션 토큰이 만료되었거나 거부되었습니다. 이 메시지는 [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 또는 [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)에서 401이 반환될 때 나타나며, 이는 해당 제공업체가 만료된 보안 토큰을 보고하는 방식입니다.
1567 1577
1568중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `AWS credentials expired or invalid`입니다:1578중간의 조치 안내는 설정에 따라 다릅니다. 고정된 부분은 앞쪽의 `AWS credentials expired or invalid`입니다.
1569 1579
1570```text theme={null}1580```text theme={null}
1571AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...1581AWS credentials expired or invalid · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · API Error: 401 ...
1572```1582```
1573 1583
1574v2.1.273 이전에는 `awsAuthRefresh`가 구성되었을 때만 이 메시지가 나타났습니다.1584v2.1.273 이전에는 `awsAuthRefresh`가 구성된 경우에만 이 메시지가 나타났습니다.
1575 1585
1576**수행할 작업:**1586**해결 방법:**
1577 1587
1578* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1588* 안내에 자격 증명이 이 환경에서 관리된다고 표시되면, Claude Code를 실행한 앱이 자격 증명을 소유하므로 여기의 다른 단계는 적용되지 않습니다. 재시도하거나 관리자에게 문의합니다
1579* [`awsAuthRefresh`](/docs/ko/amazon-bedrock#advanced-credential-configuration)가 설정되면, 메시지에서 이름을 지정한 명령(예: `aws sso login --profile myprofile`)을 다른 터미널에서 실행하고 브라우저 로그인을 완료한 후 재시도합니다. 그렇지 않으면 사용하는 AWS 자격증명을 직접 새로 고칩니다: SSO 로그인, 액세스 키, API 키 또는 프록시 토큰입니다.1589* [`awsAuthRefresh`](/docs/ko/amazon-bedrock#advanced-credential-configuration)가 설정된 경우, 메시지에 명시된 `aws sso login --profile myprofile`과 같은 명령을 다른 터미널에서 실행하고 브라우저 로그인을 완료한 다음 재시도합니다. 그렇지 않으면 사용하는 AWS 자격 증명을 직접 갱신합니다. SSO 로그인, 액세스 키, API 키 또는 프록시 토큰이 이에 해당합니다
1580* `awsAuthRefresh`가 대화형 세션에 설정되면, `/login`을 실행하고, **3rd-party platform**을 선택한 후, **Using 3rd-party platforms** 아래에서 **Claude Platform on AWS · refresh credentials**를 선택하여 Claude Code를 다시 시작하지 않고 동일한 명령을 실행할 수 있습니다. [AWS 자격증명 구성](/docs/ko/claude-platform-on-aws#1-configure-aws-credentials)을 참조합니다.1590* 대화형 세션에서 `awsAuthRefresh`가 설정되어 있으면, 대신 `/login`을 실행하고 **3rd-party platform**을 선택한 다음 **Using 3rd-party platforms** 아래의 **Claude Platform on AWS · refresh credentials**를 선택하여 Claude Code를 다시 시작하지 않고 같은 명령을 실행할 수 있습니다. [AWS 자격 증명 구성](/docs/ko/claude-platform-on-aws#1-configure-aws-credentials)을 참조하십시오
1581* 새로 고침 명령이 성공한 후에도 오류가 반복되면, 동일한 셸 및 프로필에서 `aws sts get-caller-identity`로 Claude Code 외부에서 ID가 유효한지 확인합니다.1591* 갱신 명령이 성공한 후에도 오류가 반복되면 같은 셸과 프로필에서 `aws sts get-caller-identity`로 Claude Code 외부에서 ID가 유효한지 확인합니다
1582 1592
1583<h3 id="aws-authentication-failed">1593<h3 id="aws-authentication-failed">
1584 AWS 인증 실패1594 AWS 인증 실패
1585</h3>1595</h3>
1586 1596
1587AWS 공급자가 403을 반환했거나, [Amazon Bedrock](/docs/ko/amazon-bedrock)이 401을 반환했습니다.1597AWS 제공업체가 403을 반환했거나 [Amazon Bedrock](/docs/ko/amazon-bedrock)이 401을 반환했습니다.
1588 1598
1589Amazon Bedrock은 만료된 보안 토큰을 403으로 보고하지만, 403은 또한 누락된 IAM 권한과 같은 `AccessDeniedException`의 인증 거부를 보고하는 방식입니다. Claude Code는 이 두 원인을 구분할 수 없습니다.1599Amazon Bedrock은 만료된 보안 토큰을 403으로 보고하지만, 누락된 IAM 권한으로 인한 `AccessDeniedException`과 같은 권한 부여 거부도 403으로 보고합니다. Claude Code는 이 두 원인을 구분할 수 없습니다.
1590 1600
1591Amazon Bedrock의 401은 [AWS 자격증명이 만료되었거나 유효하지 않습니다](#aws-credentials-expired-or-invalid) 아래가 아닌 여기에 도달합니다. 해당 엔드포인트의 401은 일반적으로 요청 경로의 다른 것(예: 회사 프록시)에서 옵니다.1601Amazon Bedrock은 만료된 토큰을 401로 보고하지 않으므로, Amazon Bedrock의 401도 [AWS 자격 증명 만료 또는 잘못됨](#aws-credentials-expired-or-invalid)이 아닌 여기에 해당합니다. 해당 엔드포인트의 401은 일반적으로 회사 프록시처럼 요청 경로상의 다른 요소에서 발생합니다.
1592 1602
1593자격증명 새로 고침은 만료된 토큰을 수정하고 다른 원인을 수정할 수 없으므로, 메시지는 둘 다 제공합니다:1603자격 증명 갱신은 만료된 토큰은 해결하지만 다른 원인은 해결할 수 없으므로, 메시지는 두 가지를 모두 제시합니다.
1594 1604
1595```text theme={null}1605```text theme={null}
1596AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...1606AWS authentication failed · run /login and select "Claude Platform on AWS · refresh credentials", or run `aws sso login --profile myprofile` in another terminal · if credentials are current, check AWS permissions and model access · API Error: 403 ...
1597```1607```
1598 1608
1599중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `AWS authentication failed`입니다.1609중간의 조치 안내는 설정에 따라 다릅니다. 고정된 부분은 앞쪽의 `AWS authentication failed`입니다.
1600 1610
1601403이 지정된 모델 ID로 모델에 액세스할 수 없다는 Amazon Bedrock의 답변일 때, 힌트는 대신 Amazon Bedrock 콘솔에서 계정 및 지역에 대해 모델을 활성화하도록 지시합니다.1611403이 지정된 모델 ID의 모델에 대한 액세스 권한이 없다는 Amazon Bedrock의 응답인 경우, 안내는 대신 Amazon Bedrock 콘솔에서 계정과 리전에 대해 모델을 활성화하도록 알려 줍니다.
1602 1612
1603v2.1.273 이전에는 `awsAuthRefresh`가 구성되었을 때만 이 메시지가 나타났습니다.1613v2.1.273 이전에는 `awsAuthRefresh`가 구성된 경우에만 이 메시지가 나타났습니다.
1604 1614
1605**수행할 작업:**1615**해결 방법:**
1606 1616
1607* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1617* 안내에 자격 증명이 이 환경에서 관리된다고 표시되면, Claude Code를 실행한 앱이 자격 증명을 소유하므로 여기의 다른 단계는 적용되지 않습니다. 재시도하거나 관리자에게 문의합니다
1608* 만료된 자격증명이 원인일 수 있으므로 AWS 자격증명을 새로 고칩니다: 설정되면 [`awsAuthRefresh`](/docs/ko/amazon-bedrock#advanced-credential-configuration)에서 이름을 지정한 명령을 실행하거나, SSO 로그인, 액세스 키, API 키 또는 프록시 토큰을 직접 새로 고칩니다.1618* 만료된 자격 증명이 원인일 경우에 대비하여 AWS 자격 증명을 갱신합니다. [`awsAuthRefresh`](/docs/ko/amazon-bedrock#advanced-credential-configuration)가 설정되어 있으면 메시지에 명시된 명령을 실행하고, 그렇지 않으면 SSO 로그인, 액세스 키, API 키 또는 프록시 토큰을 직접 갱신합니다
1609* 자격증명이 현재이면, [IAM 구성](/docs/ko/amazon-bedrock#iam-configuration)의 IAM 권한이 사용 중인 ID에 연결되어 있고 선택한 모델이 계정 및 지역에 대해 활성화되어 있는지 확인합니다.1619* 자격 증명이 최신 상태라면 [IAM 구성](/docs/ko/amazon-bedrock#iam-configuration)의 IAM 권한이 사용 중인 ID에 연결되어 있고 선택한 모델이 계정과 리전에 대해 활성화되어 있는지 확인합니다
1610* `aws sts get-caller-identity`를 실행하여 요청이 어떤 ID를 사용하는지 확인합니다.1620* `aws sts get-caller-identity`를 실행하여 요청에 어떤 ID가 사용되는지 확인합니다
1611 1621
1612<h3 id="google-cloud-credentials-expired-or-invalid">1622<h3 id="google-cloud-credentials-expired-or-invalid">
1613 Google Cloud 자격증명이 만료되었거나 유효하지 않습니다1623 Google Cloud 자격 증명 만료 또는 잘못됨
1614</h3>1624</h3>
1615 1625
1616[Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)에 대한 Google Cloud 자격증명이 만료되었거나 거부되었습니다: 요청이 401을 반환했으며, 이는 Agent Platform이 자격증명 만료를 보고하는 방식입니다.1626[Google Cloud's Agent Platform](/docs/ko/google-vertex-ai)용 Google Cloud 자격 증명이 만료되었거나 거부되었습니다. 요청이 401을 반환했으며, 이는 Agent Platform이 자격 증명 만료를 보고하는 방식입니다.
1617 1627
1618중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `Google Cloud credentials expired or invalid`입니다:1628중간의 조치 안내는 설정에 따라 다릅니다. 고정된 부분은 앞쪽의 `Google Cloud credentials expired or invalid`입니다.
1619 1629
1620```text theme={null}1630```text theme={null}
1621Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...1631Google Cloud credentials expired or invalid · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · API Error: 401 ...
1622```1632```
1623 1633
1624**수행할 작업:**1634**해결 방법:**
1625 1635
1626* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1636* 안내에 자격 증명이 이 환경에서 관리된다고 표시되면, Claude Code를 실행한 앱이 자격 증명을 소유하므로 여기의 다른 단계는 적용되지 않습니다. 재시도하거나 관리자에게 문의합니다
1627* 애플리케이션 기본 자격증명으로 인증하면, 메시지에서 이름을 지정한 [`gcpAuthRefresh`](/docs/ko/google-vertex-ai#advanced-credential-configuration) 명령을 실행하거나, `gcloud auth application-default login`을 실행하고 로그인을 완료한 후 재시도합니다.1637* 애플리케이션 기본 자격 증명으로 인증하는 경우, 메시지에 명시된 [`gcpAuthRefresh`](/docs/ko/google-vertex-ai#advanced-credential-configuration) 명령 또는 `gcloud auth application-default login`을 실행하고 로그인을 완료한 다음 재시도합니다
1628* `CLAUDE_CODE_SKIP_VERTEX_AUTH`가 설정된 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 라우팅하면, `ANTHROPIC_AUTH_TOKEN` 또는 `ANTHROPIC_CUSTOM_HEADERS`의 게이트웨이 토큰을 새로 고친 후 재시도합니다.1638* `CLAUDE_CODE_SKIP_VERTEX_AUTH`를 설정하고 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 라우팅하는 경우, `ANTHROPIC_AUTH_TOKEN` 또는 `ANTHROPIC_CUSTOM_HEADERS`의 게이트웨이 토큰을 갱신한 다음 재시도합니다
1629* 서비스 계정 키 파일로 인증하면, `GOOGLE_APPLICATION_CREDENTIALS`가 유효한 키를 가리키는지 확인합니다. [GCP 자격증명 구성](/docs/ko/google-vertex-ai#3-configure-gcp-credentials)을 참조합니다.1639* 서비스 계정 키 파일로 인증하는 경우 `GOOGLE_APPLICATION_CREDENTIALS`가 유효한 키를 가리키는지 확인합니다. [GCP 자격 증명 구성](/docs/ko/google-vertex-ai#3-configure-gcp-credentials)을 참조하십시오
1630* 새로 고침 후에도 오류가 반복되면, 동일한 셸에서 `gcloud auth application-default print-access-token`으로 Claude Code 외부에서 ID가 작동하는지 확인합니다.1640* 갱신 후에도 오류가 반복되면 같은 셸에서 `gcloud auth application-default print-access-token`으로 Claude Code 외부에서 ID가 작동하는지 확인합니다
1631 1641
1632v2.1.273 이전에는 Agent Platform의 401이 자격증명을 새로 고칠 수 없는 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했습니다.1642v2.1.273 이전에는 Agent Platform의 401이 대신 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했으며, 이 방법으로는 Google Cloud 자격 증명을 갱신할 수 없었습니다.
1633 1643
1634<h3 id="google-cloud-authentication-failed">1644<h3 id="google-cloud-authentication-failed">
1635 Google Cloud 인증 실패1645 Google Cloud 인증 실패
1636</h3>1646</h3>
1637 1647
1638[Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai)이 403을 반환했으며, 이는 만료된 자격증명이 아닌 인증 거부에 사용합니다. 일반적으로 인증하는 ID에 IAM 권한이 부족하거나, 모델이 프로젝트에 대해 활성화되지 않았습니다.1648[Google Cloud's Agent Platform](/docs/ko/google-vertex-ai)이 403을 반환했습니다. Agent Platform은 만료된 자격 증명이 아닌 권한 부여 거부에 403을 사용합니다. 일반적으로 인증에 사용하는 ID에 IAM 권한이 없거나, 프로젝트에 대해 모델이 활성화되어 있지 않은 경우입니다.
1639 1649
1640중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `Google Cloud authentication failed`입니다:1650중간의 조치 안내는 설정에 따라 다릅니다. 고정된 부분은 앞쪽의 `Google Cloud authentication failed`입니다.
1641 1651
1642```text theme={null}1652```text theme={null}
1643Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...1653Google Cloud authentication failed · refresh your Google Cloud credentials (application default sign-in, or the key file in GOOGLE_APPLICATION_CREDENTIALS) and retry · if credentials are current, check GCP IAM permissions and Vertex AI model access · API Error: 403 ...
1644```1654```
1645 1655
1646**수행할 작업:**1656**해결 방법:**
1647 1657
1648* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1658* 안내에 자격 증명이 이 환경에서 관리된다고 표시되면, Claude Code를 실행한 앱이 자격 증명을 소유하므로 여기의 다른 단계는 적용되지 않습니다. 재시도하거나 관리자에게 문의합니다
1649* [IAM 구성](/docs/ko/google-vertex-ai#iam-configuration)의 역할이 인증하는 ID에 부여되어 있는지 확인합니다.1659* [IAM 구성](/docs/ko/google-vertex-ai#iam-configuration)의 역할이 인증에 사용하는 ID에 부여되어 있는지 확인합니다
1650* 모델이 프로젝트에 대해 활성화되어 있는지 확인합니다. [모델 액세스 요청](/docs/ko/google-vertex-ai#2-request-model-access)을 참조합니다.1660* 프로젝트에 대해 모델이 활성화되어 있는지 확인합니다. [모델 액세스 요청](/docs/ko/google-vertex-ai#2-request-model-access)을 참조하십시오
1651 1661
1652v2.1.273 이전에는 Agent Platform의 403이 자격증명을 새로 고칠 수 없는 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했습니다.1662v2.1.273 이전에는 Agent Platform의 403이 대신 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했으며, 이 방법으로는 Google Cloud 자격 증명을 갱신할 수 없었습니다.
1653 1663
1654<h3 id="microsoft-foundry-authentication-failed">1664<h3 id="microsoft-foundry-authentication-failed">
1655 Microsoft Foundry 인증 실패1665 Microsoft Foundry authentication failed
1656</h3>1666</h3>
1657 1667
1658[Microsoft Foundry](/docs/ko/microsoft-foundry)가 401 또는 403을 반환했습니다: 요청의 Azure 자격증명이 거부되었거나, 뒤에 있는 ID가 Foundry 리소스에 액세스할 수 없습니다. `/login`은 Azure 자격증명을 발급할 수 없습니다. 중간의 작업 힌트는 설정에 따라 달라집니다. 안정적인 부분은 선행 `Microsoft Foundry authentication failed`입니다:1668[Microsoft Foundry](/docs/ko/microsoft-foundry)가 401 또는 403을 반환했습니다. 요청에 포함된 Azure 자격 증명이 거부되었거나, 해당 자격 증명의 ID에 Foundry 리소스에 대한 액세스 권한이 없습니다. `/login`은 Azure 자격 증명을 발급할 수 없습니다. 중간의 조치 안내는 설정에 따라 달라집니다. 고정된 부분은 앞부분의 `Microsoft Foundry authentication failed`입니다.
1659 1669
1660```text theme={null}1670```text theme={null}
1661Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...1671Microsoft Foundry authentication failed · refresh your Foundry credential (ANTHROPIC_FOUNDRY_AUTH_TOKEN, ANTHROPIC_FOUNDRY_API_KEY, Azure sign-in for Entra, or your proxy token) and retry · if credentials are current, check access to the Foundry resource · API Error: 401 ...
1662```1672```
1663 1673
1664**수행할 작업:**1674**조치 방법:**
1665 1675
1666* 힌트가 자격증명이 이 환경에서 관리된다고 하면, 이를 실행한 앱이 자격증명을 소유하며 여기의 다른 단계는 적용되지 않습니다: 재시도하거나, 관리자에게 문의합니다.1676* 안내에 자격 증명이 이 환경에서 관리된다고 표시되면, Claude Code를 실행한 앱이 자격 증명을 소유하므로 여기의 다른 단계는 적용되지 않습니다. 재시도하거나 관리자에게 문의하십시오
1667* [Azure 자격증명 구성](/docs/ko/microsoft-foundry#2-configure-azure-credentials)에서 구성한 자격증명을 새로 고칩니다: `ANTHROPIC_FOUNDRY_API_KEY`를 회전하거나, 새 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`을 발급하거나, `az login`을 실행하여 기본 Microsoft Entra 자격증명 체인이 다시 로그인할 수 있도록 합니다.1677* [Azure 자격 증명 구성](/docs/ko/microsoft-foundry#2-configure-azure-credentials)에서 구성한 자격 증명을 새로 고치십시오. `ANTHROPIC_FOUNDRY_API_KEY`를 교체하거나, 새 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`을 발급하거나, `az login`을 실행하여 기본 Microsoft Entra 자격 증명 체인이 다시 로그인할 수 있도록 합니다
1668* 자격증명이 현재이면, ID가 Foundry 리소스에 액세스할 수 있는지 확인합니다. [Azure RBAC 구성](/docs/ko/microsoft-foundry#azure-rbac-configuration)을 참조합니다.1678* 자격 증명이 최신 상태라면 해당 ID에 Foundry 리소스에 대한 액세스 권한이 있는지 확인하십시오. [Azure RBAC 구성](/docs/ko/microsoft-foundry#azure-rbac-configuration)을 참조하십시오
1669 1679
1670v2.1.273 이전에는 Microsoft Foundry의 401 또는 403이 자격증명을 새로 고칠 수 없는 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했습니다.1680v2.1.273 이전에는 Microsoft Foundry의 401 또는 403에 대해 Azure 자격 증명을 새로 고칠 수 없는 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지가 대신 표시되었습니다.
1671 1681
1672<h3 id="could-not-load-aws-or-google-cloud-credentials">1682<h3 id="could-not-load-aws-or-google-cloud-credentials">
1673 AWS 또는 Google Cloud 자격증명을 로드할 수 없습니다1683 Could not load AWS or Google Cloud credentials
1674</h3>1684</h3>
1675 1685
1676Claude Code가 AWS 자격증명 공급자 체인 또는 머신의 Google 애플리케이션 기본 자격증명에서 사용 가능한 자격증명을 얻을 수 없어서, 요청이 클라우드 공급자에 도달하지 않았습니다. Claude Code는 캐시된 자격증명을 지우고 표시하기 전에 두 번 재시도합니다. `·` 이후의 세부 정보는 만료된 SSO 세션, `Could not load the default credentials`로 보고된 누락된 애플리케이션 기본 자격증명 또는 `invalid_grant`로 보고된 취소된 로그인과 같은 특정 원인의 이름을 지정합니다:1686Claude Code가 실행 중인 머신에서 AWS 자격 증명 공급자 체인이나 Google 애플리케이션 기본 자격 증명으로부터 사용 가능한 자격 증명을 얻지 못했기 때문에, 요청이 클라우드 공급자에 도달하지 않았습니다. Claude Code는 이 메시지를 표시하기 전에 캐시된 자격 증명을 지우고 두 번 재시도합니다. `·` 뒤의 세부 정보는 구체적인 원인을 나타냅니다. 예를 들어 만료된 SSO 세션, `Could not load the default credentials`로 보고되는 애플리케이션 기본 자격 증명 누락, `invalid_grant`로 보고되는 취소된 로그인 등이 있습니다.
1677 1687
1678```text theme={null}1688```text theme={null}
1679API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.1689API Error: Could not load AWS credentials · Could not load credentials from any providers. Check or refresh your AWS credentials and try again.
1680API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.1690API Error: Could not load Google Cloud credentials · invalid_grant. Check or refresh your Google Cloud credentials and try again.
1681```1691```
1682 1692
1683[비대화형 모드](/docs/ko/headless)에서 `-p`와 [Agent SDK](/docs/ko/agent-sdk/overview)에서 구조화된 오류 코드는 `cloud_credential_error`입니다. v2.1.267 이전에는 메시지가 `API Error:` 이후의 세부 정보만 표시했으며, 구조화된 코드는 `server_error` 또는 `unknown`이었습니다.1693`-p`를 사용하는 [비대화형 모드](/docs/ko/headless)와 [Agent SDK](/docs/ko/agent-sdk/overview)에서 구조화된 오류 코드는 `cloud_credential_error`입니다. v2.1.267 이전에는 메시지에 `API Error:` 뒤의 세부 텍스트만 표시되었고, 구조화된 코드는 `server_error` 또는 `unknown`이었습니다.
1684 1694
1685**수행할 작업:**1695**조치 방법:**
1686 1696
1687* `aws sso login --profile myprofile` 또는 `gcloud auth application-default login`과 같은 공급자의 로그인 명령을 실행한 후 재시도합니다. [Bedrock, Agent Platform 또는 Foundry 자격증명이 로드되지 않음](/docs/ko/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading)은 Claude Code 외부에서 자격증명을 확인하는 방법을 보여줍니다.1697* `aws sso login --profile myprofile` 또는 `gcloud auth application-default login`과 같은 공급자의 로그인 명령을 실행한 후 재시도하십시오. [Bedrock, Agent Platform 또는 Foundry 자격 증명이 로드되지 않음](/docs/ko/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading)에서 Claude Code 외부에서 자격 증명을 확인하는 방법을 설명합니다
1688* 세부 정보가 `AWS default-chain credential resolve timed out`을 읽으면, 체인이 실패하지 않고 중단되었으므로, 대신 [AWS default-chain credential resolve timed out](#aws-default-chain-credential-resolve-timed-out)을 따릅니다.1698* 세부 정보가 `AWS default-chain credential resolve timed out`이라면 체인이 실패한 것이 아니라 멈춘 것이므로, 대신 [AWS default-chain credential resolve timed out](#aws-default-chain-credential-resolve-timed-out)을 따르십시오
1689 1699
1690<h3 id="aws-default-chain-credential-resolve-timed-out">1700<h3 id="aws-default-chain-credential-resolve-timed-out">
1691 AWS default-chain credential resolve timed out1701 AWS default-chain credential resolve timed out
1692</h3>1702</h3>
1693 1703
1694AWS 기본 자격증명 공급자 체인이 60초 내에 자격증명을 생성하지 않아서, Claude Code가 확인을 중지하고 요청을 실패했습니다. 이 시간 초과는 [AWS 또는 Google Cloud 자격증명을 로드할 수 없습니다](#could-not-load-aws-or-google-cloud-credentials)의 한 원인입니다. 실패는 로컬 자격증명 확인입니다: 요청이 [Amazon Bedrock](/docs/ko/amazon-bedrock), [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 또는 [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)에 도달하지 않았습니다. Claude Code는 [자격증명 캐시](/docs/ko/amazon-bedrock#credential-caching-and-resolution-timeout)를 지우고 이 오류가 표시되기 전에 재시도하므로, 이를 볼 때쯤 체인이 반복된 시도에서 중단되었습니다.1704AWS 기본 자격 증명 공급자 체인이 60초 이내에 자격 증명을 생성하지 못했기 때문에 Claude Code가 확인 작업을 중단하고 요청을 실패 처리했습니다. 이 시간 초과는 [Could not load AWS or Google Cloud credentials](#could-not-load-aws-or-google-cloud-credentials)의 원인 중 하나입니다. 이 실패는 로컬 자격 증명 확인 과정에서 발생한 것으로, 요청은 [Amazon Bedrock](/docs/ko/amazon-bedrock), [Claude Platform on AWS](/docs/ko/claude-platform-on-aws) 또는 [Mantle 엔드포인트](/docs/ko/amazon-bedrock#use-the-mantle-endpoint)에 도달하지 않았습니다. Claude Code는 이 오류를 표시하기 전에 [자격 증명 캐시](/docs/ko/amazon-bedrock#credential-caching-and-resolution-timeout)를 지우고 재시도하므로, 이 오류가 표시될 때는 체인이 반복된 시도에서 멈춘 상태입니다.
1695 1705
1696```text theme={null}1706```text theme={null}
1697API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.1707API Error: Could not load AWS credentials · AWS default-chain credential resolve timed out. Check or refresh your AWS credentials and try again.
1698```1708```
1699 1709
1700일반적인 원인은 AWS 프로필의 `credential_process` 명령이 받을 수 없는 입력을 기다리고 있으며, 컨테이너 또는 VM의 인스턴스 메타데이터 서비스(IMDS)가 체인의 프로브에 응답하지 않습니다.1710일반적인 원인으로는 받을 수 없는 입력을 기다리는 AWS 프로필의 `credential_process` 명령, 그리고 인스턴스 메타데이터 서비스(IMDS)가 체인의 프로브에 응답하지 않는 컨테이너나 VM이 있습니다.
1701 1711
1702v2.1.267 이전에는 메시지가 `API Error: AWS default-chain credential resolve timed out`을 읽었습니다.1712v2.1.267 이전에는 메시지가 `API Error: AWS default-chain credential resolve timed out`으로 표시되었습니다.
1703v2.1.207 이전에는 중단된 체인이 실패하는 대신 요청을 무한정 기다리게 했습니다.1713v2.1.207 이전에는 체인이 멈추면 요청이 실패하지 않고 무기한 대기했습니다.
1704 1714
1705**수행할 작업:**1715**조치 방법:**
1706 1716
1707* 동일한 셸에서 동일한 `AWS_PROFILE`로 `aws sts get-caller-identity`를 실행합니다. 또한 중단되면, 프로필을 수정합니다. 대화형으로 프롬프트하는 `credential_process` 명령이 일반적인 원인입니다.1717* 동일한 셸에서 동일한 `AWS_PROFILE`로 `aws sts get-caller-identity`를 실행하십시오. 이 명령도 멈춘다면 프로필을 수정하십시오. 대화형으로 입력을 요청하는 `credential_process` 명령이 흔한 원인입니다.
1708* Claude Code를 시작하기 전에 로그인 단계를 완료합니다. 예를 들어 `aws sso login --profile myprofile`을 실행하여 체인이 브라우저 흐름을 기다리는 대신 로컬 SSO 캐시에서 확인되도록 합니다.1718* Claude Code를 시작하기 전에 로그인 단계를 완료하십시오. 예: `aws sso login --profile myprofile`
1709* 체인이 `aws-vault`와 같은 래퍼를 통해 MFA가 있는 SSO와 같이 60초 이상 필요로 하는 대화형 로그인을 실행하면, [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에서 밀리초 단위로 제한을 높입니다.1719* `aws-vault`와 같은 래퍼를 통한 MFA 포함 SSO처럼 체인이 실제로 60초 이상 필요한 대화형 로그인을 실행하는 경우, [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)로 제한을 밀리초 단위로 늘리십시오
1710 1720
1711<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">1721<h3 id="bedrock-setup-verification-timed-out-waiting-for-aws">
1712 Bedrock 설정 확인이 AWS를 기다리다가 시간 초과되었습니다1722 Bedrock setup verification timed out waiting for AWS
1713</h3>1723</h3>
1714 1724
1715[Bedrock 설정 마법사](/docs/ko/amazon-bedrock#sign-in-with-bedrock)의 자격증명 확인 중 AWS에 대한 호출(예: 자격증명 조회 또는 ID 확인)이 60초 제한 내에 완료되지 않았습니다. 마법사가 기다리기를 중지하고 확인 단계를 실패합니다:1725[Bedrock 설정 마법사](/docs/ko/amazon-bedrock#sign-in-with-bedrock)의 자격 증명 확인 중에 자격 증명 조회나 ID 확인과 같은 AWS 호출이 60초 제한 내에 완료되지 않았습니다. 마법사는 대기를 중단하고 확인 단계를 실패 처리합니다.
1716 1726
1717```text theme={null}1727```text theme={null}
1718Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.1728Timed out after 60s waiting for AWS. Check your network and proxy settings; if a credential helper needs longer to prompt you, raise CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS.
1719```1729```
1720 1730
1721숫자는 제한을 반영합니다: 기본적으로 60초 또는 [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에서 설정한 값입니다.1731숫자는 설정된 제한을 반영합니다. 기본값은 60초이며, [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에 설정한 값이 있으면 그 값이 표시됩니다.
1722 1732
1723일반적인 원인은 SSO 토큰 새로 고침을 포함하여 AWS에 대한 요청을 중단하는 네트워크 또는 프록시이며, 자격증명 헬퍼가 볼 수 없는 입력을 기다리고 있습니다. 헬퍼가 합법적으로 더 많은 시간이 필요할 때만 제한을 높입니다.1733일반적인 원인으로는 SSO 토큰 새로 고침을 포함하여 AWS에 대한 요청을 지연시키는 네트워크나 프록시, 그리고 화면에 보이지 않는 입력을 계속 기다리고 있는 자격 증명 도우미가 있습니다. 도우미가 실제로 더 많은 시간을 필요로 하는 경우에만 제한을 늘리십시오.
1724 1734
1725AWS에 대한 단일 중단된 요청도 자체 요청별 시간 초과로 실패할 수 있으며, 동일한 단계에서 더 짧은 메시지를 표시합니다:1735AWS에 대한 단일 요청이 멈춘 경우 자체 요청별 타임아웃으로 실패할 수도 있으며, 이때는 같은 단계에서 더 짧은 메시지가 표시됩니다.
1726 1736
1727```text theme={null}1737```text theme={null}
1728A request to AWS timed out. Check your network and proxy settings, then try again.1738A request to AWS timed out. Check your network and proxy settings, then try again.
1729```1739```
1730 1740
1731동일한 시간 초과가 모델 핀 단계에서 발생하면, 마법사가 메시지를 표시하는 대신 모델을 `unreachable`로 표시합니다.1741모델 고정 단계에서 동일한 시간 초과가 발생하면, 마법사는 두 메시지 중 어느 것도 표시하지 않고 해당 모델을 `unreachable`로 표시합니다.
1732 1742
1733**수행할 작업:**1743**조치 방법:**
1734 1744
1735* 동일한 셸에서 `aws sts get-caller-identity`를 실행합니다. 또한 중단되면, 중단이 Claude Code 외부에 있습니다. 네트워크, 프록시 또는 AWS 프로필의 자격증명 헬퍼에서 먼저 수정합니다.1745* 동일한 셸에서 `aws sts get-caller-identity`를 실행하십시오. 이 명령도 멈춘다면 지연은 Claude Code 외부, 즉 네트워크, 프록시 또는 AWS 프로필의 자격 증명 도우미에서 발생하는 것이므로 이를 먼저 해결하십시오.
1736* 마법사를 열기 전에 대화형 로그인을 완료합니다. 예를 들어 `aws sso login --profile myprofile`을 실행합니다.1746* 마법사를 열기 전에 대화형 로그인을 완료하십시오. 예: `aws sso login --profile myprofile`
1737* AWS 프로필의 자격증명 헬퍼가 합법적으로 60초 이상 프롬프트를 기다려야 하면, [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)에서 밀리초 단위로 제한을 높입니다.1747* AWS 프로필의 자격 증명 도우미가 확인을 요청하는 데 실제로 60초보다 오래 걸리는 경우, [`CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS`](/docs/ko/env-vars)로 제한을 밀리초 단위로 늘리십시오
1738 1748
1739<h3 id="cloud-gateway-session-expired">1749<h3 id="cloud-gateway-session-expired">
1740 클라우드 게이트웨이 세션 만료됨1750 Cloud gateway session expired
1741</h3>1751</h3>
1742 1752
1743[Claude apps 게이트웨이](/docs/ko/claude-apps-gateway)를 통해 로그인했으며, 이 머신에 저장된 게이트웨이 세션이 만료되었으며 갱신할 수 없거나, 게이트웨이가 더 이상 수락하지 않습니다. 예를 들어 게이트웨이의 [JWT 비밀이 교체된](/docs/ko/claude-apps-gateway-deploy#jwt-secret-rotation) 후입니다. 대화형으로 `claude`를 시작할 때 이 라인을 보면, 세션이 게이트웨이에서 로그아웃된 상태로 열렸습니다:1753[Claude apps 게이트웨이](/docs/ko/claude-apps-gateway)를 통해 로그인했으나, 이 머신에 저장된 게이트웨이 세션이 만료되어 갱신할 수 없거나, 예를 들어 게이트웨이의 [JWT 시크릿이 교체된](/docs/ko/claude-apps-gateway-deploy#jwt-secret-rotation) 후처럼 게이트웨이가 더 이상 해당 세션을 허용하지 않습니다. `claude`를 대화형으로 시작할 때 이 줄이 표시되면, 세션이 게이트웨이에서 로그아웃된 상태로 열린 것입니다.
1744 1754
1745```text theme={null}1755```text theme={null}
1746Cloud gateway session expired — run /login to reconnect.1756Cloud gateway session expired — run /login to reconnect.
1747```1757```
1748 1758
1749동일한 라인이 게이트웨이 자격증명이 만료되고 Claude Code가 갱신할 수 없을 때 세션 중에 나타날 수 있습니다.1759게이트웨이 자격 증명이 만료되고 Claude Code가 이를 갱신할 수 없는 경우 세션 도중에도 같은 줄이 표시될 수 있습니다.
1750 1760
1751[비대화형](/docs/ko/headless) 실행, 백그라운드 또는 기타 무인 세션 또는 `claude auth` 이외의 `claude` 하위 명령에서, Claude Code는 게이트웨이가 더 이상 세션을 수락하지 않을 때 대신 이 메시지로 종료됩니다:1761[비대화형](/docs/ko/headless) 실행, 백그라운드 또는 기타 무인 세션, 또는 `claude auth` 이외의 `claude` 하위 명령에서는 게이트웨이가 더 이상 세션을 허용하지 않을 때 Claude Code가 대신 다음 메시지와 함께 종료됩니다.
1752 1762
1753```text theme={null}1763```text theme={null}
1754Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.1764Cloud gateway <url> no longer accepts this session. Start `claude` and sign in again with /login.
1755```1765```
1756 1766
1757**수행할 작업:**1767**조치 방법:**
1758 1768
1759* 세션에서 `/login`을 실행하고 브라우저 로그인을 완료합니다.1769* 세션에서 `/login`을 실행하고 브라우저 로그인을 완료하십시오
1760* 비대화형 실행의 경우, 동일한 환경에서 `claude`를 시작하고, `/login`을 실행한 후 명령을 다시 실행합니다.1770* 비대화형 실행의 경우 동일한 환경에서 `claude`를 시작하고 `/login`을 실행한 다음 명령을 다시 실행하십시오
1761 1771
1762<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">1772<h3 id="sign-in-timed-out-while-waiting-for-you-to-continue">
1763 로그인이 계속하기를 기다리다가 시간 초과되었습니다1773 Sign-in timed out while waiting for you to continue
1764</h3>1774</h3>
1765 1775
1766[Claude apps 게이트웨이](/docs/ko/claude-apps-gateway) 로그인 중에 게이트웨이가 로그인한 계정의 이름을 지정했으며, Claude Code가 자격증명을 저장하기 전에 확인하도록 요청했습니다. 로그인 자신의 만료를 지나 확인을 열어 두었으며, 게이트웨이가 갱신할 수 있는 새로 고침 토큰을 발급하지 않았으므로, Claude Code가 계속할 때 아무것도 저장하지 않았습니다:1776[Claude apps 게이트웨이](/docs/ko/claude-apps-gateway) 로그인 중에 게이트웨이가 로그인한 계정을 알려 주었고, Claude Code는 자격 증명을 저장하기 전에 해당 계정을 확인하도록 요청했습니다. 확인 화면을 로그인 자체의 만료 시간이 지나도록 열어 두었고, 게이트웨이가 이를 갱신할 수 있는 리프레시 토큰을 발급하지 않았기 때문에, 계속을 선택했을 때 Claude Code는 아무것도 저장하지 않았습니다.
1767 1777
1768```text theme={null}1778```text theme={null}
1769Sign-in timed out while waiting for you to continue. Try again.1779Sign-in timed out while waiting for you to continue. Try again.
1770```1780```
1771 1781
1772**수행할 작업:**1782**조치 방법:**
1773 1783
1774* `/login`을 다시 실행하고 로그인이 만료되기 전에 계정을 확인합니다.1784* `/login`을 다시 실행하고 로그인이 만료되기 전에 계정을 확인하십시오
1775 1785
1776<h3 id="gateway-refused-the-request">1786<h3 id="gateway-refused-the-request">
1777 게이트웨이가 요청을 거부했습니다1787 Gateway refused the request
1778</h3>1788</h3>
1779 1789
1780[Claude apps 게이트웨이](/docs/ko/claude-apps-gateway)를 통해 로그인했으며, 요청이 403을 반환했습니다: 게이트웨이 또는 뒤의 업스트림이 거부했습니다. 다시 로그인하면 거부가 변경되지 않으므로, 메시지는 게이트웨이 관리자를 가리킵니다:1790[Claude apps 게이트웨이](/docs/ko/claude-apps-gateway)를 통해 로그인한 상태에서 요청이 403을 반환했습니다. 게이트웨이 또는 그 뒤의 업스트림이 요청을 거부한 것입니다. 다시 로그인해도 거부는 바뀌지 않으므로, 메시지는 게이트웨이 관리자에게 문의하도록 안내합니다.
1781 1791
1782```text theme={null}1792```text theme={null}
1783Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...1793Gateway refused the request · signing in again won't change this — check with your gateway administrator · API Error: 403 ...
1784```1794```
1785 1795
1786**수행할 작업:**1796**조치 방법:**
1787 1797
1788* 게이트웨이 관리자에게 요청을 조회하도록 요청합니다. `API Error:` 꼬리는 게이트웨이가 반환한 거부를 전달합니다.1798* 게이트웨이 관리자에게 해당 요청을 조회하도록 요청하십시오. `API Error:` 뒷부분에 게이트웨이가 반환한 거부 내용이 포함되어 있습니다
1789* 관리자의 경우: 게이트웨이의 [액세스 제어 규칙](/docs/ko/claude-apps-gateway-config#http-tuning)이 [감사 로그](/docs/ko/claude-apps-gateway-deploy#logs)가 이유와 함께 기록하는 403을 반환하며, 업스트림의 인증 거부는 [업스트림 오류 메시지](/docs/ko/claude-apps-gateway-config#upstream-error-messages)에 따라 통과합니다.1799* 관리자의 경우: 게이트웨이의 [액세스 제어 규칙](/docs/ko/claude-apps-gateway-config#http-tuning)은 403을 반환하며 [감사 로그](/docs/ko/claude-apps-gateway-deploy#logs)에 그 사유가 기록됩니다. 업스트림의 인가 거부는 [업스트림 오류 메시지](/docs/ko/claude-apps-gateway-config#upstream-error-messages)에 따라 그대로 전달됩니다
1790 1800
1791v2.1.273 이전에는 게이트웨이 세션의 403이 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지를 표시했으며, 다시 로그인해도 거부가 지워지지 않았습니다.1801v2.1.273 이전에는 게이트웨이 세션의 403에 대해 일반적인 `Please run /login` 또는 `Failed to authenticate` 메시지가 대신 표시되었으며, 다시 로그인해도 거부가 해소되지 않았습니다.
1792 1802
1793<h2 id="network-and-connection-errors">1803<h2 id="network-and-connection-errors">
1794 네트워크 및 연결 오류1804 네트워크 및 연결 오류
1848 1858
1849Claude Code는 API 요청과 동일한 [프록시 구성](/docs/ko/network-config)을 통해 확인을 보내고 각 프로브에 10초를 제공합니다. 실패한 프로브가 프록시를 통과한 경우, 메시지는 `HTTPS_PROXY`와 같이 이를 구성한 환경 변수의 이름을 지정합니다. v2.1.222 이전에는 확인이 타임아웃이 없는 다른 프록시 전송을 사용했습니다. `https://` 스키마가 있는 프록시 URL 뒤에서 `Checking connectivity...`에서 무한정 정지될 수 있었고, 동일한 프록시를 통한 API 요청이 성공하더라도 실패할 수 있었습니다.1859Claude Code는 API 요청과 동일한 [프록시 구성](/docs/ko/network-config)을 통해 확인을 보내고 각 프로브에 10초를 제공합니다. 실패한 프로브가 프록시를 통과한 경우, 메시지는 `HTTPS_PROXY`와 같이 이를 구성한 환경 변수의 이름을 지정합니다. v2.1.222 이전에는 확인이 타임아웃이 없는 다른 프록시 전송을 사용했습니다. `https://` 스키마가 있는 프록시 URL 뒤에서 `Checking connectivity...`에서 무한정 정지될 수 있었고, 동일한 프록시를 통한 API 요청이 성공하더라도 실패할 수 있었습니다.
1850 1860
1851Claude Code는 [관리되는 설정 파일, MDM 정책 또는 정책 도우미](/docs/ko/managed-settings)가 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정하거나 `forceLoginMethod` 없이 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl)을 설정할 때 이 확인을 건너뜁니다. 두 구성 중 하나를 사용하면 Claude Code는 Anthropic 로그인 방법이 아닌 **클라우드 게이트웨이** 화면에서 로그인 단계를 엽니다. Claude Code는 또한 머신에 관리되는 설정 소스가 존재하지만 읽을 수 없을 때 확인을 건너뜁니다. 해당 소스가 게이트웨이 구성을 보유할 수 있기 때문입니다. v2.1.247 이전에는 Claude Code가 이 구성에서도 확인을 실행했고, Anthropic의 엔드포인트에 도달할 수 없을 때 이 오류로 종료했습니다.1861Claude Code는 [관리형 설정 파일, MDM 정책 또는 정책 도우미](/docs/ko/managed-settings)가 [`forceLoginMethod`](/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정하거나 `forceLoginMethod` 없이 [`forceLoginGatewayUrl`](/docs/ko/settings-reference#forcelogingatewayurl)을 설정할 때 이 확인을 건너뜁니다. 두 구성 중 하나를 사용하면 Claude Code는 Anthropic 로그인 방법이 아닌 **클라우드 게이트웨이** 화면에서 로그인 단계를 엽니다. Claude Code는 또한 머신에 관리형 설정 소스가 존재하지만 읽을 수 없을 때 확인을 건너뜁니다. 해당 소스가 게이트웨이 구성을 보유할 수 있기 때문입니다. v2.1.247 이전에는 Claude Code가 이 구성에서도 확인을 실행했고, Anthropic의 엔드포인트에 도달할 수 없을 때 이 오류로 종료했습니다.
1852 1862
1853**수행할 작업:**1863**수행할 작업:**
1854 1864
1884그 시작 후, 메시지는 반환된 내용과 실패한 요청을 보고합니다:1894그 시작 후, 메시지는 반환된 내용과 실패한 요청을 보고합니다:
1885 1895
1886* 콘텐츠 유형, `body is an HTML page` 또는 `empty body`와 같은 본문의 종류, 바이트 단위의 크기, 응답이 Anthropic 요청 ID를 전달했는지 여부를 포함하는 `Response:` 절. 응답이 `nginx` 또는 `cloudflare`와 같은 인식 가능한 서버의 이름을 지정하거나 `cf-ray` 또는 `via`와 같은 중간 헤더를 전달하는 경우, 절은 이들도 나열합니다.1896* 콘텐츠 유형, `body is an HTML page` 또는 `empty body`와 같은 본문의 종류, 바이트 단위의 크기, 응답이 Anthropic 요청 ID를 전달했는지 여부를 포함하는 `Response:` 절. 응답이 `nginx` 또는 `cloudflare`와 같은 인식 가능한 서버의 이름을 지정하거나 `cf-ray` 또는 `via`와 같은 중간 헤더를 전달하는 경우, 절은 이들도 나열합니다.
1887* 실패한 스트리밍 요청의 ID와 재시도를 트리거한 실패의 이름을 지정하는 문장. 스트림이 실패 전에 열린 경우, 도착한 스트림 이벤트의 수와 도움이 된 경우 시도가 실패했을 때 스트림이 얼마나 오래 침묵했는지도 보고합니다.1897* 실패한 스트리밍 요청의 ID와 재시도를 트리거한 실패의 이름을 지정하는 문장. 스트림이 실패 전에 열린 경우, 도착한 스트림 이벤트의 수와, 이벤트가 하나라도 도착했다면 시도가 실패했을 때 스트림이 얼마나 오래 침묵했는지도 보고합니다.
1888 1898
1889v2.1.234 이전에는 메시지가 `intercepting the request` 후에 종료되었습니다.1899v2.1.234 이전에는 메시지가 `intercepting the request` 후에 종료되었습니다.
1890 1900
1977 1987
1978**수행할 작업:**1988**수행할 작업:**
1979 1989
1980이러한 단계는 자신의 환경 중 하나를 변경합니다. [조직 공유 환경](/docs/ko/cloud-environments#organization-shared-environments)은 선택기에서 읽기 전용으로 열리므로, [관리 설정](https://claude.ai/admin-settings)의 **클라우드 환경** 페이지에서 소유자에게 네트워크 액세스를 변경하도록 요청합니다.1990이러한 단계는 자신의 환경 중 하나를 변경합니다. [조직 공유 환경](/docs/ko/cloud-environments#organization-shared-environments)은 선택기에서 읽기 전용으로 열리므로, [관리자 설정](https://claude.ai/admin-settings)의 **클라우드 환경** 페이지에서 Owner에게 네트워크 액세스를 변경하도록 요청합니다.
1981 1991
1982* 루틴을 편집하기 위해 열거나 클라우드 세션을 시작합니다. 환경의 이름(예: **기본**)을 표시하는 클라우드 아이콘을 선택하여 선택기를 엽니다. 환경 위에 마우스를 올리고 설정 아이콘을 클릭합니다.1992* [루틴의 양식](/docs/ko/routines#environments-and-network-access) 또는 클라우드 세션을 시작하는 [환경 선택기](/docs/ko/cloud-environments#configure-your-environment)에서 환경을 편집용으로 엽니다.
1983* **클라우드 환경 업데이트** 대화 상자에서 **네트워크 액세스**를 **신뢰할 수 있는**에서 **사용자 정의**로 변경한 다음 차단된 도메인을 **허용된 도메인**에 추가합니다. 한 줄에 하나의 도메인을 입력합니다. **또한 일반적인 패키지 관리자의 기본 목록 포함**을 확인하여 사용자 정의 도메인과 함께 [기본 허용 목록](/docs/ko/cloud-environments#default-allowed-domains)을 유지합니다. 제한 없는 액세스를 원하는 경우 대신 **전체**를 선택합니다.1993* **클라우드 환경 편집** 대화 상자에서 **네트워크 액세스**를 **신뢰할 수 있는**에서 **사용자 정의**로 변경한 다음 차단된 도메인을 **허용된 도메인**에 추가합니다. 한 줄에 하나의 도메인을 입력합니다. **또한 일반적인 패키지 관리자의 기본 목록 포함**을 확인하여 사용자 정의 도메인과 함께 [기본 허용 목록](/docs/ko/cloud-environments#default-allowed-domains)을 유지합니다. 제한 없는 액세스를 원하는 경우 대신 **전체**를 선택합니다.
1984* **변경 사항 저장**을 클릭합니다. 다음 실행은 업데이트된 허용 목록을 사용합니다. 이미 열려 있는 클라우드 세션의 경우, [네트워크 액세스 변경이 기존 세션에 도달할 때](/docs/ko/cloud-environments#network-access)를 참조합니다.1994* **변경 사항 저장**을 클릭합니다. 다음 실행은 업데이트된 허용 목록을 사용합니다. 이미 열려 있는 클라우드 세션의 경우, [네트워크 액세스 변경이 기존 세션에 도달할 때](/docs/ko/cloud-environments#network-access)를 참조합니다.
1985 1995
1986액세스 수준 및 기본 허용 목록은 [네트워크 액세스](/docs/ko/cloud-environments#network-access)를 참조합니다. 로컬 CLI 세션은 이 정책의 영향을 받지 않습니다.1996액세스 수준 및 기본 허용 목록은 [네트워크 액세스](/docs/ko/cloud-environments#network-access)를 참조합니다. 로컬 CLI 세션은 이 정책의 영향을 받지 않습니다.
2023The cloud environments service returned a response in an unexpected format (HTTP 200 without a usable environments list). This is usually temporary — try again in a moment.2033The cloud environments service returned a response in an unexpected format (HTTP 200 without a usable environments list). This is usually temporary — try again in a moment.
2024```2034```
2025 2035
2026서버는 요청을 수락했지만 환경 목록이 아닌 본문으로 응답했습니다: 비어 있음, JSON이 아님, 또는 목록이 없는 JSON. 이는 일반적으로 서비스 측 중단을 동반하며 자체적으로 해결됩니다. 목록을 요청한 표면에 따라 Claude Code는 `/remote-env` 대화 상자에서 `couldn't list environments:`와 같은 접두사를 추가할 수 있습니다.2036서버는 요청을 수락했지만 환경 목록이 아닌 본문으로 응답했습니다: 비어 있음, JSON이 아님, 또는 목록이 없는 JSON. 이는 일반적으로 서비스 측 중단을 동반하며 자체적으로 해결됩니다. 목록을 요청한 사용 환경에 따라 Claude Code는 `/remote-env` 대화 상자에서 `couldn't list environments:`와 같은 접두사를 추가할 수 있습니다.
2027 2037
2028**수행할 작업:**2038**수행할 작업:**
2029 2039
2062 2072
2063**수행할 작업:**2073**수행할 작업:**
2064 2074
2065* Claude Code가 이 메시지 아래에 유지된 worktree를 나열할 때 이들에서 커밋되지 않은 작업을 선택합니다.2075* Claude Code가 이 메시지 아래에 유지된 worktree를 나열할 때 이들에서 커밋되지 않은 작업을 가져옵니다.
2066* `claude remote-control`을 실행하여 새로운 환경을 시작합니다.2076* `claude remote-control`을 실행하여 새로운 환경을 시작합니다.
2067 2077
2068<h3 id="couldnt-share-the-transcript">2078<h3 id="couldnt-share-the-transcript">
2075Couldn't share the transcript.2085Couldn't share the transcript.
2076```2086```
2077 2087
2078업로드는 8 MiB 제한에 맞아야 합니다. 긴 세션에서 Claude Code는 점진적으로 공유의 일부를 삭제합니다. 마지막 요청의 모델 설정이 먼저, 그 다음 구조화된 대화 및 서브에이전트 트랜스크립트이며, 축소된 버전을 보낼 수 없거나 네트워크 또는 서버 오류가 업로드를 중지할 때만 이 메시지를 표시합니다. Claude Code가 로컬 아카이브를 대신 저장할 때, 메시지는 아카이브를 쓸 수 없었음을 의미합니다.2088업로드는 8 MiB 제한에 맞아야 합니다. 긴 세션에서 Claude Code는 점진적으로 공유의 일부를 삭제합니다. 마지막 요청의 모델 설정이 먼저, 그 다음 구조화된 대화 및 서브에이전트 트랜스크립트이며, 축소된 버전을 보낼 수 없거나 네트워크 또는 서버 오류가 업로드를 중지할 때 이 메시지를 표시합니다. Claude Code가 로컬 아카이브를 대신 저장할 때, 메시지는 아카이브를 쓸 수 없었음을 의미합니다.
2079 2089
2080**수행할 작업:**2090**수행할 작업:**
2081 2091
2101 2111
2102**수행할 작업:**2112**수행할 작업:**
2103 2113
2104* 서명되지 않은 표현의 경우, `/login`을 실행하고 다시 보냅니다.2114* 로그인되지 않았다는 문구의 경우, `/login`을 실행하고 다시 보냅니다.
2105* 그 외의 경우, 다시 보냅니다. 다른 요청도 실패하는 경우, 네트워크 연결을 확인하고 [API에 연결할 수 없음](#unable-to-connect-to-api)을 참조합니다.2115* 그 외의 경우, 다시 보냅니다. 다른 요청도 실패하는 경우, 네트워크 연결을 확인하고 [API에 연결할 수 없음](#unable-to-connect-to-api)을 참조합니다.
2106* 계속 실패하면 메시지가 말하는 대로 [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)에서 보고서를 제출합니다.2116* 계속 실패하면 메시지가 말하는 대로 [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)에서 보고서를 제출합니다.
2107 2117
2847 명령줄 오류2857 명령줄 오류
2848</h2>2858</h2>
2849 2859
2850이러한 오류는 `claude` 명령줄과 그 하위 명령어, 프롬프트에서 제출하는 명령어 이름, 그리고 셸 명령어를 실행하여 컨텍스트를 수집한 후 프롬프트를 실행하는 `/security-review` 같은 명령어에서 발생합니다. 또한 CLI를 다시 시작하는 `/tui`에서도 발생합니다.2860이러한 오류는 `claude` 명령줄과 그 하위 명령, 프롬프트에서 제출하는 명령 이름, 그리고 `/security-review`처럼 프롬프트가 실행되기 전에 셸 명령을 실행하여 컨텍스트를 수집하는 명령에서 발생합니다. CLI를 다시 시작하는 `/tui`에서도 발생합니다.
2851 2861
2852<h3 id="conflict-between-bg-and-print">2862<h3 id="conflict-between-bg-and-print">
2853 \--bg와 --print 간의 충돌2863 `--bg`와 `--print` 간 충돌
2854</h3>2864</h3>
2855 2865
2856이 메시지는 Claude Code v2.1.198 이상이 필요합니다. 동일한 `claude` 호출에서 `--bg`를 `-p` 또는 `--print`와 결합했습니다. `--bg`는 나중에 `claude agents`로 연결할 수 있는 [백그라운드 세션](/docs/ko/agent-view#from-your-shell)을 시작하는 반면, `--print`는 [비대화형](/docs/ko/headless)으로 실행되며 `claude agents`가 연결할 수 있는 대화형 세션을 시작하지 않습니다. v2.1.198 이전에는 이 조합이 연결할 수 없는 백그라운드 작업을 자동으로 생성했습니다.2866이 메시지는 Claude Code v2.1.198 이상이 필요합니다. 같은 `claude` 호출에서 `--bg`를 `-p` 또는 `--print`와 함께 사용한 경우입니다. `--bg`는 나중에 `claude agents`로 연결하는 [백그라운드 세션](/docs/ko/agent-view#from-your-shell)을 시작하는 반면, `--print`는 [비대화형](/docs/ko/headless)으로 실행되며 `claude agents`가 연결하는 대화형 세션을 시작하지 않습니다. v2.1.198 이전에는 이 조합이 아무 메시지 없이 연결할 수 없는 백그라운드 작업을 생성했습니다.
2857 2867
2858```text theme={null}2868```text theme={null}
2859--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.2869--bg and --print conflict: --print never starts the interactive session that `claude agents` attaches to, so the job would be unattachable. The prompt is the positional — drop --print: `claude --bg '<task>'`.
2860```2870```
2861 2871
2862**해야 할 일:**2872**조치 방법:**
2863 2873
2864* `-p` 또는 `--print`를 제거합니다. `--bg`는 프롬프트를 위치 인수로 사용하므로 `claude --bg "<task>"`가 완전한 명령어입니다. [셸에서 새 에이전트 디스패치](/docs/ko/agent-view#from-your-shell)를 참조하세요.2874* `-p` 또는 `--print`를 제거합니다. `--bg`는 프롬프트를 위치 인수로 받으므로 `claude --bg "<task>"`만으로 완전한 명령이 됩니다. [셸에서 새 에이전트 디스패치하기](/docs/ko/agent-view#from-your-shell)를 참조하세요.
2865* 프롬프트를 비대화형으로 실행하고 백그라운드 세션을 만드는 대신 결과를 출력하려면 `--bg`를 제거하고 `claude -p "<task>"`를 실행합니다.2875* 백그라운드 세션을 만드는 대신 프롬프트를 비대화형으로 실행하고 결과를 출력하려면 `--bg`를 제거하고 `claude -p "<task>"`를 실행합니다
2876
2877<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">
2878 시스템 프롬프트 플래그와 해당 파일 형식 간 충돌
2879</h3>
2880
2881하나의 `claude` 호출에서 [`--append-subagent-system-prompt`](/docs/ko/cli-reference#cli-flags)를 `--append-subagent-system-prompt-file`과 함께 전달했기 때문에 `claude`가 세션을 시작하지 않고 코드 1로 종료됩니다:
2882
2883```text theme={null}
2884Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.
2885```
2886
2887v2.1.283 이전에는 `--system-prompt`를 `--system-prompt-file`과 함께, 또는 `--append-system-prompt`를 `--append-system-prompt-file`과 함께 전달했을 때도 `claude`가 같은 방식으로 종료되었습니다. 이 쌍들이 [결합](/docs/ko/cli-reference#system-prompt-flags)되지 않고 충돌했기 때문입니다. 해당 버전에서는 메시지에 함께 사용한 쌍이 표시됩니다.
2888
2889**조치 방법:**
2890
2891* 플래그의 한 가지 형식만 유지하고 다른 하나는 제거합니다. 고정된 프롬프트 파일과 실행별 텍스트를 결합하려면 두 플래그를 모두 전달하는 대신 실행 전에 텍스트를 파일에 병합합니다
2866 2892
2867<h3 id="invalid-agents-configuration">2893<h3 id="invalid-agents-configuration">
2868 잘못된 --agents 구성2894 잘못된 `--agents` 구성
2869</h3>2895</h3>
2870 2896
2871`--agents`에 전달한 값이 유효하지 않아서 `claude`가 세션을 시작하는 대신 코드 1로 종료됩니다. `--safe-mode`를 전달하거나 [`CLAUDE_CODE_SAFE_MODE`](/docs/ko/env-vars#variables)를 설정하면 Claude Code는 `--agents`를 완전히 무시합니다. `--resume` 또는 `--continue`를 사용하면 인라인 JSON 값은 확인되지 않고 세션이 시작됩니다. 파일에서 읽은 값은 매번 시작할 때 확인됩니다. v2.1.242 이전에는 Claude Code가 어쨌든 세션을 시작했습니다.2897`--agents`에 전달한 값이 유효하지 않으므로 `claude`가 세션을 시작하지 않고 코드 1로 종료됩니다. `--safe-mode`를 전달하거나 [`CLAUDE_CODE_SAFE_MODE`](/docs/ko/env-vars#variables)를 설정하면 Claude Code는 `--agents`를 완전히 무시합니다. `--resume` 또는 `--continue`를 사용하면 인라인 JSON 값은 검사되지 않고 세션이 시작되며, 파일에서 읽은 값은 실행할 때마다 검사됩니다. v2.1.242 이전에는 Claude Code가 그대로 세션을 시작했습니다.
2872 2898
2873```text theme={null}2899```text theme={null}
2874Error: Invalid --agents configuration:2900Error: Invalid --agents configuration:
2875<what failed>2901<what failed>
2876```2902```
2877 2903
2878첫 번째 줄 다음에 오는 내용은 값이 어떻게 실패했는지에 따라 달라집니다. Claude Code는 이러한 확인을 순서대로 실행하고 실패하는 첫 번째 확인에서 중지합니다. 값에 두 가지 문제가 있으면 첫 번째를 수정한 후에만 두 번째를 볼 수 있습니다:2904첫 번째 줄 다음에 오는 내용은 값이 어떻게 실패했는지에 따라 달라집니다. Claude Code는 다음 검사를 순서대로 실행하며 처음 실패하는 검사에서 중단합니다. 값에 두 종류의 문제가 있으면 첫 번째 문제를 수정한 후에야 두 번째 문제가 표시됩니다:
2879 2905
28801. 값이 `{`로 시작하지만 JSON으로 파싱되지 않거나 `--agents` 파일의 내용이 파싱되지 않으면 Claude Code는 JSON 파서의 메시지를 포함하는 `invalid JSON:` 줄 하나를 출력합니다.29061. 값이 `{`로 시작하지만 JSON으로 파싱되지 않거나 `--agents` 파일의 내용이 파싱되지 않으면, Claude Code는 JSON 파서 자체의 메시지를 담은 `invalid JSON:` 줄 하나를 출력합니다
28812. 파싱되지만 에이전트 정의가 [CLI 정의 하위 에이전트](/docs/ko/sub-agents#choose-the-subagent-scope)의 스키마와 일치하지 않으면 Claude Code는 문제당 한 줄을 출력합니다.29072. 파싱은 되지만 에이전트 정의가 [CLI에서 정의한 서브에이전트](/docs/ko/sub-agents#choose-the-subagent-scope)의 스키마와 일치하지 않으면, Claude Code는 문제마다 한 줄씩 출력합니다
28823. 에이전트 이름이 `-`로 시작하면 Claude Code는 `<name>: agent names must not start with '-'`를 출력합니다.29083. 에이전트 이름이 `-`로 시작하면 Claude Code는 `<name>: agent names must not start with '-'`를 출력합니다
2883 2909
2884문제 줄이 20개를 초과하면 Claude Code는 처음 20개를 출력하고 나머지를 `…and N more`로 바꿉니다.2910문제 줄이 20개를 넘으면 Claude Code는 처음 20개를 출력하고 나머지는 `…and N more`로 대체합니다.
2885 2911
2886`--print`를 사용하면 `--agents`는 인라인 객체 대신 [JSON 파일의 경로](/docs/ko/sub-agents#choose-the-subagent-scope)도 허용합니다. v2.1.281 이전에는 `--agents`가 인라인 JSON만 허용했고 파일 경로를 유효하지 않은 JSON으로 취급했습니다. 파일 형식에는 이 메시지 대신 출력되는 자체 거부가 있습니다:2912`--print`와 함께 사용하면 `--agents`는 인라인 객체 대신 [JSON 파일 경로](/docs/ko/sub-agents#choose-the-subagent-scope)도 받습니다. v2.1.281 이전에는 `--agents`가 인라인 JSON만 받았으며 파일 경로를 잘못된 JSON으로 처리했습니다. 파일 형식에는 자체적인 거부 메시지가 있으며, 이 메시지 대신 출력됩니다. 다음은 그 예입니다:
2887 2913
2888* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code가 대화형 세션에서 값을 파일 경로로 읽었습니다. 정의를 인라인 JSON으로 전달하거나 `-p`를 추가하여 파일에서 읽습니다.2914* **`Error: --agents takes a JSON object, or a file path only with --print (-p)`**: Claude Code가 대화형 세션에서 값을 파일 경로로 읽었습니다. 정의를 인라인 JSON으로 전달하거나, `-p`를 추가하여 파일에서 읽도록 합니다.
2889* **`Error: --agents file not found: <path>`**: 해당 경로에 파일이 없습니다. `{`로 시작하지 않고 유효한 JSON이 아닌 값은 경로로 읽혀지므로 셸이 손상시킨 인라인 JSON도 이런 식으로 실패할 수 있습니다. 경로 또는 인용을 확인하고 명령어를 다시 실행합니다.2915* **`Error: --agents file not found: <path>`**: 해당 경로에 파일이 없습니다. `{`로 시작하지 않고 유효한 JSON도 아닌 값은 경로로 읽히므로, 셸이 망가뜨린 인라인 JSON도 이런 방식으로 실패할 수 있습니다. 경로나 따옴표 처리를 확인한 후 명령을 다시 실행합니다.
2890 2916
2891**해야 할 일:**2917**조치 방법:**
2892 2918
2893* 메시지가 나열한 각 문제를 수정한 후 명령어를 다시 실행합니다. [CLI 정의 하위 에이전트가 사용하는 필드](/docs/ko/sub-agents#choose-the-subagent-scope)를 참조하세요.2919* 메시지에 나열된 각 문제를 수정한 후 명령을 다시 실행합니다. [CLI에서 정의한 서브에이전트가 받는 필드](/docs/ko/sub-agents#choose-the-subagent-scope)를 참조하세요.
2894 2920
2895<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">2921<h3 id="cloud-sessions-cannot-be-created-from-a-restricted-session">
2896 클라우드 세션을 --restricted 세션에서 만들 수 없음2922 `--restricted` 세션에서는 클라우드 세션을 만들 수 없음
2897</h3>2923</h3>
2898 2924
2899[`--restricted`](/docs/ko/cli-reference#cli-flags)로 세션을 시작하면 Claude Code는 이 세션에서 [클라우드 세션](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud)을 만드는 것을 거부합니다. 새 세션이 제한된 프로세스 외부에서 실행되고 제한된 모드를 적용하지 않기 때문입니다. Claude Code는 서버에 연결하기 전에 클라이언트에서 거부하므로 클라우드 세션이 생성되지 않습니다:2925[`--restricted`](/docs/ko/cli-reference#cli-flags)로 세션을 시작하면 Claude Code는 해당 세션에서 [클라우드 세션](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud)을 만드는 것을 거부합니다. 새 세션이 제한된 프로세스 밖에서 실행되어 제한 모드를 적용하지 않기 때문입니다. Claude Code는 서버에 연결하기 전에 클라이언트에서 거부하므로 클라우드 세션이 생성되지 않습니다:
2900 2926
2901```text theme={null}2927```text theme={null}
2902Cloud sessions cannot be created from a --restricted session: they would not enforce it.2928Cloud sessions cannot be created from a --restricted session: they would not enforce it.
2903```2929```
2904 2930
2905**해야 할 일:**2931**조치 방법:**
2906 2932
2907* 제한된 세션에서 로컬로 작업을 실행합니다.2933* 제한된 세션에서 작업을 로컬로 실행합니다
2908* 세션이 어떻게 시작되었는지 제어할 수 있으면 `--restricted` 없이 새 `claude` 세션을 시작하고 거기서 클라우드 세션을 만듭니다.2934* 세션이 시작되는 방식을 제어할 수 있다면 `--restricted` 없이 새 `claude` 세션을 시작하고 그곳에서 클라우드 세션을 만듭니다
2909 2935
2910v2.1.248 이전에는 Claude Code에 `--restricted` 플래그가 없었고 이전 버전은 알 수 없는 옵션 오류로 플래그 자체를 거부했습니다.2936v2.1.248 이전에는 Claude Code에 `--restricted` 플래그가 없었으며, 이전 버전은 알 수 없는 옵션 오류로 플래그 자체를 거부합니다.
2911 2937
2912<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">2938<h3 id="cloud-sessions-are-disabled-by-your-organizations-policy">
2913 조직의 정책에 의해 클라우드 세션이 비활성화됨2939 조직 정책에 의해 클라우드 세션이 비활성화됨
2914</h3>2940</h3>
2915 2941
2916조직의 `allow_remote_sessions` 정책이 꺼져 있어서 [클라우드 세션](/docs/ko/claude-code-on-the-web)과 이를 사용하는 명령어를 사용할 수 없습니다:2942조직의 `allow_remote_sessions` 정책이 꺼져 있으므로 [클라우드 세션](/docs/ko/claude-code-on-the-web)과 이를 사용하는 명령을 사용할 수 없습니다:
2917 2943
2918```text theme={null}2944```text theme={null}
2919Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.2945Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them.
2920```2946```
2921 2947
2922메시지는 [터미널에서 클라우드 세션을 만들](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud) 때 나타나고 `/teleport`, `/remote-env`, 또는 `/web-setup` 같은 클라우드 세션이 필요한 명령어를 제출할 때 나타납니다. v2.1.268 이전에는 이러한 명령어 중 하나를 제출하면 대신 [`Unknown command`](#unknown-command)를 반환했습니다.2948이 메시지는 [터미널에서 클라우드 세션을 만들 때](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud)와 `/teleport`, `/remote-env`, `/web-setup`처럼 클라우드 세션이 필요한 명령을 제출할 때 나타납니다. v2.1.268 이전에는 이러한 명령 중 하나를 제출하면 대신 [`Unknown command`](#unknown-command)가 반환되었습니다.
2923 2949
2924이것은 서버 측 조직 정책이므로 로컬 설정, 환경 변수 또는 CLI 플래그에서 재정의할 수 없습니다.2950이는 서버 측 조직 정책이므로 로컬 설정, 환경 변수 또는 CLI 플래그로 재정의할 수 없습니다.
2925 2951
2926Claude Code가 조직의 정책을 아직 로드하지 않았거나 가져올 수 없으면 이러한 명령어는 대신 `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.`으로 응답합니다.2952Claude Code가 아직 조직의 정책을 로드하지 않았거나 가져올 수 없는 경우, 해당 명령은 대신 `Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.`으로 응답합니다.
2927 2953
2928**해야 할 일:**2954**조치 방법:**
2929 2955
2930* 조직의 [Owner](/docs/ko/server-managed-settings#access-control)에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)의 Claude Code 관리자 설정에서 클라우드 세션을 활성화하도록 요청합니다.2956* 조직의 [Owner](/docs/ko/server-managed-settings#access-control)에게 [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)의 Claude Code 관리자 설정에서 클라우드 세션을 활성화하도록 요청합니다
2931* 메시지에서 정책을 확인할 수 없다고 하면 네트워크 연결을 확인한 후 Claude Code를 다시 시작하고 다시 시도합니다.2957* 메시지에 정책을 확인할 수 없다고 표시되면 네트워크 연결을 확인한 후 Claude Code를 다시 시작하고 다시 시도합니다
2932 2958
2933<h3 id="the-json-schema-value-is-not-a-valid-json-schema">2959<h3 id="the-json-schema-value-is-not-a-valid-json-schema">
2934 \--json-schema 값이 유효한 JSON Schema가 아님2960 `--json-schema` 값이 유효한 JSON Schema가 아님
2935</h3>2961</h3>
2936 2962
2937[비대화형 모드](/docs/ko/headless#get-structured-output)에서 [`--json-schema`](/docs/ko/cli-reference#cli-flags)에 전달한 스키마가 JSON Schema 컴파일에 실패했으므로 `claude`가 프롬프트를 실행하는 대신 코드 1로 종료됩니다. v2.1.205 이전에는 유효하지 않은 스키마가 오류 없이 구조화되지 않은 출력을 생성했고 `format` 키워드를 사용하는 모든 스키마는 유효하지 않은 것으로 처리되었습니다.2963[비대화형 모드](/docs/ko/headless#get-structured-output)에서 [`--json-schema`](/docs/ko/cli-reference#cli-flags)에 전달한 스키마가 JSON Schema 컴파일에 실패했으므로 `claude`가 프롬프트를 실행하지 않고 코드 1로 종료됩니다. v2.1.205 이전에는 잘못된 스키마가 오류 없이 구조화되지 않은 출력을 생성했으며, `format` 키워드를 사용하는 모든 스키마가 유효하지 않은 것으로 처리되었습니다.
2938 2964
2939```text theme={null}2965```text theme={null}
2940Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values2966Error: --json-schema is not a valid JSON Schema: data/type must be equal to one of the allowed values
2941```2967```
2942 2968
2943두 번째 콜론 뒤의 텍스트는 검증자의 진단이며 실패한 키워드 또는 위치를 이름 지정합니다. `"format": "email"` 같은 `format` 키워드를 사용하는 스키마는 유효합니다: Claude Code는 `format`을 주석으로 허용하고 적용하지 않습니다.2969두 번째 콜론 뒤의 텍스트는 검증기의 진단 메시지이며 실패한 키워드나 위치를 나타냅니다. `"format": "email"`처럼 `format` 키워드를 사용하는 스키마는 유효합니다. Claude Code는 `format`을 주석으로 받아들이며 이를 강제하지 않습니다.
2944 2970
2945Claude Code는 스키마 컴파일 전에 두 가지 확인을 실행합니다: 파싱할 수 없는 JSON 값을 `Error: --json-schema is not valid JSON`으로 거부하고 유효한 JSON이지만 객체가 아닌 것을 `Error: --json-schema must be a JSON object`로 거부합니다.2971Claude Code는 스키마 컴파일 전에 두 가지 검사를 실행합니다. 파싱할 수 없는 JSON 값은 `Error: --json-schema is not valid JSON`으로 거부하고, 객체가 아닌 유효한 JSON은 `Error: --json-schema must be a JSON object`로 거부합니다.
2946 2972
2947**해야 할 일:**2973**조치 방법:**
2948 2974
2949* 진단이 이름 지정한 스키마 부분을 수정한 후 명령어를 다시 실행합니다.2975* 진단 메시지가 가리키는 스키마 부분을 수정한 후 명령을 다시 실행합니다
2950* [구조화된 출력 가져오기](/docs/ko/headless#get-structured-output)에서 작동하는 스키마와 명령어를 참조하세요.2976* 작동하는 스키마와 명령은 [구조화된 출력 얻기](/docs/ko/headless#get-structured-output)를 참조하세요
2951 2977
2952<h3 id="settings-file-exceeds-the-2mib-limit">2978<h3 id="settings-file-exceeds-the-2mib-limit">
2953 설정 파일이 2MiB 제한을 초과함2979 설정 파일이 2MiB 제한을 초과함
2954</h3>2980</h3>
2955 2981
2956[`--settings`](/docs/ko/cli-reference#cli-flags)에 전달한 파일이 2MiB보다 크므로 `claude`가 시작 시 코드 1로 종료되고 로드하지 않습니다. v2.1.214 이전에는 Claude Code가 크기 확인 없이 파일을 읽었고 수 기가바이트 파일이나 `/dev/zero` 같은 장치 파일이 메모리를 무한정 증가시켰습니다.2982[`--settings`](/docs/ko/cli-reference#cli-flags)에 전달한 파일이 2MiB보다 크므로 `claude`가 파일을 로드하지 않고 시작 시 코드 1로 종료됩니다. v2.1.214 이전에는 Claude Code가 크기 검사 없이 파일을 읽었으며, 수 기가바이트 크기의 파일이나 `/dev/zero` 같은 장치 파일로 인해 메모리가 무한정 증가했습니다.
2957 2983
2958```text theme={null}2984```text theme={null}
2959Error: Settings file exceeds the 2MiB limit: /path/to/settings.json2985Error: Settings file exceeds the 2MiB limit: /path/to/settings.json
2960```2986```
2961 2987
2962Claude Code는 일반 파일이 아닌 `--settings` 경로를 같은 방식으로 거부합니다: 장치, FIFO 또는 소켓은 `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))`을 보고하고 경로를 따르며 디렉토리는 `EISDIR` 이유를 보고합니다.2988Claude Code는 일반 파일이 아닌 `--settings` 경로도 같은 방식으로 거부합니다. 장치, FIFO 또는 소켓은 `Error: Cannot use settings file (Not a regular file (device, FIFO, or socket))`과 함께 경로를 보고하며, 디렉터리는 `EISDIR` 사유를 보고합니다.
2963 2989
2964**해야 할 일:**2990**조치 방법:**
2965 2991
2966* `--settings`를 2MiB 미만의 일반 JSON 설정 파일로 지정합니다. 형식은 [설정](/docs/ko/settings)을 참조하세요.2992* `--settings`가 2MiB 미만의 일반 JSON 설정 파일을 가리키도록 합니다. 형식은 [설정](/docs/ko/settings)을 참조하세요.
2967 2993
2968<h3 id="the-current-directory-no-longer-exists">2994<h3 id="the-current-directory-no-longer-exists">
2969 현재 디렉토리가 더 이상 존재하지 않음2995 현재 디렉터리가 더 이상 존재하지 않음
2970</h3>2996</h3>
2971 2997
2972셸이 디렉토리에 들어간 후 삭제되거나 이동된 디렉토리에서 `claude`를 시작했습니다. 예를 들어 다른 셸이 제거한 worktree 또는 임시 디렉토리입니다. Claude Code가 작업 디렉토리를 읽을 수 없으므로 대화형 및 [비대화형](/docs/ko/headless) 모드 모두에서 세션을 시작하기 전에 코드 1로 종료됩니다. v2.1.239 이전에는 Claude Code가 축소된 번들 소스와 stderr의 원시 `ENOENT ... uv_cwd` 스택으로 충돌했습니다.2998셸이 진입한 후 삭제되거나 이동된 디렉터리에서 `claude`를 시작한 경우입니다. 예를 들어 다른 셸이 제거한 worktree나 임시 디렉터리가 이에 해당합니다. Claude Code가 작업 디렉터리를 읽을 수 없으므로 대화형 모드와 [비대화형](/docs/ko/headless) 모드 모두에서 세션을 시작하기 전에 코드 1로 종료됩니다. v2.1.239 이전에는 이 메시지 대신 Claude Code가 축소된 번들 소스와 원시 `ENOENT ... uv_cwd` 스택을 stderr에 출력하며 충돌했습니다.
2973 2999
2974```text theme={null}3000```text theme={null}
2975The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.3001The current directory no longer exists (it was deleted or moved). Start Claude Code from an existing directory.
2976error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.3002error: The current working directory was deleted, so that command didn't work. Please cd into a different directory and try again.
2977```3003```
2978 3004
2979원인과 해결책은 두 형식 모두 동일합니다.3005두 형식 모두 원인과 해결 방법은 같습니다.
2980 3006
2981Claude Code가 권한 변경 같은 다른 이유로 작업 디렉토리를 읽을 수 없으면 메시지는 오류 코드를 이름 지정합니다: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`3007권한 변경처럼 다른 이유로 Claude Code가 작업 디렉터리를 읽을 수 없는 경우, 메시지에는 대신 오류 코드가 표시됩니다: `Can't read the current directory (EACCES). Start Claude Code from a different directory.`
2982 3008
2983macOS에서 `~/Desktop`, `~/Documents`, `~/Downloads` 또는 iCloud Drive의 디렉토리에 대한 `EPERM`은 보통 macOS가 터미널 앱을 해당 폴더에서 차단하고 있다는 의미입니다. 해당 폴더를 읽는 다른 명령어도 같은 방식으로 실패합니다: `ls`는 `sudo`를 사용해도 `Operation not permitted`를 보고합니다.3009macOS에서 `~/Desktop`, `~/Documents`, `~/Downloads` 또는 iCloud Drive에 있는 디렉터리에 대해 `EPERM`이 발생하면 일반적으로 macOS가 터미널 앱의 해당 폴더 접근을 차단하고 있다는 의미입니다. 해당 폴더를 읽는 다른 명령도 같은 방식으로 실패합니다. 그곳에서 `ls`를 실행하면 `sudo`를 사용하더라도 `Operation not permitted`가 보고됩니다.
2984 3010
2985**해야 할 일:**3011**조치 방법:**
2986 3012
2987* 홈 또는 프로젝트 디렉토리 같은 존재하는 디렉토리로 변경한 후 `claude`를 다시 실행합니다.3013* 홈 디렉터리나 프로젝트 디렉터리처럼 존재하는 디렉터리로 이동한 후 `claude`를 다시 실행합니다
2988* 디렉토리가 같은 경로에서 다시 생성되었으면 셸이 여전히 삭제된 것을 보유합니다. `cd "$PWD"`를 실행하거나 디렉토리를 나갔다가 다시 들어간 후 `claude`를 다시 실행합니다.3014* 디렉터리가 같은 경로에 다시 생성된 경우 셸은 여전히 삭제된 디렉터리를 가리키고 있습니다. `cd "$PWD"`를 실행하거나 디렉터리에서 나갔다가 다시 들어간 후 `claude`를 다시 실행합니다
2989* macOS의 `EPERM`의 경우 Cmd+Q로 터미널 앱을 종료하고 다시 열고 해당 폴더로 돌아가 `claude`를 실행합니다. 해당 폴더의 `ls`가 여전히 실패하면 **System Settings > Privacy & Security > Files and Folders**를 열고 터미널 앱에 대한 폴더를 켠 후 터미널을 다시 엽니다.3015* macOS에서 `EPERM`이 발생하면 Cmd+Q로 터미널 앱을 종료하고 다시 연 후 해당 폴더로 돌아가 `claude`를 실행합니다. 해당 폴더에서 `ls`가 여전히 실패하면 **시스템 설정 > 개인정보 보호 및 보안 > 파일 및 폴더**를 열고 터미널 앱에 대해 해당 폴더를 켠 다음 터미널을 다시 엽니다
2990 3016
2991<h3 id="temp-directory-refused-or-cannot-be-created">3017<h3 id="temp-directory-refused-or-cannot-be-created">
2992 임시 디렉토리가 거부되었거나 만들 수 없음3018 임시 디렉터리가 거부되었거나 생성할 수 없음
2993</h3>3019</h3>
2994 3020
2995macOS 및 Linux에서 Claude Code는 시작 시 시스템 임시 디렉토리 또는 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars) 재정의 아래에 `claude-<uid>` 개인 임시 디렉토리를 만듭니다. 디렉토리를 만들 수 없거나 해당 경로의 항목이 안전 확인에 실패하면 Claude Code는 세션을 시작하는 대신 실패를 stderr에 출력하고 코드 1로 종료됩니다:3021macOS와 Linux에서 Claude Code는 시작 시 시스템 임시 디렉터리 또는 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars) 재정의 위치 아래에 `claude-<uid>`라는 전용 임시 디렉터리를 만듭니다. 디렉터리를 만들 수 없거나 해당 경로에 이미 있는 항목이 안전 검사를 통과하지 못하면, Claude Code는 세션을 시작하지 않고 실패 내용을 stderr에 출력한 후 코드 1로 종료합니다:
2996 3022
2997```text wrap theme={null}3023```text wrap theme={null}
2998ENOSPC: no space left on device, mkdir '/tmp/claude-501'3024ENOSPC: no space left on device, mkdir '/tmp/claude-501'
3004Temp directory /tmp/claude-501 is not readable (its mode may have been altered, or a path component denies search). Refusing to use it — restore its permissions (chmod 0700) or remove it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.3030Temp directory /tmp/claude-501 is not readable (its mode may have been altered, or a path component denies search). Refusing to use it — restore its permissions (chmod 0700) or remove it. Set CLAUDE_CODE_TMPDIR to a directory you control, or ask an administrator to remove it.
3005```3031```
3006 3032
3007**해야 할 일:**3033**조치 방법:**
3008 3034
3009* `ENOSPC`의 경우 임시 디렉토리를 보유하는 볼륨의 디스크 공간을 확보합니다.3035* `ENOSPC`의 경우 임시 디렉터리가 있는 볼륨의 디스크 공간을 확보합니다
3010* `Refusing to use it` 형식의 경우 링크가 가리키는 것이 아니라 이름 지정된 항목 자체를 제거하고 Claude Code를 다시 시작합니다. `owned by uid` 형식의 경우 관리자 또는 해당 사용자만 제거할 수 있습니다.3036* `Refusing to use it` 형식의 경우 링크가 가리키는 대상이 아니라 표시된 항목 자체를 제거하고 Claude Code를 다시 시작합니다. `owned by uid` 형식의 경우 관리자나 해당 사용자만 이를 제거할 수 있습니다
3011* `is not readable`의 경우 이름 지정된 디렉토리에서 `chmod 0700`을 실행하거나 제거하고 다시 시작합니다.3037* `is not readable`의 경우 표시된 디렉터리에 `chmod 0700`을 실행하거나, 디렉터리를 제거하고 다시 시작합니다
3012* 이러한 경우 중 하나에서 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 제어하는 디렉토리로 설정하고 Claude Code를 시작하여 거부된 경로를 그대로 둡니다.3038* 이러한 모든 경우에 거부된 경로는 그대로 두고 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)를 직접 제어하는 디렉터리로 설정한 후 Claude Code를 다시 시작할 수 있습니다
3013 3039
3014<h3 id="directory-couldnt-be-resolved-to-a-real-location">3040<h3 id="directory-couldnt-be-resolved-to-a-real-location">
3015 디렉토리를 실제 위치로 확인할 수 없음3041 디렉터리를 실제 위치로 확인할 수 없음
3016</h3>3042</h3>
3017 3043
3018작업 디렉토리의 하위 디렉토리에 대해 `/add-dir`을 실행했고 Claude Code가 디렉토리를 실제 위치로 확인할 수 없습니다.3044작업 디렉터리의 하위 디렉터리에 대해 `/add-dir`을 실행했지만 Claude Code가 디렉터리의 실제 위치를 확인할 수 없는 경우입니다.
3019 3045
3020작업 디렉토리의 하위 디렉토리에 이미 파일 액세스 권한이 있으므로 `/add-dir`은 해당 스킬, 명령어 및 에이전트만 로드합니다. 로드하기 전에 Claude Code는 심볼릭 링크가 확인된 디렉토리의 실제 위치가 작업 디렉토리 내부에 있는지 확인합니다. Claude Code가 해당 위치를 확인할 수 없으면 아무것도 로드하지 않고 이 메시지를 표시합니다:3046작업 디렉터리의 하위 디렉터리에는 이미 파일 접근 권한이 있으므로 `/add-dir`은 해당 디렉터리의 스킬, 명령, 에이전트만 로드합니다. 이를 로드하기 전에 Claude Code는 심볼릭 링크를 모두 확인한 디렉터리의 실제 위치가 작업 디렉터리 안에 있는지 검사합니다. Claude Code가 그 위치를 확인할 수 없으면 아무것도 로드하지 않고 다음 메시지를 표시합니다:
3021 3047
3022```text theme={null}3048```text theme={null}
3023packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.3049packages/app couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded. Check that it is a directory inside the working directory and try again.
3024```3050```
3025 3051
3026**해야 할 일:**3052**조치 방법:**
3027 3053
3028* 경로가 작업 디렉토리 내부의 실제 디렉토리를 이름 지정하는지 확인한 후 `/add-dir`을 다시 실행합니다.3054* 경로가 작업 디렉터리 안의 실제 디렉터리를 가리키는지 확인한 후 `/add-dir`을 다시 실행합니다
3029* 메시지는 파일 액세스를 변경하지 않습니다. 디렉토리의 `.claude/` 콘텐츠가 로드되지 않았음을 보고할 뿐입니다.3055* 이 메시지는 파일 접근 권한을 변경하지 않으며, 디렉터리의 `.claude/` 콘텐츠가 로드되지 않았다는 사실만 알립니다
3030 3056
3031v2.1.261 이전에는 작업 디렉토리가 `/net/<host>` 자동 마운트에 있을 때 모든 `/add-dir <subdirectory>`에 대해 이 메시지가 나타났습니다. Claude Code는 설계상 경로를 확인하기를 거부합니다. 디렉토리는 정상이었고 재시도할 수 없었습니다.3057v2.1.261 이전에는 작업 디렉터리가 `/net/<host>` 자동 마운트에 있을 때 모든 `/add-dir <subdirectory>`에 대해 이 메시지가 나타났습니다. 이 위치에서는 Claude Code가 설계상 경로 확인을 하지 않으므로, 디렉터리에는 문제가 없었고 재시도해도 도움이 되지 않았습니다.
3032 3058
3033<h3 id="workspace-not-trusted-when-starting-remote-control">3059<h3 id="workspace-not-trusted-when-starting-remote-control">
3034 Remote Control 시작 시 작업 영역을 신뢰하지 않음3060 Remote Control 시작 시 워크스페이스를 신뢰할 수 없음
3035</h3>3061</h3>
3036 3062
3037신뢰하지 않은 디렉토리에서 `claude remote-control` 또는 그 `claude rc` 별칭으로 [Remote Control](/docs/ko/remote-control) 서버 모드를 시작했습니다. 명령어의 표준 입력 또는 표준 출력이 터미널이 아닐 때 이 메시지가 나타납니다. 예를 들어 하나가 리디렉션되거나 파이프되었을 때입니다. 명령어는 코드 1로 종료됩니다:3063신뢰하지 않은 디렉터리에서 `claude remote-control` 또는 그 별칭인 `claude rc`로 [Remote Control](/docs/ko/remote-control) 서버 모드를 시작했으며, 명령이 해당 디렉터리를 신뢰할지 물을 수 없었던 경우입니다. 예를 들어 명령의 표준 입력이나 표준 출력 중 하나가 리디렉션되거나 파이프로 연결되어 터미널이 아닌 경우가 이에 해당합니다. 명령은 코드 1로 종료됩니다:
3038 3064
3039```text theme={null}3065```text theme={null}
3040Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.3066Error: Workspace not trusted. Please run `claude` in /Users/you/project first to review and accept the workspace trust dialog.
3041```3067```
3042 3068
3043터미널에 나타나는 두 가지 변형도 신뢰 디렉토리를 켜는 것을 표시하기에 너무 작은 터미널이나 크기를 보고하지 않은 터미널에서 시작됩니다. 창을 확대하거나 일반 터미널 창으로 전환한 후 `claude rc`를 다시 실행합니다.3069역시 `Error: Workspace not trusted.`로 시작하는 두 가지 변형은 디렉터리를 신뢰할 때 켜지는 항목을 표시하기에는 너무 작은 터미널이나 크기를 보고하지 않은 터미널에서 나타납니다. 창을 키우거나 일반 터미널 창으로 전환한 후 `claude rc`를 다시 실행합니다.
3044 3070
3045홈 디렉토리에서 메시지는 다릅니다. 작업 영역 신뢰 대화가 홈 디렉토리에 대한 신뢰를 저장하지 않기 때문입니다. v2.1.214 이전에는 홈 디렉토리가 위의 메시지를 표시했고 그 조언은 거기서 성공할 수 없었습니다.3071홈 디렉터리에서는 메시지가 다릅니다. 워크스페이스 신뢰 대화 상자는 홈 디렉터리에 대한 신뢰를 저장하지 않으므로, 그곳에서 수락해도 이 검사를 통과할 수 없기 때문입니다. v2.1.214 이전에는 홈 디렉터리에서 위의 메시지가 표시되었지만, 그 안내는 홈 디렉터리에서 효과가 없었습니다.
3046 3072
3047```text theme={null}3073```text theme={null}
3048Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).3074Error: Workspace not trusted. /Users/you is your home directory, and for security home-directory trust is never saved, so running `claude` here first won't help. Run `claude rc` from a project directory instead (run `claude` there once to accept the trust dialog).
3049```3075```
3050 3076
3051[`Trust <directory>?` 질문](/docs/ko/remote-control#requirements)에서 `n`을 답하거나 Enter를 누르면 명령어는 디렉토리를 이름 지정하는 `Remote Control did not start` 메시지를 출력하고 코드 1로 종료됩니다. `claude rc`를 다시 실행하여 `y`를 답합니다.3077[`Trust <directory>?` 질문](/docs/ko/remote-control#requirements)에 `n`으로 답하거나 Enter를 누르면, 명령은 디렉터리 이름이 포함된 `Remote Control did not start` 메시지를 출력하고 코드 1로 종료됩니다. `claude rc`를 다시 실행하여 `y`로 답합니다.
3052 3078
3053**해야 할 일:**3079**조치 방법:**
3054 3080
3055* 먼저 터미널에서 디렉토리를 신뢰합니다: 거기서 `claude rc`를 실행하고 `y`를 답하거나 거기서 `claude`를 실행하고 [작업 영역 신뢰 대화](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 수락한 후 원래 명령어를 다시 실행합니다.3081* 먼저 터미널에서 디렉터리를 신뢰합니다. 해당 디렉터리에서 `claude rc`를 실행하여 `y`로 답하거나, `claude`를 실행하여 [워크스페이스 신뢰 대화 상자](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 수락한 후 원래 명령을 다시 실행합니다
3056* 홈 디렉토리에서 프로젝트 디렉토리로 변경하고 거기서 Remote Control을 시작합니다.3082* 홈 디렉터리에 있는 경우 프로젝트 디렉터리로 이동하여 그곳에서 Remote Control을 시작합니다
3057 3083
3058v2.1.284 이전에는 명령어가 터미널에서도 묻지 않았습니다.3084v2.1.284 이전에는 터미널에서도 명령이 묻지 않았습니다.
3059 3085
3060<h3 id="not-carried-over-to-the-sessions-remote-control-starts">3086<h3 id="not-carried-over-to-the-sessions-remote-control-starts">
3061 Remote Control이 시작하는 세션으로 이월되지 않음3087 Remote Control이 시작하는 세션으로 전달되지 않음
3062</h3>3088</h3>
3063 3089
3064[Remote Control](/docs/ko/remote-control)을 `remote-control` 동사 앞의 전역 `claude` 플래그로 시작했습니다. Remote Control이 시작하는 세션을 제한하거나 구성하는 플래그입니다. 예를 들어 `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` 또는 `--mcp-config`입니다. 동사 앞에 배치된 플래그는 절대 이러한 세션에 도달하지 않습니다. Claude Code는 대신 시작을 거부하고 플래그를 이름 지정합니다:3090`remote-control` 동사 앞에 전역 `claude` 플래그를 두고 [Remote Control](/docs/ko/remote-control)을 시작한 경우입니다. 해당 플래그는 `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools`, `--mcp-config`처럼 Remote Control이 시작하는 세션을 제한하거나 구성하는 플래그입니다. 동사 앞에 둔 플래그는 이러한 세션에 전달되지 않습니다. Claude Code는 대신 플래그 이름을 표시하며 시작을 거부합니다:
3065 3091
3066```text theme={null}3092```text theme={null}
3067Error: `--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`).3093Error: `--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`).
3068```3094```
3069 3095
3070Claude Code는 `--verbose`, `--model` 또는 래퍼 주입 `--session-id` 또는 `--plugin-dir` 같은 드롭하기에 무해한 전역 플래그를 거부하지 않습니다: 무시하고 Remote Control이 시작됩니다.3096Claude Code는 `--verbose`, `--model`, 또는 래퍼가 주입한 `--session-id`나 `--plugin-dir`처럼 제거해도 무해한 전역 플래그는 거부하지 않습니다. 이를 무시하고 Remote Control을 시작합니다.
3071 3097
3072Claude Code는 또한 아직 무해한 것으로 인식하지 못하는 전역 플래그를 거부하므로 최신 릴리스에 추가된 플래그는 나중 릴리스가 무해한 것으로 표시할 때까지 이 메시지에 나타날 수 있습니다.3098Claude Code는 아직 무해하다고 인식하지 못한 전역 플래그에 대해서도 시작을 거부하므로, 최신 릴리스에서 추가된 플래그는 이후 릴리스에서 무해한 것으로 표시될 때까지 이 메시지에 나타날 수 있습니다.
3073 3099
3074**해야 할 일:**3100**조치 방법:**
3075 3101
3076* 동사 앞에서 플래그를 제거하고 [Remote Control의 자체 옵션](/docs/ko/remote-control#start-a-remote-control-session)을 그 뒤에 전달합니다. `claude remote-control --help`가 이를 나열합니다.3102* 동사 앞에서 플래그를 제거하고 [Remote Control 자체의 옵션](/docs/ko/remote-control#start-a-remote-control-session)을 동사 뒤에 전달합니다. `claude remote-control --help`에서 옵션 목록을 확인할 수 있습니다
3077* 거부된 플래그가 `--permission-mode`이면 `claude remote-control --permission-mode <mode>`를 실행하여 Remote Control이 시작하는 세션의 권한 모드를 설정합니다.3103* 거부된 플래그가 `--permission-mode`인 경우 `claude remote-control --permission-mode <mode>`를 실행하여 Remote Control이 시작하는 세션의 권한 모드를 설정합니다
3078 3104
3079v2.1.248 이전에는 `claude remote-control`이 전역 플래그가 먼저 올 때 자체 플래그를 허용하지 않았고 명령어가 알 수 없는 옵션 오류로 실패했습니다.3105v2.1.248 이전에는 전역 플래그가 먼저 오면 `claude remote-control`이 자체 플래그를 받지 않았으며, 명령이 `unknown option` 오류로 실패했습니다.
3080 3106
3081<h3 id="claude-import-is-not-yet-available-in-this-build">3107<h3 id="claude-import-is-not-yet-available-in-this-build">
3082 claude import는 이 빌드에서 아직 사용할 수 없음3108 이 빌드에서는 아직 claude import를 사용할 수 없음
3083</h3>3109</h3>
3084 3110
3085[`claude import`](/docs/ko/cli-reference#cli-commands)를 실행했고 Claude Code가 가져오기 흐름이 꺼져 있음을 발견했으므로 명령어가 이 메시지를 출력하는 대신 코드 1로 종료됩니다. v2.1.222 이전에는 가져오기 흐름이 꺼진 빌드가 `import`를 프롬프트로 취급하고 이 메시지를 출력하는 대신 대화형 세션을 시작했습니다.3111[`claude import`](/docs/ko/cli-reference#cli-commands)를 실행했지만 Claude Code가 가져오기 흐름이 꺼져 있음을 확인했으므로, 명령이 가져오기를 시작하지 않고 코드 1로 종료됩니다. v2.1.222 이전에는 가져오기 흐름이 꺼진 빌드에서 `import`를 프롬프트로 처리하여 이 메시지를 출력하는 대신 대화형 세션을 시작했습니다.
3086 3112
3087```text theme={null}3113```text theme={null}
3088`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.3114`claude import` is not yet available in this build. Run `claude` and use /mcp or edit ~/.claude/settings.json directly.
3089```3115```
3090 3116
3091Claude Code는 Anthropic에서 가져온 기능 플래그를 통해 `claude import`를 켜고 디스크에 캐시합니다. 이 메시지는 캐시된 값이 꺼져 있다는 의미입니다. 원인은 보통 다음 중 하나입니다:3117Claude Code는 Anthropic에서 가져와 디스크에 캐시하는 기능 플래그를 통해 `claude import`를 켭니다. 이 메시지는 캐시된 값이 꺼져 있다는 의미입니다. 원인은 일반적으로 다음 중 하나입니다:
3092 3118
3093* 설치 후 세션을 시작하지 않았으므로 Claude Code가 플래그를 아직 가져오지 않았습니다. 첫 번째 `claude import`는 기능을 사용할 수 있을 때도 이를 출력할 수 있습니다.3119* 설치 후 아직 세션을 시작하지 않아 Claude Code가 플래그를 가져오지 않았습니다. 기능을 사용할 수 있는 경우에도 첫 번째 `claude import`에서 이 메시지가 출력될 수 있습니다.
3094* Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry, Claude Platform on AWS를 통해 Claude Code를 사용하거나 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 사용합니다. Claude Code는 이러한 세션에서 기능 플래그를 가져오지 않으므로 `claude import`는 사용할 수 없습니다.3120* Amazon Bedrock, Google Cloud의 Agent Platform, Microsoft Foundry 또는 Claude Platform on AWS를 통해, 또는 [Claude 앱 게이트웨이](/docs/ko/claude-apps-gateway#availability-and-limitations)를 통해 Claude Code를 사용하고 있습니다. 이러한 세션에서는 Claude Code가 기능 플래그를 가져오지 않으므로 `claude import`를 계속 사용할 수 없습니다.
3095* `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` 또는 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)를 설정했습니다. 이는 기능 플래그 가져오기를 끕니다. 따라서 `claude import`는 사용할 수 없습니다.3121* 기능 플래그 가져오기를 끄는 `DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `DISABLE_GROWTHBOOK` 또는 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/ko/env-vars)를 설정했으므로 `claude import`를 계속 사용할 수 없습니다.
3096 3122
3097**해야 할 일:**3123**조치 방법:**
3098 3124
3099* 새로 설치한 경우 `claude`를 시작하고 세션이 로드될 때까지 기다린 후 종료하고 `claude import`를 다시 실행합니다.3125* 새로 설치한 경우 `claude`를 시작하고 세션이 로드될 때까지 기다린 후 종료하고 `claude import`를 다시 실행합니다
3100* 기능 플래그 가져오기가 꺼진 경우 구성을 직접 설정합니다: [`claude mcp add`](/docs/ko/mcp#installing-mcp-servers)로 MCP 서버를 추가하고 [`CLAUDE.md` 파일](/docs/ko/memory#how-claude-md-files-load), [스킬 및 명령어](/docs/ko/skills#where-skills-live) 및 [하위 에이전트](/docs/ko/sub-agents#choose-the-subagent-scope)를 만듭니다. 메시지는 또한 `~/.claude/settings.json`을 이름 지정합니다. `claude import`가 이월하는 구성 중에서 해당 파일은 [권한 모드](/docs/ko/settings-reference#permission-settings)만 보유합니다. Claude Code는 이 파일에서 MCP 서버를 읽지 않습니다.3126* 기능 플래그 가져오기가 계속 꺼져 있는 경우 구성을 직접 설정합니다. [`claude mcp add`](/docs/ko/mcp#installing-mcp-servers)로 MCP 서버를 추가하고, 옮기려는 [`CLAUDE.md` 파일](/docs/ko/memory#how-claude-md-files-load), [스킬과 명령](/docs/ko/skills#where-skills-live), [서브에이전트](/docs/ko/sub-agents#choose-the-subagent-scope)를 만듭니다. 메시지에는 `~/.claude/settings.json`도 언급됩니다. `claude import`가 옮기는 구성 중 이 파일에는 [권한 모드](/docs/ko/settings-reference#permission-settings)만 저장되며, Claude Code는 이 파일에서 MCP 서버를 읽지 않습니다.
3101 3127
3102<h3 id="could-not-read-claude-code-config">3128<h3 id="could-not-read-claude-code-config">
3103 Claude Code 구성을 읽을 수 없음3129 Claude Code 구성을 읽을 수 없음
3104</h3>3130</h3>
3105 3131
3106로그인 및 프로젝트별 상태를 저장하는 파일인 `~/.claude.json`을 파싱할 수 없는 동안 [`claude import`](/docs/ko/cli-reference#cli-commands)를 실행했습니다. 하위 명령어는 가용성을 확인하기 위해 해당 파일을 읽지만 대화형 세션이 표시하는 복구 대화를 표시하지 않으므로 코드 1로 종료됩니다. v2.1.222 이전에는 읽을 수 없는 구성 파일이 있는 `claude import`가 대화형 세션을 시작했고 복구 대화가 파일을 처리했습니다.3132Claude Code가 로그인 정보와 프로젝트별 상태를 저장하는 파일인 `~/.claude.json`을 파싱할 수 없는 상태에서 [`claude import`](/docs/ko/cli-reference#cli-commands)를 실행한 경우입니다. 이 하위 명령은 사용 가능 여부를 확인하기 위해 해당 파일을 읽지만 대화형 세션이 표시하는 복구 대화 상자는 표시하지 않으므로 코드 1로 종료됩니다. v2.1.222 이전에는 구성 파일을 읽을 수 없을 때 `claude import`가 대화형 세션을 시작했으며, 그 복구 대화 상자가 파일을 처리했습니다.
3107 3133
3108```text theme={null}3134```text theme={null}
3109Could not read Claude Code config — run `claude` with no arguments to recover it.3135Could not read Claude Code config — run `claude` with no arguments to recover it.
3110```3136```
3111 3137
3112**해야 할 일:**3138**조치 방법:**
3113 3139
3114* 인수 없이 `claude`를 실행합니다. Claude Code가 유효하지 않은 파일을 감지하고 재설정을 제안합니다. 그런 다음 `claude import`를 다시 실행합니다.3140* 인수 없이 `claude`를 실행합니다. Claude Code가 잘못된 파일을 감지하고 초기화를 제안합니다. 그런 다음 `claude import`를 다시 실행합니다.
3115* 수동으로 편집한 내용을 유지하려면 편집기에서 `~/.claude.json`의 JSON 구문을 수정한 후 `claude import`를 다시 실행합니다.3141* 직접 수정한 내용을 유지하려면 대신 편집기에서 `~/.claude.json`의 JSON 구문을 수정한 후 `claude import`를 다시 실행합니다
3116 3142
3117<h3 id="could-not-import-a-server-from-claude-desktop">3143<h3 id="could-not-import-a-server-from-claude-desktop">
3118 Claude Desktop에서 서버를 가져올 수 없음3144 Claude Desktop에서 서버를 가져올 수 없음
3119</h3>3145</h3>
3120 3146
3121Claude Code가 `claude mcp add-from-claude-desktop`에서 선택한 서버 중 하나를 추가할 수 없습니다. 명령어는 여전히 다른 선택된 서버를 가져오고 추가할 수 없는 각 서버당 한 줄을 출력합니다. v2.1.205 이전에는 실패한 첫 번째 서버가 가져오기를 중지했고 선택된 서버 중 어느 것도 추가되지 않았습니다.3147Claude Code가 `claude mcp add-from-claude-desktop`에서 선택한 서버 중 하나를 추가할 수 없는 경우입니다. 명령은 선택한 다른 서버는 계속 가져오며, 추가할 수 없는 서버마다 한 줄씩 출력합니다. v2.1.205 이전에는 처음 실패한 서버에서 가져오기가 중단되었습니다.
3122 3148
3123```text theme={null}3149```text theme={null}
3124Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.3150Could not import my server: Invalid name my server. Names can only contain letters, numbers, hyphens, and underscores.
3125```3151```
3126 3152
3127서버 이름 뒤의 텍스트는 이유입니다. 가장 일반적인 것은 이름 확인입니다: Claude Desktop은 서버 이름에 공백 및 마침표 같은 문자를 허용하지만 `claude mcp`는 문자, 숫자, 하이픈 및 밑줄로 제한합니다. 다른 이유로는 검증에 실패하는 서버 구성과 조직의 [MCP 정책](/docs/ko/managed-mcp)에 의해 차단된 서버가 있습니다.3153서버 이름 뒤의 텍스트가 사유입니다. 가장 흔한 사유는 이름 검사입니다. Claude Desktop은 서버 이름에 공백이나 마침표 같은 문자를 허용하지만, `claude mcp`는 문자, 숫자, 하이픈, 밑줄만 허용합니다. 그 밖의 사유로는 검증에 실패한 서버 구성과 조직의 [MCP 정책](/docs/ko/managed-mcp)에 의해 차단된 서버가 있습니다.
3128 3154
3129**해야 할 일:**3155**조치 방법:**
3130 3156
3131* `claude_desktop_config.json`에서 서버 이름을 문자, 숫자, 하이픈 및 밑줄만 사용하도록 바꾼 후 `claude mcp add-from-claude-desktop`을 다시 실행합니다.3157* `claude_desktop_config.json`에서 서버 이름을 문자, 숫자, 하이픈, 밑줄만 사용하도록 변경한 후 `claude mcp add-from-claude-desktop`을 다시 실행합니다
3132* 유효한 이름으로 `claude mcp add` 또는 `claude mcp add-json`을 사용하여 해당 서버를 직접 추가합니다. [Claude Desktop에서 MCP 서버 가져오기](/docs/ko/mcp#import-mcp-servers-from-claude-desktop)를 참조하세요.3158* `claude mcp add` 또는 `claude mcp add-json`을 사용하여 유효한 이름으로 해당 서버를 직접 추가합니다. [Claude Desktop에서 MCP 서버 가져오기](/docs/ko/mcp#import-mcp-servers-from-claude-desktop)를 참조하세요.
3133 3159
3134<h3 id="cannot-add-mcp-server-to-the-managed-scope">3160<h3 id="cannot-add-mcp-server-to-the-managed-scope">
3135 MCP 서버를 관리 범위에 추가할 수 없음3161 관리형 범위에 MCP 서버를 추가할 수 없음
3136</h3>3162</h3>
3137 3163
3138`--scope managed`로 `claude mcp add` 또는 `claude mcp add-json`을 실행했습니다. 해당 범위는 조직이 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) 관리 설정을 통해 제공하는 서버를 보유합니다. Claude Code는 관리 설정에서만 읽으므로 명령어가 해당 범위에 서버를 쓸 수 없습니다.3164`--scope managed`와 함께 `claude mcp add` 또는 `claude mcp add-json`을 실행한 경우입니다. 이 범위에는 조직이 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers) 관리형 설정을 통해 제공하는 서버가 담깁니다. Claude Code는 이를 관리형 설정에서만 읽으므로, 명령으로 해당 범위에 서버를 쓸 수 없습니다.
3139 3165
3140```text theme={null}3166```text theme={null}
3141Cannot add MCP server to scope: managed3167Cannot add MCP server to scope: managed
3142```3168```
3143 3169
3144**해야 할 일:**3170**조치 방법:**
3145 3171
3146* 쓸 수 있는 범위에 서버를 추가합니다: `local`, `user` 또는 `project`. `--scope` 없이 명령어는 `local`을 사용합니다. [MCP 설치 범위](/docs/ko/mcp#mcp-installation-scopes)를 참조하세요.3172* 쓸 수 있는 범위인 `local`, `user`, `project` 중 하나에 서버를 추가합니다. `--scope`가 없으면 명령은 `local`을 사용합니다. [MCP 설치 범위](/docs/ko/mcp#mcp-installation-scopes)를 참조하세요
3147* 조직의 모든 사용자에게 서버를 제공하려면 배포하는 관리 설정의 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)에 추가합니다.3173* 조직의 모든 사용자에게 서버를 제공하려면 배포하는 관리형 설정의 [`managedMcpServers`](/docs/ko/settings-reference#managedmcpservers)에 서버를 추가합니다
3148 3174
3149<h3 id="cant-read-mcp-json">3175<h3 id="cant-read-mcp-json">
3150 .mcp.json을 읽을 수 없음3176 .mcp.json을 읽을 수 없음
3151</h3>3177</h3>
3152 3178
3153프로젝트의 [`.mcp.json`](/docs/ko/mcp#project-scope)을 읽는 명령어(예: `--scope project`로 `claude mcp add` 또는 `claude mcp add-json` 또는 `claude mcp remove`)가 현재 디렉토리의 파일이 일반 파일이 아니거나 2MiB보다 크다는 것을 발견했으므로 파일을 읽는 대신 이 오류로 종료됩니다.3179`--scope project`를 사용한 `claude mcp add`나 `claude mcp add-json`, 또는 `claude mcp remove`처럼 프로젝트의 [`.mcp.json`](/docs/ko/mcp#project-scope)을 읽는 명령이 현재 디렉터리의 파일이 일반 파일이 아니거나 2MiB보다 크다는 것을 확인하여, 파일을 읽지 않고 이 오류로 종료된 경우입니다.
3154 3180
3155```text theme={null}3181```text theme={null}
3156Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.3182Can't read .mcp.json: it isn't a regular file or is larger than 2097152 bytes. Fix or remove it, then run the command again.
3157```3183```
3158 3184
3159v2.1.257 이전에는 `.mcp.json`의 FIFO가 명령어를 출력 없이 영원히 기다리게 했고 `/dev/zero` 같은 장치 파일에 대한 심볼릭 링크가 프로세스가 종료될 때까지 메모리를 증가시켰습니다.3185v2.1.257 이전에는 `.mcp.json`에 FIFO가 있으면 명령이 출력 없이 무한정 대기했으며, `/dev/zero` 같은 장치 파일로의 심볼릭 링크는 프로세스가 종료될 때까지 메모리를 증가시켰습니다.
3160 3186
3161**해야 할 일:**3187**조치 방법:**
3162 3188
3163* 현재 디렉토리의 `.mcp.json`에 무엇이 있는지 확인합니다. [프로젝트 범위 형식](/docs/ko/mcp#project-scope)의 일반 JSON 파일로 바꾸거나 삭제한 후 명령어를 다시 실행합니다.3189* 현재 디렉터리의 `.mcp.json`에 무엇이 있는지 확인합니다. [프로젝트 범위 형식](/docs/ko/mcp#project-scope)의 일반 JSON 파일로 교체하거나 삭제한 후 명령을 다시 실행합니다.
3164 3190
3165<h3 id="mcp-server-was-not-saved-or-removed">3191<h3 id="mcp-server-was-not-saved-or-removed">
3166 MCP 서버는 저장되지 않았거나 제거되지 않음3192 MCP 서버가 저장되거나 제거되지 않음
3167</h3>3193</h3>
3168 3194
3169`claude mcp add`, `claude mcp add-json` 또는 `claude mcp remove`를 `user` 또는 `local` [범위](/docs/ko/mcp#mcp-installation-scopes)의 서버에 대해 실행했습니다. 두 범위 모두 `~/.claude.json`에 저장되고 쓴 후 Claude Code가 읽을 때 변경이 해당 파일에 없습니다. 명령어는 성공 줄 대신 이 오류로 종료됩니다.3195`user` 또는 `local` [범위](/docs/ko/mcp#mcp-installation-scopes)의 서버에 대해 `claude mcp add`, `claude mcp add-json` 또는 `claude mcp remove`를 실행한 경우입니다. 두 범위 모두 `~/.claude.json`에 저장되는데, 쓰기 후 Claude Code가 파일을 다시 읽었을 때 변경 사항이 해당 파일에 없습니다. 명령은 성공 메시지 대신 이 오류로 종료됩니다.
3170 3196
3171```text theme={null}3197```text theme={null}
3172MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.3198MCP server "example" was not saved to /home/user/.claude.json. If that file is read-only or protected by a sandbox, make it writable or run the command outside the sandbox, then add the server again.
3173```3199```
3174 3200
3175제거 후 메시지는 `was not removed from`을 읽고 `then remove the server again`으로 끝납니다. `local` 범위 서버의 경우 경로 뒤에 항목이 속한 프로젝트 디렉토리가 `(local scope for /path/to/project)`로 따릅니다.3201제거 후에는 메시지가 `was not removed from`으로 표시되며 `then remove the server again`으로 끝납니다. `local` 범위 서버의 경우 경로 뒤에 해당 항목이 속한 프로젝트 디렉터리가 `(local scope for /path/to/project)` 형태로 표시됩니다.
3176 3202
3177v2.1.283 이전에는 `claude mcp add`, `claude mcp add-json` 및 `claude mcp remove`가 변경이 파일에 도달하지 않았을 때도 성공을 보고했습니다.3203v2.1.283 이전에는 변경 사항이 파일에 반영되지 않은 경우에도 `claude mcp add`, `claude mcp add-json`, `claude mcp remove`가 성공을 보고했습니다.
3178 3204
3179**해야 할 일:**3205**조치 방법:**
3180 3206
3181* 메시지가 이름 지정하는 파일을 쓸 수 있게 만들거나 샌드박스 외부에서 명령어를 실행한 후 동일한 추가 또는 제거 명령어를 다시 실행합니다.3207* 메시지에 표시된 파일을 쓰기 가능하게 만들거나 샌드박스 밖에서 명령을 실행한 후 같은 추가 또는 제거 명령을 다시 실행합니다.
3182 3208
3183<h3 id="mcp-server-may-not-have-been-saved-or-removed">3209<h3 id="mcp-server-may-not-have-been-saved-or-removed">
3184 MCP 서버는 저장되지 않았거나 제거되지 않았을 수 있음3210 MCP 서버가 저장되거나 제거되지 않았을 수 있음
3185</h3>3211</h3>
3186 3212
3187`claude mcp add`, `claude mcp add-json` 또는 `claude mcp remove`를 `user` 또는 `local` [범위](/docs/ko/mcp#mcp-installation-scopes)의 서버에 대해 실행했고 Claude Code가 변경을 확인하기 위해 `~/.claude.json`을 읽을 수 없습니다. 변경이 디스크에 있을 수도 있고 없을 수도 있습니다. 괄호의 텍스트는 해당 읽기의 오류입니다.3213`user` 또는 `local` [범위](/docs/ko/mcp#mcp-installation-scopes)의 서버에 대해 `claude mcp add`, `claude mcp add-json` 또는 `claude mcp remove`를 실행했지만, Claude Code가 변경 사항을 확인하기 위해 `~/.claude.json`을 다시 읽을 수 없었던 경우입니다. 변경 사항이 디스크에 있을 수도 있고 없을 수도 있습니다. 괄호 안의 텍스트는 해당 읽기에서 발생한 오류입니다.
3188 3214
3189```text theme={null}3215```text theme={null}
3190MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.3216MCP server "example" may not have been saved: /home/user/.claude.json could not be read to confirm the change (EACCES: permission denied, open '/home/user/.claude.json'). Run `claude mcp get example` to check, then add the server again if it is missing.
3191```3217```
3192 3218
3193제거 후 메시지는 `may not have been removed`를 읽고 `then remove the server again if it is still listed`로 끝납니다.3219제거 후에는 메시지가 `may not have been removed`로 표시되며 `then remove the server again if it is still listed`로 끝납니다.
3194 3220
3195v2.1.283 이전에는 변경을 확인할 수 없었을 때도 명령어가 성공을 보고했습니다.3221v2.1.283 이전에는 변경 사항을 확인할 수 없는 경우에도 명령이 성공을 보고했습니다.
3196 3222
3197**해야 할 일:**3223**조치 방법:**
3198 3224
3199* `claude mcp get <name>`을 실행하여 변경이 디스크에 있는지 확인합니다. `local` 범위 서버의 경우 서버가 속한 프로젝트 디렉토리에서 실행합니다. 로컬 범위는 프로젝트별이기 때문입니다.3225* `claude mcp get <name>`을 실행하여 변경 사항이 디스크에 있는지 확인합니다. `local` 범위 서버의 경우 로컬 범위는 프로젝트별이므로 서버가 속한 프로젝트 디렉터리에서 실행합니다.
3200* 추가 후 서버가 누락되었거나 제거 후 여전히 나열되면 동일한 추가 또는 제거 명령어를 다시 실행합니다.3226* 추가 후 서버가 없거나 제거 후에도 여전히 목록에 있으면 같은 추가 또는 제거 명령을 다시 실행합니다.
3201 3227
3202<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">3228<h3 id="anthropic-hosted-and-doesnt-support-local-oauth">
3203 서버는 Anthropic 호스팅이며 로컬 OAuth를 지원하지 않음3229 서버가 Anthropic에서 호스팅되며 로컬 OAuth를 지원하지 않음
3204</h3>3230</h3>
3205 3231
3206URL이 타사 ID 공급자를 통해 인증하는 Anthropic 호스팅 커넥터 호스트를 가리키는 MCP 서버에 대한 로그인을 시작했습니다. 이러한 호스트에는 `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com` 및 `gcal.mcp.claude.com`이 포함됩니다. Claude Code는 `/mcp` 패널과 `claude mcp login` 모두에서 이러한 호스트에 대한 로컬 OAuth 흐름을 시작하기를 거부합니다. [이들의 로그인은 claude.ai를 통해서만 작동](/docs/ko/mcp#use-mcp-servers-from-claude-ai)하기 때문입니다.3232서드 파티 ID 공급자를 통해 인증하는 Anthropic 호스팅 커넥터 호스트를 URL로 가리키는 MCP 서버에 대해 로그인을 시작한 경우입니다. 이러한 호스트에는 `microsoft365.mcp.claude.com`, `gmail.mcp.claude.com`, `gcal.mcp.claude.com`이 포함됩니다. [이러한 호스트의 로그인은 claude.ai를 통해서만 작동](/docs/ko/mcp#use-mcp-servers-from-claude-ai)하므로, Claude Code는 `/mcp` 패널과 `claude mcp login` 모두에서 이러한 호스트에 대한 로컬 OAuth 흐름 시작을 거부합니다.
3207 3233
3208```text theme={null}3234```text theme={null}
3209"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.3235"gmail" is Anthropic-hosted and doesn't support local OAuth. Connect it via Settings → Connectors on claude.ai (requires `claude login`), then it'll be available here automatically.
3210```3236```
3211 3237
3212Claude Code는 URL로 이러한 호스트를 일치시키므로 `claude mcp add` 또는 `.mcp.json`으로 추가한 서버가 이 중 하나를 가리킬 때 메시지가 나타납니다.3238**조치 방법:**
3213
3214**해야 할 일:**
3215 3239
3216* `claude mcp remove <name>`으로 항목을 제거하여 같은 URL의 claude.ai 커넥터를 숨길 수 없습니다.3240* 같은 URL의 claude.ai 커넥터를 가리지 않도록 `claude mcp remove <name>`으로 해당 항목을 제거합니다
3217* 제거한 후 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 서비스를 연결합니다. Claude Code에서 사용하는 계정에 로그인합니다. 연결되면 활성 인증 방법이 claude.ai 구독 로그인이면 [커넥터가 Claude Code에 자동으로 나타납니다](/docs/ko/mcp#use-mcp-servers-from-claude-ai).3241* 제거한 후 Claude Code에서 사용하는 계정으로 로그인한 상태에서 [claude.ai/customize/connectors](https://claude.ai/customize/connectors)에서 서비스를 연결합니다. 연결되면 현재 인증 방법이 claude.ai 구독 로그인인 경우 [커넥터가 Claude Code에 자동으로 나타납니다](/docs/ko/mcp#use-mcp-servers-from-claude-ai)
3218 3242
3219<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">3243<h3 id="server-rejected-the-authorization-header-minted-by-the-configured-headershelper">
3220 서버가 구성된 headersHelper에 의해 발행된 Authorization 헤더를 거부함3244 서버가 구성된 headersHelper가 생성한 Authorization 헤더를 거부함
3221</h3>3245</h3>
3222 3246
3223[`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)가 `Authorization` 헤더를 제공하는 MCP 서버가 HTTP 401 또는 403으로 연결에 응답했으므로 Claude Code는 연결을 실패로 보고합니다. 헬퍼가 `Authorization` 헤더를 제공하므로 Claude Code는 [서버에 대해 OAuth로 폴백하지 않습니다](/docs/ko/mcp#authenticate-with-remote-mcp-servers):3247[`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)가 `Authorization` 헤더를 제공하는 MCP 서버가 HTTP 401 또는 403으로 연결에 응답했으므로 Claude Code가 연결 실패를 보고합니다. 헬퍼가 `Authorization` 헤더를 제공하므로 Claude Code는 해당 서버에 대해 [OAuth로 폴백하지 않습니다](/docs/ko/mcp#authenticate-with-remote-mcp-servers):
3224 3248
3225```text theme={null}3249```text theme={null}
3226Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.3250Server rejected the Authorization header minted by the configured headersHelper (HTTP 401). Check that the helper command returns a valid credential for this MCP endpoint — OAuth fallback is disabled when the helper supplies Authorization.
3227```3251```
3228 3252
3229Claude Code는 각 연결 시도에서 헬퍼를 다시 실행하므로 토큰 회전 경쟁 같은 일시적 거부 후 재시도가 새 자격 증명으로 성공할 수 있습니다.3253Claude Code는 연결을 시도할 때마다 헬퍼를 다시 실행하므로, 토큰 교체 경합처럼 일시적인 거부 후의 재시도는 새 자격 증명으로 성공할 수 있습니다.
3230 3254
3231**해야 할 일:**3255**조치 방법:**
3232 3256
3233* Claude Code가 실행하는 방식으로 `headersHelper` 명령어를 직접 실행합니다: [Claude Code가 실행하는 디렉토리](/docs/ko/mcp#where-the-helper-runs)에서, [Claude Code가 설정하는 환경 변수](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)를 사용하고, [Claude Code가 프로젝트 `.mcp.json`, 플러그인 또는 프로젝트 에이전트 파일의 서버에 대해 제거하는 자격 증명 변수](/docs/ko/mcp#which-variables-a-helper-can-read) 없이. 서버의 엔드포인트가 허용하는 `Authorization` 값을 출력하는지 확인합니다.3257* Claude Code가 실행하는 방식과 동일하게 `headersHelper` 명령을 직접 실행합니다. 즉, [Claude Code가 헬퍼를 실행하는 디렉터리](/docs/ko/mcp#where-the-helper-runs)에서, [Claude Code가 헬퍼에 설정하는 환경 변수](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)와 함께, 그리고 프로젝트 `.mcp.json`, 플러그인 또는 프로젝트 에이전트 파일에서 온 서버의 경우 [Claude Code가 제거하는 자격 증명 변수](/docs/ko/mcp#which-variables-a-helper-can-read) 없이 실행합니다. 서버의 엔드포인트가 받아들이는 `Authorization` 값이 출력되는지 확인합니다
3234* 헬퍼 또는 자격 증명 소스를 수정한 후 `/mcp`에서 서버를 선택하고 **Reconnect**를 선택합니다.3258* 헬퍼나 그 자격 증명 소스를 수정한 후 `/mcp`에서 서버를 선택하고 **Reconnect**를 선택합니다
3235 3259
3236v2.1.248 이전에는 Claude Code가 헬퍼가 `Authorization` 헤더를 제공하는 서버에 대해 OAuth 검색을 실행했습니다. 해당 검색은 거부된 자격 증명을 보고하는 대신 `Incompatible auth server: does not support dynamic client registration`으로 실패할 수 있습니다.3260v2.1.248 이전에는 헬퍼가 `Authorization` 헤더를 제공하는 서버에 대해서도 Claude Code가 OAuth 검색을 실행했습니다. 이 검색은 거부된 자격 증명을 보고하는 대신 `Incompatible auth server: does not support dynamic client registration`으로 실패할 수 있었습니다.
3237 3261
3238<h3 id="mcp-permission-prompt-tool-not-found">3262<h3 id="mcp-permission-prompt-tool-not-found">
3239 MCP 권한 프롬프트 도구를 찾을 수 없음3263 MCP 권한 프롬프트 도구를 찾을 수 없음
3240</h3>3264</h3>
3241 3265
3242[`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)에 전달한 도구가 실행이 처음 권한 결정이 필요할 때 연결된 MCP 도구 중에 없습니다. 서버가 연결되지 않았거나 연결된 서버가 해당 이름의 도구를 노출하지 않기 때문입니다. Claude Code는 여전히 프롬프트를 보냅니다: [비대화형](/docs/ko/headless) 실행은 승인이 필요한 첫 번째 도구 호출에서 이 오류로 종료되고 코드 1로 종료되므로 요청이 이루어졌음에도 불구하고 답변을 생성하지 않습니다. 첫 번째 프롬프트 전에 Claude Code는 [`MCP_TIMEOUT`](/docs/ko/env-vars)으로 설정된 서버당 연결 타임아웃 30초까지 해당 서버가 연결될 때까지 기다립니다. v2.1.206 이전에는 시작이 서버가 연결을 완료할 때까지 기다리지 않았으므로 느리게 시작하지만 정상인 서버가 이 오류를 생성했습니다.3266실행에서 처음으로 권한 결정이 필요했을 때 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)에 전달한 도구가 연결된 MCP 도구 중에 없었던 경우입니다. 해당 서버가 연결되지 않았거나, 연결된 서버 중 그 이름의 도구를 노출하는 서버가 없기 때문입니다. Claude Code는 여전히 프롬프트를 전송합니다. [비대화형](/docs/ko/headless) 실행은 첫 번째 도구 호출에서 이 오류와 종료 코드 1로 종료되므로, 요청이 이루어졌더라도 응답을 생성하지 않습니다. 첫 번째 프롬프트 전에 Claude Code는 [`MCP_TIMEOUT`](/docs/ko/env-vars)으로 설정되는 서버별 연결 타임아웃인 최대 30초 동안 해당 서버가 연결되기를 기다립니다. v2.1.206 이전에는 시작 시 서버 연결이 완료되기를 기다리지 않았으므로, 시작이 느리지만 정상적인 서버에서도 이 오류가 발생했습니다.
3243 3267
3244```text theme={null}3268```text theme={null}
3245Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none3269Error: MCP tool mcp__permissions__approve (passed via --permission-prompt-tool) not found. Available MCP tools: none
3246```3270```
3247 3271
3248`Available MCP tools:` 뒤의 목록은 대기가 끝났을 때 연결된 MCP 도구를 이름 지정합니다.3272`Available MCP tools:` 뒤의 목록은 연결되어 있던 MCP 도구를 나타냅니다.
3249 3273
3250**해야 할 일:**3274**조치 방법:**
3251 3275
3252* 서버가 시작되고 연결된 상태로 유지되는지 확인합니다: 같은 디렉토리에서 `claude mcp list`를 실행하고 서버가 연결됨으로 나열되는지 확인합니다.3276* 서버가 시작되고 연결 상태를 유지하는지 확인합니다. 같은 디렉터리에서 `claude mcp list`를 실행하여 서버가 연결됨으로 표시되는지 확인합니다
3253* 도구 이름이 서버가 노출하는 `mcp__<server>__<tool>` 이름과 일치하는지 확인합니다.3277* 도구 이름이 서버가 노출하는 `mcp__<server>__<tool>` 이름과 일치하는지 확인합니다
3254* 서버가 시작하는 데 30초 이상 필요하면 [`MCP_TIMEOUT`](/docs/ko/env-vars)을 높입니다.3278* 서버가 시작하는 데 30초 이상 필요하면 [`MCP_TIMEOUT`](/docs/ko/env-vars)을 늘립니다
3255 3279
3256<h3 id="oauth-callback-port-is-already-in-use">3280<h3 id="oauth-callback-port-is-already-in-use">
3257 OAuth 콜백 포트가 이미 사용 중3281 OAuth 콜백 포트가 이미 사용 중임
3258</h3>3282</h3>
3259 3283
3260OAuth를 사용하여 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 수신하기 위해 로컬 리스너를 시작합니다. 해당 리스너가 필요한 포트가 다른 프로세스에 의해 보유되면 로그인이 이 메시지로 실패합니다. 이는 주로 [`MCP_OAUTH_CALLBACK_PORT`](/docs/ko/env-vars) 변수 또는 `--callback-port`를 통해 설정된 [고정 콜백 포트](/docs/ko/mcp#use-a-fixed-oauth-callback-port)에서 발생합니다. 하나 없이 Claude Code는 사용 가능한 포트를 선택합니다.3284OAuth로 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 받기 위해 로컬 리스너를 시작합니다. 해당 리스너에 필요한 포트를 다른 프로세스가 점유하고 있으면 로그인이 이 메시지와 함께 실패합니다. 이는 주로 [`MCP_OAUTH_CALLBACK_PORT`](/docs/ko/env-vars) 변수나 `--callback-port`로 설정한 [고정 콜백 포트](/docs/ko/mcp#use-a-fixed-oauth-callback-port)에서 발생합니다. 고정 포트가 없으면 Claude Code가 사용 가능한 포트를 선택하기 때문입니다.
3261 3285
3262```text theme={null}3286```text theme={null}
3263OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.3287OAuth callback port <port> is already in use — another process may be holding it. Run `lsof -ti:<port> -sTCP:LISTEN` to find it.
3264```3288```
3265 3289
3266Windows에서 제안된 명령어는 대신 `netstat -ano | findstr :<port>`입니다.3290Windows에서는 대신 `netstat -ano | findstr :<port>` 명령이 제안됩니다.
3267 3291
3268**해야 할 일:**3292**조치 방법:**
3269 3293
3270* 메시지의 명령어를 실행하여 포트를 보유하는 프로세스를 찾고 중지하거나 완료될 때까지 기다립니다.3294* 메시지의 명령을 실행하여 포트를 점유한 프로세스를 찾고, 해당 프로세스를 중지하거나 완료될 때까지 기다립니다
3271* 다른 프로그램이 해당 포트를 영구적으로 필요로 하면 서버에 다른 리디렉션 URI를 등록하고 `MCP_OAUTH_CALLBACK_PORT` 또는 `--callback-port`(사용하는 것)로 포트를 설정합니다.3295* 다른 프로그램이 해당 포트를 계속 필요로 한다면 서버에 다른 리디렉션 URI를 등록하고, 사용하는 방식에 따라 `MCP_OAUTH_CALLBACK_PORT` 또는 `--callback-port`로 그 포트를 설정합니다
3272* 그런 다음 로그인을 다시 시작합니다. 예를 들어 `/mcp`에서 서버를 선택합니다.3296* 그런 다음 `/mcp`에서 서버를 선택하는 등의 방법으로 로그인을 다시 시작합니다
3273 3297
3274<h3 id="no-available-ports-for-oauth-redirect">3298<h3 id="no-available-ports-for-oauth-redirect">
3275 OAuth 리디렉션에 사용 가능한 포트 없음3299 OAuth 리디렉션에 사용할 수 있는 포트가 없음
3276</h3>3300</h3>
3277 3301
3278[OAuth](/docs/ko/mcp#authenticate-with-remote-mcp-servers)를 사용하여 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 수신하기 위해 로컬 리스너를 시작합니다. Claude Code가 로컬 포트를 바인드할 수 없을 때 로그인이 이 메시지로 실패합니다. 머신의 무언가가 `127.0.0.1`에서 수신 대기하는 것을 방지합니다. 예를 들어 보안 소프트웨어 또는 로컬 리스너를 거부하는 샌드박스 정책입니다.3302[OAuth](/docs/ko/mcp#authenticate-with-remote-mcp-servers)로 원격 MCP 서버에 로그인하면 Claude Code는 로그인 콜백을 받기 위해 로컬 리스너를 시작합니다. Claude Code가 이를 위한 로컬 포트를 바인딩할 수 없으면 로그인이 이 메시지와 함께 실패합니다. 보안 소프트웨어나 로컬 리스너를 거부하는 샌드박스 정책처럼, 머신의 무언가가 `127.0.0.1`에서 수신 대기하는 것을 막고 있습니다.
3279 3303
3280```text theme={null}3304```text theme={null}
3281No available ports for OAuth redirect3305No available ports for OAuth redirect
3282```3306```
3283 3307
3284v2.1.268 이전에는 Claude Code가 운영 체제 할당 포트로 폴백하지 않았으므로 메시지는 Claude Code가 선택한 포트만 바인드할 수 없을 때도 나타났습니다. 이는 Hyper-V가 Claude Code가 선택하는 포트를 포함하는 포트 범위를 예약하는 Windows 호스트에서 발생할 수 있습니다.3308v2.1.268 이전에는 Claude Code가 운영 체제가 할당하는 포트로 폴백하지 않았으므로, 자체적으로 선택한 포트만 바인딩할 수 없는 경우에도 이 메시지가 나타났습니다. 이는 Hyper-V가 Claude Code가 선택하는 포트를 포함하는 포트 범위를 예약하는 Windows 호스트에서 발생할 수 있습니다.
3285 3309
3286**해야 할 일:**3310**조치 방법:**
3287 3311
3288* 보안 소프트웨어 또는 샌드박스 정책이 프로세스가 `127.0.0.1`에서 수신 대기하는 것을 차단하는지 확인하고 Claude Code가 로컬 포트를 바인드하도록 허용합니다.3312* 보안 소프트웨어나 샌드박스 정책이 `127.0.0.1`에서 프로세스가 수신 대기하는 것을 차단하는지 확인하고, Claude Code가 로컬 포트를 바인딩하도록 허용합니다
3289* 그런 다음 로그인을 다시 시작합니다. 예를 들어 `/mcp`에서 서버를 선택합니다.3313* 그런 다음 `/mcp`에서 서버를 선택하는 등의 방법으로 로그인을 다시 시작합니다
3290 3314
3291<h3 id="security-review-fails-without-origin-head">3315<h3 id="security-review-fails-without-origin-head">
3292 /security-review가 origin/HEAD 없이 실패함3316 origin/HEAD 없이 /security-review가 실패함
3293</h3>3317</h3>
3294 3318
3295[`/security-review`](/docs/ko/commands#all-commands)는 `origin/HEAD`에 대해 분기를 비교하여 검토 컨텍스트를 구축합니다. `origin/HEAD`는 `origin` 원격의 기본 분기가 무엇인지 기록하는 로컬 ref입니다. 해당 ref가 없으면 diff를 수집하는 git 명령어가 실패하고 검토가 시작하기 전에 중지됩니다.3319[`/security-review`](/docs/ko/commands#all-commands)는 `origin` 원격의 기본 브랜치를 기록하는 로컬 ref인 `origin/HEAD`와 현재 브랜치의 diff를 구해 리뷰 컨텍스트를 구성합니다. 해당 ref가 없으면 diff를 수집하는 git 명령이 실패하고 리뷰가 시작되기 전에 중단됩니다.
3296 3320
3297```text theme={null}3321```text theme={null}
3298Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]3322Error: Shell command failed for pattern "!`git diff --name-only origin/HEAD...`": [stderr]
3301'git <command> [<revision>...] -- [<file>...]'3325'git <command> [<revision>...] -- [<file>...]'
3302```3326```
3303 3327
3304메시지는 대신 `git log` 또는 다른 `git diff`를 인용할 수 있습니다. Git은 원격이 기본 분기를 광고하고 fetch refspec이 이를 포함할 때만 `origin/HEAD`를 만듭니다. 전체 `git clone`이 커밋이 있는 원격을 수행합니다. ref는 이러한 설정에서 누락됩니다:3328메시지에 `git log`나 다른 `git diff`가 대신 인용될 수도 있습니다. Git은 원격이 기본 브랜치를 알리고 fetch refspec이 이를 포함하는 경우에만 `origin/HEAD`를 만들며, 커밋이 있는 원격을 완전히 `git clone`하면 이 조건이 충족됩니다. 다음과 같은 설정에서는 ref가 없습니다:
3305 3329
3306* 단일 분기 또는 CI 체크아웃(너무 좁은 refspec을 가져옴)3330* 너무 좁은 refspec을 가져오는 단일 브랜치 또는 CI 체크아웃
3307* 서버 측 HEAD가 아무도 푸시하지 않은 분기를 가리키는 원격3331* 서버 측 HEAD가 아무도 푸시하지 않은 브랜치를 가리키는 원격
3308* `origin` 원격이 없거나 가져온 적이 없는 저장소3332* `origin` 원격이 없거나 한 번도 fetch하지 않은 저장소
3309 3333
3310Claude Code는 [동적 컨텍스트를 주입](/docs/ko/skills#when-an-injected-command-fails)하는 모든 스킬에 대해 동일한 오류를 표시하고 실패한 주입 명령어는 해당 스킬의 호출을 중단합니다. 명령어가 실행되기 전에 두 개의 형제 문자열이 발생합니다:3334Claude Code는 [동적 컨텍스트를 주입](/docs/ko/skills#when-an-injected-command-fails)하는 모든 스킬에 대해 같은 오류를 표시하며, 주입된 명령이 실패하면 해당 스킬의 호출이 중단됩니다. 명령이 실행되기 전에 발생하는 관련 메시지가 두 가지 있습니다:
3311 3335
3312* `Shell command permission check failed for pattern "..."`: 명령어의 권한 확인이 허용하지 않았습니다. [주입 명령어의 권한 확인](/docs/ko/skills#permission-checks-on-injected-commands)은 각 권한 모드에서 어떤 결과가 중단되는지 그리고 `allowed-tools`로 명령어를 사전 승인하는 방법을 다룹니다.3336* `Shell command permission check failed for pattern "..."`: 명령의 권한 검사가 명령을 허용하지 않았습니다. [주입된 명령의 권한 검사](/docs/ko/skills#permission-checks-on-injected-commands)에서 각 권한 모드에서 어떤 결과가 중단을 일으키는지와 `allowed-tools`로 명령을 사전 승인하는 방법을 다룹니다
3313* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: 스킬의 frontmatter가 bash가 없는 머신에서 bash를 요구합니다. Git for Windows를 설치하거나 frontmatter를 `shell: powershell`로 변경합니다. [주입 명령어가 실행되는 방식](/docs/ko/skills#how-injected-commands-run)을 참조하세요.3337* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: 스킬의 frontmatter가 bash가 없는 머신에서 bash를 요구합니다. Git for Windows를 설치하거나 frontmatter를 `shell: powershell`로 변경합니다. [주입된 명령의 실행 방식](/docs/ko/skills#how-injected-commands-run)을 참조하세요
3314 3338
3315**해야 할 일:**3339**조치 방법:**
3316 3340
3317* 원격의 기본 분기를 이름 지정하여 ref를 만듭니다: `git remote set-head origin <default-branch>`. 이는 로컬 추적 ref `origin/<default-branch>`가 존재할 때마다 작동합니다. 단일 분기 클론처럼 없으면 먼저 분기를 가져옵니다: `git remote set-branches --add origin <branch>`를 실행한 후 `git fetch origin`을 실행한 후 set-head 명령어를 다시 실행합니다. `/security-review`를 다시 실행합니다.3341* 원격의 기본 브랜치를 지정하여 ref를 만듭니다: `git remote set-head origin <default-branch>`. 이 방법은 로컬 추적 ref `origin/<default-branch>`가 있으면 항상 작동합니다. 단일 브랜치 클론처럼 해당 ref가 없으면 먼저 브랜치를 가져옵니다. `git remote set-branches --add origin <branch>`를 실행한 다음 `git fetch origin`을 실행하고 set-head 명령을 다시 실행합니다. 그런 다음 `/security-review`를 다시 실행합니다.
3318* 분기를 이름 지정하지 않으려면 `git fetch origin`을 실행한 후 `git remote set-head origin --auto`를 실행합니다. 이는 원격에 기본 분기가 무엇인지 묻습니다. 원격이 비어 있거나 HEAD가 아무도 푸시하지 않은 분기를 가리킬 때 `error: Cannot determine remote HEAD`로 실패합니다. 대신 분기를 명시적으로 이름 지정합니다. 클론이 해당 분기를 가져오지 않을 때 `error: Not a valid ref`로 실패합니다. 먼저 위와 같이 refspec을 넓힙니다.3342* 브랜치 이름을 지정하지 않으려면 `git fetch origin`을 실행한 다음 원격에 기본 브랜치가 무엇인지 묻는 `git remote set-head origin --auto`를 실행합니다. 원격이 비어 있거나 HEAD가 아무도 푸시하지 않은 브랜치를 가리켜 기본 브랜치를 알리지 않으면 `error: Cannot determine remote HEAD`로 실패하므로, 대신 브랜치를 명시적으로 지정합니다. 클론이 해당 브랜치를 가져오지 않으면 `error: Not a valid ref`로 실패하므로, 먼저 위와 같이 refspec을 넓힙니다.
3319* 저장소에 원격이 없으면 `git remote add origin <url>`로 추가하고 ref를 만들기 전에 가져옵니다. 원격이 비어 있으면 `git push -u origin HEAD`로 분기를 먼저 푸시하고 set-head 명령어에서 해당 분기를 이름 지정합니다. `origin/HEAD`는 방금 푸시한 분기를 가리키므로 분기가 이와 달라질 때까지 `/security-review`는 빈 diff를 봅니다.3343* 저장소에 원격이 없으면 `git remote add origin <url>`로 원격을 추가하고 ref를 만들기 전에 fetch합니다. 원격이 비어 있으면 먼저 `git push -u origin HEAD`로 브랜치를 푸시하고 set-head 명령에서 해당 브랜치를 지정합니다. 그러면 `origin/HEAD`가 방금 푸시한 브랜치를 가리키므로, 브랜치가 갈라질 때까지 `/security-review`에는 빈 diff가 표시됩니다.
3320 3344
3321<h3 id="input-must-be-provided-when-using-print">3345<h3 id="input-must-be-provided-when-using-print">
3322 \--print 사용 시 입력을 제공해야 함3346 `--print` 사용 시 입력을 제공해야 함
3323</h3>3347</h3>
3324 3348
3325베어 `claude`는 대화형 UI를 시작하기 위해 stdout이 터미널이어야 합니다. stdout이 리디렉션되거나 PowerShell ISE 및 일부 IDE 출력 창 같은 실제 터미널이 아닐 때 `claude`는 대신 [비대화형](/docs/ko/headless)으로 실행됩니다. 이는 프롬프트가 필요한 `claude -p`와 동일한 모드이므로 메시지는 플래그를 전달하지 않았을 때도 `--print`를 이름 지정합니다. `-p`/`--print`를 프롬프트 없이 전달하고 stdin에 파이프된 것이 없으면 어디서나 동일한 오류를 생성합니다.3349인수 없는 `claude`로 대화형 UI를 시작하려면 stdout이 터미널이어야 합니다. stdout이 리디렉션되거나, PowerShell ISE나 일부 IDE 출력 창처럼 콘솔이 실제 터미널이 아니면, `claude`는 대신 [비대화형](/docs/ko/headless)으로 실행됩니다. 이는 프롬프트가 필요한 `claude -p`와 같은 모드이므로, 플래그를 전달하지 않았더라도 메시지에 `--print`가 표시됩니다. 프롬프트 없이, 그리고 stdin으로 아무것도 파이프하지 않고 `-p`/`--print`를 전달해도 어디서나 같은 오류가 발생합니다.
3326 3350
3327```text theme={null}3351```text theme={null}
3328Error: Input must be provided either through stdin or as a prompt argument when using --print3352Error: Input must be provided either through stdin or as a prompt argument when using --print
3329```3353```
3330 3354
3331**해야 할 일:**3355**조치 방법:**
3332 3356
3333* 대화형 사용의 경우 실제 터미널에서 `claude`를 실행합니다: ISE가 아닌 Windows Terminal 또는 PowerShell 콘솔, IDE의 통합 터미널이 아닌 출력 창.3357* 대화형으로 사용하려면 실제 터미널에서 `claude`를 실행합니다. ISE 대신 Windows Terminal이나 PowerShell 콘솔을, 출력 창 대신 IDE의 통합 터미널을 사용합니다
3334* 일회용 사용의 경우 프롬프트를 전달합니다: `claude -p "your question"` 또는 `echo "your question" | claude -p`로 파이프합니다.3358* 일회성으로 사용하려면 프롬프트를 전달합니다: `claude -p "your question"`, 또는 `echo "your question" | claude -p`로 파이프합니다
3335 3359
3336<h3 id="input-contained-only-whitespace">3360<h3 id="input-contained-only-whitespace">
3337 입력에 공백만 포함됨3361 입력에 공백만 포함됨
3338</h3>3362</h3>
3339 3363
3340[비대화형 모드](/docs/ko/headless)에서 Claude Code는 API가 보이는 텍스트가 없는 메시지를 거부하기 때문에 공백, 탭 또는 줄 바꿈으로만 구성된 프롬프트를 보내는 대신 거부합니다. 어떤 메시지를 보는지는 빈 프롬프트가 어디서 왔는지에 따라 달라집니다:3364[비대화형 모드](/docs/ko/headless)에서 Claude Code는 공백, 탭 또는 줄바꿈으로만 이루어진 프롬프트를 전송하지 않고 거부합니다. API가 보이는 텍스트가 없는 메시지를 거부하기 때문입니다. 표시되는 메시지는 빈 프롬프트의 출처에 따라 다릅니다:
3341 3365
3342* **`claude -p`의 프롬프트 인수 또는 파이프된 stdin**: `claude`는 `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`로 종료됩니다.3366* **`claude -p`의 프롬프트 인수 또는 파이프된 stdin**: `claude`가 `Error: Input contained only whitespace. Provide a prompt with text through stdin or as a prompt argument when using --print`로 종료됩니다
3343* **실행 중인 `--input-format stream-json` 또는 [Agent SDK](/docs/ko/agent-sdk/overview) 세션에 제출된 메시지**: Claude Code는 모델을 호출하지 않고 턴을 종료하고 세션은 사용 가능한 상태로 유지됩니다. 거부는 정보 메시지로 그리고 턴의 결과 텍스트로 도착합니다: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`3367* **실행 중인 `--input-format stream-json` 또는 [Agent SDK](/docs/ko/agent-sdk/overview) 세션에 제출된 메시지**: Claude Code는 모델을 호출하지 않고 턴을 종료하며 세션은 계속 사용할 수 있습니다. 거부는 정보 메시지와 턴의 결과 텍스트로 전달됩니다: `Blank prompt — the message was only whitespace, so nothing was sent to the model.`
3344 3368
3345v2.1.229 이전에는 Claude Code가 공백 전용 메시지를 API로 보냈고 API는 400 오류로 요청을 거부했습니다.3369v2.1.229 이전에는 Claude Code가 공백만 있는 메시지를 API로 전송했으며, API는 400 오류로 요청을 거부했습니다.
3346 3370
3347**해야 할 일:**3371**조치 방법:**
3348 3372
3349* 프롬프트에 보이는 텍스트를 포함합니다. 스크립트가 변수 또는 파일에서 프롬프트를 구축하면 Claude Code를 호출하기 전에 소스가 비어 있지 않은지 확인합니다.3373* 프롬프트에 보이는 텍스트를 포함합니다. 스크립트가 변수나 파일에서 프롬프트를 구성하는 경우 Claude Code를 호출하기 전에 소스가 비어 있지 않은지 확인합니다.
3350 3374
3351<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">3375<h3 id="stream-json-input-carried-over-256m-characters-with-no-newline">
3352 stream-json 입력이 줄 바꿈 없이 256M 문자를 초과함3376 stream-json 입력이 줄바꿈 없이 256M자를 초과함
3353</h3>3377</h3>
3354 3378
3355프로그램이 `claude -p --input-format stream-json` 실행에 stdin으로 줄 바꿈 없이 268,435,456자 이상을 보냈으므로 Claude Code는 이 오류를 stderr에 출력하고 더 많은 입력을 버퍼링하는 대신 코드 1로 종료됩니다. 메시지는 해당 예산을 `256M`으로 명시합니다. v2.1.257 이전에는 Claude Code가 이러한 입력을 제한 없이 버퍼링했고 프로세스가 충돌하거나 종료될 때까지 메모리를 증가시켰습니다.3379프로그램이 `claude -p --input-format stream-json` 실행에 줄바꿈 없이 268,435,456자를 초과하여 stdin으로 보냈으므로, Claude Code가 더 많은 입력을 버퍼링하지 않고 이 오류를 stderr에 출력한 후 코드 1로 종료합니다. 메시지에서는 이 한도를 `256M`으로 표시합니다. v2.1.257 이전에는 Claude Code가 이러한 입력을 제한 없이 버퍼링하여, 프로세스가 충돌하거나 종료될 때까지 메모리가 증가했습니다.
3356 3380
3357```text theme={null}3381```text theme={null}
3358Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.3382Error: stream-json input carried over 256M characters with no newline. Each stream-json message must be a single newline-terminated JSON line: either the producer is not newline-terminating its messages, or one message exceeded this budget.
3359```3383```
3360 3384
3361줄 바꿈 없이 이 정도로 긴 입력은 보통 생산자가 stream-json 생산자가 아니라는 의미입니다. 예를 들어 실수로 파이프된 바이너리 파일 또는 일반 로그 출력입니다. 예산을 초과하는 단일 메시지는 동일한 확인에 실패합니다.3385줄바꿈 없이 이렇게 긴 입력은 일반적으로 실수로 파이프된 바이너리 파일이나 일반 로그 출력처럼 생산자가 stream-json 생산자가 아니라는 의미입니다. 한도를 초과하는 단일 메시지도 같은 검사에서 실패합니다.
3362 3386
3363**해야 할 일:**3387**조치 방법:**
3364 3388
3365* stdin으로 파이프되는 것을 확인합니다. [`--input-format stream-json`](/docs/ko/cli-reference#cli-flags)을 사용하면 모든 메시지는 줄 바꿈으로 종료된 JSON 줄 하나여야 합니다.3389* stdin으로 무엇이 파이프되는지 확인합니다. [`--input-format stream-json`](/docs/ko/cli-reference#cli-flags)에서는 모든 메시지가 줄바꿈으로 끝나는 하나의 JSON 줄이어야 합니다
3366* 일반 텍스트를 대신 보내려면 `--input-format stream-json`을 제거합니다. `claude -p`는 기본적으로 stdin에서 일반 텍스트 프롬프트를 읽습니다.3390* 대신 일반 텍스트를 보내려면 `--input-format stream-json`을 제거합니다. `claude -p`는 기본적으로 stdin에서 일반 텍스트 프롬프트를 읽습니다
3367 3391
3368<h3 id="unknown-command">3392<h3 id="unknown-command">
3369 알 수 없는 명령어3393 알 수 없는 명령
3370</h3>3394</h3>
3371 3395
3372대화형 터미널 세션에서 이 세션의 명령어와 일치하지 않는 `/` 이름을 제출했으므로 Claude Code는 아무것도 실행하지 않고 이름을 보고합니다:3396대화형 터미널 세션에서 이 세션의 어떤 명령과도 일치하지 않는 `/` 이름을 제출했으므로, Claude Code가 아무것도 실행하지 않고 해당 이름을 보고합니다:
3373 3397
3374```text theme={null}3398```text theme={null}
3375Unknown command: /hepl. Did you mean /help?3399Unknown command: /hepl. Did you mean /help?
3376```3400```
3377 3401
3378Claude Code는 이 세션의 메뉴가 나열하는 가장 가까운 명령어 이름 또는 별칭을 제안합니다. 가까운 것이 없으면 메시지는 이름 뒤에 끝납니다. 원인은 보통 다음 중 하나입니다:3402Claude Code는 이 세션의 메뉴에 나열된 명령 이름이나 별칭 중 가장 가까운 것을 제안합니다. 가까운 것이 없으면 메시지는 이름 뒤에서 끝납니다. 원인은 일반적으로 다음 중 하나입니다:
3379 3403
3380* `/hepl`을 `/help`로 하는 오타입니다. [명령어 메뉴가 입력과 일치하는 방식](/docs/ko/commands#how-the-command-menu-matches-what-you-type)은 제출하기 전에 가까운 일치를 선택하는 것을 다룹니다.3404* `/help` 대신 `/hepl`처럼 오타를 입력했습니다. [명령 메뉴가 입력 내용과 일치시키는 방식](/docs/ko/commands#how-the-command-menu-matches-what-you-type)에서 제출하기 전에 가까운 일치 항목을 선택하는 방법을 다룹니다
3381* 플랫폼, 계획 또는 인증 방법 같은 요구 사항이 충족되지 않아 이 세션에서 사용할 수 없는 명령어입니다. [`/web-setup`](/docs/ko/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) 및 [`/schedule`](/docs/ko/routines#schedule-returns-unknown-command)의 문제 해결 항목은 두 가지 일반적인 경우를 안내합니다. 일부 명령어는 조직의 정책이 비활성화할 때 [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy) 같은 자체 메시지로 응답합니다.3405* 명령이 존재하지만 플랫폼, 플랜 또는 인증 방법 같은 요구 사항이 충족되지 않아 이 세션에서 사용할 수 없습니다. [`/web-setup`](/docs/ko/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command)과 [`/schedule`](/docs/ko/routines#schedule-returns-unknown-command)의 문제 해결 항목에서 흔한 두 가지 사례를 안내합니다. 일부 명령은 조직의 정책이 이를 비활성화한 경우 [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)처럼 자체 메시지로 응답합니다
3382* [플러그인](/docs/ko/plugins/overview) 또는 [MCP 서버](/docs/ko/mcp#use-mcp-prompts-as-commands)의 명령어가 이 세션에 설치되거나 연결되지 않았습니다.3406* 이 세션에 설치되거나 연결되지 않은 [플러그인](/docs/ko/plugins/overview) 또는 [MCP 서버](/docs/ko/mcp#use-mcp-prompts-as-commands)의 명령입니다
3383 3407
3384Claude Code는 대화형 터미널 세션에서만 일치하지 않는 `/` 이름에 이 방식으로 응답합니다. 다른 모든 세션에서는 대신 프롬프트를 Claude에 일반 메시지로 보냅니다. 명령어가 실행되지 않았고 Claude가 세션에서 실행할 수 있는 명령어 목록이 있다는 메모가 포함됩니다. 이러한 세션에는 다음이 포함됩니다:3408Claude Code는 대화형 터미널 세션에서만 일치하지 않는 `/` 이름에 이런 방식으로 응답합니다. 그 밖의 모든 세션에서는 명령이 실행되지 않았다는 메모와 이 세션에서 Claude가 실행할 수 있는 명령 목록과 함께 프롬프트를 일반 메시지로 Claude에 전송합니다. 이러한 세션에는 다음이 포함됩니다:
3385 3409
3386* `-p` 실행3410* `-p` 실행
3387* [Agent SDK](/docs/ko/agent-sdk/overview) 애플리케이션3411* [Agent SDK](/docs/ko/agent-sdk/overview) 애플리케이션
3388* [Desktop 앱](/docs/ko/desktop)의 Code 탭3412* [데스크톱 앱](/docs/ko/desktop)의 Code 탭
3389* [VS Code 확장](/docs/ko/vs-code)의 채팅 패널3413* [VS Code 확장](/docs/ko/vs-code)의 채팅 패널
3390* [클라우드 세션](/docs/ko/claude-code-on-the-web) 및 [루틴](/docs/ko/routines)3414* [클라우드 세션](/docs/ko/claude-code-on-the-web)과 [루틴](/docs/ko/routines)
3391 3415
3392이러한 세션 중 하나에서 실행할 수 없는 기본 제공 명령어의 경우 Claude Code는 여전히 명령어를 Claude로 보내는 대신 사용할 수 없다고 응답합니다. v2.1.274 이전에는 클라우드 세션과 루틴만 일치하지 않는 이름을 Claude로 보냈습니다. v2.1.273 이전에는 `Unknown command`로도 응답했습니다.3416이러한 세션 중 하나에서 실행할 수 없는 기본 제공 명령의 경우, Claude Code는 여전히 Claude에 전송하는 대신 해당 명령을 사용할 수 없다고 응답합니다. v2.1.274 이전에는 클라우드 세션과 루틴만 일치하지 않는 이름을 Claude에 전송했습니다. v2.1.273 이전에는 클라우드 세션과 루틴도 `Unknown command`로 응답했습니다.
3393 3417
3394Claude Code는 `/`로 시작하는 모든 프롬프트를 명령어로 취급하지 않습니다. `/` 뒤의 첫 번째 단어가 Lean doc 주석을 여는 `/-` 같은 구두점으로 시작하거나 `/var/log/syslog` 같은 경로일 때 프롬프트를 Claude에 일반 메시지로 보냅니다.3418Claude Code는 `/`로 시작하는 모든 프롬프트를 명령으로 처리하지는 않습니다. `/` 뒤의 첫 단어가 Lean 문서 주석을 여는 `/--`처럼 구두점으로 시작하거나 `/var/log/syslog` 같은 경로인 경우, 프롬프트를 일반 메시지로 Claude에 전송합니다.
3395 3419
3396v2.1.236 이전에는 명령어 메뉴가 입력한 이름에 대한 가까운 일치를 나열하는 동안 Enter를 누르면 Claude Code가 일치를 실행했으므로 `/hepl` 같은 오타가 이 메시지를 생성하는 대신 `/help`를 실행했습니다.3420v2.1.236 이전에는 명령 메뉴에 입력한 이름과 가까운 일치 항목이 나열된 상태에서 `Enter`를 누르면 Claude Code가 그 일치 항목을 실행했으므로, `/hepl` 같은 오타가 이 메시지를 표시하는 대신 `/help`를 실행했습니다.
3397 3421
3398**해야 할 일:**3422**조치 방법:**
3399 3423
3400* 제안된 이름을 실행하거나 `/` 뒤에 이름의 일부를 입력하여 이 세션에서 사용 가능한 것을 확인합니다.3424* 제안된 이름을 실행하거나, `/` 다음에 이름의 일부를 입력하여 이 세션에서 사용할 수 있는 명령을 확인합니다
3401* Claude Code가 문서화된 명령어를 알 수 없는 것으로 보고하면 [명령어 참조](/docs/ko/commands)의 행에서 이름 지정하는 요구 사항을 확인합니다.3425* Claude Code가 문서화된 명령을 알 수 없다고 보고하면 [명령 참조](/docs/ko/commands)에서 해당 행을 확인하여 명시된 요구 사항을 살펴봅니다
3402 3426
3403<h3 id="diff-is-too-large-for-ultrareview">3427<h3 id="diff-is-too-large-for-ultrareview">
3404 Diff가 ultrareview에 너무 큼3428 ultrareview에 비해 diff가 너무 큼
3405</h3>3429</h3>
3406 3430
3407분기와 기본 분기 간의 diff(커밋되지 않은 변경 사항 및 스테이징된 변경 사항 포함)가 [ultrareview](/docs/ko/ultrareview)의 크기 제한을 초과하므로 `/code-review ultra` 및 `claude ultrareview` 하위 명령어는 클라우드 세션이 시작되기 전에 검토를 거부합니다. 거부된 검토는 무료 실행을 사용하지 않으며 사용 크레딧을 청구하지 않습니다. 메시지는 적용 중인 제한, diff의 크기 및 가장 많은 변경된 줄에 기여하는 파일을 이름 지정합니다. v2.1.216 이전에는 메시지가 원시 diff 통계만 표시했습니다.3431커밋되지 않은 변경 사항과 스테이징된 변경 사항을 포함하여 현재 브랜치와 기본 브랜치 간의 diff가 [ultrareview](/docs/ko/ultrareview)의 크기 제한을 초과하므로, `/code-review ultra`와 `claude ultrareview` 하위 명령이 클라우드 세션이 시작되기 전에 리뷰를 거부합니다. 거부된 리뷰는 무료 실행을 사용하지 않으며 사용량 크레딧도 청구하지 않습니다. 메시지에는 적용 중인 제한, diff의 크기, 변경된 줄 수가 가장 많은 파일이 표시됩니다. v2.1.216 이전에는 메시지에 원시 diff 통계만 표시되었습니다.
3408 3432
3409```text theme={null}3433```text theme={null}
3410Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.3434Diff is too large for ultrareview: 812 files, 96,410 lines changed (limits: 500 files, 8,000 lines). Largest files: package-lock.json (41,904 lines), dist/bundle.js (18,210 lines), src/generated/api.ts (9,876 lines). Pass a closer base branch (`/code-review ultra <branch>`) to narrow the scope, or split the change.
3411```3435```
3412 3436
3413풀 요청을 검토하면 동일한 제한이 적용됩니다. 해당 형식의 메시지는 `PR #<N> is too large for ultrareview`로 시작하고 PR의 파일 및 줄 수를 이름 지정합니다.3437풀 리퀘스트를 리뷰할 때도 같은 제한이 적용됩니다. 이 경우 메시지는 `PR #<N> is too large for ultrareview`로 시작하며 PR의 파일 수와 줄 수가 표시됩니다.
3414 3438
3415**해야 할 일:**3439**조치 방법:**
3416 3440
3417* 기본 분기를 더 가깝게 전달합니다. 예를 들어 `/code-review ultra develop`이므로 검토는 해당 분기에 대한 diff만 포함합니다.3441* `/code-review ultra develop`처럼 작업에 더 가까운 기본 브랜치를 전달하여 리뷰가 해당 브랜치와의 diff만 다루도록 합니다
3418* 변경을 더 작은 분기로 분할하고 각각을 검토합니다. 메시지가 이름 지정하는 파일은 가장 많은 변경된 줄에 기여하므로 이들을 자신의 분기로 이동하여 시작합니다.3442* 변경 사항을 더 작은 브랜치로 나누고 각각을 리뷰합니다. 메시지에 표시된 파일이 변경된 줄 수가 가장 많으므로, 먼저 해당 파일을 별도의 브랜치로 옮기는 것부터 시작합니다.
3419 3443
3420<h3 id="could-not-find-merge-base-with-the-base-branch">3444<h3 id="could-not-find-merge-base-with-the-base-branch">
3421 기본 분기와의 병합 기반을 찾을 수 없음3445 기본 브랜치와의 merge-base를 찾을 수 없음
3422</h3>3446</h3>
3423 3447
3424`/code-review ultra` 및 `claude ultrareview` 하위 명령어는 두 분기 간의 diff를 검토합니다. 이는 두 분기가 공유하는 커밋이 필요합니다. `git merge-base`가 없으면 Claude Code는 클라우드 세션이 시작되기 전에 검토를 거부합니다. Claude Code가 완전한 것으로 확인할 수 있는 클론에서 최소 하나의 분기가 있으면 대신 [모든 추적된 파일을 검토](/docs/ko/ultrareview#diff-limits-and-fallbacks)로 폴백합니다. 기본 분기를 전혀 찾을 수 없을 때, Claude Code가 클론이 완전한지 확인할 수 없을 때 또는 SHA-256 객체 형식 같은 전체 트리 diff가 불가능한 드문 저장소에서 이 거부를 봅니다.3448`/code-review ultra`와 `claude ultrareview` 하위 명령은 현재 브랜치와 기본 브랜치 간의 diff를 리뷰하며, 이를 위해서는 두 브랜치가 공유하는 커밋이 필요합니다. `git merge-base`가 공유 커밋을 찾지 못하면 Claude Code는 클라우드 세션이 시작되기 전에 리뷰를 거부합니다. Claude Code가 완전하다고 확인할 수 있고 브랜치가 하나 이상 있는 클론에서는 거부하는 대신 [추적되는 모든 파일을 리뷰](/docs/ko/ultrareview#diff-limits-and-fallbacks)하는 방식으로 폴백합니다. 이 거부는 기본 브랜치를 전혀 찾을 수 없는 경우, Claude Code가 클론이 완전한지 확인할 수 없는 경우, 또는 SHA-256 객체 형식처럼 전체 트리 diff가 불가능한 드문 저장소에서 표시됩니다.
3425 3449
3426```text theme={null}3450```text theme={null}
3427Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.3451Could not find merge-base with main. Pass the base branch explicitly (e.g. `/code-review ultra develop`) or make sure you're in a git repo with a main branch.
3428```3452```
3429 3453
3430첫 번째 문장 뒤의 힌트는 Claude Code가 관찰한 것에 따라 달라집니다:3454첫 번째 문장 뒤의 힌트는 Claude Code가 관찰한 내용에 따라 달라집니다:
3431 3455
3432* **기본 분기를 전달하지 않았습니다**: Claude Code는 저장소의 기본 분기와 비교했고 위의 예와 같이 기본을 명시적으로 전달하도록 제안합니다.3456* **기본 브랜치를 전달하지 않은 경우**: Claude Code가 저장소의 기본 브랜치와 비교했으며, 위의 예처럼 기본 브랜치를 명시적으로 전달하도록 제안합니다
3433* **클론에 이미 있는 기본 분기를 전달했습니다**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``를 읽습니다.3457* **클론에 이미 있던 기본 브랜치를 전달한 경우**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``입니다
3434* **클론에 없는 기본 분기를 전달했습니다**: 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`로 실패합니다.3458* **클론에 없던 기본 브랜치를 전달한 경우**: 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`로 실패합니다.
3435 3459
3436**해야 할 일:**3460**조치 방법:**
3437 3461
3438* 다른 분기가 실제 기본이면 명시적으로 전달합니다: `/code-review ultra <branch>`3462* 다른 브랜치가 실제 기본 브랜치라면 명시적으로 전달합니다: `/code-review ultra <branch>`
3439* 클론이 전체 기록을 갖지 않을 수 있으면 `git fetch --unshallow origin`을 실행하고 검토를 다시 실행합니다.3463* 클론에 전체 기록이 없을 수 있다면 `git fetch --unshallow origin`을 실행하고 리뷰를 다시 실행합니다
3440 3464
3441<h3 id="your-checkout-has-no-branches">3465<h3 id="your-checkout-has-no-branches">
3442 체크아웃에 분기가 없음3466 체크아웃에 브랜치가 없음
3443</h3>3467</h3>
3444 3468
3445체크아웃은 커밋을 가질 수 있지만 분기는 없습니다: `git init` 뒤에 `git fetch <url>` 및 `git checkout FETCH_HEAD`를 실행하면 분기가 없는 분리된 HEAD를 얻습니다. Claude Code는 저장소를 git 번들로 패키징하여 [ultrareview](/docs/ko/ultrareview)를 위해 업로드하고 분기나 다른 ref가 없는 저장소를 번들할 수 없으므로 `/code-review ultra` 및 `claude ultrareview` 하위 명령어는 클라우드 세션이 시작되기 전에 검토를 거부합니다.3469체크아웃에 커밋은 있지만 브랜치는 없을 수 있습니다. `git init`을 실행한 후 `git fetch <url>`과 `git checkout FETCH_HEAD`를 실행하면 ref가 없는 분리된 HEAD가 됩니다. Claude Code는 [ultrareview](/docs/ko/ultrareview)를 위해 업로드할 저장소를 git 번들로 패키징하는데, 브랜치나 다른 ref가 없는 저장소는 번들로 만들 수 없으므로 `/code-review ultra`와 `claude ultrareview` 하위 명령이 클라우드 세션이 시작되기 전에 리뷰를 거부합니다.
3446 3470
3447```text theme={null}3471```text theme={null}
3448Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.3472Your checkout has no branches (detached HEAD only), which cloud review can't bundle. Create one first — `git checkout -b <name>` — then rerun /code-review ultra.
3449```3473```
3450 3474
3451v2.1.221 이전에는 Claude Code가 이 체크아웃의 모든 추적된 파일을 검토하려고 시도했고 업로드가 실패했습니다.3475v2.1.221 이전에는 Claude Code가 이 체크아웃에서 추적되는 모든 파일을 리뷰하려고 시도했으며, 업로드가 실패했습니다.
3452 3476
3453**해야 할 일:**3477**조치 방법:**
3454 3478
3455* 현재 커밋에서 `git checkout -b <name>`으로 분기를 만든 후 검토를 다시 실행합니다.3479* `git checkout -b <name>`으로 현재 커밋에 브랜치를 만든 후 리뷰를 다시 실행합니다
3456 3480
3457<h3 id="no-github-account-is-connected-to-your-claude-account">3481<h3 id="no-github-account-is-connected-to-your-claude-account">
3458 GitHub 계정이 Claude 계정에 연결되지 않음3482 Claude 계정에 연결된 GitHub 계정이 없음
3459</h3>3483</h3>
3460 3484
3461`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`을 실행했고 클라우드 세션을 만들기 전에 Claude Code는 서버에 [Claude 계정에 연결된 GitHub 계정](/docs/ko/ultrareview#review-a-pull-request)이 PR의 저장소에 도달할 수 있는지 묻습니다. 계정이 연결되지 않았거나 연결이 만료되었으므로 클라우드 클론이 실패하고 Claude Code는 시작을 거부합니다. Claude Code는 거부된 시작에 대해 무료 실행을 사용하거나 사용 크레딧을 청구하지 않습니다.3485`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`를 실행했으며, Claude Code는 클라우드 세션을 만들기 전에 [Claude 계정에 연결된 GitHub 계정](/docs/ko/ultrareview#review-a-pull-request)이 PR의 저장소에 접근할 수 있는지 서버에 확인합니다. 연결된 계정이 없거나 연결이 만료되어 클라우드 클론이 실패할 것이므로 Claude Code가 실행을 거부합니다. Claude Code는 거부된 실행에 대해 무료 실행을 사용하거나 사용량 크레딧을 청구하지 않습니다.
3462 3486
3463```text theme={null}3487```text theme={null}
3464Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).3488Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected (or the connection expired). To fix: run /web-setup to reuse your GitHub CLI login, or connect an account at https://claude.ai/connect-github — then re-run /code-review ultra 1234 (allow a minute after connecting).
3465```3489```
3466 3490
3467[`/web-setup`](/docs/ko/web-quickstart#connect-from-your-terminal)이 세션에서 사용할 수 없으면 메시지는 claude.ai 링크만 이름 지정합니다.3491세션에서 [`/web-setup`](/docs/ko/web-quickstart#connect-from-your-terminal)을 사용할 수 없는 경우 메시지에는 claude.ai 링크만 표시됩니다.
3468 3492
3469**해야 할 일:**3493**조치 방법:**
3470 3494
3471* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나 [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결합니다.3495* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나, [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결합니다
3472* 연결 후 1분 후 검토를 다시 실행합니다.3496* 연결하고 1분 정도 지난 후 리뷰를 다시 실행합니다
3473 3497
3474v2.1.248 이전에는 Claude Code가 시작 전에 이를 확인하지 않았습니다.3498v2.1.248 이전에는 Claude Code가 실행 전에 이를 확인하지 않았습니다.
3475 3499
3476<h3 id="your-connected-github-account-cant-see-the-repository">3500<h3 id="your-connected-github-account-cant-see-the-repository">
3477 연결된 GitHub 계정이 저장소를 볼 수 없음3501 연결된 GitHub 계정이 저장소를 볼 수 없음
3478</h3>3502</h3>
3479 3503
3480`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`을 실행했고 [Claude 계정에 연결된 GitHub 계정](/docs/ko/ultrareview#review-a-pull-request)이 PR의 저장소를 읽을 수 없으므로 클라우드 클론이 실패하고 Claude Code는 시작을 거부합니다. Claude Code는 거부된 시작에 대해 무료 실행을 사용하거나 사용 크레딧을 청구하지 않습니다.3504`/code-review ultra <PR#>` 또는 `claude ultrareview <PR#>`를 실행했지만 [Claude 계정에 연결된 GitHub 계정](/docs/ko/ultrareview#review-a-pull-request)이 PR의 저장소를 읽을 수 없으므로, 클라우드 클론이 실패할 것이어서 Claude Code가 실행을 거부합니다. Claude Code는 거부된 실행에 대해 무료 실행을 사용하거나 사용량 크레딧을 청구하지 않습니다.
3481 3505
3482```text theme={null}3506```text theme={null}
3483Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.3507Your connected GitHub account can't see <owner>/<repo> — usually the Claude GitHub app isn't installed on <owner> or wasn't granted this repo (web-connected accounts need it for private repos), or a different GitHub account is connected. To fix: run /web-setup to reuse your GitHub CLI login, or install the app at https://github.com/apps/claude/installations/new — then re-run /code-review ultra 1234.
3484```3508```
3485 3509
3486[`/web-setup`](/docs/ko/web-quickstart#connect-from-your-terminal)이 세션에서 사용할 수 없으면 메시지는 앱 설치만 이름 지정합니다.3510세션에서 [`/web-setup`](/docs/ko/web-quickstart#connect-from-your-terminal)을 사용할 수 없는 경우 메시지에는 앱 설치만 표시됩니다.
3487 3511
3488**해야 할 일:**3512**조치 방법:**
3489 3513
3490* 로컬 `gh` CLI가 저장소를 읽을 수 있으면 `/web-setup`을 실행하여 해당 로그인을 Claude 계정에 연결합니다.3514* 로컬 `gh` CLI가 저장소를 읽을 수 있다면 `/web-setup`을 실행하여 해당 로그인을 Claude 계정에 연결합니다
3491* 변경 후 검토를 다시 실행합니다.3515* 변경 후 리뷰를 다시 실행합니다
3492 3516
3493v2.1.248 이전에는 Claude Code가 시작 전에 이를 확인하지 않았습니다.3517v2.1.248 이전에는 Claude Code가 실행 전에 이를 확인하지 않았습니다.
3494 3518
3495<h3 id="the-github-app-preflight-failed-transiently">3519<h3 id="the-github-app-preflight-failed-transiently">
3496 GitHub 앱 사전 점검이 일시적으로 실패함3520 GitHub App 사전 확인이 일시적으로 실패함
3497</h3>3521</h3>
3498 3522
3499로컬 저장소에서 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작했고 두 단계가 함께 실패했습니다. Claude Code가 저장소 번들을 구축하거나 업로드할 수 없습니다. 업로드 전에 클라우드 서비스가 GitHub에서 저장소를 클론할 수 있는지 확인했고 명확한 답변 대신 재시도가 지울 수 있는 오류로 끝났습니다. 예를 들어 네트워크 오류, 타임아웃 또는 임시 서버 오류입니다. 전체 메시지는 번들을 중지한 것으로 시작합니다. 예를 들어 `Could not upload repo bundle (<error>)`이고 사전 점검 문장으로 끝납니다:3523로컬 저장소에서 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작했는데 두 단계가 함께 실패한 경우입니다. Claude Code가 저장소 번들을 빌드하거나 업로드할 수 없었습니다. 업로드 전에 Claude Code는 클라우드 서비스가 GitHub에서 저장소를 클론할 수 있는지 확인했는데, 이 확인이 명확한 답 대신 네트워크 오류, 타임아웃, 일시적인 서버 오류처럼 재시도로 해결될 수 있는 오류로 끝났습니다. 전체 메시지는 `Could not upload repo bundle (<error>)`처럼 번들을 막은 원인으로 시작하며 사전 확인 문장으로 끝납니다:
3500 3524
3501```text theme={null}3525```text theme={null}
3502Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead3526Could not upload repo bundle (<error>). The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead
3503```3527```
3504 3528
3505**해야 할 일:**3529**조치 방법:**
3506 3530
3507* 잠시 후 명령어를 다시 실행합니다. GitHub 확인이 통과하면 Claude Code는 GitHub 클론에서 세션을 시작할 수 있으므로 실패한 업로드가 더 이상 시작을 차단하지 않습니다.3531* 잠시 후 명령을 다시 실행합니다. GitHub 확인이 통과하면 Claude Code가 GitHub 클론에서 세션을 시작할 수 있으므로, 실패한 업로드가 더 이상 실행을 막지 않습니다
3508* 재시도가 계속 실패하면 메시지의 시작이 업로드를 중지한 것을 이름 지정합니다. 수정할 수 있는 원인이 있으면 수정하여 세션이 대신 로컬 저장소에서 시작할 수 있습니다.3532* 재시도가 계속 실패하면 메시지의 시작 부분에 업로드를 막은 원인이 표시됩니다. 수정할 수 있는 원인이라면 이를 수정하여 대신 로컬 저장소에서 세션이 시작되도록 합니다
3509 3533
3510v2.1.251 이전에는 Claude Code가 GitHub 확인이 일시적으로만 실패했을 때도 `Please set up GitHub on https://claude.ai/code`로 메시지를 끝냈고 설정 조언은 일시적 실패를 지울 수 없습니다.3534v2.1.251 이전에는 GitHub 확인이 일시적으로만 실패한 경우에도 Claude Code가 메시지를 `Please set up GitHub on https://claude.ai/code`로 끝냈으며, 설정 안내로는 일시적인 실패를 해결할 수 없었습니다.
3511 3535
3512<h3 id="the-repository-upload-cant-follow-a-git-setting">3536<h3 id="the-repository-upload-cant-follow-a-git-setting">
3513 저장소 업로드가 git 설정을 따를 수 없음3537 저장소 업로드가 git 설정을 따를 수 없음
3514</h3>3538</h3>
3515 3539
3516[로컬 저장소를 업로드하는 클라우드 세션](/docs/ko/claude-code-on-the-web#send-local-repositories-without-github)을 시작했거나 [분기의 ultrareview](/docs/ko/ultrareview)를 시작했고 업로드가 파일에 적용할 속성 규칙을 결정하는 git 설정을 따를 수 없습니다. 업로드가 진행되고 규칙을 놓쳤다면 git이 저장하기 전에 변환하는 파일(예: 깨끗한 필터가 암호화하는 파일)이 디스크에 있는 그대로 클라우드에 도달할 수 있습니다. Claude Code는 대신 업로드를 거부하고 아무것도 업로드되지 않습니다:3540[로컬 저장소를 업로드하는 클라우드 세션](/docs/ko/claude-code-on-the-web#send-local-repositories-without-github) 또는 브랜치의 [ultrareview](/docs/ko/ultrareview)를 시작했는데, 파일에 적용할 속성 규칙을 결정하는 git 설정 중 하나를 업로드가 따를 수 없는 경우입니다. 업로드를 진행하면서 규칙을 놓치면, clean 필터가 암호화하는 파일처럼 git이 저장하기 전에 변환하는 파일이 디스크에 있는 그대로 클라우드에 전송될 수 있습니다. Claude Code는 대신 업로드를 거부하며 아무것도 업로드되지 않습니다:
3517 3541
3518```text theme={null}3542```text theme={null}
3519Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository's .git/config or directly into your ~/.gitconfig, then retry.3543Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository’s .git/config or directly into your ~/.gitconfig, then retry.
3520```3544```
3521 3545
3522메시지는 설정과 설정된 위치를 이름 지정하고 히트한 경우에 대한 수정으로 끝납니다. 동일한 거부는 `core.attributesFile` 및 `attr.tree`에 대해 나타나며 각각 자체 수정이 있습니다.3546메시지에는 설정과 설정된 위치가 표시되며, 해당하는 경우에 맞는 해결 방법으로 끝납니다. 같은 거부가 `core.attributesFile`과 `attr.tree`에 대해서도 각각의 해결 방법과 함께 나타납니다.
3523 3547
3524메시지는 해당 지시문의 조건이 이 저장소에 적용되지 않을 때도 `include` 또는 `includeIf` 지시문을 통해 git 구성이 끌어오는 구성 파일을 이름 지정할 수 있습니다.3548메시지에는 git 구성이 `include` 또는 `includeIf` 지시문을 통해 가져오는 설정 파일이 표시될 수 있으며, 해당 지시문의 조건이 이 저장소에 적용되지 않는 경우에도 마찬가지입니다.
3525 3549
3526**해야 할 일:**3550**조치 방법:**
3527 3551
3528* 메시지의 최종 문장에서 수정을 적용합니다.3552* 메시지의 마지막 문장에 있는 해결 방법을 적용합니다
3529 3553
3530<h3 id="github-isnt-connected-to-your-claude-account">3554<h3 id="github-isnt-connected-to-your-claude-account">
3531 GitHub가 Claude 계정에 연결되지 않음3555 GitHub가 Claude 계정에 연결되지 않음
3532</h3>3556</h3>
3533 3557
3534로컬 저장소에서 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작했습니다. 예를 들어 `/autofix-pr`을 사용합니다. GitHub 계정이 Claude 계정에 연결되지 않았거나 연결이 만료되었으므로 Claude Code는 시작을 거부합니다:3558`/autofix-pr` 등으로 로컬 저장소에서 [클라우드 세션](/docs/ko/claude-code-on-the-web)을 시작한 경우입니다. Claude 계정에 연결된 GitHub 계정이 없거나 연결이 만료되었으므로 Claude Code가 실행을 거부합니다:
3535 3559
3536```text theme={null}3560```text theme={null}
3537GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github3561GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud. Run /web-setup to connect with your GitHub CLI login, or connect on the web at https://claude.ai/connect-github
3538```3562```
3539 3563
3540[`/schedule`](/docs/ko/routines)로 루틴을 만들 때 동일한 메시지가 저장소를 이름 지정하는 설정 메모로 나타납니다. 메모는 루틴 만들기를 차단하지 않습니다.3564[`/schedule`](/docs/ko/routines)로 루틴을 만들 때는 같은 메시지가 저장소 이름이 포함된 설정 안내로 나타나며, 이 안내는 루틴 생성을 막지 않습니다.
3541 3565
3542**해야 할 일:**3566**조치 방법:**
3543 3567
3544* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나 [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결합니다. [GitHub 인증 옵션](/docs/ko/claude-code-on-the-web#github-authentication-options)을 참조하여 두 가지가 어떻게 다른지 확인합니다.3568* `/web-setup`을 실행하여 GitHub CLI 로그인을 Claude 계정에 연결하거나, [claude.ai/connect-github](https://claude.ai/connect-github)에서 계정을 연결합니다. 두 방법의 차이점은 [GitHub 인증 옵션](/docs/ko/claude-code-on-the-web#github-authentication-options)을 참조하세요.
3545* 연결 후 1분 후 명령어를 다시 실행합니다.3569* 연결하고 1분 정도 지난 후 명령을 다시 실행합니다
3546 3570
3547v2.1.268 이전에는 Claude Code가 이를 Claude GitHub 앱 확인의 임시 실패로 보고했고 재시도하거나 앱을 설치하도록 제안했습니다. 둘 다 GitHub 계정을 연결하지 않습니다.3571v2.1.268 이전에는 Claude Code가 이를 Claude GitHub App 확인의 일시적인 실패로 보고하고 재시도하거나 앱을 설치하도록 제안했지만, 둘 다 GitHub 계정을 연결하지 않습니다.
3548 3572
3549<h3 id="single-sign-on-authorization-needed">3573<h3 id="single-sign-on-authorization-needed">
3550 싱글 사인온 인증 필요3574 싱글 사인온 인가 필요
3551</h3>3575</h3>
3552 3576
3553[`/install-github-app`](/docs/ko/github-actions#quick-setup)을 실행했고 SAML 싱글 사인온을 적용하는 조직의 저장소를 선택했습니다. 설정 전에 Claude Code는 GitHub CLI로 저장소에 대한 액세스를 확인하고 GitHub는 `gh` 토큰이 아직 조직에 대해 인증되지 않았기 때문에 해당 확인을 거부했습니다. 마법사는 인증 단계와 함께 경고를 표시합니다:3577[`/install-github-app`](/docs/ko/github-actions#quick-setup)을 실행하고 SAML 싱글 사인온을 적용하는 조직의 저장소를 선택한 경우입니다. 설정 전에 Claude Code는 GitHub CLI로 저장소에 대한 접근 권한을 확인하는데, `gh` 토큰이 아직 해당 조직에 대해 인가되지 않아 GitHub가 이 확인을 거부했습니다. 마법사는 인가 절차와 함께 경고를 표시합니다:
3554 3578
3555```text theme={null}3579```text theme={null}
3556Single sign-on authorization needed3580Single sign-on authorization needed
3557<owner>/<repo> belongs to an organization that enforces SAML single sign-on, and your GitHub CLI token isn't authorized for it yet.3581<owner>/<repo> belongs to an organization that enforces SAML single sign-on, and your GitHub CLI token isn't authorized for it yet.
3558```3582```
3559 3583
3560**해야 할 일:**3584**조치 방법:**
3561 3585
3562* `gh auth refresh -h github.com -s repo,workflow`를 실행하여 GitHub CLI 로그인을 `repo` 및 `workflow` 범위로 다시 인증하고 GitHub가 싱글 사인온을 요청할 때 조직을 인증합니다.3586* `gh auth refresh -h github.com -s repo,workflow`를 실행하여 `repo` 및 `workflow` 범위로 GitHub CLI 로그인을 다시 인가하고, GitHub가 싱글 사인온을 요청하면 조직을 인가합니다
3563* `GH_TOKEN`에서 개인 액세스 토큰으로 인증하면 [github.com/settings/tokens](https://github.com/settings/tokens)를 열고 토큰에서 **Configure SSO**를 선택하고 조직을 인증합니다.3587* `GH_TOKEN`의 개인 액세스 토큰으로 인증하는 경우 [github.com/settings/tokens](https://github.com/settings/tokens)를 열고 토큰에서 **Configure SSO**를 선택한 후 조직을 인가합니다
3564* `/install-github-app`을 다시 실행합니다.3588* `/install-github-app`을 다시 실행합니다
3565 3589
3566v2.1.273 이전에는 Claude Code가 이 조건에 대해 `Admin permissions required` 경고를 표시했습니다.3590v2.1.273 이전에는 이 상황에서 Claude Code가 대신 `Admin permissions required` 경고를 표시했습니다.
3567 3591
3568<h3 id="failed-to-resume-the-conversation">3592<h3 id="failed-to-resume-the-conversation">
3569 대화를 재개하지 못함3593 대화를 재개하지 못함
3570</h3>3594</h3>
3571 3595
3572Claude Code가 [`claude --resume` 선택기](/docs/ko/sessions#use-the-session-picker)에서 선택한 세션의 저장된 기록을 읽거나 처리할 수 없으므로 부분적으로 로드된 상태에서 계속하는 대신 프로세스를 종료합니다. 메시지는 재시도 명령어를 포함합니다:3596Claude Code가 [`claude --resume` 선택기](/docs/ko/sessions#use-the-session-picker)에서 선택한 세션의 저장된 트랜스크립트를 읽거나 처리할 수 없으므로, 부분적으로 로드된 상태로 계속하는 대신 프로세스를 종료합니다. 메시지에는 재시도할 명령이 포함됩니다:
3573 3597
3574```text theme={null}3598```text theme={null}
3575Failed to resume the conversation.3599Failed to resume the conversation.
3576Run claude --resume <session-id> to retry, or claude to start a new session.3600Run claude --resume <session-id> to retry, or claude to start a new session.
3577```3601```
3578 3602
3579Claude Code는 메시지를 표시한 후 코드 1로 종료됩니다. 실행 중인 세션 내의 `/resume` 선택기는 대화에서 `Failed to resume conversation`을 보고하고 현재 세션은 계속 실행됩니다. v2.1.216 이전에는 `claude --resume` 선택기에서 실패한 재개가 `Resuming conversation…` 스피너에 무한정 머물렀습니다.3603Claude Code는 메시지를 표시한 후 코드 1로 종료됩니다. 실행 중인 세션 내의 `/resume` 선택기는 대신 대화에 `Failed to resume conversation`을 보고하며, 현재 세션은 계속 실행됩니다. v2.1.216 이전에는 `claude --resume` 선택기에서 재개에 실패하면 이 메시지를 표시하는 대신 `Resuming conversation…` 스피너에 무한정 머물렀습니다.
3580 3604
3581**해야 할 일:**3605**조치 방법:**
3582 3606
3583* 메시지의 세션 ID로 `claude --resume <session-id>`를 실행하여 재시도합니다.3607* 메시지의 세션 ID로 `claude --resume <session-id>`를 실행하여 재시도합니다
3584* 모든 재시도가 같은 방식으로 실패하면 `claude update`를 실행하고 다시 재개합니다. v2.1.275 이전의 버전은 저장된 기록에 읽을 수 없는 항목이 포함되어 있을 때 재개에 실패합니다.3608* 모든 재시도가 같은 방식으로 실패하면 `claude update`를 실행하고 다시 재개합니다. v2.1.275 이전 버전은 저장된 트랜스크립트에 읽을 수 없는 항목이 있으면 재개에 실패합니다.
3585* 재시도가 다시 실패하면 `claude`를 실행하여 새 세션을 시작합니다.3609* 재시도가 다시 실패하면 `claude`를 실행하여 새 세션을 시작합니다
3586 3610
3587<h3 id="no-conversation-found-with-the-session-id">3611<h3 id="no-conversation-found-with-the-session-id">
3588 세션 ID와 일치하는 대화를 찾을 수 없음3612 세션 ID에 해당하는 대화를 찾을 수 없음
3589</h3>3613</h3>
3590 3614
3591`claude --resume <session-id>`에 세션 ID를 전달했고 저장된 기록이 일치하지 않습니다:3615`claude --resume <session-id>`에 세션 ID를 전달했지만 일치하는 저장된 트랜스크립트가 없는 경우입니다:
3592 3616
3593```text theme={null}3617```text theme={null}
3594No conversation found with session ID: <session-id>3618No conversation found with session ID: <session-id>
3595```3619```
3596 3620
3597Claude Code는 메시지를 표시한 후 코드 1로 종료됩니다. Claude Code는 [현재 프로젝트를 먼저 검색한 후 이 머신의 다른 모든 프로젝트를 검색](/docs/ko/sessions#resume-a-session)합니다. v2.1.223 이전에는 조회가 현재 프로젝트 디렉토리와 git worktree에서 중지되었으므로 세션이 마지막으로 작동한 디렉토리에서 재개합니다.3621Claude Code는 메시지를 표시한 후 코드 1로 종료됩니다. Claude Code는 [현재 프로젝트를 먼저 검색한 다음 이 머신의 다른 모든 프로젝트](/docs/ko/sessions#resume-a-session)에서 ID를 검색합니다. v2.1.223 이전에는 현재 프로젝트 디렉터리와 그 git worktree에서만 검색했으므로, 세션이 마지막으로 작업한 디렉터리에서 재개해야 했습니다.
3598 3622
3599일반적인 원인:3623일반적인 원인:
3600 3624
3601* **잘못된 ID**: 비대화형 실행의 경우 ID는 [`--output-format json` 출력](/docs/ko/headless#get-structured-output)의 `session_id` 필드입니다.3625* **잘못 입력한 ID**: 비대화형 실행의 경우 ID는 [`--output-format json` 출력](/docs/ko/headless#get-structured-output)의 `session_id` 필드입니다
3602* **삭제된 기록**: Claude Code는 [보존 기간](/docs/ko/sessions#where-transcripts-are-stored) 후 기록을 제거합니다. 기본값은 30일이며 [보존 스윕 규칙](/docs/ko/claude-directory#cleaned-up-automatically)을 따릅니다.3626* **삭제된 트랜스크립트**: Claude Code는 [보존 정리 규칙](/docs/ko/claude-directory#cleaned-up-automatically)에 따라 [보존 기간](/docs/ko/sessions#where-transcripts-are-stored)(기본값 30일)이 지나면 트랜스크립트를 제거합니다
3603* **다른 머신**: Claude Code는 기록을 로컬로 저장하므로 세션이 실행된 머신에서 재개합니다.3627* **다른 머신**: Claude Code는 트랜스크립트를 로컬에 저장하므로 세션이 실행된 머신에서 재개해야 합니다
3604* **중복 복사본**: `~/.claude/projects` 아래에 프로젝트 디렉토리를 복사했으므로 두 기록이 동일한 ID를 가지면 Claude Code는 이 메시지를 보고하고 임의로 하나의 복사본을 재개하지 않습니다.3628* **중복 사본**: `~/.claude/projects` 아래의 프로젝트 디렉터리를 복사하여 두 트랜스크립트가 같은 ID를 갖게 되면, Claude Code는 임의로 한 사본을 재개하는 대신 이 메시지를 보고합니다
3605 3629
3606**해야 할 일:**3630**조치 방법:**
3607 3631
3608* 대화형 세션의 경우 `claude --resume`으로 [세션 선택기](/docs/ko/sessions#use-the-session-picker)를 열고 `Ctrl+A`를 눌러 이 머신의 모든 프로젝트로 확장한 후 세션을 선택합니다.3632* 대화형 세션의 경우 `claude --resume`으로 [세션 선택기](/docs/ko/sessions#use-the-session-picker)를 열고 `Ctrl+A`를 눌러 이 머신의 모든 프로젝트로 범위를 넓힌 후 세션을 선택합니다
3609* `claude -p` 또는 [Agent SDK](/docs/ko/agent-sdk/overview)로 만든 세션은 선택기에 나타나지 않으므로 원래 실행이 출력한 `session_id`에 대해 ID를 다시 확인합니다.3633* `claude -p` 또는 [Agent SDK](/docs/ko/agent-sdk/overview)로 만든 세션은 선택기에 나타나지 않으므로, 원래 실행에서 출력된 `session_id`와 ID를 다시 대조합니다
3610 3634
3611<h3 id="windows-reported-an-error-ebadf">3635<h3 id="windows-reported-an-error-ebadf">
3612 Windows가 이 세션의 기록 파일을 읽을 때 오류를 보고함 (EBADF)3636 Claude Code가 이 세션의 트랜스크립트 파일을 읽을 때 Windows에서 오류(EBADF)를 보고했습니다
3613</h3>3637</h3>
3614 3638
3615Windows에서 세션을 재개했고 저장된 [기록 파일](/docs/ko/sessions#where-transcripts-are-stored)이 정상적으로 열렸으며 읽기가 EBADF 시스템 오류로 실패했습니다. 시스템 오류는 읽기가 실패한 이유를 말하지 않으므로 메시지는 가능한 원인과 시도할 것을 제안합니다:3639Windows에서 세션을 재개했을 때 저장된 [트랜스크립트 파일](/docs/ko/sessions#where-transcripts-are-stored)은 정상적으로 열렸지만, 이를 읽는 과정에서 시스템 오류 EBADF로 실패한 경우입니다. 시스템 오류는 읽기에 실패한 이유를 알려 주지 않으므로, 메시지는 가능성 있는 원인과 시도해 볼 방법을 제시합니다:
3616 3640
3617```text theme={null}3641```text theme={null}
3618Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.3642Windows reported an error (EBADF) when Claude Code read this session's transcript file, although the file had opened normally. This can happen when other software intercepts file reads — security, encryption or endpoint-management tools, for example. If it keeps happening for this conversation, try excluding the folder that holds Claude Code's session transcripts from such software (the .claude folder in your user profile, unless the app or CLAUDE_CONFIG_DIR points Claude Code elsewhere), or adding Claude Code to its allowed applications, then resume again.
3619```3643```
3620 3644
3621메시지는 명령어의 자체 실패 줄을 따릅니다. 예를 들어 `Failed to resume session <session-id>`. `claude --resume` 또는 [`claude -p`](/docs/ko/headless) 명령어는 메시지를 표시한 후 코드 1로 종료됩니다. `/resume` 후 실행 중인 세션 내에서 현재 세션은 계속 실행됩니다.3645이 메시지는 `Failed to resume session <session-id>`와 같은 명령 자체의 실패 줄 다음에 표시됩니다. `claude --resume` 또는 [`claude -p`](/docs/ko/headless) 명령은 이 메시지를 표시한 후 코드 1로 종료됩니다. 세션 내에서 `/resume`을 실행한 경우에는 현재 세션이 계속 실행됩니다.
3622 3646
3623**해야 할 일:**3647**해결 방법:**
3624 3648
3625* 보안, 암호화 또는 엔드포인트 관리 도구 같은 파일 읽기를 스캔하거나 가로채는 소프트웨어에서 기록을 보유하는 폴더를 제외합니다. 기록은 기본적으로 `%USERPROFILE%\.claude\projects` 아래에 있거나 [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)이 이름 지정하는 디렉토리 아래에 있습니다.3649* 보안, 암호화 또는 엔드포인트 관리 도구와 같이 파일 읽기를 검사하거나 가로채는 소프트웨어에서 세션 트랜스크립트가 저장된 폴더를 제외합니다. 트랜스크립트는 기본적으로 `%USERPROFILE%\.claude\projects` 아래에 저장되며, [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars)이 지정된 경우 해당 디렉터리 아래에 저장됩니다
3626* 제외를 추가할 수 없으면 대신 해당 소프트웨어의 허용된 애플리케이션에 Claude Code를 추가합니다.3650* 제외 항목을 추가할 수 없다면 대신 해당 소프트웨어의 허용된 애플리케이션에 Claude Code를 추가합니다
3627* 세션을 다시 재개합니다.3651* 세션을 다시 재개합니다
3628 3652
3629v2.1.282 이전에는 실패가 설명 없이 나타났습니다: `claude --resume <session-id>`는 `Failed to resume session <session-id>`에서 끝났고 `-p` 실행은 `Failed to resume session: EBADF: bad file descriptor, read` 같은 시스템 오류 텍스트만 출력했습니다.3653v2.1.282 이전에는 이 실패가 아무런 설명 없이 발생했습니다. `claude --resume <session-id>`는 `Failed to resume session <session-id>`로 종료되었고, `-p` 실행은 `Failed to resume session: EBADF: bad file descriptor, read`와 같은 시스템 오류 텍스트만 출력했습니다.
3630 3654
3631<h3 id="cannot-switch-renderers-in-this-session">3655<h3 id="cannot-switch-renderers-in-this-session">
3632 이 세션에서 렌더러를 전환할 수 없음3656 Cannot switch renderers in this session
3633</h3>3657</h3>
3634 3658
3635렌더러를 전환하면 Claude Code가 프로세스를 다시 시작합니다. [`/tui`](/docs/ko/fullscreen#enable-fullscreen-rendering)를 Claude Code가 다시 시작하기를 거부하는 세션에서 실행했으므로 전환하지 않고 아무것도 저장하지 않습니다. 어떤 메시지를 보는지는 원인을 알려줍니다:3659렌더러를 전환하면 Claude Code는 프로세스를 다시 시작합니다. Claude Code가 다시 시작을 거부하는 세션에서 [`/tui`](/docs/ko/fullscreen#enable-fullscreen-rendering)를 실행했기 때문에 전환되지 않았고 아무것도 저장되지 않았습니다. 표시되는 메시지를 보면 원인을 알 수 있습니다:
3636
3637* `Cannot switch renderers while work is running in the background`: 백그라운드 셸 또는 하위 에이전트 같은 재시작이 중단할 백그라운드 작업이 실행 중입니다. [`/tasks`](/docs/ko/commands)로 작업이 완료될 때까지 기다리거나 중지한 후 `/tui fullscreen` 또는 `/tui default`를 다시 실행합니다.
3638*
3639 3660
3640`Cannot switch renderers in this session`: 세션에 Claude Code가 다시 시작된 프로세스로 전달할 수 없는 제한이 있습니다. v2.1.234 이전에는 Claude Code가 어쨌든 다시 시작했고 다시 시작된 세션이 제한 없이 실행되었습니다.3661* `Cannot switch renderers while work is running in the background`: 백그라운드 셸이나 서브에이전트처럼 다시 시작하면 중단될 백그라운드 작업이 실행 중입니다. 작업이 끝날 때까지 기다리거나 [`/tasks`](/docs/ko/commands)로 작업을 중지한 다음 `/tui fullscreen` 또는 `/tui default`를 다시 실행합니다
3662* `Cannot switch renderers in this session`: 세션에 Claude Code가 다시 시작된 프로세스로 전달할 수 없는 제한 사항이 있습니다. v2.1.234 이전에는 Claude Code가 그래도 다시 시작했으며, 다시 시작된 세션은 해당 제한 사항 없이 실행되었습니다
3641 3663
3642제한 메시지에서 괄호 안의 부분은 Claude Code가 찾은 제한을 이름 지정합니다:3664제한 사항 메시지에서 괄호 안의 부분은 Claude Code가 발견한 제한 사항을 나타냅니다:
3643 3665
3644```text theme={null}3666```text theme={null}
3645Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.3667Cannot switch renderers in this session — it has restrictions a restart can't carry over (permission rules set for this session only). Nothing was changed. Running /tui fullscreen in a session started without them switches every later session too.
3646```3668```
3647 3669
3648메시지가 괄호 안에 표시할 수 있는 각 이유:3670메시지의 괄호 안에 표시될 수 있는 각 이유는 다음과 같습니다:
3649 3671
3650* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Claude Code가 다시 시작된 프로세스로 전달하지 않는 플래그로 세션을 시작했습니다. 이러한 플래그에는 [`--system-prompt`](/docs/ko/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, [`--tools`](/docs/ko/cli-reference#cli-flags) 허용 목록, [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 및 [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)이 포함됩니다.3672* `launch flags: a custom system prompt, a tool allowlist, or restricted settings`: Claude Code가 다시 시작된 프로세스로 다시 전달하지 않는 플래그로 세션을 시작했습니다. 이러한 플래그에는 [`--system-prompt`](/docs/ko/cli-reference#cli-flags), `--system-prompt-file`, `--append-system-prompt-file`, [`--tools`](/docs/ko/cli-reference#cli-flags) 허용 목록, [`--setting-sources`](/docs/ko/cli-reference#cli-flags), [`--permission-prompt-tool`](/docs/ko/cli-reference#cli-flags)이 포함됩니다
3651* `permission rules set for this session only`: 훅 또는 SDK 호출자의 [권한 업데이트](/docs/ko/hooks#permission-update-entries)가 `session` 대상으로 거부 또는 요청 규칙을 추가했습니다. 세션 범위 허용 규칙은 거부를 트리거하지 않습니다. 재시작이 이를 제거하고 Claude Code가 대신 다시 프롬프트합니다.3673* `permission rules set for this session only`: 훅 또는 SDK 호출자의 [권한 업데이트](/docs/ko/hooks#permission-update-entries)가 `session` 대상으로 거부 또는 확인 규칙을 추가했습니다. 세션 범위의 허용 규칙은 거부를 유발하지 않습니다. 다시 시작하면 해당 규칙이 삭제되며, Claude Code는 대신 다시 확인을 요청합니다
3652* `ask-before-running rules with no command-line form`: 훅 또는 SDK 호출자의 권한 업데이트가 Claude Code가 `--allowed-tools` 및 `--disallowed-tools`로 전달하는 규칙과 함께 요청 규칙을 추가했습니다. 요청 규칙에 대한 플래그는 없습니다.3674* `ask-before-running rules with no command-line form`: 훅 또는 SDK 호출자의 권한 업데이트가 Claude Code가 `--allowed-tools` 및 `--disallowed-tools`로 다시 전달하는 규칙과 함께 확인 규칙을 추가했습니다. 확인 규칙에 해당하는 플래그는 없습니다
3653* `permission rules a command line cannot carry intact` 및 `added directories a command line cannot carry intact`: 권한 업데이트가 세션 중간에 규칙 또는 디렉토리 경로를 추가했습니다. 다시 시작된 프로세스의 명령줄이 텍스트를 동일한 값으로 전달할 수 없습니다.3675* `permission rules a command line cannot carry intact` 및 `added directories a command line cannot carry intact`: 권한 업데이트가 세션 도중에 규칙 또는 디렉터리 경로를 추가했습니다. 다시 시작된 프로세스의 명령줄은 해당 텍스트를 동일한 값으로 전달할 수 없습니다
3654 3676
3655**해야 할 일:**3677**해결 방법:**
3656 3678
3657* 이러한 제한 없이 시작된 세션에서 `/tui fullscreen` 또는 `/tui default`를 실행하여 다시 전환합니다. Claude Code는 [`tui` 설정](/docs/ko/settings-reference#tui)을 거기에 저장합니다.3679* 해당 제한 사항 없이 시작된 세션에서 `/tui fullscreen`을 실행하거나, 다시 되돌리려면 `/tui default`를 실행합니다. Claude Code는 해당 세션에서 [`tui` 설정](/docs/ko/settings-reference#tui)을 저장합니다
3658 3680
3659<h3 id="couldnt-open-claude-desktop">3681<h3 id="couldnt-open-claude-desktop">
3660 Claude Desktop을 열 수 없음3682 Claude Desktop을 열 수 없습니다
3661</h3>3683</h3>
3662 3684
3663[`/desktop`](/docs/ko/desktop#coming-from-the-cli) 또는 그 별칭 `/app`을 실행했거나 [`claude --desktop`](/docs/ko/cli-reference#cli-flags)을 셸에서 실행했고 Claude Code가 Claude Desktop을 열기 위해 사용하는 시스템 명령어가 실패했습니다. `/desktop` 후 세션은 터미널에 남아 있습니다. `claude --desktop`은 메시지를 `Error:` 접두사 없이 출력하고 상태 1로 종료됩니다.3685세션에서 [`/desktop`](/docs/ko/desktop#coming-from-the-cli) 또는 그 별칭인 `/app`을 실행했거나 셸에서 [`claude --desktop`](/docs/ko/cli-reference#cli-flags)을 실행했는데, Claude Code가 Claude Desktop을 여는 데 사용하는 시스템 명령이 실패한 경우입니다. `/desktop` 실행 후에는 세션이 터미널에 그대로 유지되며, `claude --desktop`은 `Error:` 접두사 없이 메시지를 출력하고 상태 1로 종료됩니다.
3664 3686
3665괄호의 텍스트는 실패한 명령어를 이름 지정합니다. 종료 상태와 첫 번째 오류 출력 줄이 있으면 함께 표시됩니다. macOS에서 해당 명령어는 `open`입니다. 이 예와 같이 Windows에서는 `rundll32`입니다:3687괄호 안의 텍스트는 실패한 명령을 나타내며, 해당 명령이 종료 상태와 오류 출력을 생성한 경우 종료 상태와 오류 출력의 첫 번째 줄도 함께 표시됩니다. macOS에서는 이 예시처럼 해당 명령이 `open`이고, Windows에서는 `rundll32`입니다:
3666 3688
3667```text theme={null}3689```text theme={null}
3668Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.3690Error: Couldn't open Claude Desktop (`open` exited 1: LSOpenURLsWithRole() failed for the URL claude://resume?session=<session-id> with error -10814). Open Claude Desktop and try again.
3669```3691```
3670 3692
3671**해야 할 일:**3693**해결 방법:**
3672 3694
3673* Claude Desktop을 직접 열고 `/desktop` 또는 `claude --desktop`을 다시 실행합니다.3695* Claude Desktop을 직접 연 다음 `/desktop` 또는 `claude --desktop`을 다시 실행합니다
3674* 실패한 명령어의 전체 오류 출력을 읽으려면 `/debug`로 디버그 로깅을 켜고 `/desktop`을 다시 실행하거나 `claude --desktop --debug-file <path>`를 실행한 후 디버그 로그를 확인합니다.3696* 실패한 명령의 전체 오류 출력을 확인하려면 `/debug`로 디버그 로깅을 켜고 `/desktop`을 다시 실행하거나, `claude --desktop --debug-file <path>`를 실행한 다음 디버그 로그를 확인합니다
3675 3697
3676v2.1.285 이전에는 메시지가 `Open Claude Desktop and run /desktop again.`으로 끝났습니다. v2.1.275 이전에는 `Failed to open Claude Desktop. Please try opening it manually.`였고 무엇이 실패했는지 말하지 않았습니다.3698v2.1.285 이전에는 메시지가 `Open Claude Desktop and run /desktop again.`으로 끝났습니다. v2.1.275 이전에는 메시지가 `Failed to open Claude Desktop. Please try opening it manually.`였으며 무엇이 실패했는지 알려 주지 않았습니다.
3677 3699
3678<h3 id="terminal-setup-left-your-zed-keymap-unchanged">3700<h3 id="terminal-setup-left-your-zed-keymap-unchanged">
3679 /terminal-setup이 Zed 키맵을 변경하지 않음3701 /terminal-setup이 Zed 키맵을 변경하지 않았습니다
3680</h3>3702</h3>
3681 3703
3682Zed에서 [`/terminal-setup`](/docs/ko/terminal-config#enter-multiline-prompts)을 실행했고 Claude Code가 Zed `keymap.json`에 대한 업데이트를 완료할 수 없어서 파일을 그대로 두었습니다.3704Zed에서 [`/terminal-setup`](/docs/ko/terminal-config#enter-multiline-prompts)을 실행했지만 Claude Code가 Zed `keymap.json` 업데이트를 완료할 수 없어 파일을 그대로 둔 경우입니다.
3683 3705
3684각 메시지는 키맵 경로를 이름 지정하고 직접 추가할 키바인딩 블록으로 끝납니다:3706각 메시지는 키맵 경로를 알려 주며, 직접 추가할 키보드 단축키 블록으로 끝납니다:
3685 3707
3686```text theme={null}3708```text theme={null}
3687Couldn't update your Zed keymap, so it was left unchanged.3709Couldn't update your Zed keymap, so it was left unchanged.
3689{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }3711{ "context": "Terminal", "bindings": { "shift-enter": ["terminal::SendText", "\u001b\r"] } }
3690```3712```
3691 3713
3692메시지의 첫 줄은 원인을 이름 지정합니다:3714메시지의 첫 번째 줄은 원인을 나타냅니다:
3693 3715
3694* `Couldn't read your Zed keymap, so it was left unchanged.`: Claude Code가 파일을 읽을 수 없습니다. 예를 들어 파일 권한 때문입니다.3716* `Couldn't read your Zed keymap, so it was left unchanged.`: 파일 권한 등의 이유로 Claude Code가 파일을 읽을 수 없었습니다
3695* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: 파일이 잘 읽혔지만 `//` 주석 및 후행 쉼표가 허용되어도 키바인딩 블록 배열로 파싱되지 않습니다.3717* `Your Zed keymap isn't a readable list of keybindings, so it was left unchanged.`: 파일은 정상적으로 읽혔지만, `//` 주석과 후행 쉼표를 허용하더라도 키보드 단축키 블록의 배열로 파싱되지 않습니다
3696* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code가 파일을 옆에 `.bak` 백업으로 복사할 수 없어서 아무것도 변경하지 않았습니다.3718* `Couldn't back up your Zed keymap; not modifying it.`: Claude Code가 파일을 같은 위치의 `.bak` 백업으로 복사할 수 없어 아무것도 변경하지 않았습니다
3697* `Couldn't update your Zed keymap, so it was left unchanged.`: 병합된 결과가 바인딩을 전달하는 유효한 키맵으로 확인되지 않아서 Claude Code가 쓰는 대신 버렸습니다. 중복된 키가 있는 키바인딩 블록이 이를 유발할 수 있습니다.3719* `Couldn't update your Zed keymap, so it was left unchanged.`: 병합된 결과가 해당 바인딩을 포함한 유효한 키맵으로 확인되지 않아 Claude Code가 파일에 쓰는 대신 결과를 폐기했습니다. 키가 중복된 키보드 단축키 블록이 원인일 수 있습니다
3698 3720
3699**해야 할 일:**3721**해결 방법:**
3700 3722
3701* 메시지의 블록을 메시지가 이름 지정하는 경로의 `keymap.json`의 최상위 배열에 복사합니다.3723* 메시지의 블록을 복사하여 메시지에 표시된 경로에 있는 `keymap.json`의 최상위 배열에 추가합니다
3702* `isn't a readable list of keybindings`의 경우 구문 오류를 수정하거나 파일의 최상위 값을 배열로 만든 후 `/terminal-setup`을 다시 실행합니다.3724* `isn't a readable list of keybindings`의 경우, 구문 오류를 수정하거나 파일의 최상위 값을 배열로 만든 다음 `/terminal-setup`을 다시 실행합니다
3703 3725
3704v2.1.247 이전에는 `/terminal-setup`이 `//` 주석 또는 후행 쉼표를 사용하는 Zed 키맵을 파싱할 수 없었고 전체 파일을 자신의 바인딩만으로 바꾸면서 바인딩이 설치되었다고 보고했습니다. 이전 버전이 바꾼 키맵을 복원하려면 [멀티라인 프롬프트 입력](/docs/ko/terminal-config#enter-multiline-prompts) 아래에 설명된 `.bak` 백업 파일을 사용합니다.3726v2.1.247 이전에는 `/terminal-setup`이 `//` 주석이나 후행 쉼표를 사용하는 Zed 키맵을 파싱할 수 없었으며, 바인딩이 설치되었다고 보고하면서 전체 파일을 자체 바인딩만으로 대체했습니다. 이전 버전에서 대체된 키맵을 복원하려면 [여러 줄 프롬프트 입력](/docs/ko/terminal-config#enter-multiline-prompts)에 설명된 `.bak` 백업 파일을 사용합니다.
3705 3727
3706<h3 id="skill-usage-reports-are-not-available-on-this-connection">3728<h3 id="skill-usage-reports-are-not-available-on-this-connection">
3707 스킬 사용 보고서는 이 연결에서 사용할 수 없음3729 Skill usage reports are not available on this connection
3708</h3>3730</h3>
3709 3731
3710[Remote Control](/docs/ko/remote-control)을 통해, 휴대폰 또는 브라우저에서 [`/skill-doctor`](/docs/ko/skills#find-unused-skills)를 실행했습니다. Claude Code는 Remote Control을 통해 스킬 사용 보고서를 보내지 않고 대신 이 메시지로 응답합니다:3732휴대폰이나 브라우저에서 [Remote Control](/docs/ko/remote-control)을 통해 [`/skill-doctor`](/docs/ko/skills#find-unused-skills)를 실행한 경우입니다. Claude Code는 스킬 사용 보고서를 Remote Control을 통해 전송하지 않으며, 대신 다음 메시지로 응답합니다:
3711 3733
3712```text theme={null}3734```text theme={null}
3713Skill usage reports are not available on this connection.3735Skill usage reports are not available on this connection.
3714```3736```
3715 3737
3716**해야 할 일:**3738**해결 방법:**
3717 3739
3718* 세션이 실행 중인 머신의 터미널에서 `/skill-doctor`를 실행하거나 거기서 `claude -p "/skill-doctor"`를 실행합니다.3740* 세션이 실행 중인 머신의 터미널에서 `/skill-doctor`를 실행하거나, 해당 머신에서 `claude -p "/skill-doctor"`를 실행합니다
3719 3741
3720<h3 id="custom-output-styles-cant-be-selected-over-remote-control">3742<h3 id="custom-output-styles-cant-be-selected-over-remote-control">
3721 사용자 정의 출력 스타일을 Remote Control을 통해 선택할 수 없음3743 사용자 지정 출력 스타일은 Remote Control을 통해 선택할 수 없습니다
3722</h3>3744</h3>
3723 3745
3724[Remote Control](/docs/ko/remote-control)을 통해 모바일 앱 또는 웹에서 [`/output-style`](/docs/ko/output-styles#change-your-output-style)을 실행했거나 명령어가 세션으로 릴레이된 메시지에 도착했습니다. 이러한 턴이 계정 소유자에게서 오지 않을 수 있으므로 Claude Code는 [기본 제공 스타일](/docs/ko/output-styles#built-in-output-styles)만 나열하고 선택하며 명령어가 스타일을 나열하거나 제공한 이름을 인식하지 못할 때마다 이 공지를 추가합니다. [사용자 정의 스타일](/docs/ko/output-styles#create-a-custom-output-style) 이름은 존재하지 않는 이름과 동일한 응답을 받습니다:3746[Remote Control](/docs/ko/remote-control)을 통해 모바일 앱이나 웹에서 [`/output-style`](/docs/ko/output-styles#change-your-output-style)을 실행했거나, 세션으로 전달된 메시지에 해당 명령이 포함된 경우입니다. 이러한 턴은 계정 소유자가 보낸 것이 아닐 수 있으므로, Claude Code는 해당 턴에서 [기본 제공 스타일](/docs/ko/output-styles#built-in-output-styles)만 나열하고 선택하며, 명령이 스타일을 나열하거나 입력한 이름을 인식하지 못할 때마다 이 안내를 추가합니다. [사용자 지정 스타일](/docs/ko/output-styles#create-a-custom-output-style) 이름에는 존재하지 않는 이름과 동일한 응답이 반환됩니다:
3725 3747
3726```text theme={null}3748```text theme={null}
3727Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.3749Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.
3728```3750```
3729 3751
3730**해야 할 일:**3752**해결 방법:**
3731 3753
3732* 기본 제공 스타일을 선택합니다. 예를 들어 `/output-style concise`.3754* 기본 제공 스타일을 선택합니다. 예: `/output-style concise`
3733* 사용자 정의 스타일을 사용하려면 프로젝트의 `.claude/settings.local.json`에서 [`outputStyle`](/docs/ko/settings-reference#outputstyle)을 설정하거나 세션 자체의 터미널에서 `/output-style <style>`을 실행합니다(있는 경우).3755* 사용자 지정 스타일을 사용하려면 프로젝트의 `.claude/settings.local.json`에서 [`outputStyle`](/docs/ko/settings-reference#outputstyle)을 설정하거나, 세션에 자체 터미널이 있는 경우 해당 터미널에서 `/output-style <style>`을 실행합니다
3734 3756
3735<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">3757<h3 id="output-styles-are-saved-to-local-settings-which-this-session-doesnt-load">
3736 출력 스타일이 이 세션이 로드하지 않는 로컬 설정에 저장됨3758 출력 스타일은 이 세션이 로드하지 않는 로컬 설정에 저장됩니다
3737</h3>3759</h3>
3738 3760
3739이 세션의 설정 소스가 `local`을 제외하는 세션에서 `/output-style <style>` 또는 `/config outputStyle=<style>`으로 [출력 스타일](/docs/ko/output-styles)을 전환하려고 했습니다. 예를 들어 [`settingSources`](/docs/ko/agent-sdk/typescript#options)가 `"local"`을 생략하는 [Agent SDK](/docs/ko/agent-sdk/typescript) 세션과 [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 값이 `local`을 생략하는 CLI 세션입니다. 두 명령어 모두 스타일을 `.claude/settings.local.json`에 저장합니다. 이러한 세션은 절대 다시 읽지 않으므로 Claude Code는 효과가 없을 설정을 쓰는 대신 거부합니다:3761설정 소스에서 `local`이 제외된 세션에서 `/output-style <style>` 또는 `/config outputStyle=<style>`로 [출력 스타일](/docs/ko/output-styles)을 전환하려고 한 경우입니다. 예를 들어 [`settingSources`](/docs/ko/agent-sdk/typescript#options)에서 `"local"`이 빠진 [Agent SDK](/docs/ko/agent-sdk/typescript) 세션과, `local`이 빠진 [`--setting-sources`](/docs/ko/cli-reference#cli-flags) 값으로 시작된 CLI 세션이 있습니다. 두 명령 모두 스타일을 `.claude/settings.local.json`에 저장하는데, 이러한 세션은 이 파일을 다시 읽지 않으므로 Claude Code는 효과가 없는 설정을 쓰는 대신 거부합니다:
3740 3762
3741```text theme={null}3763```text theme={null}
3742Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.3764Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.
3743```3765```
3744 3766
3745**해야 할 일:**3767**해결 방법:**
3746 3768
3747* 세션의 설정 소스에 `local`을 추가하고 다시 전환합니다.3769* 세션의 설정 소스에 `local`을 추가한 다음 다시 전환합니다
3748* 세션이 로드하는 설정 파일(예: 프로젝트의 `.claude/settings.json` 또는 `~/.claude/settings.json`)에서 [`outputStyle`](/docs/ko/settings-reference#outputstyle) 키를 설정합니다. TypeScript SDK에서 대신 인라인 `settings` 객체 내에서 `outputStyle`을 설정합니다. [출력 스타일 활성화](/docs/ko/agent-sdk/modifying-system-prompts#activate-an-output-style)를 참조하세요.3770* 프로젝트의 `.claude/settings.json` 또는 `~/.claude/settings.json`과 같이 세션이 로드하는 설정 파일에서 [`outputStyle`](/docs/ko/settings-reference#outputstyle) 키를 설정합니다. TypeScript SDK에서는 대신 인라인 `settings` 객체 안에 `outputStyle`을 설정합니다. [출력 스타일 활성화](/docs/ko/agent-sdk/modifying-system-prompts#activate-an-output-style)를 참조하세요
3749 3771
3750<h2 id="plugin-errors">3772<h2 id="plugin-errors">
3751 플러그인 오류3773 플러그인 오류
3858 3880
3859플러그인 훅, [모니터](/docs/ko/plugins/components#monitors) 또는 MCP [`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication) 명령이 `${user_config.KEY}` [플러그인 옵션](/docs/ko/plugins/manifest-reference#user-configuration)을 참조하며 대체된 문자열이 셸에 전달됩니다. 구성된 값에 `$(...)`, 백틱 또는 `;`이 포함되면 여기서 코드로 실행되므로 Claude Code는 값을 대체하는 대신 구성 요소를 시작하기를 거부합니다. 확인은 명령 템플릿에서 실행되므로 아직 값이 구성되지 않았을 때도 오류가 나타납니다. v2.1.207 이전에는 값이 셸 명령으로 대체되었습니다.3881플러그인 훅, [모니터](/docs/ko/plugins/components#monitors) 또는 MCP [`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication) 명령이 `${user_config.KEY}` [플러그인 옵션](/docs/ko/plugins/manifest-reference#user-configuration)을 참조하며 대체된 문자열이 셸에 전달됩니다. 구성된 값에 `$(...)`, 백틱 또는 `;`이 포함되면 여기서 코드로 실행되므로 Claude Code는 값을 대체하는 대신 구성 요소를 시작하기를 거부합니다. 확인은 명령 템플릿에서 실행되므로 아직 값이 구성되지 않았을 때도 오류가 나타납니다. v2.1.207 이전에는 값이 셸 명령으로 대체되었습니다.
3860 3882
3861표현은 어느 표면이 옵션을 참조했는지에 따라 다릅니다. 셸 형식 훅은 다음을 보고합니다:3883표현은 어느 사용 환경이 옵션을 참조했는지에 따라 다릅니다. 셸 형식 훅은 다음을 보고합니다:
3862 3884
3863```text theme={null}3885```text theme={null}
3864Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}3886Hook from plugin formatter@acme-tools references ${user_config.*} in a shell-form command. The substituted value would be re-parsed by the shell. Use exec form instead — {"command": "<executable>", "args": ["${user_config.KEY}", ...]} — or read $CLAUDE_PLUGIN_OPTION_<KEY> from the hook's environment. Command: ./scripts/notify.sh ${user_config.webhook_url}
3926commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform3948commands path escapes plugin directory: ./commands\deploy.md — its path contains a backslash, which is not resolved reliably on this platform
3927```3949```
3928 3950
3929v2.1.251 이전에는 Claude Code가 마켓플레이스 항목에서 선언된 `commands` 경로를 플러그인 디렉터리 외부를 가리킬 때도 로드했습니다. Claude Code는 이미 `plugin.json`에서 선언된 경로와 마켓플레이스 항목의 다른 구성 요소 경로를 거부했습니다.3951v2.1.251 이전에는 Claude Code가 마켓플레이스 항목에서 선언된 `commands` 경로를 플러그인 디렉터리 외부를 가리킬 때도 로드했습니다.
3930 3952
3931v2.1.257 이전에는 확인이 경로의 철자만 보았으며 심볼릭 링크가 이어지는 위치는 보지 않았습니다.3953v2.1.257 이전에는 확인이 경로의 철자만 보았으며 심볼릭 링크가 이어지는 위치는 보지 않았습니다.
3932 3954
4003 4025
4004Claude Code는 `~/.claude/plugins/known_marketplaces.json`의 레지스트리 파일에 추가한 플러그인 마켓플레이스를 유지합니다. `claude plugin install`과 같이 레지스트리가 필요한 플러그인 명령은 Claude Code가 파일을 사용할 수 없을 때 두 가지 메시지 중 하나로 실패합니다:4026Claude Code는 `~/.claude/plugins/known_marketplaces.json`의 레지스트리 파일에 추가한 플러그인 마켓플레이스를 유지합니다. `claude plugin install`과 같이 레지스트리가 필요한 플러그인 명령은 Claude Code가 파일을 사용할 수 없을 때 두 가지 메시지 중 하나로 실패합니다:
4005 4027
4006* `Failed to load marketplace configuration`: 파일이 유효한 JSON이 아니거나 읽을 수 없습니다. 빈 파일도 이런 식으로 실패합니다.4028* `Failed to load marketplace configuration`: 파일이 존재하지만 유효한 JSON이 아니거나 읽을 수 없습니다. 빈 파일도 이런 식으로 실패합니다.
4007* `Marketplace configuration file is corrupted`: 파일이 유효한 JSON이지만 내용이 레지스트리 스키마와 일치하지 않습니다.4029* `Marketplace configuration file is corrupted`: 파일이 유효한 JSON이지만 내용이 레지스트리 스키마와 일치하지 않습니다.
4008 4030
4009누락된 파일은 실패가 아닙니다: Claude Code는 이를 마켓플레이스가 없는 레지스트리로 취급합니다.
4010
4011빈 파일의 경우 `claude plugin install`은 다음을 보고합니다:4031빈 파일의 경우 `claude plugin install`은 다음을 보고합니다:
4012 4032
4013```text theme={null}4033```text theme={null}
4019**수행할 작업:**4039**수행할 작업:**
4020 4040
4021* `~/.claude/plugins/known_marketplaces.json`을 열고 JSON을 복구하거나 메시지가 레지스트리 스키마와 일치하지 않는 것으로 이름을 지정한 항목을 수정하십시오.4041* `~/.claude/plugins/known_marketplaces.json`을 열고 JSON을 복구하거나 메시지가 레지스트리 스키마와 일치하지 않는 것으로 이름을 지정한 항목을 수정하십시오.
4022* 복구할 수 없으면 파일을 삭제하거나 내용을 `{}`로 바꾼 다음 `claude plugin marketplace add <source>`로 각 마켓플레이스를 다시 추가하십시오. Claude Code는 신뢰한 폴더에서 다음에 시작할 때 사용자 또는 관리 설정이 [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces)에서 선언한 마켓플레이스를 다시 등록합니다.4042* 복구할 수 없으면 파일을 삭제하거나 내용을 `{}`로 바꾼 다음 `claude plugin marketplace add <source>`로 각 마켓플레이스를 다시 추가하십시오. Claude Code는 신뢰한 폴더에서 다음에 시작할 때 사용자 또는 관리형 설정이 [`extraKnownMarketplaces`](/docs/ko/settings-reference#extraknownmarketplaces)에서 선언한 마켓플레이스를 다시 등록합니다.
4023 4043
4024<h3 id="plugin-is-required-by-your-organization">4044<h3 id="plugin-is-required-by-your-organization">
4025 Plugin is required by your organization4045 Plugin is required by your organization
4092 4112
4093* 오류가 지정하는 각 항목을 [서브에이전트에서 사용 가능한 도구](/docs/ko/sub-agents#available-tools)에 대해 수정합니다.4113* 오류가 지정하는 각 항목을 [서브에이전트에서 사용 가능한 도구](/docs/ko/sub-agents#available-tools)에 대해 수정합니다.
4094* 세션에 없는 도구의 항목을 제거합니다. 예를 들어 연결되지 않은 서버의 MCP 도구입니다.4114* 세션에 없는 도구의 항목을 제거합니다. 예를 들어 연결되지 않은 서버의 MCP 도구입니다.
4095* [백그라운드 서브에이전트가 제거하는](/docs/ko/sub-agents#available-tools) 도구(예: `CronCreate`)의 경우 항목을 제거합니다. 도구를 유지하려면 [포크 모드를 끕니다](/docs/ko/sub-agents#turn-fork-mode-on-or-off) 그리고 Claude에 서브에이전트를 포그라운드에서 실행하도록 요청합니다.4115* [백그라운드 서브에이전트가 제거하는](/docs/ko/sub-agents#available-tools) 도구(예: `CronCreate`)의 경우 항목을 제거합니다. 도구를 유지하려면 [포크 모드를 끄고](/docs/ko/sub-agents#turn-fork-mode-on-or-off) Claude에 서브에이전트를 포그라운드에서 실행하도록 요청합니다.
4096* 도구를 나열하는 대신 `tools` 필드를 삭제하여 서브에이전트에 [서브에이전트에서 사용 가능한 모든 도구](/docs/ko/sub-agents#available-tools)를 제공합니다.4116* 도구를 나열하는 대신 `tools` 필드를 삭제하여 서브에이전트에 [서브에이전트에서 사용 가능한 모든 도구](/docs/ko/sub-agents#available-tools)를 제공합니다.
4097* `Agent`만 포함하는 `tools` 목록의 경우 [깊이 제한](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)을 높이거나 에이전트에 최소한 하나의 다른 도구를 제공합니다. Claude Code는 해당 제한에서 `Agent`를 보류하므로 다른 항목이 없는 목록은 도구 없음으로 해석됩니다.4117* `Agent`만 포함하는 `tools` 목록의 경우 [깊이 제한](/docs/ko/sub-agents#let-subagents-spawn-their-own-subagents)을 높이거나 에이전트에 최소한 하나의 다른 도구를 제공합니다. Claude Code는 해당 제한에서 `Agent`를 보류하므로 다른 항목이 없는 목록은 도구 없음으로 해석됩니다.
4098 4118
4127 4147
4128**할 일:**4148**할 일:**
4129 4149
4130* 당신 쪽에서는 아무것도 할 필요가 없습니다: 오류는 도구의 결과로 Claude에 반환되며 메시지 자체가 Claude에 null 바이트를 제거하고 다시 시도하도록 지시합니다.4150* 사용자 쪽에서는 아무것도 할 필요가 없습니다: 오류는 도구의 결과로 Claude에 반환되며 메시지 자체가 Claude에 null 바이트를 제거하고 다시 시도하도록 지시합니다.
4131 4151
4132v2.1.281 이전에는 Read, Write, Edit 또는 NotebookEdit 경로의 null 바이트가 `Path contains null bytes`라는 이름의 오류로 전체 턴을 종료했으며 도구는 실행되지 않았습니다.4152v2.1.281 이전에는 Read, Write, Edit 또는 NotebookEdit 경로의 null 바이트가 `Path contains null bytes`라는 이름의 오류로 전체 턴을 종료했으며 도구는 실행되지 않았습니다.
4133 4153
4193 팀원의 받은편지함에 쓰기 실패4213 팀원의 받은편지함에 쓰기 실패
4194</h3>4214</h3>
4195 4215
4196Claude Code가 `~/.claude/teams/{team-name}/inboxes/` 아래의 팀원 메일박스 파일에 메시지를 쓸 수 없어서 수신자가 아무것도 받지 못했습니다. 쓰기는 Claude Code가 파일을 만들거나 업데이트할 수 없을 때 실패합니다. 예를 들어 디스크가 가득 찼거나, 디렉토리를 쓸 수 없거나, 다른 에이전트가 받은편지함 잠금을 너무 오래 유지하는 경우입니다. v2.1.224 이전에는 Claude Code가 쓰기가 실패했을 때도 메시지를 보낸 것으로 보고했습니다.4216Claude Code가 `~/.claude/teams/{team-name}/inboxes/` 아래의 팀원 메일박스 파일에 메시지를 쓸 수 없어서 수신자가 아무것도 받지 못했습니다. 쓰기는 Claude Code가 파일을 만들거나 업데이트할 수 없을 때 실패합니다. 예를 들어 디스크가 가득 찼거나, 디렉터리를 쓸 수 없거나, 다른 에이전트가 받은편지함 잠금을 너무 오래 유지하는 경우입니다. v2.1.224 이전에는 Claude Code가 쓰기가 실패했을 때도 메시지를 보낸 것으로 보고했습니다.
4197 4217
4198오류는 터미널의 배너가 아닌 전송 에이전트의 도구 결과에 나타나며 Claude에 다시 시도하도록 지시합니다:4218오류는 터미널의 배너가 아닌 전송 에이전트의 도구 결과에 나타나며 Claude에 다시 시도하도록 지시합니다:
4199 4219
4203 4223
4204구조화된 [에이전트 팀](/docs/ko/agent-teams) 프로토콜 메시지는 동일한 방식으로 실패하며 오류는 전달되지 않은 메시지의 이름을 지정합니다: Claude Code가 계획 승인, 계획 거부, 종료 요청 또는 종료 거부를 쓸 수 없을 때 오류는 `Failed to write the <message> to <name>'s inbox — nothing was sent`로 읽습니다. 해당 목록의 `plan approval`은 팀원의 계획을 승인하는 리드의 결정입니다. 팀원의 계획 제출은 별도의 `plan approval request` 메시지입니다. 해당 메시지와 두 개의 다른 프로토콜 메시지는 자신의 메시지 텍스트와 결과를 전달합니다:4224구조화된 [에이전트 팀](/docs/ko/agent-teams) 프로토콜 메시지는 동일한 방식으로 실패하며 오류는 전달되지 않은 메시지의 이름을 지정합니다: Claude Code가 계획 승인, 계획 거부, 종료 요청 또는 종료 거부를 쓸 수 없을 때 오류는 `Failed to write the <message> to <name>'s inbox — nothing was sent`로 읽습니다. 해당 목록의 `plan approval`은 팀원의 계획을 승인하는 리드의 결정입니다. 팀원의 계획 제출은 별도의 `plan approval request` 메시지입니다. 해당 메시지와 두 개의 다른 프로토콜 메시지는 자신의 메시지 텍스트와 결과를 전달합니다:
4205 4225
4206* `Failed to write the plan approval request to the lead's inbox — plan not submitted; try again`: 팀원의 계획이 리드에 도달하지 않았고 팀원은 재제출이 성공할 때까지 계획 모드에 남아 있습니다.4226* `Failed to write the plan approval request to the lead's inbox — plan not submitted; try again`: 팀원의 계획이 리드에 도달하지 않았고 팀원은 재제출이 성공할 때까지 플랜 모드에 남아 있습니다.
4207* `The permission request could not be delivered to the team lead (mailbox write failed)`: 팀원의 권한 요청이 리드에 도달하지 않았으므로 아무도 도구 호출을 승인하지 않았습니다.4227* `The permission request could not be delivered to the team lead (mailbox write failed)`: 팀원의 권한 요청이 리드에 도달하지 않았으므로 아무도 도구 호출을 승인하지 않았습니다.
4208* `The confirmation could not be written to team-lead's inbox.`: 종료 승인 자체가 적용되었고 팀원이 종료됩니다. 리드에 대한 확인만 누락되었습니다.4228* `The confirmation could not be written to team-lead's inbox.`: 종료 승인 자체가 적용되었고 팀원이 종료됩니다. 리드에 대한 확인만 누락되었습니다.
4209 4229
4224Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.4244Its agent definition was not restored: the folder its definition file came from is not trusted (source: projectSettings), so the teammate is running with the team-essential tools and no custom instructions. To restore it, the user needs to run Claude Code in that folder once and accept the trust dialog (the --debug log names the folder); do not change trust settings on the user's behalf.
4225```4245```
4226 4246
4227확인은 프로젝트의 `.claude/agents/` 디렉토리 또는 `--add-dir` 디렉토리의 정의에 적용되며 부모 폴더에 대한 신뢰 대화를 수락하는 것은 충족하지 않습니다.4247확인은 프로젝트의 `.claude/agents/` 디렉터리 또는 `--add-dir` 디렉터리의 정의에 적용되며 부모 폴더에 대한 신뢰 대화를 수락하는 것은 충족하지 않습니다.
4228 4248
4229**할 일:**4249**할 일:**
4230 4250
4245 4265
4246**할 일:**4266**할 일:**
4247 4267
4248* Claude에 메시지를 요약하거나 대량 콘텐츠를 파일에 넣고 수신자가 읽을 수 있도록 파일의 경로를 보내도록 요청합니다.4268* Claude에 메시지를 요약하거나 대량 콘텐츠를 파일에 넣고 파일의 경로를 보내도록 요청합니다.
4249* Claude에 콘텐츠를 여러 개의 더 짧은 메시지로 나누도록 요청합니다.4269* Claude에 콘텐츠를 여러 개의 더 짧은 메시지로 나누도록 요청합니다.
4250 4270
4251v2.1.235 이전에는 Claude Code가 과도한 크기의 메시지를 보낸 것으로 보고했습니다. 수신 세션이 읽지 않고 삭제했습니다.4271v2.1.235 이전에는 Claude Code가 과도한 크기의 메시지를 보낸 것으로 보고했습니다. 수신 세션이 읽지 않고 삭제했습니다.
4288 4308
4289**할 일:**4309**할 일:**
4290 4310
4291* 수신자가 삭제된 메시지를 본 적이 없다고 가정합니다. Claude Code는 동일하게 Claude에 알리고 여전히 중요한 것을 나중에 한 메시지에 포함하도록 지시합니다.4311* 수신자가 삭제된 메시지를 본 적이 없다고 가정합니다. Claude Code는 동일하게 Claude에 알리고, 곧바로 다시 보내는 대신 여전히 중요한 것을 나중에 한 메시지에 포함하도록 지시합니다.
4292* 세션이 서로 자주 업데이트를 보내면 Claude에 더 적은 수의 더 큰 메시지를 보내도록 요청합니다. 예를 들어 세션이 작업을 완료할 때 한 보고서입니다.4312* 세션이 서로 자주 업데이트를 보내면 Claude에 더 적은 수의 더 큰 메시지를 보내도록 요청합니다. 예를 들어 세션이 작업을 완료할 때 한 보고서입니다.
4293* `a relay loop between sessions was cut`의 경우 세션 중 하나에 직접 다음 지시를 입력합니다. Claude가 자신의 프롬프트에 응답하여 보내는 메시지는 새 체인을 시작합니다.4313* `a relay loop between sessions was cut`의 경우 세션 중 하나에 직접 다음 지시를 입력합니다. Claude가 사용자의 프롬프트에 응답하여 보내는 메시지는 새 체인을 시작합니다.
4294 4314
4295v2.1.238 이전에는 수신자의 받은편지함이 메시지를 삭제했을 때 전송 세션이 보고를 받지 못했습니다.4315v2.1.238 이전에는 수신자의 받은편지함이 메시지를 삭제했을 때 전송 세션이 보고를 받지 못했습니다.
4296 4316
4306 4326
4307`Refusing to send:` 뒤의 텍스트는 실패한 확인의 이름을 지정합니다:4327`Refusing to send:` 뒤의 텍스트는 실패한 확인의 이름을 지정합니다:
4308 4328
4309* `reply target is a symlink`: 기호 링크가 대상 세션의 소켓 경로에 있습니다. Claude Code는 링크가 대상 세션이 만들지 않은 엔드포인트로 메시지를 리디렉션할 수 있으므로 이를 통해 전달하지 않습니다.4329* `reply target is a symlink`: 심볼릭 링크가 대상 세션의 소켓 경로에 있습니다. Claude Code는 링크가 대상 세션이 만들지 않은 엔드포인트로 메시지를 리디렉션할 수 있으므로 이를 통해 전달하지 않습니다.
4310* `cannot vet reply target`: Claude Code가 대상 경로를 전혀 검사할 수 없습니다. 예를 들어 권한 오류로 읽기가 실패한 경우입니다.4330* `cannot vet reply target`: Claude Code가 대상 경로를 전혀 검사할 수 없습니다. 예를 들어 권한 오류로 읽기가 실패한 경우입니다.
4311 4331
4312**할 일:**4332**할 일:**
4326 4346
4327각 거부는 이유를 지정합니다:4347각 거부는 이유를 지정합니다:
4328 4348
4329* `its symlink resolution changed after permission was checked`: 경로를 따라 또는 Grep 또는 Glob 검색 루트에서 기호 링크가 권한 확인과 작업 사이에 대체되었습니다. 읽기 거부에서 괄호 안의 구문은 어느 비교가 실패했는지 지정합니다.4349* `its symlink resolution changed after permission was checked`: 경로를 따라 또는 Grep 또는 Glob 검색 루트에서 심볼릭 링크가 권한 확인과 작업 사이에 대체되었습니다. 읽기 거부에서 괄호 안의 구문은 어느 비교가 실패했는지 지정합니다.
4330* `its parent-directory symlink resolution changed after permission was checked`: 쓰기 경로가 통과하는 디렉토리가 더 이상 승인된 위치로 해석되지 않습니다.4350* `its parent-directory symlink resolution changed after permission was checked`: 쓰기 경로가 통과하는 디렉터리가 더 이상 승인된 위치로 해석되지 않습니다.
4331* `where it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve)`: Claude Code가 경로를 디스크의 최종 위치로 따를 수 없습니다. 예를 들어 경로의 기호 링크가 루프를 형성하거나 링크가 해석되지 않는 경우입니다.4351* `where it leads on disk could not be determined (a link on the way could not be examined, or the links do not resolve)`: Claude Code가 경로를 디스크의 최종 위치로 따를 수 없습니다. 예를 들어 경로의 심볼릭 링크가 루프를 형성하는 경우입니다.
4332* `it is a symbolic link. Write to the link's target path instead`: 기호 링크가 요청된 쓰기 위치 자체에 있습니다. 예를 들어 `CLAUDE.md`가 `AGENTS.md`로의 기호 링크입니다. 메시지는 Claude를 링크의 대상으로 지시합니다.4352* `it is a symbolic link. Write to the link's target path instead`: 심볼릭 링크가 요청된 쓰기 위치 자체에 있습니다. 예를 들어 `CLAUDE.md`가 `AGENTS.md`로의 심볼릭 링크입니다. 메시지는 Claude를 링크의 대상으로 지시합니다.
4333* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: 다른 작성자가 파일을 열 때 같은 조건이 포착됩니다. 예를 들어 기호 링크된 `.mcp.json`에 대한 쓰기입니다.4353* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: 다른 작성자가 파일을 열 때 같은 조건이 포착됩니다. 예를 들어 심볼릭 링크된 `.mcp.json`에 대한 쓰기입니다.
4334* `Refusing to write into symlinked directory: <path>`: 파일을 보유한 디렉토리 자체가 기호 링크입니다. 예를 들어 프로젝트의 `.claude/` 디렉토리가 다른 위치로 연결되어 있습니다.4354* `Refusing to write into symlinked directory: <path>`: 파일을 보유한 디렉터리 자체가 심볼릭 링크입니다. 예를 들어 프로젝트의 `.claude/` 디렉터리가 다른 위치로 연결되어 있습니다.
4335* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: `Read` 거부 규칙이 기호 링크를 통과하는 경로의 이름을 지정했고 Claude Code가 검색을 준비하는 동안 해당 링크가 변경되었습니다.4355* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: 검색에 대한 `Read` 거부 규칙이 심볼릭 링크를 통과하는 경로의 이름을 지정했고 Claude Code가 검색을 준비하는 동안 해당 링크가 변경되었습니다.
4336* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`: 검색 루트가 존재하지만 열 수 없습니다. 괄호 안의 코드는 운영 체제 오류입니다.4356* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`: 검색 루트가 존재하지만 열 수 없습니다. 괄호 안의 코드는 운영 체제 오류입니다.
4337* `its permission check expired before it ran (too many concurrent file operations). Retry.`: Claude Code가 많은 동시 파일 작업 중에 도구가 사용하기 전에 승인 기록을 제거했습니다. 다시 시도하면 새로운 권한 확인을 실행합니다.4357* `its permission check expired before it ran (too many concurrent file operations). Retry.`: Claude Code가 많은 동시 파일 작업 중에 도구가 사용하기 전에 승인 기록을 제거했습니다. 재시도하면 새로운 권한 확인을 실행합니다.
4338* `ripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration`: Claude Code가 `rg` 바이너리를 절대 경로로 해석할 수 없어서 작업 디렉토리 외부의 검색을 거부하는 것이 거부 규칙을 적용하지 않는 것보다 낫습니다.4358* `ripgrep was found only by name on PATH, and a search outside the working directory cannot apply your Read deny rules in that configuration`: Claude Code가 `rg` 바이너리를 절대 경로로 해석할 수 없어서, 거부 규칙이 적용되지 않는 검색을 실행하는 대신 작업 디렉터리 외부의 검색을 거부합니다.
4339 4359
4340**할 일:**4360**할 일:**
4341 4361
4342* 보통 아무것도 하지 않습니다: 거부는 Claude에 도구 결과로 도달하고 거부된 작업은 실행되지 않습니다.4362* 보통 아무것도 하지 않습니다: 거부는 Claude에 도구 결과로 도달하고 거부된 작업은 실행되지 않습니다.
4343* 한 경로에서 기호 링크 거부가 반복되면 빌드 도구 또는 파일 감시자와 같이 링크를 계속 다시 쓰는 것을 찾거나 Claude에 링크된 경로 대신 파일의 해석된 경로를 사용하도록 요청합니다.4363* 한 경로에서 심볼릭 링크 거부가 반복되면 빌드 도구 또는 파일 감시자와 같이 링크를 계속 다시 쓰는 것을 찾거나 Claude에 링크된 경로 대신 파일의 해석된 경로를 사용하도록 요청합니다.
4344* 이 거부가 Claude Code가 AppContainer 또는 제한된 토큰 샌드박스 내의 Windows에서 실행될 때 모든 파일에 대해 나타나면 v2.1.265 이상으로 업그레이드합니다.4364* 이 거부가 Claude Code가 AppContainer 또는 제한된 토큰 샌드박스 내의 Windows에서 실행될 때 모든 파일에 대해 나타나면 v2.1.265 이상으로 업그레이드합니다.
4345* 읽기 거부가 macOS에서 스크린샷을 프롬프트로 드래그한 것처럼 아무것도 다시 쓰지 않는 파일에 대해 나타나면 v2.1.273 이상으로 업그레이드합니다.4365* 읽기 거부가 macOS에서 스크린샷을 프롬프트로 드래그한 것처럼 아무것도 다시 쓰지 않는 파일에 대해 나타나면 v2.1.273 이상으로 업그레이드합니다.
4346* ripgrep 거부의 경우 패키지 관리자로 ripgrep을 설치하여 `rg`가 `PATH`의 절대 경로로 해석되거나 검색을 작업 디렉토리 아래로 유지합니다.4366* ripgrep 거부의 경우 패키지 관리자로 ripgrep을 설치하여 `rg`가 `PATH`의 절대 경로로 해석되도록 하거나 검색을 작업 디렉터리 아래로 유지합니다.
4347 4367
4348v2.1.251 이전에는 Claude Code가 파일 쓰기에 대해서만 경로의 해석을 다시 확인했으므로 권한 확인 후 대체된 링크가 메시지 없이 읽기 또는 검색을 다른 위치로 리디렉션할 수 있었습니다. 이러한 거부 중에서 부모 디렉토리, 기호 링크를 통한, 그리고 기호 링크된 디렉토리 쓰기 거부만 이전 버전에 나타납니다.4368v2.1.251 이전에는 Claude Code가 파일 쓰기에 대해서만 경로의 해석을 다시 확인했으므로 권한 확인 후 대체된 링크가 메시지 없이 읽기 또는 검색을 다른 위치로 리디렉션할 수 있었습니다. 이러한 거부 중에서 부모 디렉터리, 심볼릭 링크를 통한, 그리고 심볼릭 링크된 디렉터리 쓰기 거부만 이전 버전에 나타납니다.
4349 4369
4350v2.1.280 이전에는 `where it leads on disk could not be determined` 거부가 나타나지 않았습니다.4370v2.1.280 이전에는 `where it leads on disk could not be determined` 거부가 나타나지 않았습니다.
4351 4371
4353 작업 출력 스왑 거부4373 작업 출력 스왑 거부
4354</h3>4374</h3>
4355 4375
4356Claude Code는 각 Bash 명령의 출력을 임시 디렉토리 아래의 파일에 저장합니다. 이러한 파일 중 하나를 열 때마다 경로가 여전히 생성한 파일로 이어지는지 확인합니다. 기호 링크, 추가 하드 링크 또는 이동된 디렉토리가 리디렉션하지 않습니다. 이 메시지는 확인이 실패했음을 의미하므로 Claude Code는 해당 경로를 통해 쓰거나 읽는 대신 작업을 거부했습니다. 메시지는 Bash 도구 결과에 나타납니다:4376Claude Code는 각 Bash 명령의 출력을 임시 디렉터리 아래의 파일에 저장합니다. 이러한 파일 중 하나를 열 때마다 경로가 여전히 생성한 파일로 이어지는지 확인합니다. 심볼릭 링크, 추가 하드 링크 또는 이동된 디렉터리가 리디렉션하지 않습니다. 이 메시지는 확인이 실패했음을 의미하므로 Claude Code는 해당 경로를 통해 쓰거나 읽는 대신 작업을 거부했습니다. 메시지는 Bash 도구 결과에 나타납니다:
4357 4377
4358```text wrap theme={null}4378```text wrap theme={null}
4359task output swap refused (tasks dir moved or linked): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. To recover: restart Claude Code with CLAUDE_CODE_TMPDIR set to a fresh directory; or, if /private/tmp/claude-501/-Users-you-my-project is a stray directory or a symbolic link that should not be there, remove that entry itself (not what it points to) and restart.4379task output swap refused (tasks dir moved or linked): /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks/b7k2f9m3q.output. To recover: restart Claude Code with CLAUDE_CODE_TMPDIR set to a fresh directory; or, if /private/tmp/claude-501/-Users-you-my-project is a stray directory or a symbolic link that should not be there, remove that entry itself (not what it points to) and restart.
4369 4389
4370**할 일:**4390**할 일:**
4371 4391
4372* v2.1.260 이상으로 업그레이드합니다. 이전 버전은 링크 또는 이동된 디렉토리가 없을 때도 이 메시지를 표시하기도 했습니다.4392* v2.1.260 이상으로 업그레이드합니다. 이전 버전은 링크 또는 이동된 디렉터리가 없을 때도 이 메시지를 표시하기도 했습니다.
4373* [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 새 디렉토리로 설정하여 Claude Code를 다시 시작합니다.4393* [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 새 디렉터리로 설정하여 Claude Code를 다시 시작합니다.
4374* 또는 Claude Code 임시 디렉토리 아래의 프로젝트 디렉토리를 확인합니다. 예제 메시지의 `/private/tmp/claude-501/-Users-you-my-project`입니다. 해당 경로가 기호 링크이거나 거기에 있으면 안 되는 디렉토리이면 링크의 대상이 아닌 링크 또는 디렉토리 자체를 제거하고 Claude Code를 다시 시작합니다.4394* 또는 Claude Code 임시 디렉터리 아래의 프로젝트 디렉터리를 확인합니다. 예제 메시지의 `/private/tmp/claude-501/-Users-you-my-project`입니다. 해당 경로가 심볼릭 링크이거나 거기에 있으면 안 되는 디렉터리이면 링크의 대상이 아닌 링크 또는 디렉터리 자체를 제거하고 Claude Code를 다시 시작합니다.
4375* 거부가 반복되면 프로세스가 세션이 실행되는 동안 Claude Code의 임시 디렉토리 아래의 항목을 대체, 링크 또는 제거합니다. [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 다른 것이 관리하지 않는 디렉토리로 설정하고 다시 시작합니다.4395* 거부가 반복되면 프로세스가 세션이 실행되는 동안 Claude Code의 임시 디렉터리 아래의 항목을 대체, 링크 또는 제거합니다. [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 다른 것이 관리하지 않는 디렉터리로 설정하고 다시 시작합니다.
4376 4396
4377<h3 id="disk-quota-or-temp-filesystem-is-full">4397<h3 id="disk-quota-or-temp-filesystem-is-full">
4378 디스크 할당량 또는 임시 파일 시스템이 가득 참4398 디스크 할당량 또는 임시 파일 시스템이 가득 참
4379</h3>4399</h3>
4380 4400
4381Claude Code는 각 Bash 및 PowerShell 명령의 출력을 임시 디렉토리 아래의 파일에 저장합니다. 명령이 0이 아닌 코드로 종료되고 출력이 전혀 없으면 Claude Code는 해당 파일을 보유한 파일 시스템이 공간 또는 inode가 부족한지, 또는 디스크 할당량이 사용되었는지 확인합니다. 그렇다면 진단이 빈 출력 대신 명령의 결과에 나타납니다:4401Claude Code는 각 Bash 및 PowerShell 명령의 출력을 임시 디렉터리 아래의 파일에 저장합니다. 명령이 0이 아닌 코드로 종료되고 출력이 전혀 없으면 Claude Code는 해당 파일을 보유한 파일 시스템이 공간 또는 inode가 부족한지, 또는 디스크 할당량이 사용되었는지 확인합니다. 그렇다면 진단이 빈 출력 대신 명령의 결과에 나타납니다:
4382 4402
4383```text wrap theme={null}4403```text wrap theme={null}
4384Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.4404Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.
4386 4406
4387메시지는 무엇이 부족한지 지정합니다:4407메시지는 무엇이 부족한지 지정합니다:
4388 4408
4389* `Your disk quota is full ... (EDQUOT)`: 해당 파일 시스템에 대한 당신의 할당량이 사용되었습니다. 할당량은 파일 시스템이 여전히 여유 공간을 표시하는 동안 가득 찰 수 있습니다.4409* `Your disk quota is full ... (EDQUOT)`: 해당 파일 시스템에 대한 사용자 본인의 할당량이 사용되었습니다. 할당량은 파일 시스템이 여전히 여유 공간을 표시하는 동안 가득 찰 수 있습니다.
4390* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: 파일 시스템 또는 할당량에 공간이 남지 않았습니다.4410* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)`: 파일 시스템 또는 할당량에 공간이 남지 않았습니다.
4391* `Command output was lost: the temp filesystem at ... is full` 또는 `... is out of inodes`: 파일 시스템에 거의 여유 공간이 남지 않았거나 inode가 부족합니다.4411* `Command output was lost: the temp filesystem at ... is full` 또는 `... is out of inodes`: 파일 시스템에 거의 여유 공간이 남지 않았거나 inode가 부족합니다.
4392 4412
4393**할 일:**4413**할 일:**
4394 4414
4395* Claude Code의 임시 디렉토리를 보유한 파일 시스템에서 더 이상 필요하지 않은 파일을 삭제합니다. `EDQUOT`의 경우 당신의 할당량에 포함되는 파일을 삭제합니다. `out of inodes`의 경우 각 파일이 크기에 관계없이 하나의 inode를 차지하므로 몇 개의 큰 파일이 아닌 많은 파일을 삭제합니다.4415* Claude Code의 임시 디렉터리를 보유한 파일 시스템에서 더 이상 필요하지 않은 파일을 삭제합니다. `EDQUOT`의 경우 사용자 본인의 할당량에 포함되는 파일을 삭제합니다. `out of inodes`의 경우 각 파일이 크기에 관계없이 하나의 inode를 차지하므로 몇 개의 큰 파일이 아닌 많은 파일을 삭제합니다.
4396* 또는 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 여유 공간이 있는 파일 시스템의 디렉토리로 설정하여 Claude Code를 다시 시작합니다.4416* 또는 [`CLAUDE_CODE_TMPDIR`](/docs/ko/env-vars)을 여유 공간이 있는 파일 시스템의 디렉터리로 설정하여 Claude Code를 다시 시작합니다.
4397* 그런 다음 Claude에 명령을 다시 실행하도록 합니다. 인쇄한 출력은 손실되었으며 잘리지 않았습니다.4417* 그런 다음 Claude에 명령을 다시 실행하도록 합니다. 인쇄한 출력은 손실되었으며 잘리지 않았습니다.
4398 4418
4399<h3 id="the-source-file-is-not-valid-utf-8-text">4419<h3 id="the-source-file-is-not-valid-utf-8-text">
4413**할 일:**4433**할 일:**
4414 4434
4415* 보통 아무것도 하지 않습니다: Claude가 파일을 다시 쓰고 게시합니다.4435* 보통 아무것도 하지 않습니다: Claude가 파일을 다시 쓰고 게시합니다.
4416* 파일이 당신이 작성하거나 내보낸 것이면 UTF-8로 다시 저장하고 각 `U+FFFD`를 이전 편집, 붙여넣기 또는 변환이 손실한 문자로 바꿉니다.4436* 파일이 사용자가 작성하거나 내보낸 것이면 UTF-8로 다시 저장하고 각 `U+FFFD`를 이전 편집, 붙여넣기 또는 변환이 손실한 문자로 바꿉니다.
4417* 페이지에 의도적인 `U+FFFD`를 표시하려면 리터럴 문자 대신 HTML에서 `�`로 작성합니다.4437* 페이지에 의도적인 `U+FFFD`를 표시하려면 리터럴 문자 대신 HTML에서 `�`로 작성합니다.
4418 4438
4419v2.1.267 이전에는 Claude Code가 그러한 파일을 확인 없이 업로드했고 서버가 대신 게시를 거부했습니다.4439v2.1.267 이전에는 Claude Code가 그러한 파일을 확인 없이 업로드했고 서버가 대신 게시를 거부했습니다.
4422 Cowork 세션에서 연결된 폴더 외부의 로컬 파일 읽기4442 Cowork 세션에서 연결된 폴더 외부의 로컬 파일 읽기
4423</h3>4443</h3>
4424 4444
4425Claude Desktop 앱에서 머신에서 실행 중인 [Cowork](https://claude.com/docs/cowork/overview) 세션에서 Claude가 [아티팩트](/docs/ko/artifacts)에 대한 로컬 파일의 이름을 지정했습니다. Claude Code가 파일이 세션의 연결된 폴더 내의 일반 파일인지 확인할 수 없습니다: 경로가 해당 폴더 외부에 있거나, 기호 링크를 통과하거나, 나타나는 것과 다른 파일의 이름을 지정할 수 있는 방식으로 철자가 지정되었습니다. 그러한 파일을 읽으려면 승인이 필요하며, 승인 카드를 표시할 수 없는 세션(예: 모든 승인을 건너뛰도록 설정된 세션)에서 Claude Code는 읽기를 거부합니다.4445Claude Desktop 앱에서 머신에서 실행 중인 [Cowork](https://claude.com/docs/cowork/overview) 세션에서 Claude가 [아티팩트](/docs/ko/artifacts)에 대한 로컬 파일의 이름을 지정했습니다. Claude Code가 파일이 세션의 연결된 폴더 내의 일반 파일인지 확인할 수 없습니다: 경로가 해당 폴더 외부에 있거나, 심볼릭 링크를 통과하거나, 나타나는 것과 다른 파일의 이름을 지정할 수 있는 방식으로 철자가 지정되었습니다. 그러한 파일을 읽으려면 승인이 필요하며, 승인 카드를 표시할 수 없는 세션(예: 모든 승인을 건너뛰도록 설정된 세션)에서 Claude Code는 읽기를 거부합니다.
4426 4446
4427거부는 Artifact 도구 결과에 나타납니다. 파일을 전혀 검사할 수 없을 때 대신 해당 실패의 이름을 지정합니다:4447거부는 Artifact 도구 결과에 나타납니다. 파일을 전혀 검사할 수 없을 때 대신 해당 실패의 이름을 지정합니다:
4428 4448
4435**할 일:**4455**할 일:**
4436 4456
4437* 보통 아무것도 하지 않습니다: 메시지는 Claude에 연결된 폴더 내의 일반 파일을 대신 사용하도록 지시합니다.4457* 보통 아무것도 하지 않습니다: 메시지는 Claude에 연결된 폴더 내의 일반 파일을 대신 사용하도록 지시합니다.
4438* 정확한 파일을 아티팩트에 넣으려면 세션의 연결된 폴더 중 하나에 일반 파일(기호 링크 아님)로 복사하고 다시 요청합니다.4458* 정확한 파일을 아티팩트에 넣으려면 세션의 연결된 폴더 중 하나에 일반 파일(심볼릭 링크 아님)로 복사하고 다시 요청합니다.
4439 4459
4440<h3 id="webfetch-cannot-fetch-localhost">4460<h3 id="webfetch-cannot-fetch-localhost">
4441 WebFetch는 localhost를 가져올 수 없음4461 WebFetch는 localhost를 가져올 수 없음
4453 4473
4454v2.1.268 이전에는 WebFetch가 이러한 URL을 일반 `Invalid URL` 오류로 보고했습니다.4474v2.1.268 이전에는 WebFetch가 이러한 URL을 일반 `Invalid URL` 오류로 보고했습니다.
4455 4475
4476<h3 id="webfetch-domain-safety-check-failed">
4477 WebFetch 도메인 안전 확인 실패
4478</h3>
4479
4480URL을 가져오기 전에 WebFetch는 URL의 호스트명을 `api.anthropic.com`으로 보내 Anthropic의 [도메인 안전 차단 목록](/docs/ko/data-usage#webfetch-domain-safety-check)과 대조합니다. 확인을 완료할 수 없으면 WebFetch는 도메인이 안전한지 확인할 수 없으므로 페이지를 가져오지 않으며, 도구 결과에는 대신 다음 메시지 중 하나가 포함됩니다:
4481
4482```text wrap theme={null}
4483The safety check for domain example.com is rate-limited (too many domain checks from this network; the limit is shared and can stay exhausted for minutes). Do not retry WebFetch in a loop or sleep to wait it out; continue without this page and report that its safety check was rate-limited. A single later attempt is fine; if that is rate-limited too, stop.
4484
4485Unable to verify if domain example.com is safe to fetch. This may be due to network restrictions or enterprise security policies blocking claude.ai.
4486```
4487
4488* `rate-limited`: 확인 엔드포인트가 HTTP `429`로 응답했습니다. 메시지는 Claude에 페이지 없이 계속하고 나중에 최대 한 번만 다시 시도하도록 지시합니다. Claude Code는 실패한 확인을 캐시하지 않으므로 나중에 해당 도메인을 가져오면 확인이 다시 실행됩니다. 네트워크의 세션에서 이 문제가 자주 발생하면 설정에서 [`skipWebFetchPreflight: true`](/docs/ko/settings-reference#skipwebfetchpreflight)로 확인을 건너뛸 수 있습니다.
4489* `Unable to verify`: 확인 요청이 실패했거나, 시간 초과되었거나, 다른 오류 상태를 받았습니다. 네트워크가 `api.anthropic.com`을 차단하는 경우 해당 도메인을 허용 목록에 추가하거나 설정에서 [`skipWebFetchPreflight: true`](/docs/ko/settings-reference#skipwebfetchpreflight)로 확인을 건너뜁니다.
4490
4491v2.1.286 이전에는 속도 제한 메시지가 `The safety check for domain example.com is temporarily rate-limited (too many domain checks from this network). Retry after about a minute; retrying sooner will fail the same way.`였습니다.
4492v2.1.285 이전에는 속도 제한된 확인이 대신 `Unable to verify` 메시지로 보고되었습니다.
4493
4456<h2 id="background-session-errors">4494<h2 id="background-session-errors">
4457 백그라운드 세션 오류4495 백그라운드 세션 오류
4458</h2>4496</h2>
4459 4497
4460[백그라운드 세션](/docs/ko/agent-view)은 자체 대화형 터미널 없이 실행되므로 터미널이 필요한 명령은 다르게 작동합니다. 이러한 메시지는 백그라운드 세션의 기록, 백그라운드 세션에 연결된 터미널, 디스패치하는 세션 또는 셸에 나타나거나, 아래의 [worktree-guard 항목](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved)의 경우 worktree에 격리된 모든 세션이나 worktree 격리 서브에이전트를 실행하는 세션에 나타납니다. 메시지가 특정 표면에만 해당하는 경우 해당 항목에 명시됩니다.4498[백그라운드 세션](/docs/ko/agent-view)은 자체 대화형 터미널 없이 실행되므로 터미널이 필요한 명령은 다르게 작동합니다. 이러한 메시지는 백그라운드 세션의 트랜스크립트, 백그라운드 세션에 연결된 터미널, 디스패치하는 세션 또는 셸에 나타나거나, 아래의 [worktree-guard 항목](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved)의 경우 worktree에 격리된 모든 세션이나 worktree 격리 서브에이전트를 실행하는 세션에 나타납니다. 메시지가 특정 사용 환경에만 해당하는 경우 해당 항목에 명시됩니다.
4461 4499
4462<h3 id="commands-refused-in-a-background-session">4500<h3 id="commands-refused-in-a-background-session">
4463 백그라운드 세션에서 거부된 명령4501 백그라운드 세션에서 거부된 명령
4482 경로를 안전하게 확인할 수 없어서 쓰기 또는 명령이 차단됨4520 경로를 안전하게 확인할 수 없어서 쓰기 또는 명령이 차단됨
4483</h3>4521</h3>
4484 4522
4485Claude가 [worktree 격리 가드](/docs/ko/agent-view#how-file-edits-are-isolated)가 하나의 확인 가능한 위치로 확인할 수 없는 철자로 파일 또는 작업 디렉토리를 처리했습니다. 가드는 [worktree에 격리된 모든 세션](/docs/ko/worktrees#how-claude-code-enforces-isolation)(대화형 또는 백그라운드)과 [worktree 격리 서브에이전트](/docs/ko/worktrees#isolate-subagents-with-worktrees)에서 쓰기 및 명령 작업 디렉토리를 확인합니다. 공유 체크아웃에 도달하지 않는지 확인하기 전에 심볼릭 링크를 확인하며, 확인이 실패하면 공유 체크아웃에 도달하도록 하는 대신 작업을 차단합니다. 메시지는 거부하는 경로 형식과 재시도 방법을 명시합니다:4523Claude가 [worktree 격리 가드](/docs/ko/agent-view#how-file-edits-are-isolated)가 하나의 확인 가능한 위치로 확인할 수 없는 철자로 파일 또는 작업 디렉터리를 처리했습니다. 가드는 [worktree에 격리된 모든 세션](/docs/ko/worktrees#how-claude-code-enforces-isolation)(대화형 또는 백그라운드)과 [worktree 격리 서브에이전트](/docs/ko/worktrees#isolate-subagents-with-worktrees)에서 쓰기 및 명령 작업 디렉터리를 확인합니다. 공유 체크아웃에 도달하지 않는지 확인하기 전에 심볼릭 링크를 확인하며, 확인이 실패하면 공유 체크아웃에 도달하도록 하는 대신 작업을 차단합니다. 메시지는 거부하는 경로 형식과 재시도 방법을 명시합니다:
4486 4524
4487```text theme={null}4525```text theme={null}
4488This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.4526This write was blocked because the path is spelled in a form that cannot be safely resolved (for example through a symlink storing a raw dot segment, a network-share or device-namespace shape, or an unreadable ancestor directory). If the file is inside the worktree /path/to/worktree, address it by its direct symlink-free path instead.
4489```4527```
4490 4528
4491차단된 명령은 작업 디렉토리에 대해 동일한 원인을 보고하고 `re-run the command from its direct symlink-free path`로 끝납니다. v2.1.217 이전에는 가드가 심볼릭 링크를 확인하지 않고 경로 철자를 비교했으므로 이러한 철자는 차단되지 않았으며 심볼릭 링크를 통한 쓰기는 공유 체크아웃에 도달할 수 있었습니다.4529차단된 명령은 작업 디렉터리에 대해 동일한 원인을 보고하고 `re-run the command from its direct symlink-free path`로 끝납니다. v2.1.217 이전에는 가드가 심볼릭 링크를 확인하지 않고 경로 철자를 비교했으므로 이러한 철자는 차단되지 않았으며 심볼릭 링크를 통한 쓰기는 공유 체크아웃에 도달할 수 있었습니다.
4492 4530
4493**할 일:**4531**할 일:**
4494 4532
4495* 일반적으로 아무것도 하지 않습니다: 전체 메시지는 Claude에 도구 오류로 전달되며 Claude는 명시하는 직접 경로로 재시도합니다. 차단된 파일 편집의 경우 대화 뷰에는 짧은 `Error editing file` 줄만 표시됩니다. 전체 메시지는 `Ctrl+O`로 열 수 있는 기록 뷰에 나타납니다. 차단된 명령은 명령 출력에 인쇄합니다.4533* 일반적으로 아무것도 하지 않습니다: 전체 메시지는 Claude에 도구 오류로 전달되며 Claude는 명시하는 직접 경로로 재시도합니다. 차단된 파일 편집의 경우 대화 뷰에는 짧은 `Error editing file` 줄만 표시됩니다. 전체 메시지는 `Ctrl+O`로 열 수 있는 트랜스크립트 뷰에 나타납니다. 차단된 명령은 명령 출력에 인쇄합니다.
4496* 같은 파일에서 차단이 반복되면 경로가 `docs/current -> ../README.md`와 같이 `..`를 포함하는 대상을 가진 커밋된 심볼릭 링크를 통해 실행될 가능성이 높습니다. Claude에 링크를 통하지 않고 실제 경로로 대상 파일을 편집하도록 요청합니다.4534* 같은 파일에서 차단이 반복되면 경로가 `docs/current -> ../README.md`와 같이 `..`를 포함하는 대상을 가진 커밋된 심볼릭 링크를 통해 실행될 가능성이 높습니다. Claude에 링크를 통하지 않고 실제 경로로 대상 파일을 편집하도록 요청합니다.
4497 4535
4498<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">4536<h3 id="write-or-command-blocked-because-the-path-names-a-network-location">
4499 경로가 네트워크 위치를 명시하기 때문에 쓰기 또는 명령이 차단됨4537 경로가 네트워크 위치를 명시하기 때문에 쓰기 또는 명령이 차단됨
4500</h3>4538</h3>
4501 4539
4502Claude가 머신에 없는 드라이브, `\\server\share\file`과 같은 UNC 공유 또는 `/net` 자동 마운트 경로를 명시하는 경로를 통해 파일 또는 작업 디렉토리를 처리했으며, 세션의 체크아웃은 로컬 디스크에 있습니다. 동일한 [worktree 격리 가드](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved)는 그러한 경로가 공유 체크아웃을 벗어나는지 확인할 수 없으므로 작업을 차단합니다. 세션을 worktree에 격리해도 차단이 해제되지 않습니다. 메시지는 대신 사용할 경로 형식을 명시합니다:4540Claude가 머신에 없는 드라이브, `\\server\share\file`과 같은 UNC 공유 또는 `/net` 자동 마운트 경로를 명시하는 경로를 통해 파일 또는 작업 디렉터리를 처리했으며, 세션의 체크아웃은 로컬 디스크에 있습니다. 동일한 [worktree 격리 가드](#write-or-command-blocked-because-the-path-cannot-be-safely-resolved)는 그러한 경로가 공유 체크아웃을 벗어나는지 확인할 수 없으므로 작업을 차단합니다. 세션을 worktree에 격리해도 차단이 해제되지 않습니다. 메시지는 대신 사용할 경로 형식을 명시합니다:
4503 4541
4504```text theme={null}4542```text theme={null}
4505This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.4543This write was blocked because the path is network-shaped (a UNC share or /net automount spelling) while this session's checkout is local. Isolating cannot unblock it. If the file is genuinely inside the worktree /path/to/worktree, address it by its local, plainly-spelled path instead.
4506```4544```
4507 4545
4508차단된 명령은 작업 디렉토리에 대해 동일한 원인을 보고하고 `re-run the command from its local, plainly-spelled path`로 끝납니다. v2.1.217 이전에는 가드가 경로 텍스트만 비교했으므로 UNC 또는 `/net` 경로를 통해 체크아웃 내부의 파일을 처리하는 것은 차단되지 않았습니다.4546차단된 명령은 작업 디렉터리에 대해 동일한 원인을 보고하고 `re-run the command from its local, plainly-spelled path`로 끝납니다. v2.1.217 이전에는 가드가 경로 텍스트만 비교했으므로 UNC 또는 `/net` 경로를 통해 체크아웃 내부의 파일을 처리하는 것은 차단되지 않았습니다.
4509 4547
4510**할 일:**4548**할 일:**
4511 4549
4533* 의도적으로 주 체크아웃에 작용하려면 세션 외부의 터미널에서 명령을 직접 실행합니다.4571* 의도적으로 주 체크아웃에 작용하려면 세션 외부의 터미널에서 명령을 직접 실행합니다.
4534 4572
4535<h3 id="this-session-has-no-saved-transcript">4573<h3 id="this-session-has-no-saved-transcript">
4536 이 세션에는 저장된 기록이 없습니다4574 이 세션에는 저장된 트랜스크립트가 없습니다
4537</h3>4575</h3>
4538 4576
4539`←` 또는 `/background`로 다른 대화에서 백그라운드로 처리되고 첫 번째 응답이 완료되기 전에 중지된 [백그라운드 세션](/docs/ko/agent-view)에 연결했습니다. 첫 번째 응답이 완료될 때까지 대화는 백그라운드로 처리된 세션에만 존재하므로 `claude attach`는 같은 세션 ID로 빈 대화를 시작하는 대신 중지된 세션을 시작하기를 거부합니다. 메시지는 이 세션에 대한 `claude respawn` 명령으로 끝납니다:4577`←` 또는 `/background`로 다른 대화에서 백그라운드로 처리되고 첫 번째 응답이 완료되기 전에 중지된 [백그라운드 세션](/docs/ko/agent-view)에 연결했습니다. 첫 번째 응답이 완료될 때까지 대화는 백그라운드로 처리된 세션에만 존재하므로 `claude attach`는 같은 세션 ID로 빈 대화를 시작하는 대신 중지된 세션을 시작하기를 거부합니다. 메시지는 이 세션에 대한 `claude respawn` 명령으로 끝납니다:
4548 4586
4549* 백그라운드로 처리한 대화는 그대로 유지됩니다: [`claude --resume`](/docs/ko/sessions)으로 재개하거나 계속 작업합니다.4587* 백그라운드로 처리한 대화는 그대로 유지됩니다: [`claude --resume`](/docs/ko/sessions)으로 재개하거나 계속 작업합니다.
4550* 중지된 세션을 새로 시작하려면 메시지의 ID로 `claude respawn <id>`를 실행하거나 에이전트 뷰의 행에서 `Enter`를 두 번 누릅니다.4588* 중지된 세션을 새로 시작하려면 메시지의 ID로 `claude respawn <id>`를 실행하거나 에이전트 뷰의 행에서 `Enter`를 두 번 누릅니다.
4551* 세션이 응답을 완료했는데도 v2.1.214 이전 버전에서 이 거부가 표시되면 `~/.claude/projects`의 읽을 수 없는 폴더로 인해 기록 스캔이 저장된 대화를 놓칠 수 있습니다. v2.1.214 이상으로 업데이트하면 스캔 중에 읽을 수 없는 폴더를 허용합니다.4589* 세션이 응답을 완료했는데도 v2.1.214 이전 버전에서 이 거부가 표시되면 `~/.claude/projects`의 읽을 수 없는 폴더로 인해 트랜스크립트 스캔이 저장된 대화를 놓칠 수 있습니다. v2.1.214 이상으로 업데이트하면 스캔 중에 읽을 수 없는 폴더를 허용합니다.
4552 4590
4553<h3 id="this-session-is-running-in-another-terminal">4591<h3 id="this-session-is-running-in-another-terminal">
4554 이 세션이 다른 터미널에서 실행 중입니다4592 이 세션이 다른 터미널에서 실행 중입니다
4555</h3>4593</h3>
4556 4594
4557[에이전트 뷰](/docs/ko/agent-view)에서 중지된 세션의 행을 열었으며, 저장된 대화가 이미 이 머신의 다른 라이브 Claude Code 프로세스에서 열려 있으므로 Claude Code는 같은 기록에 쓸 두 번째 프로세스를 시작하기를 거부합니다. 표시되는 메시지는 [대화를 보유한 것](/docs/ko/agent-view#opening-a-session-says-the-conversation-is-already-open)에 따라 다릅니다:4595[에이전트 뷰](/docs/ko/agent-view)에서 중지된 세션의 행을 열었으며, 저장된 대화가 이미 이 머신의 다른 라이브 Claude Code 프로세스에서 열려 있으므로 Claude Code는 같은 트랜스크립트에 쓸 두 번째 프로세스를 시작하기를 거부합니다. 표시되는 메시지는 [대화를 보유한 것](/docs/ko/agent-view#opening-a-session-says-the-conversation-is-already-open)에 따라 다릅니다:
4558 4596
4559```text theme={null}4597```text theme={null}
4560Can't open — this session is running in another terminal4598Can't open — this session is running in another terminal
4576 이 세션의 저장된 대화가 더 이상 디스크에 없습니다4614 이 세션의 저장된 대화가 더 이상 디스크에 없습니다
4577</h3>4615</h3>
4578 4616
4579백그라운드 서비스가 꺼져 있는 동안 종료된 [백그라운드 세션](/docs/ko/agent-view)을 열었으며, [기록 정리](/docs/ko/settings-reference#cleanupperioddays)가 저장된 대화를 제거했습니다. 예를 들어 머신이 몇 주 동안 꺼져 있었습니다. 일반적으로 이러한 행을 열면 [저장된 대화를 재개](/docs/ko/agent-view#sessions-show-as-failed-after-shutdown)합니다. 재개할 것이 없으면 Claude Code는 세션의 원래 프롬프트를 다시 실행하도록 요청하지 않고 거부합니다:4617백그라운드 서비스가 꺼져 있는 동안 종료된 [백그라운드 세션](/docs/ko/agent-view)을 열었으며, [트랜스크립트 정리](/docs/ko/settings-reference#cleanupperioddays)가 저장된 대화를 제거했습니다. 예를 들어 머신이 몇 주 동안 꺼져 있었습니다. 일반적으로 이러한 행을 열면 [저장된 대화를 재개](/docs/ko/agent-view#sessions-show-as-failed-after-shutdown)합니다. 재개할 것이 없으면 Claude Code는 묻지 않고 세션의 원래 프롬프트를 다시 실행하는 대신 거부합니다:
4580 4618
4581```text theme={null}4619```text theme={null}
4582This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` deletes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.4620This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` deletes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.
4595 Worktree에 어디에도 푸시되지 않은 커밋이 있습니다4633 Worktree에 어디에도 푸시되지 않은 커밋이 있습니다
4596</h3>4634</h3>
4597 4635
4598Claude Code가 다른 곳에 저장되었는지 확인할 수 없는 커밋을 보유한 [백그라운드 세션](/docs/ko/agent-view#what-deleting-a-session-removes)을 삭제하려고 했습니다. Claude Code는 커밋을 보지 않고 파괴하는 대신 worktree와 세션 행을 유지합니다. `claude rm`은 분기와 푸시되지 않은 커밋을 명시하고 진행 방법을 설명합니다:4636Claude Code가 다른 곳에 저장되었는지 확인할 수 없는 커밋을 worktree에 보유한 [백그라운드 세션](/docs/ko/agent-view#what-deleting-a-session-removes)을 삭제하려고 했습니다. Claude Code는 커밋을 보지 않고 파괴하는 대신 worktree와 세션 행을 유지합니다. `claude rm`은 브랜치와 푸시되지 않은 커밋을 명시하고 진행 방법을 설명합니다:
4599 4637
4600```text theme={null}4638```text theme={null}
4601kept 7c5dcf5d — its worktree is still at "/home/you/project/.claude/worktrees/fix-login"4639kept 7c5dcf5d — its worktree is still at “/home/you/project/.claude/worktrees/fix-login”
4602 2 unpushed commits on "claude/fix-login": a1b2c3d "Fix login flow" and 1 more. They exist on no remote, so deleting the worktree would lose them.4640 2 unpushed commits on “claude/fix-login”: a1b2c3d “Fix login flow” and 1 more. They exist on no remote, so deleting the worktree would lose them.
4603 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef4641 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef
4604```4642```
4605 4643
4606Claude Code가 커밋을 요약할 수 없으면 메시지는 `The worktree has unpushed commits`를 대신 읽습니다. [에이전트 뷰](/docs/ko/agent-view)에서 세션의 행은 `not deleted`를 표시하고 같은 이유를 표시합니다.4644Claude Code가 커밋을 요약할 수 없으면 세부 정보 줄에 `The worktree has unpushed commits`가 대신 표시됩니다. [에이전트 뷰](/docs/ko/agent-view)에서 세션의 행은 `not deleted`를 표시하고 같은 이유를 표시합니다.
4607 4645
4608원격의 커밋은 삭제를 차단하지 않습니다. 로컬 `origin` 원격의 기본 분기의 로컬 복사본의 커밋도 차단하지 않습니다. 해당 분기가 주 체크아웃(저장소 디렉토리 자체, worktree가 아님)에서 체크아웃되어 있는 한.4646원격의 커밋은 삭제를 차단하지 않습니다. `origin` 원격의 기본 브랜치의 로컬 복사본의 커밋도 차단하지 않습니다. 해당 브랜치가 주 체크아웃(저장소 디렉터리 자체, worktree가 아님)에서 체크아웃되어 있는 한.
4609 4647
4610**할 일:**4648**할 일:**
4611 4649
4612* 커밋을 유지하려면 worktree의 분기를 푸시하거나 주 체크아웃에서 체크아웃된 기본 분기로 병합한 다음 세션을 다시 삭제합니다.4650* 커밋을 유지하려면 worktree의 브랜치를 푸시하거나 주 체크아웃에서 체크아웃된 기본 브랜치로 병합한 다음 세션을 다시 삭제합니다.
4613* 커밋을 버리려면 메시지가 인쇄한 `claude rm <id> --discard-unpushed` 명령을 실행하거나 에이전트 뷰의 세션 행에서 `Ctrl+X`를 두 번 누릅니다. 이는 세션과 worktree를 분기, 푸시되지 않은 커밋 및 커밋되지 않은 변경 사항과 함께 제거합니다. worktree가 거부 이후 커밋을 얻으면 Claude Code는 다시 유지하고 업데이트된 상태를 표시합니다.4651* 커밋을 버리려면 메시지가 인쇄한 `claude rm <id> --discard-unpushed` 명령을 실행하거나 에이전트 뷰의 세션 행에서 `Ctrl+X`를 다시 두 번 누릅니다. 이는 세션과 worktree를 브랜치, 푸시되지 않은 커밋 및 커밋되지 않은 변경 사항과 함께 제거합니다. worktree가 거부 이후 커밋을 얻으면 Claude Code는 다시 유지하고 업데이트된 상태를 표시합니다.
4614* 메시지가 worktree가 다른 완료된 세션에 의해서도 기록되었다고 말하면 다시 삭제해도 버리지 않습니다: 커밋을 푸시한 다음 세션을 다시 삭제합니다.4652* 메시지가 worktree가 다른 완료된 세션에 의해서도 기록되었다고 말하면 다시 삭제해도 버리지 않습니다: 커밋을 푸시한 다음 세션을 다시 삭제합니다.
4615 4653
4616v2.1.268 이전에는 `claude rm`이 커밋 요약을 `kept` 줄 자체에 배치했습니다. `claude rm`이 커밋을 요약할 수 없으면 `kept` 줄은 요약 대신 `worktree has commits that are not pushed anywhere`를 읽었습니다.4654v2.1.268 이전에는 `claude rm`이 커밋 요약을 `kept` 줄 자체에 배치했습니다. `claude rm`이 커밋을 요약할 수 없으면 `kept` 줄은 요약 대신 `worktree has commits that are not pushed anywhere`를 표시했습니다.
4617 4655
4618v2.1.260 이전에는 메시지가 분기 또는 커밋을 명시하지 않았으며, 다시 삭제하는 것은 같은 방식으로 거부되었습니다: 푸시하지 않고 세션을 삭제하는 것은 `git worktree remove --force <path>`로 worktree를 직접 제거한 다음 `claude rm <id>`를 다시 실행하는 것을 의미했습니다.4656v2.1.260 이전에는 메시지가 브랜치 또는 커밋을 명시하지 않았으며, 다시 삭제하는 것은 같은 방식으로 거부되었습니다: 푸시하지 않고 세션을 삭제하는 것은 `git worktree remove --force <path>`로 worktree를 직접 제거한 다음 `claude rm <id>`를 다시 실행하는 것을 의미했습니다.
4619 4657
4620v2.1.248 이전에는 주 체크아웃에서 체크아웃된 기본 분기가 계산되지 않았습니다: 이미 병합한 분기는 커밋이 원격에 도달할 때까지 이 거부를 트리거했습니다.4658v2.1.248 이전에는 주 체크아웃에서 체크아웃된 기본 브랜치가 계산되지 않았습니다: 이미 병합한 브랜치는 커밋이 원격에 도달할 때까지 이 거부를 트리거했습니다.
4621 4659
4622<h3 id="terminal-host-process-died">4660<h3 id="terminal-host-process-died">
4623 터미널 호스트 프로세스가 종료됨4661 터미널 호스트 프로세스가 종료됨
4631terminal host process died — press Enter to restart4669terminal host process died — press Enter to restart
4632```4670```
4633 4671
4634확인이 실행되기 전에 행을 열면 바닥글에 `This session's terminal host process died (the conversation is saved) — press Enter to restart it`가 표시되고 행이 실패로 변합니다.4672셸에서 `claude attach <id>`는 이미 죽은 호스트로 실패 표시된 세션을 다시 시작하고, 그렇지 않으면 원인을 인쇄하고 종료합니다:
4635
4636셸에서 `claude attach <id>`는 이미 죽은 호스트로 표시된 세션을 다시 시작하고, 그렇지 않으면 원인을 인쇄하고 종료합니다:
4637 4673
4638```text theme={null}4674```text theme={null}
4639Couldn't attach to <id> — This session's terminal host process died (the conversation is saved) — run `claude attach <id>` again to restart it on a fresh host.4675Couldn't attach to <id> — This session's terminal host process died (the conversation is saved) — run `claude attach <id>` again to restart it on a fresh host.
4641 4677
4642어느 쪽이든 대화가 저장됩니다.4678어느 쪽이든 대화가 저장됩니다.
4643 4679
4644[셸 명령](/docs/ko/agent-view#run-a-shell-command)을 실행하는 행은 대신 `terminal host process died — its output is gone; the command was not run again`을 표시하고, `claude attach`는 `This command's terminal host process died — its output is gone and the command was not run again`을 인쇄합니다. Claude Code는 절대 명령을 다시 실행하지 않습니다.4680[셸 명령](/docs/ko/agent-view#run-a-shell-command)을 실행하는 행은 대신 `terminal host process died — its output is gone; the command was not run again`을 표시하고, `claude attach`는 `This command's terminal host process died — its output is gone and the command was not run again`을 인쇄합니다. Claude Code는 절대 명령을 대신 다시 실행하지 않습니다.
4645 4681
4646**할 일:**4682**할 일:**
4647 4683
4698 세션 에이전트를 더 이상 사용할 수 없습니다4734 세션 에이전트를 더 이상 사용할 수 없습니다
4699</h3>4735</h3>
4700 4736
4701[사용자 정의 에이전트](/docs/ko/sub-agents#invoke-subagents-explicitly)를 실행 중이던 세션을 재개했으며, `--agent` 또는 `agent` 설정으로 시작했으며, Claude Code가 해당 이름의 에이전트를 찾지 못했습니다. 세션의 원래 디렉토리를 먼저 검색하며, [해당 작업 공간을 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)한 경우, 그 다음 재개하는 디렉토리를 검색합니다. 세션은 여전히 재개되지만 기본 도구를 사용하므로 에이전트의 도구 제한이 더 이상 적용되지 않습니다:4737[사용자 정의 에이전트](/docs/ko/sub-agents#invoke-subagents-explicitly)를 실행 중이던 세션을 재개했으며, `--agent` 또는 `agent` 설정으로 시작했으며, Claude Code가 해당 이름의 에이전트를 찾지 못했습니다. 세션의 원래 디렉터리를 먼저 검색하며, [해당 워크스페이스를 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)한 경우, 그 다음 재개하는 디렉터리를 검색합니다. 세션은 여전히 재개되지만 기본 도구를 사용하므로 에이전트의 도구 제한이 더 이상 적용되지 않습니다:
4702 4738
4703```text theme={null}4739```text theme={null}
4704This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.4740This session was running agent 'code-reviewer', which is no longer available (no agent by that name in /home/you/project). Continuing with the default tools and system prompt — the agent's tool restrictions no longer apply. To restore it, re-create the agent, or resume with an explicit --agent <name>.
4705```4741```
4706 4742
4707경고는 Claude Code가 검색한 디렉토리만 명시하며, [백그라운드 세션](/docs/ko/agent-view)을 깨우거나, `/resume` 또는 `claude --resume`을 실행하거나, [비대화형 모드](/docs/ko/headless)에서 재개할 때 재개된 대화에 나타나며, 여기서 stderr로도 이동합니다. `--input-format stream-json`을 사용하는 세션은 Agent SDK가 시작 후 에이전트를 제공하므로 표시하지 않습니다.4743경고는 Claude Code가 검색한 디렉터리만 명시하며, [백그라운드 세션](/docs/ko/agent-view)을 깨우거나, `/resume` 또는 `claude --resume`을 실행하거나, [비대화형 모드](/docs/ko/headless)에서 재개할 때 재개된 대화에 나타나며, 비대화형 모드에서는 stderr로도 출력됩니다. `--input-format stream-json`을 사용하는 세션은 Agent SDK가 시작 후 에이전트를 제공하므로 표시하지 않습니다.
4708 4744
4709Claude Code는 폴백을 세션에 저장하지 않으므로 경고는 조치할 때까지 각 재개에서 반복됩니다. 기본 제공 `claude` 에이전트는 기본 도구 세트로 폴백해도 아무것도 변경되지 않으므로 경고를 트리거하지 않습니다. v2.1.216 이전에는 Claude Code가 기본 에이전트로 자동으로 계속했으며, 조회는 재개하는 디렉토리만 포함했으므로 프로젝트 범위 에이전트는 다른 디렉토리에서 재개할 때 손실되었습니다.4745Claude Code는 폴백을 세션에 저장하지 않으므로 경고는 조치할 때까지 각 재개에서 반복됩니다. 기본 제공 `claude` 에이전트는 기본 도구 세트로 폴백해도 아무것도 변경되지 않으므로 경고를 트리거하지 않습니다. v2.1.216 이전에는 Claude Code가 기본 에이전트로 자동으로 계속했으며, 조회는 재개하는 디렉터리만 포함했으므로 프로젝트 범위 에이전트는 다른 디렉터리에서 재개할 때 손실되었습니다.
4710 4746
4711**할 일:**4747**할 일:**
4712 4748
4713* 세션의 프로젝트에서 `.claude/agents/<name>.md`에 또는 개인 에이전트의 경우 `~/.claude/agents/<name>.md`에 에이전트 파일을 다시 만든 다음 다시 재개합니다.4749* 세션의 프로젝트에서 `.claude/agents/<name>.md`에 또는 개인 에이전트의 경우 `~/.claude/agents/<name>.md`에 에이전트 파일을 다시 만든 다음 다시 재개합니다.
4714* 또는 존재하는 에이전트를 명시하는 `--agent <name>`으로 재개하여 대신 해당 에이전트로 세션을 실행합니다.4750* 또는 존재하는 에이전트를 명시하는 `--agent <name>`으로 재개하여 대신 해당 에이전트로 세션을 실행합니다.
4715* 에이전트가 프로젝트 범위이고 세션의 원래 디렉토리를 신뢰하지 않았으면 거기서 Claude Code를 한 번 실행하고 신뢰 대화를 수락한 다음 다시 재개합니다.4751* 에이전트가 프로젝트 범위이고 세션의 원래 디렉터리를 신뢰하지 않았으면 거기서 Claude Code를 한 번 실행하고 신뢰 대화 상자를 수락한 다음 다시 재개합니다.
4716 4752
4717<h3 id="claude_code_process_wrapper-launcher-errors">4753<h3 id="claude_code_process_wrapper-launcher-errors">
4718 CLAUDE\_CODE\_PROCESS\_WRAPPER 런처 오류4754 CLAUDE\_CODE\_PROCESS\_WRAPPER 런처 오류
4744 4780
4745일부 계정에서 메시지는 `background service` 대신 `daemon`을 말합니다.4781일부 계정에서 메시지는 `background service` 대신 `daemon`을 말합니다.
4746 4782
4747npm 설치에서 `npm install -g @anthropic-ai/claude-code`가 바이너리를 대체하는 동안 나타나는 `EUNKNOWN`은 [백그라운드 세션을 시작할 때 EACCES](#eacces-when-starting-a-background-session)와 같은 원인을 가지며 설치가 완료된 후 재시도할 때 지워집니다.4783npm 설치에서 `npm install -g @anthropic-ai/claude-code`가 바이너리를 대체하는 동안 나타나는 `EUNKNOWN`은 [재설치 중 `EACCES`](#eacces-when-starting-a-background-session)와 같은 원인을 가지며 설치가 완료된 후 재시도할 때 지워집니다.
4748 4784
4749Claude Code는 서비스가 터미널을 닫을 때 생존하도록 PowerShell을 통해 백그라운드 서비스를 시작하며, PowerShell 7이 설치되어 있으면 PowerShell 7을 사용하고 그렇지 않으면 Windows PowerShell 5.1을 사용합니다. PowerShell이 실행될 수 없으면 Claude Code는 대신 서비스를 직접 시작하므로 PowerShell만 차단하는 정책은 이 오류를 발생시키지 않습니다.4785Claude Code는 서비스가 터미널을 닫을 때 생존하도록 PowerShell을 통해 백그라운드 서비스를 시작하며, PowerShell 7이 설치되어 있으면 PowerShell 7을 사용하고 그렇지 않으면 Windows PowerShell 5.1을 사용합니다. 어느 PowerShell도 실행될 수 없으면 Claude Code는 대신 서비스를 직접 시작하므로 PowerShell만 차단하는 정책은 이 오류를 발생시키지 않습니다.
4750 4786
4751v2.1.212 이전에는 Claude Code가 Windows PowerShell 5.1만 사용하여 서비스를 시작했으므로 그룹 정책이 PowerShell 5.1을 차단한 모든 머신이 `Couldn't start the session — EUNKNOWN: unknown error, uv_spawn`으로 실패했으며, PowerShell 7이 설치되어 있었습니다.4787v2.1.212 이전에는 Claude Code가 Windows PowerShell 5.1만 사용하여 서비스를 시작했으므로 그룹 정책이 PowerShell 5.1을 차단한 모든 머신이 PowerShell 7이 설치되어 있어도 `Couldn't start the session — EUNKNOWN: unknown error, uv_spawn`으로 실패했습니다.
4752 4788
4753**할 일:**4789**할 일:**
4754 4790
4755* 메시지가 `Couldn't start the session`을 읽으면 v2.1.212 이상으로 업그레이드합니다. 이전 버전에서는 별도의 터미널에서 `claude daemon run`을 먼저 실행한 다음 백그라운드 세션을 다시 시작할 수 있습니다. 해당 명령은 백그라운드 서비스를 터미널의 전경에서 실행하므로 서비스는 해당 터미널이 열려 있는 동안만 지속됩니다.4791* 메시지가 `Couldn't start the session`이면 v2.1.212 이상으로 업그레이드합니다. 이전 버전에서는 별도의 터미널에서 `claude daemon run`을 먼저 실행한 다음 백그라운드 세션을 다시 시작할 수 있습니다. 해당 명령은 백그라운드 서비스를 터미널의 전경에서 실행하므로 서비스는 해당 터미널이 열려 있는 동안만 지속됩니다.
4756* npm 설치가 바이너리를 대체 중이면 완료될 때까지 기다린 다음 백그라운드 세션을 다시 시작합니다.4792* npm 설치가 바이너리를 대체 중이면 완료될 때까지 기다린 다음 백그라운드 세션을 다시 시작합니다.
4757* npm 설치가 실행 중이 아닌 동안 v2.1.212 이상에서 오류가 나타나면 Windows 관리자에게 제한 정책에서 Claude Code 실행 파일을 허용하도록 요청합니다.4793* npm 설치가 실행 중이 아닌 동안 v2.1.212 이상에서 오류가 나타나면 제한 정책이 Claude Code 실행 파일을 차단하는지 Windows 관리자에게 확인합니다.
4758* 터미널을 닫을 때 백그라운드 서비스가 중지되면 Claude Code는 PowerShell 없이 시작했습니다. PowerShell 7을 설치하거나 관리자에게 PowerShell을 차단 해제하도록 요청하여 서비스가 터미널을 초과할 수 있도록 합니다.4794* 터미널을 닫을 때 백그라운드 서비스가 중지되면 Claude Code는 PowerShell 없이 시작했습니다. PowerShell 7을 설치하거나 관리자에게 PowerShell을 차단 해제하도록 요청하여 서비스가 터미널보다 오래 유지될 수 있도록 합니다.
4759 4795
4760<h3 id="eacces-when-starting-a-background-session">4796<h3 id="eacces-when-starting-a-background-session">
4761 백그라운드 세션을 시작할 때 EACCES4797 백그라운드 세션을 시작할 때 EACCES
4762</h3>4798</h3>
4763 4799
4764Claude Code는 [백그라운드 서비스](/docs/ko/agent-view#the-supervisor-process)를 시작하기 위해 자신의 바이너리를 실행할 수 없었습니다. npm 설치에서 이는 일반적으로 `npm install -g @anthropic-ai/claude-code`가 그 순간에 바이너리를 대체했다는 의미입니다. 직접 실행했든 [자동 업데이터](/docs/ko/setup#auto-updates)가 실행했든 상관없습니다. 오류는 [에이전트 뷰](/docs/ko/agent-view)에서 세션을 열 때 나타납니다:4800Claude Code는 백그라운드 세션을 호스팅하는 [백그라운드 서비스](/docs/ko/agent-view#the-supervisor-process)를 시작하기 위해 자신의 바이너리를 실행할 수 없었습니다. npm 설치에서 이는 일반적으로 `npm install -g @anthropic-ai/claude-code`가 그 순간에 바이너리를 대체했다는 의미입니다. 직접 실행했든 [자동 업데이터](/docs/ko/setup#auto-updates)가 실행했든 상관없습니다. 오류는 [에이전트 뷰](/docs/ko/agent-view)에서 세션을 열 때 나타납니다:
4765 4801
4766```text theme={null}4802```text theme={null}
4767Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'4803Couldn't start the background service — spawn background service: EACCES: permission denied, posix_spawn '/usr/local/lib/node_modules/@anthropic-ai/claude-code/bin/claude'
4780**할 일:**4816**할 일:**
4781 4817
4782* 몇 초 기다린 다음 세션을 열거나 다시 디스패치합니다. 메시지가 Claude Code가 업데이트 중이라고 말하면 업데이트가 완료된 후 재시도합니다.4818* 몇 초 기다린 다음 세션을 열거나 다시 디스패치합니다. 메시지가 Claude Code가 업데이트 중이라고 말하면 업데이트가 완료된 후 재시도합니다.
4783* npm 설치가 실행 중이 아닌 동안 오류가 지속되면 사용자가 설치된 바이너리를 실행할 수 없습니다. 권한과 디렉토리를 확인하거나 Claude Code를 다시 설치합니다.4819* npm 설치가 실행 중이 아닌 동안 오류가 지속되면 사용자가 설치된 바이너리를 실행할 수 없습니다. 바이너리와 해당 디렉터리의 권한을 확인하거나 Claude Code를 다시 설치합니다.
4784 4820
4785<h3 id="background-service-exited-before-it-became-reachable">4821<h3 id="background-service-exited-before-it-became-reachable">
4786 백그라운드 서비스가 도달 가능해지기 전에 종료됨4822 백그라운드 서비스가 도달 가능해지기 전에 종료됨
4787</h3>4823</h3>
4788 4824
4789Claude Code가 [백그라운드 서비스](/docs/ko/agent-view#the-supervisor-process)로 시작한 프로세스가 연결을 수락하기 전에 종료되어 Claude Code가 세션을 열 수 없었습니다. 서비스가 종료되기 전에 오류를 인쇄했으면 괄호의 이유는 종료 코드 또는 신호와 서비스가 인쇄한 첫 번째 줄을 제공하며, 이는 중지된 것을 명시합니다:4825Claude Code가 [백그라운드 서비스](/docs/ko/agent-view#the-supervisor-process)로 시작한 프로세스가 연결을 수락하기 전에 종료되어 Claude Code가 세션을 열 수 없었습니다. 서비스가 종료되기 전에 오류를 인쇄했으면 괄호의 이유는 종료 코드 또는 신호와 서비스가 인쇄한 첫 번째 줄을 제공하며, 이는 중지된 원인을 명시합니다:
4790 4826
4791```text theme={null}4827```text theme={null}
4792Couldn't reach the background service (background service exited before it became reachable (exit code N): <the service's first error line>) — run 'claude daemon status'4828Couldn't reach the background service (background service exited before it became reachable (exit code N): <the service's first error line>) — run 'claude daemon status'
4793```4829```
4794 4830
4795[에이전트 뷰](/docs/ko/agent-view)에서 세션을 열 때 같은 이유가 `Couldn't start the background service —`를 따릅니다. 서비스가 종료되기 전에 아무것도 인쇄하지 않으면 메시지는 `nothing on stderr`을 대신 말합니다.4831[에이전트 뷰](/docs/ko/agent-view)에서 세션을 열 때 같은 이유가 `Couldn't start the background service —` 뒤에 나타납니다. 서비스가 종료되기 전에 아무것도 인쇄하지 않으면 메시지는 `nothing on stderr`을 대신 말합니다.
4796 4832
4797Claude Code는 서비스의 오류 줄로 실패를 보고합니다. v2.1.246 이전에는 실패가 45초 대기 후에만 표시되었으며, `background service did not become reachable within 45s`로 서비스의 오류 줄 없이 표시되었습니다.4833Claude Code는 서비스의 오류 줄로 실패를 보고합니다. v2.1.246 이전에는 실패가 45초 대기 후에만 표시되었으며, `background service did not become reachable within 45s`로 서비스의 오류 줄 없이 표시되었습니다.
4798 4834
4799두 인용된 이유는 알려진 원인을 가집니다:4835두 인용된 이유는 알려진 원인을 가집니다:
4800 4836
4801* `Error: claude native binary not installed.`: npm 설치가 그 순간에 Claude Code 바이너리를 대체했으므로 서비스가 npm의 자리 표시자를 대신 실행했습니다. 설치가 완료된 후 재시도합니다. 설치가 실행 중이 아닌 동안 줄이 지속되면 [npm 설치를 완료](/docs/ko/troubleshoot-install#native-binary-not-found-after-npm-install)합니다. v2.1.257 이전에는 macOS npm 자체 업데이트가 설치 창 동안 모든 시작에서 이 실패를 생성했습니다.4837* `Error: claude native binary not installed.`: npm 설치가 그 순간에 Claude Code 바이너리를 대체했으므로 서비스가 npm의 자리 표시자를 대신 실행했습니다. 설치가 완료된 후 재시도합니다. 설치가 실행 중이 아닌 동안 줄이 지속되면 [npm 설치를 완료](/docs/ko/troubleshoot-install#native-binary-not-found-after-npm-install)합니다. v2.1.257 이전에는 macOS npm 자체 업데이트가 설치 창 동안 모든 시작에서 이 실패를 생성했습니다.
4802* Windows에서 모든 시작에서 종료 코드 1로 `nothing on stderr`: `daemon.lock`은 Claude Code가 신호를 보낼 수도 없고 종료되었음을 증명할 수도 없는 프로세스를 명시하므로 각 새 서비스는 다른 서비스가 잠금을 보유한다고 결론짓고 종료합니다. Claude Code가 종료되었음을 증명할 수 있는 잠금은 자동으로 대체되며 이 실패를 생성하지 않습니다. 실패가 모든 시작에서 반복되면 `~/.claude/daemon.lock`을 삭제한 다음 세션을 열거나 다시 디스패치합니다. v2.1.257 이전에는 그러한 잠금이 파일을 삭제할 때까지 모든 시작을 차단했습니다.4838* Windows에서 모든 시작에서 종료 코드 1로 `nothing on stderr`: `daemon.lock`은 Claude Code가 신호를 보낼 수도 없고 종료되었음을 증명할 수도 없는 프로세스를 명시하므로 각 새 서비스는 다른 서비스가 잠금을 보유한다고 결론짓고 종료합니다. Claude Code가 작성자가 종료되었음을 증명할 수 있는 잠금은 자동으로 대체되며 이 실패를 생성하지 않습니다. 실패가 모든 시작에서 반복되면 `~/.claude/daemon.lock`을 삭제한 다음 세션을 열거나 다시 디스패치합니다. v2.1.257 이전에는 그러한 잠금이 파일을 삭제할 때까지 모든 시작을 차단했습니다.
4803 4839
4804**할 일:**4840**할 일:**
4805 4841
4807* `claude daemon status`를 실행하여 서비스가 지금 실행 중인지 확인합니다.4843* `claude daemon status`를 실행하여 서비스가 지금 실행 중인지 확인합니다.
4808 4844
4809<h3 id="working-directory-no-longer-exists-when-starting-a-background-session">4845<h3 id="working-directory-no-longer-exists-when-starting-a-background-session">
4810 백그라운드 세션을 시작할 때 작업 디렉토리가 더 이상 존재하지 않음4846 백그라운드 세션을 시작할 때 작업 디렉터리가 더 이상 존재하지 않음
4811</h3>4847</h3>
4812 4848
4813더 이상 존재하지 않는 디렉토리에서 [백그라운드 세션](/docs/ko/agent-view)을 시작하려고 했습니다. Claude Code는 세션을 시작하지 않으며 메시지는 누락된 디렉토리를 명시합니다:4849[백그라운드 세션](/docs/ko/agent-view)을 시작한 디렉터리가 세션이 시작되는 동안 제거되었습니다. Claude Code는 세션을 시작하지 않으며 메시지는 누락된 디렉터리를 명시합니다:
4814 4850
4815```text theme={null}4851```text theme={null}
4816Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)4852Couldn't start a background session (working directory no longer exists or is not accessible: /tmp/demo)
4818 4854
4819v2.1.257 이전에는 세션이 시작된 것처럼 보였다가 에이전트 뷰에서 같은 이유로 실패한 행으로 표시되었습니다.4855v2.1.257 이전에는 세션이 시작된 것처럼 보였다가 에이전트 뷰에서 같은 이유로 실패한 행으로 표시되었습니다.
4820 4856
4821v2.1.281 이전에는 이 메시지가 세션을 시작하기 전에 디렉토리가 이미 없었을 때도 나타났습니다. 그 경우는 [`could not be resolved on disk`](#workspace-not-trusted-when-dispatching-a-background-session)를 보고합니다.4857v2.1.281 이전에는 이 메시지가 세션을 시작하기 전에 디렉터리가 이미 없었을 때도 나타났습니다. 그 경우는 [`could not be resolved on disk`](#workspace-not-trusted-when-dispatching-a-background-session)를 보고합니다.
4822 4858
4823**할 일:**4859**할 일:**
4824 4860
4825* 메시지가 명시하는 디렉토리를 다시 만들거나 존재하는 디렉토리에서 디스패치한 다음 다시 시도합니다.4861* 메시지가 명시하는 디렉터리를 다시 만들거나 존재하는 디렉터리에서 디스패치한 다음 다시 시도합니다.
4826 4862
4827<h3 id="workspace-not-trusted-when-dispatching-a-background-session">4863<h3 id="workspace-not-trusted-when-dispatching-a-background-session">
4828 백그라운드 세션을 디스패치할 때 작업 공간을 신뢰하지 않음4864 백그라운드 세션을 디스패치할 때 워크스페이스를 신뢰하지 않음
4829</h3>4865</h3>
4830 4866
4831[신뢰하지 않은](/docs/ko/permissions#project-allow-rules-and-workspace-trust) 디렉토리에서 [백그라운드 세션](/docs/ko/agent-view)을 시작하거나 다시 시작했으며, 작업 공간 신뢰 대화가 나타날 수 없었습니다. Claude Code는 세션을 시작하지 않습니다:4867[신뢰하지 않은](/docs/ko/permissions#project-allow-rules-and-workspace-trust) 디렉터리에서 [백그라운드 세션](/docs/ko/agent-view)을 시작하거나 다시 시작했으며, 워크스페이스 신뢰 대화 상자가 나타나 확인을 요청할 수 없었습니다. Claude Code는 세션을 시작하지 않습니다:
4832 4868
4833```text theme={null}4869```text theme={null}
4834Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.4870Workspace not trusted. Run `claude` in /path/to/project once and accept the trust prompt, then retry.
4835```4871```
4836 4872
4837세션의 자체 디렉토리의 터미널에서 같은 명령은 신뢰 대화를 대신 표시하고 수락하면 세션을 시작합니다. 이 메시지는 스크립트와 같이 대화가 나타날 수 없는 곳이나 다른 디렉토리에서 세션을 다시 시작할 때 나타납니다.4873세션의 자체 디렉터리의 터미널에서 같은 명령은 신뢰 대화 상자를 대신 표시하고 수락하면 세션을 시작합니다. 이 메시지는 스크립트와 같이 대화 상자가 나타날 수 없는 곳이나 세션 자체 디렉터리가 아닌 다른 디렉터리에서 세션을 다시 시작할 때 나타납니다.
4838 4874
4839두 가지 변형은 다른 원인을 명시합니다:4875두 가지 변형은 다른 원인을 명시합니다:
4840 4876
4841* **`The home directory is trusted one session at a time`**: 세션의 디렉토리는 홈 디렉토리입니다. Claude Code는 홈 디렉토리에 대한 신뢰를 절대 저장하지 않으므로 이전 세션에서 대화를 수락해도 계산되지 않습니다.4877* **`The home directory is trusted one session at a time`**: 세션의 디렉터리는 홈 디렉터리입니다. Claude Code는 홈 디렉터리에 대한 신뢰를 절대 저장하지 않으므로 이전 세션에서 그곳의 대화 상자를 수락해도 계산되지 않습니다.
4842* **`<path> could not be resolved on disk`**: Claude Code가 디스크에서 세션의 디렉토리를 찾을 수 없었습니다.4878* **`<path> could not be resolved on disk`**: Claude Code가 디스크에서 세션의 디렉터리를 찾을 수 없었습니다.
4879
4880v2.1.286 이전에는 Windows에서 신뢰 기록이 다른 대소문자의 경로로 저장된 경우 이미 신뢰한 디렉터리에서도 이 메시지가 나타날 수 있었습니다. v2.1.286 이상으로 업데이트하십시오.
4843 4881
4844**할 일:**4882**할 일:**
4845 4883
4846* 메시지가 명시하는 디렉토리에서 `claude`를 실행하고 신뢰 대화를 수락한 다음 명령을 다시 실행합니다.4884* 메시지가 명시하는 디렉터리에서 `claude`를 실행하고 신뢰 대화 상자를 수락한 다음 명령을 다시 실행합니다.
4847* 홈 디렉토리 메시지의 경우 홈 디렉토리의 터미널에서 명령을 실행하여 대화가 나타날 수 있도록 하거나 프로젝트 디렉토리에서 대신 세션을 시작합니다.4885* 홈 디렉터리 메시지의 경우 홈 디렉터리의 터미널에서 명령을 실행하여 대화 상자가 나타날 수 있도록 하거나 프로젝트 디렉터리에서 대신 세션을 시작합니다.
4848* `could not be resolved on disk` 메시지의 경우 디렉토리를 다시 만들거나 존재하는 디렉토리에서 새 세션을 시작합니다.4886* `could not be resolved on disk` 메시지의 경우 디렉터리를 다시 만들거나 존재하는 디렉터리에서 새 세션을 시작합니다.
4849 4887
4850<h2 id="wrapper-and-ide-errors">4888<h2 id="wrapper-and-ide-errors">
4851 래퍼 및 IDE 오류4889 래퍼 및 IDE 오류
5026 구성 경고5064 구성 경고
5027</h2>5065</h2>
5028 5066
5029Claude Code는 이러한 메시지 대부분을 대화가 아닌 stderr에 기록하며, 대부분 시작 시에 기록합니다. 항목이 디버그 로그나 대화 보기의 시작 알림 같은 다른 곳에 나타나거나 요청 시간의 [인식되지 않은 모델 진단 줄](#unrecognized-model-id-on-a-request) 같은 다른 시간에 나타나면 그렇게 표시됩니다.5067Claude Code는 이러한 메시지 대부분을 대화가 아닌 stderr에 기록하며, 대부분 시작 시에 기록합니다. 메시지가 디버그 로그나 대화 보기의 시작 알림 같은 다른 곳에 나타나거나, 요청 시점의 [인식되지 않은 모델 진단 줄](#unrecognized-model-id-on-a-request)처럼 다른 시점에 나타나는 경우 해당 항목에 그렇게 명시되어 있습니다.
5030
5031<h3 id="fullscreen-failed-start-notice">
5032 전체 화면 렌더러가 시작을 완료하지 못함
5033</h3>
5034
5035이 머신의 이전 [전체 화면](/docs/ko/fullscreen) 세션이 시작을 완료하기 전에 종료되었으므로 Claude Code는 이 세션을 클래식 렌더러에서 시작하고 다음 알림 중 하나를 출력합니다:
5036
5037```text theme={null}
5038Claude Code의 전체 화면 렌더러가 이 머신에서 마지막으로 시작을 완료하지 못했으므로 이번 실행은 클래식 렌더러를 사용합니다. 다음 실행에서 전체 화면을 다시 시도할 것입니다. /tui default는 클래식 렌더러를 유지합니다.
5039
5040Claude Code의 전체 화면 렌더러가 이 머신에서 반복적으로 시작에 실패했으므로 여기서 비활성화되었습니다. /tui fullscreen을 실행하여 다시 시도하세요(이는 업데이트 후에도 재설정됩니다).
5041```
5042
5043**할 일:**
5044
5045* [전체 화면 렌더링](/docs/ko/fullscreen#fullscreen-renderer-didnt-finish-starting)을 따르세요. 어떤 알림을 받는지, Claude Code가 이후 세션에서 무엇을 하는지, 그리고 전체 화면을 다시 시도하거나 클래식 렌더러를 유지하는 방법을 설명합니다.
5046* 종료된 세션이 종료 메시지를 출력했다면 [Claude Code가 복구 불가능한 인터페이스 오류 후 종료됨](#exited-after-an-unrecoverable-interface-error)을 참조하여 이름이 지정된 내용을 확인하세요.
5047
5048v2.1.236 이전에는 Claude Code가 알림을 출력하지 않았고 실패한 시작 후에도 전체 화면 렌더링에서 세션을 계속 시작했습니다.
5049 5068
5050<h3 id="exited-after-an-unrecoverable-interface-error">5069<h3 id="exited-after-an-unrecoverable-interface-error">
5051 Claude Code가 복구 불가능한 인터페이스 오류 후 종료됨5070 Claude Code가 복구 불가능한 인터페이스 오류 후 종료됨
5052</h3>5071</h3>
5053 5072
5054Claude Code는 터미널 인터페이스가 복구할 수 없는 오류에 부딪혔을 때 이 메시지를 출력하고 종료합니다(두 렌더러 모두). 두 번째 문장은 [전체 화면](/docs/ko/fullscreen) 렌더러가 시작되는 동안 오류가 발생했을 때만 나타납니다:5073Claude Code는 터미널 인터페이스가 복구할 수 없는 오류에 부딪혀 종료될 때 이 메시지를 출력하며, 이는 두 렌더러 모두에서 발생할 수 있습니다. 두 번째 문장은 [전체 화면](/docs/ko/fullscreen) 렌더러가 시작되는 동안 오류가 발생했을 때만 나타납니다:
5055 5074
5056```text theme={null}5075```text theme={null}
5057Claude Code가 복구 불가능한 인터페이스 오류(<error>)로 인해 종료되었습니다. 전체 화면 렌더러가 시작되는 동안 발생했으므로 다음 실행은 클래식 렌더러를 사용할 것입니다(CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1은 언제든지 이를 강제합니다).5076Claude Code exited after an unrecoverable interface error (<error>). It happened while the fullscreen renderer was starting, so the next launch will use the classic renderer (CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 forces that any time).
5058```5077```
5059 5078
5060**할 일:**5079**할 일:**
5061 5080
5062* Claude Code를 다시 시작하세요. 대화를 다시 시작하려면 같은 디렉토리에서 `claude --resume`을 실행하세요.5081* Claude Code를 다시 시작하세요. 대화를 이어서 진행하려면 같은 디렉터리에서 `claude --resume`을 실행하세요.
5063* 메시지가 전체 화면 렌더러를 언급하면 [전체 화면 렌더링](/docs/ko/fullscreen#fullscreen-renderer-didnt-finish-starting)에서 다음 실행이 무엇을 하는지, 전체 화면을 어떻게 켰는지에 따라 달라지는지, 그리고 전체 화면을 다시 시도하거나 클래식 렌더러를 유지하는 방법을 설명합니다.5082* 메시지가 전체 화면 렌더러를 언급하면 [전체 화면 렌더링](/docs/ko/fullscreen#fullscreen-renderer-didnt-finish-starting)에서 전체 화면을 켠 방식에 따라 다음 실행이 어떻게 동작하는지, 그리고 전체 화면을 다시 시도하거나 클래식 렌더러를 유지하는 방법을 확인하세요.
5064 5083
5065v2.1.236 이전에는 Claude Code가 이런 종류의 오류 후 메시지를 출력하지 않고 종료되었습니다.5084v2.1.236 이전에는 Claude Code가 이런 종류의 오류 후 메시지를 출력하지 않고 종료되었습니다.
5066 5085
5068 에이전트 설명이 15.0k 토큰 제한을 초과함5087 에이전트 설명이 15.0k 토큰 제한을 초과함
5069</h3>5088</h3>
5070 5089
5071Claude Code는 stderr가 아닌 대화 보기의 시작 알림으로 이 경고를 표시합니다. 기본 제공 에이전트를 제외한 [서브에이전트](/docs/ko/sub-agents)의 결합된 설명이 Claude Code가 추정하는 15,000 토큰을 초과합니다. 각 에이전트는 이름과 `description` frontmatter를 계산합니다. Claude Code는 합계가 제한을 초과하는지 여부와 관계없이 모든 에이전트를 로드하므로 경고는 로드되는 내용을 변경하지 않습니다.5090Claude Code는 stderr가 아닌 대화 보기의 시작 알림으로 이 경고를 표시합니다. 기본 제공 에이전트를 제외한 [서브에이전트](/docs/ko/sub-agents)의 설명을 합친 양이 Claude Code의 추정으로 15,000 토큰을 초과합니다. 각 에이전트는 이름과 `description` frontmatter가 계산에 포함됩니다. Claude Code는 합계가 제한을 초과하는지 여부와 관계없이 모든 에이전트를 로드하므로 이 경고는 로드되는 내용을 변경하지 않습니다.
5072 5091
5073```text theme={null}5092```text theme={null}
5074에이전트 설명이 15.0k 토큰 제한을 초과함(~16.2k 토큰) · Claude에게 .claude/agents/의 에이전트 설명을 정리하도록 요청하세요5093Agent descriptions are over the 15.0k-token limit (~16.2k tokens) · ask Claude to trim agent descriptions in .claude/agents/
5075```5094```
5076 5095
5077**할 일:**5096**할 일:**
5078 5097
5079* 에이전트 파일의 `description` frontmatter를 단축하거나 Claude에게 정리하도록 요청하세요.5098* 에이전트 파일의 `description` frontmatter를 줄이거나 Claude에게 정리하도록 요청하세요.
5080* 더 이상 사용하지 않는 에이전트 파일을 제거하세요.5099* 더 이상 사용하지 않는 에이전트 파일을 제거하세요.
5081 5100
5082<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">5101<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">
5083 스킬, 명령 또는 워크플로우가 로드되지 않았습니다(이름이 예약됨)5102 스킬, 명령 또는 워크플로가 로드되지 않았습니다(이름이 예약됨)
5084</h3>5103</h3>
5085 5104
5086스킬 폴더, frontmatter `name`, `.claude/commands/`의 파일 또는 하위 폴더, 또는 [저장된 워크플로우](/docs/ko/workflows#save-the-workflow-for-reuse)가 `anthropic-skills` 이름을 사용하거나 `anthropic-skills:`로 시작하는 이름을 사용합니다. Claude Code는 [claude.ai에서 동기화된 스킬을 위해 해당 이름을 예약](/docs/ko/skills#names-reserved-for-synced-skills)하고 해당 항목을 로드하지 않습니다.5105스킬 폴더, frontmatter `name`, `.claude/commands/`의 파일 또는 하위 폴더, 또는 [저장된 워크플로](/docs/ko/workflows#save-the-workflow-for-reuse)가 `anthropic-skills` 이름을 사용하거나 `anthropic-skills:`로 시작하는 이름을 사용합니다. Claude Code는 [claude.ai에서 동기화된 스킬을 위해 해당 이름을 예약](/docs/ko/skills#names-reserved-for-synced-skills)하며 해당 항목을 로드하지 않습니다.
5087 5106
5088Claude Code는 stderr가 아닌 대화 보기의 시작 알림으로 이 경고를 표시합니다:5107Claude Code는 stderr가 아닌 대화 보기의 시작 알림으로 이 경고를 표시합니다:
5089 5108
5090```text theme={null}5109```text theme={null}
5091로드되지 않음: .claude/skills/anthropic-skills의 이름을 바꾸고 다시 시작하세요 — 해당 이름은 "anthropic-skills"를 사용하며, 이는 claude.ai 계정에서 동기화된 스킬을 위해 예약된 이름입니다5110Not loaded: rename .claude/skills/anthropic-skills, then restart — its name uses "anthropic-skills", a name reserved for the skills synced from your claude.ai account
5092```5111```
5093 5112
5094알림은 거부된 첫 번째 항목에 대해 변경할 내용을 이름으로 지정합니다: 이름을 바꿀 폴더 또는 파일, 편집할 `name:` 줄, 또는 이름을 바꿀 워크플로우. 둘 이상의 항목이 거부되면 알림은 `· 2 more` 같은 개수로 끝나고 [디버그 로그](/docs/ko/debug-your-config)가 각각을 이름으로 지정합니다.5113알림은 거부된 첫 번째 항목에 대해 변경할 대상을 명시합니다: 이름을 바꿀 폴더 또는 파일, 편집할 `name:` 줄, 또는 이름을 바꿀 워크플로. 둘 이상의 항목이 거부되면 알림은 `· 2 more` 같은 개수로 끝나며 [디버그 로그](/docs/ko/debug-your-config)에 각 항목이 명시됩니다.
5095 5114
5096**할 일:**5115**할 일:**
5097 5116
5098* 알림이 이름으로 지정한 항목의 이름을 바꾸거나 가리키는 `name:` 줄을 편집한 후 세션을 다시 시작하세요.5117* 알림이 명시한 항목의 이름을 바꾸거나 알림이 가리키는 `name:` 줄을 편집한 후 세션을 다시 시작하세요.
5099 5118
5100v2.1.282 이전에는 Claude Code가 이러한 이름의 스킬과 명령을 로드했습니다.5119v2.1.282 이전에는 Claude Code가 이러한 이름의 스킬과 명령을 로드했습니다.
5101 5120
5102<h3 id="workspace-has-not-been-trusted">5121<h3 id="workspace-has-not-been-trusted">
5103 작업 영역이 신뢰되지 않음5122 워크스페이스가 신뢰되지 않음
5104</h3>5123</h3>
5105 5124
5106Claude Code는 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`에서 `permissions.allow` 규칙 또는 `permissions.additionalDirectories` 항목을 찾았지만 [프로젝트 설정의 allow 규칙에는 작업 영역 신뢰가 필요](/docs/ko/permissions#project-allow-rules-and-workspace-trust)하기 때문에 적용하지 않았습니다. 개수, 설정 이름, 메시지에 이름이 지정된 파일은 구성에 따라 다릅니다. `deny` 및 `ask` 규칙은 영향을 받지 않습니다.5125Claude Code는 프로젝트의 `.claude/settings.json` 또는 `.claude/settings.local.json`에서 `permissions.allow` 규칙 또는 `permissions.additionalDirectories` 항목을 찾았지만 [프로젝트 설정의 허용 규칙에는 워크스페이스 신뢰가 필요](/docs/ko/permissions#project-allow-rules-and-workspace-trust)하기 때문에 적용하지 않았습니다. 메시지에 표시되는 개수, 설정 이름, 파일은 구성에 따라 다릅니다. `deny` 및 `ask` 규칙은 영향을 받지 않습니다.
5107 5126
5108```text theme={null}5127```text theme={null}
5109.claude/settings.local.json의 2개 permissions.allow 항목을 무시합니다: 이 작업 영역이 신뢰되지 않았습니다. 여기서 Claude Code를 대화형으로 한 번 실행하고 신뢰 대화를 수락하거나, /Users/you/.claude.json에서 projects["/Users/you/project"].hasTrustDialogAccepted: true를 설정하세요.5128Ignoring 2 permissions.allow entries from .claude/settings.local.json: this workspace has not been trusted. Run Claude Code interactively here once and accept the trust dialog, or set projects["/Users/you/project"].hasTrustDialogAccepted: true in /Users/you/.claude.json.
5110```5129```
5111 5130
5112**할 일:**5131**할 일:**
5113 5132
5114* 디렉토리에서 `claude`를 실행하고 신뢰 대화를 수락하세요. [프로젝트 allow 규칙 및 작업 영역 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)는 해당 수락이 어느 폴더를 포함하는지 설명합니다.5133* 해당 디렉터리에서 `claude`를 실행하고 신뢰 대화 상자를 수락하세요. [프로젝트 허용 규칙 및 워크스페이스 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)에서 해당 수락이 어느 폴더에 적용되는지 설명합니다.
5115* [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 대화가 표시되지 않습니다. 메시지가 출력하는 정확한 `projects` 키를 사용하여 `~/.claude.json`에서 `hasTrustDialogAccepted` 항목을 설정하세요.5134* `-p`를 사용하는 [비대화형 모드](/docs/ko/headless)에서는 대화 상자가 표시되지 않습니다. 메시지가 출력하는 정확한 `projects` 키를 사용하여 `~/.claude.json`에 `hasTrustDialogAccepted` 항목을 설정하세요.
5116* 메시지가 `.claude/settings.local.json`을 이름으로 지정하고 git 저장소 외부 또는 홈 디렉토리에서 Claude Code를 시작했다면 v2.1.200 이상으로 업데이트하세요. v2.1.196부터 v2.1.199까지의 버전은 이러한 작업 영역에서 자신의 `.claude/settings.local.json`을 저장소 제공으로 취급했습니다. v2.1.207 이상에서는 git 저장소 외부에서 업데이트하는 것만으로는 충분하지 않습니다(폴더를 신뢰하지 않은 경우): 폴더가 저장소 내부가 아님을 확인하면 git을 실행하고 Claude Code는 신뢰 대화를 수락한 후에만 해당 검사를 실행하므로 첫 번째 단계를 사용하세요. 홈 디렉토리 및 기타 [구성 홈](/docs/ko/permissions#project-allow-rules-and-workspace-trust)은 면제되며 대화를 기다리지 않습니다. [프로젝트 allow 규칙 및 작업 영역 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 참조하세요.5135* 메시지가 `.claude/settings.local.json`을 명시하고 git 저장소 외부 또는 홈 디렉터리에서 Claude Code를 시작했다면 v2.1.200 이상으로 업데이트하세요. 버전 2.1.196부터 2.1.199까지는 이러한 워크스페이스에서 사용자 자신의 `.claude/settings.local.json`을 저장소에서 제공된 것으로 취급했습니다. v2.1.207 이상에서는 폴더를 신뢰하지 않은 경우 git 저장소 외부에서 업데이트만으로는 충분하지 않습니다. 폴더가 저장소 내부에 있지 않음을 확인하려면 git을 실행해야 하며, Claude Code는 신뢰 대화 상자를 수락한 후에만 이 검사를 실행하므로 첫 번째 단계를 사용하세요. 홈 디렉터리와 기타 [구성 홈](/docs/ko/permissions#project-allow-rules-and-workspace-trust)은 예외이며 대화 상자를 기다리지 않습니다. [프로젝트 허용 규칙 및 워크스페이스 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)를 참조하세요.
5117 5136
5118<h3 id="working-directory-is-a-network-path">5137<h3 id="working-directory-is-a-network-path">
5119 작업 디렉토리가 네트워크 경로임5138 작업 디렉터리가 네트워크 경로임
5120</h3>5139</h3>
5121 5140
5122Claude Code는 네트워크 경로를 작업 디렉토리로 추가하지 않습니다. 네트워크 경로를 조회하면 이름이 지정된 호스트에 연결할 수 있으며, Windows에서는 해당 연결이 호스트에 자격 증명을 보낼 수 있으므로 Claude Code는 조회하지 않고 경로를 거부합니다. `/add-dir`을 이러한 경로로 실행할 때 또는 시작 시 경고로 이 메시지를 봅니다. 시작 시 나타나면 Claude Code는 해당 디렉토리 없이 시작합니다.5141Claude Code는 네트워크 경로를 작업 디렉터리로 추가하지 않습니다. 네트워크 경로를 조회하면 경로에 지정된 호스트에 연결할 수 있으며, Windows에서는 이 연결로 호스트에 자격 증명이 전송될 수 있으므로 Claude Code는 조회하지 않고 경로를 거부합니다. 이러한 경로로 `/add-dir`을 실행하거나 시작 시 경고로 이 메시지가 표시됩니다. 시작 시 나타나면 Claude Code는 해당 디렉터리 없이 시작합니다.
5123 5142
5124```text theme={null}5143```text theme={null}
5125\\server\share는 네트워크 경로이므로 작업 디렉토리로 추가할 수 없습니다. Windows에서는 공유를 드라이브 문자로 매핑하고 --add-dir로 실행 시 전달하세요(세션 중간에 추가된 드라이브 문자는 아직 원격 읽기 신뢰를 수행하지 않습니다).5144\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).
5126```5145```
5127 5146
5128Claude Code가 이 방식으로 거부하는 경로는 다음을 포함합니다:5147Claude Code가 이 방식으로 거부하는 경로는 다음과 같습니다:
5129 5148
5130* `\\server\share` 같은 UNC 공유5149* `\\server\share` 같은 UNC 공유
5131* `/net/<host>` 같은 자동 마운트 경로(해당 호스트의 자동 마운트 아래 디렉토리에서 Claude Code를 실행한 경우 제외)5150* `/net/<host>` 같은 자동 마운트 경로(해당 호스트의 자동 마운트 아래 디렉터리에서 Claude Code를 실행한 경우 제외)
5132* 기호 링크 또는 접합을 통해 네트워크 위치에 도달하는 로컬 경로5151* 심볼릭 링크 또는 정션을 통해 네트워크 위치에 도달하는 로컬 경로
5133 5152
5134매핑된 드라이브 문자 및 `\\wsl$` 경로는 네트워크 경로로 계산되지 않습니다.5153매핑된 드라이브 문자 및 `\\wsl$` 경로는 네트워크 경로로 간주되지 않습니다.
5135 5154
5136**할 일:**5155**할 일:**
5137 5156
5138* Windows에서는 `net use Z: \\server\share` 같은 명령으로 공유를 드라이브 문자로 매핑하고 `claude --add-dir Z:\`로 실행 시 드라이브를 전달하세요.5157* Windows에서는 `net use Z: \\server\share` 같은 명령으로 공유를 드라이브 문자에 매핑하고 `claude --add-dir Z:\`로 실행 시 해당 드라이브를 전달하세요.
5139* macOS 또는 Linux에서는 공유를 로컬 경로에 마운트하고 대신 해당 경로를 추가하세요.5158* macOS 또는 Linux에서는 공유를 로컬 경로에 마운트하고 대신 해당 경로를 추가하세요.
5140* 경로가 `permissions.additionalDirectories`에 있으면 이를 나열하는 설정 파일에서 제거하세요.5159* 경로가 `permissions.additionalDirectories`에 있으면 해당 경로를 나열한 설정 파일에서 제거하세요.
5141 5160
5142v2.1.257 이전에는 Claude Code가 도달 가능한 네트워크 경로를 작업 디렉토리로 수락했습니다.5161v2.1.257 이전에는 Claude Code가 도달 가능한 네트워크 경로를 작업 디렉터리로 수락했습니다.
5143 5162
5144<h3 id="remote-managed-settings-failed-to-load">5163<h3 id="remote-managed-settings-failed-to-load">
5145 원격 관리 설정을 로드하지 못함5164 원격 관리형 설정을 로드하지 못함
5146</h3>5165</h3>
5147 5166
5148세션이 [서버 관리 설정](/docs/ko/server-managed-settings)에 적합하지만 Claude Code가 설정을 가져올 수 없거나 서버가 반환한 내용을 적용할 수 없어서 대화형 세션에서 이 경고를 표시합니다.5167세션이 [서버 관리형 설정](/docs/ko/server-managed-settings) 적용 대상이지만 Claude Code가 설정을 가져오지 못했거나 서버가 반환한 내용을 적용하지 못했으므로 대화형 세션에서 이 경고를 표시합니다.
5149 5168
5150괄호로 묶인 원인은 `network error`, `request timed out`, 또는 `authentication rejected (401)` 같은 실패한 내용을 이름으로 지정합니다. `no setting in the server response could be applied as written` 원인은 서버가 응답했지만 반환된 설정 중 [검증](/docs/ko/server-managed-settings#invalid-entries-in-delivered-settings)을 통과한 것이 없음을 의미합니다. v2.1.282 이전에는 이 원인이 `server returned invalid settings`로 읽혔습니다.5169괄호 안의 원인은 `network error`, `request timed out`, `authentication rejected (401)`처럼 무엇이 실패했는지를 나타냅니다. `no setting in the server response could be applied as written` 원인은 서버가 응답했지만 반환된 설정 중 [검증](/docs/ko/server-managed-settings#invalid-entries-in-delivered-settings)을 통과한 것이 없음을 의미합니다. v2.1.282 이전에는 이 원인이 `server returned invalid settings`로 표시되었습니다.
5151 5170
5152줄의 나머지 부분은 세션이 실행되는 정책을 나타냅니다:5171줄의 나머지 부분은 세션이 어떤 정책으로 실행되는지를 나타냅니다:
5153 5172
5154* **이전 성공적인 가져오기에서 캐시된 설정**: Claude Code는 [보류된 환경 변수](/docs/ko/server-managed-settings#fetch-and-caching-behavior)를 제외한 해당 캐시된 정책에서 세션을 실행하며, 줄은 `using cached policy`로 읽습니다.5173* **이전에 성공한 가져오기에서 캐시된 설정**: Claude Code는 [보류된 환경 변수](/docs/ko/server-managed-settings#fetch-and-caching-behavior)를 제외한 캐시된 정책으로 세션을 실행하며, 줄에 `using cached policy`가 표시됩니다.
5155* **캐시 없음**: Claude Code는 서버 관리 설정 없이 세션을 실행하며, 줄은 `no remote policy applied`로 읽습니다.5174* **캐시 없음**: Claude Code는 서버 관리형 설정 없이 세션을 실행하며, 줄에 `no remote policy applied`가 표시됩니다.
5156 5175
5157**할 일:**5176**할 일:**
5158 5177
5159* 메시지가 이름으로 지정한 원인에 대해 조치하세요: 네트워크 원인의 경우 이 머신이 `api.anthropic.com`에 도달할 수 있는지 확인하세요. 인증 원인의 경우 `/status`로 로그인을 확인하세요.5178* 메시지가 명시한 원인에 따라 조치하세요: 네트워크 원인의 경우 이 머신이 `api.anthropic.com`에 도달할 수 있는지 확인하고, 인증 원인의 경우 `/status`로 로그인 상태를 확인하세요.
5160* `no setting in the server response could be applied as written`의 경우 관리자에게 서버의 설정을 수정하도록 요청하세요.5179* `no setting in the server response could be applied as written`의 경우 관리자에게 서버의 설정을 수정하도록 요청하세요.
5161* 전체 진단을 위해 `/status` 또는 `claude doctor`를 실행하세요.5180* 전체 진단을 보려면 `/status` 또는 `claude doctor`를 실행하세요.
5162 5181
5163v2.1.248 이전에는 Claude Code가 실패한 설정 가져오기를 디버그 로그에서만 보고했습니다.5182v2.1.248 이전에는 Claude Code가 설정 가져오기 실패를 디버그 로그에서만 보고했습니다.
5164 5183
5165<h3 id="managed-settings-were-not-approved">5184<h3 id="managed-settings-were-not-approved">
5166 관리 설정이 승인되지 않음5185 관리형 설정이 승인되지 않음
5167</h3>5186</h3>
5168 5187
5169조직의 [서버 관리 설정](/docs/ko/server-managed-settings)에 승인이 필요한 설정이 포함되어 있고 [보안 승인 대화](/docs/ko/server-managed-settings#security-approval-dialogs)를 거부했으므로 Claude Code는 이를 적용하지 않고 종료합니다:5188조직의 [서버 관리형 설정](/docs/ko/server-managed-settings)에 승인이 필요한 설정이 포함되어 있는데 [보안 승인 대화 상자](/docs/ko/server-managed-settings#security-approval-dialogs)를 거부했으므로, Claude Code는 설정을 적용하지 않고 종료합니다:
5170 5189
5171```text theme={null}5190```text theme={null}
5172관리 설정이 승인되지 않았습니다. 이를 적용하지 않고 종료합니다.5191Managed settings were not approved; exiting without applying them.
5173```5192```
5174 5193
5175**할 일:**5194**할 일:**
5176 5195
5177* Claude Code를 다시 시작하고 대화를 승인하여 조직의 설정에서 계속하세요. 거부된 대화는 기억되지 않으므로 다음 시작 시 다시 나타납니다.5196* Claude Code를 다시 시작하고 대화 상자를 승인하여 조직의 설정으로 계속 진행하세요. 거부한 대화 상자는 기억되지 않으므로 다음 시작 시 다시 나타납니다.
5178* 대화가 나열하는 설정에 대해 확실하지 않으면 승인하기 전에 조직의 관리 설정을 유지하는 사람에게 문의하세요.5197* 대화 상자에 나열된 설정이 확실하지 않으면 승인하기 전에 조직의 관리형 설정을 유지 관리하는 담당자에게 문의하세요.
5179 5198
5180<h3 id="managed-settings-block-the-default-model">5199<h3 id="managed-settings-block-the-default-model">
5181 관리 설정이 기본 모델을 차단함5200 관리형 설정이 기본 모델을 차단함
5182</h3>5201</h3>
5183 5202
5184조직의 [관리 설정](/docs/ko/managed-settings)이 기본 옵션이 해석되는 모델과 이를 단계적으로 낮출 수 있는 모든 모델을 차단합니다. 기본 옵션에서 시작할 세션은 차단된 모델을 실행하는 대신 시작 시 종료됩니다. 어떤 메시지를 보는지는 이를 차단하는 설정에 따라 다릅니다. [`deniedModels`](/docs/ko/model-config#block-specific-models-or-versions) 목록이 이를 차단하면 메시지는 다음과 같이 읽습니다:5203조직의 [관리형 설정](/docs/ko/managed-settings)이 Default 옵션이 가리키는 모델과 단계적으로 낮출 수 있는 모든 모델을 차단합니다. Default 옵션으로 시작하려던 세션은 차단된 모델을 실행하는 대신 시작 시 종료됩니다. 표시되는 메시지는 차단하는 설정에 따라 다릅니다. [`deniedModels`](/docs/ko/model-config#block-specific-models-or-versions) 목록이 차단하는 경우 메시지는 다음과 같습니다:
5185 5204
5186```text theme={null}5205```text theme={null}
5187Claude Code를 시작할 수 없습니다: 조직의 관리 설정이 "deniedModels"에서 기본 모델(claude-opus-5-5)을 차단하고 있으며, 허용하는 모델 중 기본값으로 사용할 수 있는 모델이 없습니다. 관리자에게 "deniedModels" 또는 "availableModels"을 업데이트하도록 요청하세요.5206Claude Code can't start: your organization's managed settings block the default model (claude-opus-5-5) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".
5188```5207```
5189 5208
5190`availableModels` 목록이 [`availableModelsMatch`](/docs/ko/settings-reference#availablemodelsmatch)를 `"exact"`로 설정하여 이를 생략하면 메시지는 다음과 같이 읽습니다:5209[`availableModelsMatch`](/docs/ko/settings-reference#availablemodelsmatch)가 `"exact"`로 설정된 `availableModels` 목록에서 해당 모델이 빠진 경우 메시지는 다음과 같습니다:
5191 5210
5192```text theme={null}5211```text theme={null}
5193Claude Code를 시작할 수 없습니다: 조직이 "availableModels"에 나열된 모델만 허용하며, 기본 모델로 사용할 수 있는 모델이 없습니다(claude-opus-5-5가 나열되지 않음). 관리자에게 "availableModels"을 업데이트하도록 요청하세요.5212Claude Code can't start: your organization allows only the models listed in "availableModels", and none of them can be used as the default model (claude-opus-5-5 isn't listed). Ask your administrator to update "availableModels".
5194```5213```
5195 5214
5196**할 일:**5215**할 일:**
5197 5216
5198* 설정을 관리하는 경우 사용자가 실행할 수 있는 모델을 `availableModels`에 추가하거나 모든 폴백을 차단하는 `deniedModels` 항목을 좁히세요. [특정 모델 또는 버전 차단](/docs/ko/model-config#block-specific-models-or-versions)은 기본 옵션이 어떻게 단계적으로 낮춰지는지 설명합니다.5217* 설정을 관리하는 경우 사용자가 실행할 수 있는 모델을 `availableModels`에 추가하거나 모든 폴백을 차단하는 `deniedModels` 항목의 범위를 좁히세요. [특정 모델 또는 버전 차단](/docs/ko/model-config#block-specific-models-or-versions)에서 Default 옵션이 단계적으로 낮아지는 방식을 설명합니다.
5199* 설정을 관리하지 않으면 메시지를 관리자에게 보내세요. 자신의 설정 파일은 관리 `availableModels` 또는 `deniedModels` 목록을 확대할 수 없습니다.5218* 설정을 관리하지 않는 경우 메시지를 관리자에게 보내세요. 사용자 자신의 설정 파일로는 관리형 `availableModels` 또는 `deniedModels` 목록을 확장할 수 없습니다.
5200 5219
5201<h3 id="managed-settings-dont-allow-this-api-provider">5220<h3 id="managed-settings-dont-allow-this-api-provider">
5202 관리 설정이 이 API 공급자를 허용하지 않음5221 관리형 설정이 이 API 공급자를 허용하지 않음
5203</h3>5222</h3>
5204 5223
5205조직의 [관리 설정](/docs/ko/managed-settings)이 [`allowedProviders`](/docs/ko/settings-reference#allowedproviders) 목록을 설정하고, 세션의 API 공급자가 목록에 없거나 세션이 해당 항목이 요구하는 방식으로 고정되지 않은 엔드포인트를 사용합니다. Claude Code는 시작 전, 로그인 전, 또는 세션이 다음으로 API에 연결할 때 거부합니다. 메시지는 허용된 공급자로 시작합니다:5224조직의 [관리형 설정](/docs/ko/managed-settings)이 [`allowedProviders`](/docs/ko/settings-reference#allowedproviders) 목록을 설정했는데, 세션의 API 공급자가 목록에 없거나 세션이 해당 항목이 요구하는 방식으로 고정되지 않은 엔드포인트를 사용합니다. Claude Code는 시작 시, 로그인 전, 또는 세션이 다음에 API에 연결할 때 거부합니다. 메시지는 허용된 공급자로 시작합니다:
5206 5225
5207```text theme={null}5226```text theme={null}
5208조직의 관리 설정이 Claude Code를 사용하도록 허용합니다: Anthropic API, Amazon Bedrock.5227Your organization's managed settings allow Claude Code to use: Anthropic API, Amazon Bedrock.
5209```5228```
5210 5229
5211목록이 비어 있으면 메시지는 대신 다음과 같이 읽습니다:5230목록이 비어 있으면 메시지는 대신 다음과 같습니다:
5212 5231
5213```text theme={null}5232```text theme={null}
5214조직의 관리 설정이 Claude Code를 사용하도록 허용하는 API 공급자가 없습니다(allowedProviders가 빈 목록임). 따라서 이 머신에서 시작할 수 없습니다.5233Your organization's managed settings allow Claude Code to use no API provider at all (allowedProviders is an empty list), so it cannot start on this machine.
5215```5234```
5216 5235
5217모든 항목이 인식되지 않으면 괄호 안의 텍스트는 대신 `(allowedProviders lists only unrecognized entries)`입니다.5236모든 항목이 인식되지 않으면 괄호 안의 내용이 대신 `(allowedProviders lists only unrecognized entries)`로 표시됩니다.
5218 5237
5219**할 일:**5238**할 일:**
5220 5239
5221* 메시지의 `To continue:` 단계를 따르세요.5240* 메시지의 `To continue:` 단계를 따르세요.
5222* 설정을 관리하는 경우 메시지의 `Admins:`로 시작하는 줄이 추가할 항목 또는 고정할 값을 이름으로 지정하며, [`allowedProviders`](/docs/ko/settings-reference#allowedproviders) 항목은 어느 소스의 `env` 블록이 이를 고정할 수 있는지 말합니다.5241* 설정을 관리하는 경우 메시지에서 `Admins:`로 시작하는 줄이 추가할 항목 또는 고정할 값을 명시하며, [`allowedProviders`](/docs/ko/settings-reference#allowedproviders) 항목에서 어느 소스의 `env` 블록으로 고정할 수 있는지 설명합니다.
5223 5242
5224<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">5243<h3 id="mcp-server-is-blocked-by-enterprise-managed-policy">
5225 MCP 서버가 엔터프라이즈 관리 정책에 의해 차단됨5244 MCP 서버가 엔터프라이즈 관리 정책에 의해 차단됨
5226</h3>5245</h3>
5227 5246
5228`/mcp`의 서버에서 **다시 연결**을 선택했거나 비활성화된 서버를 다시 켰으며, [MCP 서버를 제한](/docs/ko/managed-mcp)하는 설정이 해당 서버를 차단합니다. Claude Code는 이를 연결하기를 거부하고 표시합니다:5247`/mcp`에서 서버의 **Reconnect**를 선택했거나 비활성화된 서버를 다시 켰는데, [MCP 서버를 제한](/docs/ko/managed-mcp)하는 설정이 해당 서버를 차단합니다. Claude Code는 연결을 거부하고 다음을 표시합니다:
5229 5248
5230```text theme={null}5249```text theme={null}
5231MCP 서버 <name>이(가) 엔터프라이즈 관리 정책에 의해 차단되었습니다5250MCP server <name> is blocked by enterprise managed policy
5232```5251```
5233 5252
5234이러한 설정 중 하나가 메시지를 생성할 수 있습니다:5253다음 설정 중 하나가 이 메시지를 발생시킬 수 있습니다:
5235 5254
5236* 자신의 `~/.claude/settings.json` 또는 프로젝트의 `.claude/settings.json`에 있는 것을 포함하여 서버와 일치하는 [`deniedMcpServers`](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 항목5255* 사용자 자신의 `~/.claude/settings.json` 또는 프로젝트의 `.claude/settings.json`에 있는 것을 포함하여 서버와 일치하는 [`deniedMcpServers`](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 항목
5237* 서버가 일치하지 않는 [`allowedMcpServers`](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 목록5256* 서버가 일치하지 않는 [`allowedMcpServers`](/docs/ko/managed-mcp#policy-based-control-with-allowlists-and-denylists) 목록
5238* `mcp`가 잠긴 [`strictPluginOnlyCustomization`](/docs/ko/settings-reference#strictpluginonlycustomization)으로, `~/.claude.json` 및 `.mcp.json`에서 구성된 서버를 차단합니다.5257* `mcp`가 잠긴 [`strictPluginOnlyCustomization`](/docs/ko/settings-reference#strictpluginonlycustomization)으로, `~/.claude.json` 및 `.mcp.json`에 구성된 서버를 차단합니다
5239* 서버가 claude.ai 커넥터일 때 [`disableClaudeAiConnectors`](/docs/ko/mcp#disable-claude-ai-connectors)5258* 서버가 claude.ai 커넥터인 경우 [`disableClaudeAiConnectors`](/docs/ko/mcp#disable-claude-ai-connectors)
5240 5259
5241**할 일:**5260**할 일:**
5242 5261
5243* 자신의 사용자 및 프로젝트 설정 파일에서 이러한 설정 중 하나를 확인하고 변경하거나 제거하세요.5262* 사용자 자신의 사용자 및 프로젝트 설정 파일에서 이러한 설정이 있는지 확인하고 변경하거나 제거하세요.
5244* 자신의 설정이 차단을 설명하지 않으면 관리자에게 어떤 관리 설정이 서버를 차단하는지 문의하세요.5263* 사용자 자신의 설정으로 차단이 설명되지 않으면 관리자에게 어떤 관리형 설정이 서버를 차단하는지 문의하세요.
5245 5264
5246v2.1.257 이전에는 `/mcp`의 **다시 연결** 및 다시 활성화가 세션 중간 정책 업데이트가 차단한 서버를 연결할 수 있었습니다.5265v2.1.257 이전에는 `/mcp`의 **Reconnect** 및 다시 활성화로 세션 중 정책 업데이트가 차단한 서버를 연결할 수 있었습니다.
5247 5266
5248<h3 id="managed-settings-document-could-not-be-parsed">5267<h3 id="managed-settings-document-could-not-be-parsed">
5249 관리 설정 문서를 구문 분석할 수 없음5268 관리형 설정 문서를 구문 분석할 수 없음
5250</h3>5269</h3>
5251 5270
5252조직이 [관리 설정](/docs/ko/managed-settings)을 배포하고 배포된 문서 중 하나가 있지만 JSON 객체로 구문 분석할 수 없어서 Claude Code는 문서가 수행하는 정책 없이 실행하는 대신 시작 시 코드 1로 종료됩니다. 줄은 메시지 앞에 실패한 소스를 이름으로 지정합니다:5271조직이 [관리형 설정](/docs/ko/managed-settings)을 배포했는데 배포된 문서 중 하나가 존재하지만 JSON 객체로 구문 분석할 수 없으므로, Claude Code는 해당 문서가 담고 있는 정책 없이 실행하는 대신 시작 시 코드 1로 종료합니다. 줄은 메시지 앞에 실패한 소스를 명시합니다:
5253 5272
5254```text theme={null}5273```text theme={null}
5255/Library/Application Support/ClaudeCode/managed-settings.json: 관리 설정 문서를 JSON 객체로 구문 분석할 수 없습니다. 해당 설정이 적용되지 않습니다. 수정하거나 제거하세요.5274/Library/Application Support/ClaudeCode/managed-settings.json: Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.
5256```5275```
5257 5276
5258소스는 다음 중 하나입니다:5277소스는 다음 중 하나입니다:
5259 5278
5260* `managed-settings.json` 파일의 경로 또는 `managed-settings.d` 아래의 드롭인 파일5279* `managed-settings.json` 파일 또는 `managed-settings.d` 아래 드롭인 파일의 경로
5261* macOS 관리 기본 설정 프로필, `per-user managed preferences` 또는 `device-level managed preferences`5280* macOS 관리 기본 설정 프로필, `per-user managed preferences` 또는 `device-level managed preferences`
5262* Windows 레지스트리 값, `Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings`5281* Windows 레지스트리 값, `Registry: HKLM\SOFTWARE\Policies\ClaudeCode\Settings`
5263 5282
5264[Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)는 각 소스를 구문 분석할 수 없게 만드는 것을 나열합니다.5283[Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)에서 각 소스를 구문 분석할 수 없게 만드는 원인을 나열합니다.
5265 5284
5266Claude Code는 다른 관리 소스가 유효한 정책을 제공하더라도 시작을 거부합니다. 대화형 세션, `claude -p`, Agent SDK 세션, [백그라운드 세션](/docs/ko/agent-view), 및 대부분의 하위 명령(`claude doctor` 포함)에서 이 오류를 봅니다. 거부는 의도적으로 폐쇄됩니다: Claude Code가 구문 분석할 수 없는 문서의 설정은 적용될 수 없으며, 어쨌든 시작하면 조직의 제어 없이 세션이 실행됩니다.5285Claude Code는 다른 관리자 소스가 유효한 정책을 제공하더라도 시작을 거부합니다. 이 오류는 대화형 세션, `claude -p`, Agent SDK 세션, [백그라운드 세션](/docs/ko/agent-view), 그리고 `claude doctor`를 포함한 대부분의 하위 명령에서 표시됩니다. 이 거부는 의도적으로 안전하게 실패(fail closed)하도록 설계되었습니다. Claude Code가 구문 분석할 수 없는 문서의 설정은 적용할 수 없으며, 그래도 시작하면 조직의 통제 없이 세션이 실행되기 때문입니다.
5267 5286
5268구문 분석 가능한 문서의 스키마 문제는 이 오류를 생성하지 않습니다. [Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)는 Claude Code가 하나를 사용하는 것을 다룹니다.5287구문 분석 가능한 문서의 스키마 문제는 이 오류를 발생시키지 않습니다. [Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)에서 이 경우 Claude Code가 어떻게 처리하는지 다룹니다.
5269 5288
5270`managed-settings.d/` 디렉토리가 있지만 나열할 수 없으면 Claude Code는 `Managed settings drop-in directory could not be read:` 다음에 기본 오류 대신 보고합니다. [Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)는 읽기 실패가 시작 시 종료되는 경우를 다룹니다.5289`managed-settings.d/` 디렉터리가 존재하지만 목록을 읽을 수 없으면 Claude Code는 대신 `Managed settings drop-in directory could not be read:` 뒤에 근본 오류를 보고합니다. [Claude Code가 삭제한 항목 찾기](/docs/ko/managed-settings#find-entries-claude-code-dropped)에서 읽기 실패로 시작 시 종료되는 경우를 다룹니다.
5271 5290
5272**할 일:**5291**할 일:**
5273 5292
5274* 머신을 관리하면 명명된 문서가 JSON 객체로 구문 분석되도록 수정하거나 파일, 프로필 또는 레지스트리 값을 제거하세요. 빈 `managed-settings.json`은 `{}`로 계산되며 실행을 차단하지 않습니다.5293* 머신을 관리하는 경우 명시된 문서가 JSON 객체로 구문 분석되도록 수정하거나 파일, 프로필 또는 레지스트리 값을 제거하세요. 빈 `managed-settings.json`은 `{}`로 간주되며 실행을 차단하지 않습니다.
5275* 관리하지 않으면 관리자에게 배포된 문서를 수정하도록 요청하세요. 자신의 설정 파일의 아무것도 이 오류를 야기하거나 지우지 않습니다.5294* 관리하지 않는 경우 관리자에게 배포된 문서를 수정하도록 요청하세요. 사용자 자신의 설정 파일은 이 오류를 일으키지도 해결하지도 않습니다.
5276 5295
5277<h3 id="unable-to-read-managed-policy-settings">5296<h3 id="unable-to-read-managed-policy-settings">
5278 관리 정책 설정을 읽을 수 없음5297 관리 정책 설정을 읽을 수 없음
5279</h3>5298</h3>
5280 5299
5281조직이 [관리 설정](/docs/ko/managed-settings)을 배포하고, 배포된 소스 중 하나가 있지만 운영 체제가 읽기를 거부하는 것이 아닌 I/O 오류 같은 이유로 읽을 수 없습니다. 다른 관리 소스가 정책을 제공하지 않으면 Claude Code는 소스가 수행할 수 있는 정책 없이 실행하는 대신 시작 시 종료됩니다:5300조직이 [관리형 설정](/docs/ko/managed-settings)을 배포했는데, 배포된 소스 중 하나가 존재하지만 운영 체제가 읽기를 거부한 것이 아니라 I/O 오류 같은 이유로 읽을 수 없습니다. 다른 관리자 소스가 정책을 제공하지 않으면, Claude Code는 해당 소스가 담고 있을 수 있는 정책 없이 실행하는 대신 시작 시 종료합니다:
5282 5301
5283```text theme={null}5302```text theme={null}
5284관리 정책 설정을 읽을 수 없습니다.5303Unable to read managed policy settings.
5285이 머신에는 조직 로그인 적용이 필요할 수 있지만 정책 파일을 로드하지 못했습니다.5304This machine may require organization login enforcement, but the policy file failed to load.
5286관리자에게 문의하세요.5305Contact your administrator.
5287 5306
5288세부 정보: <source>: <reason>5307Detail: <source>: <reason>
5289```5308```
5290 5309
5291동일한 상태에서 로그인 흐름, 이미 실행 중인 세션의 API 요청, 및 [`claude gateway`](/docs/ko/claude-apps-gateway) 서버는 [`allowedProviders`](/docs/ko/settings-reference#allowedproviders)를 이름으로 지정하는 첫 번째 줄의 변형으로 거부됩니다.5310같은 상태에서 로그인 흐름, 이미 실행 중인 세션의 API 요청, [`claude gateway`](/docs/ko/claude-apps-gateway) 서버는 [`allowedProviders`](/docs/ko/settings-reference#allowedproviders)를 명시하는 첫 번째 줄의 변형 메시지와 함께 거부됩니다.
5292 5311
5293운영 체제가 거부한 읽기(예: 루트 전용 파일)는 이 종료를 생성하지 않습니다: [세션은 해당 소스의 정책 없이 시작됩니다](/docs/ko/managed-settings#find-entries-claude-code-dropped). 구문 분석할 수 없는 소스의 경우 Claude Code는 [소스를 이름으로 지정하는 다른 메시지](#managed-settings-document-could-not-be-parsed)로 종료됩니다.5312루트 전용 파일처럼 운영 체제가 읽기를 거부한 경우에는 이 종료가 발생하지 않으며, [세션은 해당 소스의 정책 없이 시작됩니다](/docs/ko/managed-settings#find-entries-claude-code-dropped). 구문 분석할 수 없는 소스의 경우 Claude Code는 [소스를 명시하는 다른 메시지](#managed-settings-document-could-not-be-parsed)와 함께 종료합니다.
5294 5313
5295**할 일:**5314**할 일:**
5296 5315
5297* 머신을 관리하면 `Detail:` 줄이 이름으로 지정한 문제를 수정하여 배포된 소스를 읽을 수 있도록 하거나 소스를 제거하세요.5316* 머신을 관리하는 경우 `Detail:` 줄이 명시한 문제를 수정하여 배포된 소스를 읽을 수 있게 하거나 소스를 제거하세요.
5298* 관리하지 않으면 메시지를 관리자에게 보내세요. 자신의 설정 파일의 아무것도 이 오류를 야기하거나 지우지 않습니다.5317* 관리하지 않는 경우 메시지를 관리자에게 보내세요. 사용자 자신의 설정 파일은 이 오류를 일으키지도 해결하지도 않습니다.
5299 5318
5300v2.1.285 이전에는 claude.ai 또는 Claude Console 자격 증명으로 로그인한 세션만 이 메시지로 종료되었으며, 운영 체제가 거부한 읽기도 이를 생성했습니다.5319v2.1.285 이전에는 claude.ai 또는 Claude Console 자격 증명으로 로그인한 세션만 이 메시지와 함께 종료되었으며, 운영 체제가 거부한 읽기도 이 메시지를 발생시켰습니다.
5301 5320
5302<h3 id="otelheadershelper-failed">5321<h3 id="otelheadershelper-failed">
5303 otelHeadersHelper 실패5322 otelHeadersHelper 실패
5304</h3>5323</h3>
5305 5324
5306Claude Code는 [`otelHeadersHelper`](/docs/ko/settings-reference#otelheadershelper) 스크립트가 실패하거나 [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 충족하지 않는 출력을 출력할 때 대화형 세션당 한 번 터미널 인터페이스에서 알림으로 이 경고를 표시합니다.5325Claude Code는 [`otelHeadersHelper`](/docs/ko/settings-reference#otelheadershelper) 스크립트가 실패하거나 [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 충족하지 않는 출력을 내보낼 때, 대화형 세션당 한 번 터미널 인터페이스에 알림으로 이 경고를 표시합니다.
5307 5326
5308스크립트가 계속 실패하는 동안 내보내기가 실패하고 원격 분석 백엔드는 세션에서 아무것도 받지 않습니다.5327스크립트가 계속 실패하는 동안 내보내기가 실패하며 텔레메트리 백엔드는 세션에서 아무것도 받지 못합니다.
5309 5328
5310`See /status:` 뒤의 텍스트는 스크립트의 종료 코드 다음에 오류 출력 같은 실패한 내용을 나타냅니다:5329`See /status:` 뒤의 텍스트는 스크립트의 종료 코드와 그 뒤의 오류 출력처럼 무엇이 실패했는지를 나타냅니다:
5311 5330
5312```text theme={null}5331```text theme={null}
5313otelHeadersHelper 실패. 원격 분석을 내보내지 않습니다. /status 참조: exited 1: token service unreachable5332otelHeadersHelper failed; telemetry is not being exported. See /status: exited 1: token service unreachable
5314```5333```
5315 5334
5316**할 일:**5335**할 일:**
5317 5336
5318* `/status`를 실행하여 실패 세부 정보를 읽으세요.5337* `/status`를 실행하여 실패 세부 정보를 확인하세요.
5319* 스크립트가 30초 이내에 0으로 종료되고 stdout에 문자열 헤더 값의 JSON 객체를 출력하도록 수정하세요. [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 참조하세요.5338* 스크립트가 30초 이내에 0으로 종료되고 stdout에 문자열 헤더 값으로 이루어진 JSON 객체를 출력하도록 수정하세요. [스크립트 요구 사항](/docs/ko/monitoring-usage#script-requirements)을 참조하세요.
5320* 조직이 [관리 설정](/docs/ko/managed-settings)을 통해 스크립트를 배포하면 이를 유지하는 사람에게 수정하도록 요청하세요.5339* 조직이 [관리형 설정](/docs/ko/managed-settings)을 통해 스크립트를 배포하는 경우 이를 유지 관리하는 담당자에게 수정을 요청하세요.
5321 5340
5322[비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 동일한 실패가 stderr에 `otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>` 대신 나타납니다.5341`-p`를 사용하는 [비대화형 모드](/docs/ko/headless)에서는 같은 실패가 대신 stderr에 `otelHeadersHelper failed (OpenTelemetry export headers unavailable): <error>`로 나타납니다.
5323 5342
5324<h3 id="headershelper-not-run">5343<h3 id="headershelper-not-run">
5325 headersHelper 실행되지 않음5344 headersHelper 실행되지 않음
5326</h3>5345</h3>
5327 5346
5328Claude Code는 MCP 서버를 정적 `headers`만으로 연결했으며 서버의 [`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)를 건너뛰었습니다. 헬퍼는 셸 명령이고 폴더에 저장된 신뢰가 없기 때문입니다. 폴더는 `~/.claude.json`에서 항목을 손으로 설정하거나 홈 디렉토리 외부에서 대화형 세션에서 신뢰 대화를 수락할 때 저장된 신뢰를 얻습니다. [headersHelper가 실행되기 전에 폴더 신뢰](/docs/ko/mcp#trust-a-folder-before-its-headershelper-runs)를 참조하여 이 검사가 어떤 서버에 적용되는지 확인하세요.5347Claude Code는 MCP 서버를 정적 `headers`만으로 연결했으며 서버의 [`headersHelper`](/docs/ko/mcp#use-dynamic-headers-for-custom-authentication)를 건너뛰었습니다. 헬퍼는 셸 명령인데 해당 폴더에 저장된 신뢰가 없기 때문입니다. 폴더는 `~/.claude.json`에서 해당 항목을 직접 설정하거나, 홈 디렉터리 외부에서는 대화형 세션에서 신뢰 대화 상자를 수락할 때 저장된 신뢰를 얻습니다. 이 검사가 어떤 서버에 적용되는지는 [headersHelper가 실행되기 전에 폴더 신뢰](/docs/ko/mcp#trust-a-folder-before-its-headershelper-runs)를 참조하세요.
5329 5348
5330Claude Code는 [비대화형 모드](/docs/ko/headless)에서만 이 줄을 서버당 한 번 기록합니다. 대화형 세션에서는 동일한 거부를 디버그 로그에 기록합니다.5349Claude Code는 [비대화형 모드](/docs/ko/headless)에서만 서버당 한 번 이 줄을 기록합니다. 대화형 세션에서는 같은 거부를 대신 디버그 로그에 기록합니다.
5331 5350
5332```text theme={null}5351```text theme={null}
5333MCP 서버 'internal-api': headersHelper 실행되지 않음 — 이 작업 영역에 저장된 신뢰가 없습니다. 여기서 한 번 대화형으로 신뢰 대화를 수락하거나 /Users/you/.claude.json에서 projects["/Users/you/project"].hasTrustDialogAccepted를 설정하세요.5352MCP server 'internal-api': headersHelper not run — this workspace has no persisted trust; accept the trust dialog here once interactively, or set projects["/Users/you/project"].hasTrustDialogAccepted in /Users/you/.claude.json.
5334```5353```
5335 5354
5336메시지가 출력하는 `projects` 키는 [프로젝트 allow 규칙 및 작업 영역 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)가 Claude Code가 신뢰를 키하는 폴더입니다. 부모 폴더에 대한 신뢰 대화를 수락하는 것은 검사를 만족하지 않으며, `-p` 또는 SDK 세션도 만족하지 않습니다.5355메시지가 출력하는 `projects` 키는 [프로젝트 허용 규칙 및 워크스페이스 신뢰](/docs/ko/permissions#project-allow-rules-and-workspace-trust)에서 설명하는, Claude Code가 신뢰의 기준으로 삼는 폴더입니다. 상위 폴더에 대한 신뢰 대화 상자를 수락해도 이 검사를 통과하지 못하며, `-p` 또는 SDK 세션으로도 통과하지 못합니다.
5337 5356
5338**할 일:**5357**할 일:**
5339 5358
5340* 메시지가 이름으로 지정한 폴더에서 `claude`를 실행하고 신뢰 대화를 수락한 후 `-p` 또는 SDK 명령을 다시 실행하세요.5359* 메시지가 명시한 폴더에서 `claude`를 실행하고 신뢰 대화 상자를 수락한 후 `-p` 또는 SDK 명령을 다시 실행하세요.
5341* `~/.claude.json`에서 `hasTrustDialogAccepted` 항목을 직접 설정하고 메시지가 출력하는 정확한 `projects` 키를 사용하세요.5360* 메시지가 출력하는 정확한 `projects` 키를 사용하여 `~/.claude.json`에 `hasTrustDialogAccepted` 항목을 직접 설정하세요.
5342* 홈 디렉토리에서 세션을 시작했으면 신뢰한 프로젝트 디렉토리에서 작업하세요. 홈 디렉토리에서 신뢰 대화를 수락하면 Claude Code는 현재 세션에만 해당 신뢰를 유지합니다.5361* 홈 디렉터리에서 세션을 시작했다면 신뢰한 프로젝트 디렉터리에서 작업하세요. 홈 디렉터리에서 신뢰 대화 상자를 수락하면 Claude Code는 현재 세션에만 해당 신뢰를 유지합니다.
5343 5362
5344<h3 id="malformed-tool-content-rule">5363<h3 id="malformed-tool-content-rule">
5345 잘못된 형식의 Tool(content) 규칙5364 잘못된 형식의 Tool(content) 규칙
5346</h3>5365</h3>
5347 5366
5348[권한 규칙](/docs/ko/permissions#permission-rule-syntax)이 설정 파일 중 하나에 `Tool` 또는 `Tool(content)` 형태가 아닙니다. 예를 들어 닫는 괄호 뒤에 텍스트가 있거나 괄호 중 하나가 누락되었습니다. Claude Code는 규칙을 건너뛰고 대화형 세션이 시작될 때 유효하지 않은 설정 대화에 나열하며, [`claude doctor`](/docs/ko/debug-your-config#check-resolved-settings) 출력에서:5367설정 파일 중 하나의 [권한 규칙](/docs/ko/permissions#permission-rule-syntax)이 `Tool` 또는 `Tool(content)` 형태가 아닙니다. 예를 들어 닫는 괄호 뒤에 텍스트가 있거나 괄호 중 하나가 누락된 경우입니다. Claude Code는 규칙을 건너뛰고, 대화형 세션이 시작될 때 유효하지 않은 설정 대화 상자와 [`claude doctor`](/docs/ko/debug-your-config#check-resolved-settings) 출력에 해당 규칙을 나열합니다:
5349 5368
5350```text theme={null}5369```text theme={null}
5351유효하지 않은 권한 규칙 "Bash(ls) x"를 건너뛰었습니다: 잘못된 형식의 Tool(content) 규칙. 규칙은 Tool 또는 Tool(content) 형태이며 닫는 ")"에서 끝나야 합니다. 내용 내의 괄호는 리터럴입니다.5370Invalid permission rule "Bash(ls) x" was skipped: Malformed Tool(content) rule. Rules take the form Tool or Tool(content) and must end at the closing ")"; parentheses inside the content are literal
5352```5371```
5353 5372
5354**할 일:**5373**할 일:**
5355 5374
5356* 메시지와 함께 나열된 설정 파일에서 규칙을 다시 작성하여 닫는 괄호에서 끝나도록 하세요. 예를 들어 `Bash(ls) x` 대신 `Bash(ls *)`5375* 메시지와 함께 나열된 설정 파일에서 규칙이 닫는 괄호에서 끝나도록 다시 작성하세요. 예를 들어 `Bash(ls) x` 대신 `Bash(ls *)`를 사용합니다.
5357* 내용 내의 괄호는 그대로 두세요. 이들은 리터럴이므로 `Edit(./Finance (2024)/**)` 같은 규칙은 이스케이프 없이 유효합니다.5376* 내용 안의 괄호는 그대로 두세요. 괄호는 리터럴로 처리되므로 `Edit(./Finance (2024)/**)` 같은 규칙은 이스케이프 없이도 유효합니다.
5358 5377
5359v2.1.260 이전에는 Claude Code가 일치하지 않는 괄호가 있는 규칙을 `Mismatched parentheses`로 보고했습니다.5378v2.1.260 이전에는 Claude Code가 괄호가 짝이 맞지 않는 규칙을 `Mismatched parentheses`로 보고했습니다.
5360 5379
5361<h3 id="is-not-matched-by-file-permission-checks">5380<h3 id="is-not-matched-by-file-permission-checks">
5362 파일 권한 검사와 일치하지 않음5381 파일 권한 검사와 일치하지 않음
5363</h3>5382</h3>
5364 5383
5365Claude Code는 [설정 파일](/docs/ko/settings#where-settings-live), [관리 설정](/docs/ko/managed-settings), 또는 `--allowedTools`, `--disallowedTools`, 또는 `--settings` 플래그 값에서 경로가 있는 `Write`, `NotebookEdit`, `MultiEdit`, 또는 `Glob` [권한 규칙](/docs/ko/permissions#read-and-edit)을 찾았습니다. 파일 권한을 `Edit` 및 `Read` 규칙에 대해서만 검사하므로 다른 파일 도구 중 하나를 이름으로 지정하는 경로 규칙을 절대 참조하지 않습니다. 규칙을 유지하고 다른 것은 변경하지 않습니다. 경고는 규칙, 괄호의 소스, 그리고 작성할 대체를 이름으로 지정합니다:5384Claude Code는 [설정 파일](/docs/ko/settings#where-settings-live), [관리형 설정](/docs/ko/managed-settings), 또는 `--allowedTools`, `--disallowedTools`, `--settings` 플래그 값에서 경로가 포함된 `Write`, `NotebookEdit`, `MultiEdit`, 또는 `Glob` [권한 규칙](/docs/ko/permissions#read-and-edit)을 찾았습니다. Claude Code는 파일 권한을 `Edit` 및 `Read` 규칙에 대해서만 검사하므로, 다른 파일 도구를 명시하는 경로 규칙은 전혀 참조하지 않습니다. 규칙은 유지되며 다른 것은 변경되지 않습니다. 경고는 규칙, 괄호 안의 소스, 그리고 대신 작성할 규칙을 명시합니다:
5366 5385
5367```text theme={null}5386```text theme={null}
5368권한 deny 규칙(.claude/settings.json): Write(docs/**)는 파일 권한 검사와 일치하지 않습니다 — Edit(path) 규칙만 있습니다. 대신 Edit(docs/**)를 사용하세요(Edit 규칙은 모든 파일 편집 도구를 포함합니다).5387Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).
5369```5388```
5370 5389
5371**할 일:**5390**할 일:**
5372 5391
5373* `Write(path)`, `NotebookEdit(path)`, 및 레거시 `MultiEdit(path)` 규칙을 `Edit(path)`로 바꾸세요. `Edit` 규칙은 모든 파일 편집 도구를 포함합니다.5392* `Write(path)`, `NotebookEdit(path)`, 레거시 `MultiEdit(path)` 규칙을 `Edit(path)`로 바꾸세요. `Edit` 규칙은 모든 파일 편집 도구에 적용됩니다.
5374* `--allowedTools`를 제외하고, Claude Code가 경고 없이 `Glob` 규칙을 수락하며, `Glob(path)` 규칙을 `Read(path)`로 바꾸세요.5393* Claude Code가 경고 없이 `Glob` 규칙을 수락하는 `--allowedTools`를 제외하고, `Glob(path)` 규칙을 `Read(path)`로 바꾸세요.
5375* 경고가 괄호에 이름으로 지정한 소스에서 규칙을 수정하세요: 설정 파일 경로 또는 `--allowed-tools` 및 `--disallowed-tools`의 플래그 자체. 디스크에 존재하지 않는 `claude-settings-<hash>.json` 경로는 인라인 `--settings` 값을 나타냅니다. 해당 플래그에 전달하는 JSON을 수정하세요.5394* 경고가 괄호 안에 명시한 소스에서 규칙을 수정하세요: 설정 파일 경로, 또는 `--allowed-tools` 및 `--disallowed-tools`의 경우 플래그 자체입니다. 디스크에 존재하지 않는 `claude-settings-<hash>.json` 경로는 인라인 `--settings` 값을 나타냅니다. 해당 플래그에 전달하는 JSON을 수정하세요.
5376* `Write` 또는 `Glob` 같은 베어 도구 이름 규칙은 그대로 두세요. Claude Code는 [도구 수준](/docs/ko/permissions#match-all-uses-of-a-tool)에서 일치하며 이에 대해 경고하지 않습니다.5395* `Write` 또는 `Glob` 같은 도구 이름만 있는 규칙은 그대로 두세요. Claude Code는 이러한 규칙을 [도구 수준](/docs/ko/permissions#match-all-uses-of-a-tool)에서 일치시키며 경고하지 않습니다.
5377* 소스가 `managed policy settings`로 읽히면 경고를 관리 설정을 유지하는 사람에게 전달하세요. 자신이 직접 지울 수 없기 때문입니다.5396* 소스가 `managed policy settings`로 표시되면 사용자가 직접 해결할 수 없으므로 관리형 설정을 유지 관리하는 담당자에게 경고를 전달하세요.
5378 5397
5379[백그라운드 세션](/docs/ko/agent-view) 또는 `--output-format json` 또는 `stream-json`에서 Claude Code는 경고를 디버그 로그에 stderr 대신 기록하므로 머신 읽기 출력이 깨끗합니다. `--debug`로 실행하여 `~/.claude/debug/<session-id>.txt`에서 캡처하세요. v2.1.210 이전에는 Claude Code가 경고 없이 이러한 규칙을 수락했습니다.5398[백그라운드 세션](/docs/ko/agent-view)에서 또는 `--output-format json`이나 `stream-json`을 사용하는 경우, Claude Code는 기계가 읽는 출력을 깨끗하게 유지하기 위해 경고를 stderr 대신 디버그 로그에 기록합니다. `--debug`로 실행하면 `~/.claude/debug/<session-id>.txt`에서 확인할 수 있습니다. v2.1.210 이전에는 Claude Code가 경고 없이 이러한 규칙을 수락했습니다.
5380 5399
5381<h3 id="has-a-wildcard-before-the-rest-of-the-command">5400<h3 id="has-a-wildcard-before-the-rest-of-the-command">
5382 명령의 나머지 부분 앞에 와일드카드가 있음5401 명령의 나머지 부분 앞에 와일드카드가 있음
5383</h3>5402</h3>
5384 5403
5385Claude Code는 `Bash(git * main)` 또는 `Bash(git -C * status *)` 같이 `*`가 명령을 결정하는 나중의 단어 앞에 오는 `Bash` allow 규칙을 찾았습니다. [설정 파일](/docs/ko/settings#where-settings-live), [관리 설정](/docs/ko/managed-settings), 또는 `--allowedTools` 또는 `--settings` 플래그 값에서. `*`는 해당 위치에 삽입된 옵션을 포함한 모든 텍스트와 일치합니다: `Bash(git * main)`은 또한 `git -c core.fsmonitor=<script> diff main`을 승인합니다. 여기서 `-c`는 git이 명령이 이름을 지정하는 프로그램을 실행하게 합니다. [와일드카드 패턴](/docs/ko/permissions#wildcard-patterns)은 일치 규칙을 보여줍니다.5404Claude Code는 [설정 파일](/docs/ko/settings#where-settings-live), [관리형 설정](/docs/ko/managed-settings), 또는 `--allowedTools`나 `--settings` 플래그 값에서 `Bash(git * main)` 또는 `Bash(git -C * status *)`처럼 `*`가 어떤 명령인지를 결정하는 뒤쪽 단어보다 앞에 오는 `Bash` 허용 규칙을 찾았습니다. `*`는 해당 위치에 삽입된 옵션을 포함한 모든 텍스트와 일치합니다. 예를 들어 `Bash(git * main)`은 `git -c core.fsmonitor=<script> diff main`도 승인하는데, 여기서 `-c`는 git이 명령에 지정된 프로그램을 실행하게 만듭니다. [와일드카드 패턴](/docs/ko/permissions#wildcard-patterns)에서 일치 규칙을 확인할 수 있습니다.
5386 5405
5387경고는 의도한 것보다 와일드카드가 더 넓은 규칙을 좁힐 수 있도록 존재합니다. Claude Code는 규칙을 유지하고 일치 방식에 대해 아무것도 변경하지 않습니다. 경고는 규칙과 괄호의 소스를 이름으로 지정합니다:5406이 경고는 의도보다 넓은 와일드카드를 가진 규칙의 범위를 좁힐 수 있도록 하기 위한 것입니다. Claude Code는 규칙을 유지하며 일치 방식도 변경하지 않습니다. 경고는 규칙과 괄호 안의 소스를 명시합니다:
5388 5407
5389```text theme={null}5408```text theme={null}
5390권한 allow 규칙(.claude/settings.json): Bash(git -C * status *)는 명령의 나머지 부분 앞에 와일드카드가 있으므로 해당 위치에 삽입된 모든 옵션과도 일치하며 프롬프트 없이 이를 승인합니다. git의 경우 -c 및 --exec-path 같은 옵션은 임의의 명령을 실행할 수 있습니다. 해당 *를 의도한 정확한 값으로 바꾸거나 부분 명령 뒤에만 *를 사용하세요(예: Bash(git status *)).5409Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).
5391```5410```
5392 5411
5393**할 일:**5412**할 일:**
5394 5413
5395* 부분 명령 앞의 `*`를 의도한 정확한 값으로 바꾸세요: `Bash(git * main)` 대신 `Bash(git checkout main)`.5414* 하위 명령 앞의 `*`를 의도한 정확한 값으로 바꾸세요: `Bash(git * main)` 대신 `Bash(git checkout main)`.
5396* 모든 `*`를 부분 명령 뒤로 이동하세요: `Bash(git -C * status *)` 대신 `Bash(git status *)`. 허용하려는 부분 명령당 하나의 규칙을 작성하세요.5415* 모든 `*`를 하위 명령 뒤로 옮기세요: `Bash(git -C * status *)` 대신 `Bash(git status *)`. 허용하려는 하위 명령마다 규칙을 하나씩 작성하세요.
5397* 경고가 괄호에 이름으로 지정한 소스에서 규칙을 수정하세요: 설정 파일 경로 또는 `--allowed-tools` 플래그 자체. 디스크에 존재하지 않는 `claude-settings-<hash>.json` 경로는 인라인 `--settings` 값을 나타냅니다. 해당 플래그에 전달하는 JSON을 수정하세요.5416* 경고가 괄호 안에 명시한 소스에서 규칙을 수정하세요: 설정 파일 경로 또는 `--allowed-tools` 플래그 자체입니다. 디스크에 존재하지 않는 `claude-settings-<hash>.json` 경로는 인라인 `--settings` 값을 나타냅니다. 해당 플래그에 전달하는 JSON을 수정하세요.
5398* 소스가 `managed policy settings`로 읽히면 경고를 관리 설정을 유지하는 사람에게 전달하세요. 자신이 직접 지울 수 없기 때문입니다.5417* 소스가 `managed policy settings`로 표시되면 사용자가 직접 해결할 수 없으므로 관리형 설정을 유지 관리하는 담당자에게 경고를 전달하세요.
5399
5400Claude Code는 동일한 형태의 deny 및 ask 규칙에 대해 경고하지 않습니다: 이를 승인하는 대신 일치하는 추가 명령을 거부하거나 프롬프트합니다. 또한 부분 명령이 첫 번째 `*` 앞에 오는 규칙(예: `Bash(git commit *)`)이나 `*` 뒤에 옵션 이외의 단어가 없는 규칙(예: `Bash(git *)`)이나 `:*` 접두사 규칙(예: `Bash(git:*)`)에 대해서도 경고하지 않습니다.
5401 5418
5402[백그라운드 세션](/docs/ko/agent-view) 또는 `--output-format json` 또는 `stream-json`에서 Claude Code는 경고를 디버그 로그에 stderr 대신 기록하므로 머신 읽기 출력이 깨끗합니다. `--debug`로 실행하여 `~/.claude/debug/<session-id>.txt`에서 캡처하세요. v2.1.246 이전에는 Claude Code가 경고 없이 이러한 규칙을 수락했습니다.5419[백그라운드 세션](/docs/ko/agent-view)에서 또는 `--output-format json`이나 `stream-json`을 사용하는 경우, Claude Code는 기계가 읽는 출력을 깨끗하게 유지하기 위해 경고를 stderr 대신 디버그 로그에 기록합니다. `--debug`로 실행하면 `~/.claude/debug/<session-id>.txt`에서 확인할 수 있습니다. v2.1.246 이전에는 Claude Code가 경고 없이 이러한 규칙을 수락했습니다.
5403 5420
5404<h3 id="crosssessioninbound-must-be-one-of-accept-hold-refuse">5421<h3 id="crosssessioninbound-must-be-one-of-accept-hold-refuse">
5405 crossSessionInbound는 accept, hold, refuse 중 하나여야 함5422 crossSessionInbound는 accept, hold, refuse 중 하나여야 함
5406</h3>5423</h3>
5407 5424
5408설정 파일이 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 Claude Code가 인식하지 못하는 값(예: 오타 `"reject"`)으로 설정합니다. 경고의 두 번째 문장은 어떤 파일이 값을 보유하는지에 따라 다릅니다. 사용자, 프로젝트, 로컬 또는 `--settings` 파일에서 읽습니다:5425설정 파일이 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 오타 `"reject"`처럼 Claude Code가 인식하지 못하는 값으로 설정했습니다. 경고의 두 번째 문장은 어느 파일에 값이 있는지에 따라 다르며, 사용자, 프로젝트, 로컬 또는 `--settings` 파일에서는 다음과 같습니다:
5409 5426
5410```text theme={null}5427```text theme={null}
5411"crossSessionInbound"는 "accept", "hold", "refuse" 중 하나여야 합니다. "reject"를 받았습니다. 이 값은 무시되었습니다. 존재하는 동안 교차 세션 메시지는 전달되는 대신 승인을 위해 보류됩니다. 위의 값 중 하나로 설정하세요.5428"crossSessionInbound" must be one of "accept", "hold", "refuse"; received "reject". This value was ignored; while it is present, cross-session messages are held for your approval instead of being delivered. Set it to one of the values above.
5412```5429```
5413 5430
5414[관리 설정](/docs/ko/managed-settings)에서 Claude Code는 인식되지 않는 값을 가장 제한적인 값인 `refuse`로 취급하며 경고는 관리자가 수정할 때까지 교차 세션 메시지가 거부된다고 말합니다. hold가 다른 설정 파일의 값과 결합되는 방식은 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 참조하세요.5431[관리형 설정](/docs/ko/managed-settings)에서는 Claude Code가 인식되지 않는 값을 가장 제한적인 값인 `refuse`로 취급하며, 경고는 관리자가 수정할 때까지 세션 간 메시지가 거부된다고 알립니다. 보류가 다른 설정 파일의 값과 어떻게 결합되는지는 [`crossSessionInbound`](/docs/ko/settings-reference#crosssessioninbound)를 참조하세요.
5415 5432
5416**할 일:**5433**할 일:**
5417 5434
5418* 키를 `"accept"`, `"hold"`, 또는 `"refuse"`로 설정하거나 제거하세요.5435* 키를 `"accept"`, `"hold"`, 또는 `"refuse"`로 설정하거나 제거하세요.
5419* 경고가 관리 설정을 이름으로 지정하면 관리자에게 값을 수정하도록 요청하세요.5436* 경고가 관리형 설정을 명시하면 관리자에게 값을 수정하도록 요청하세요.
5420 5437
5421v2.1.248 이전에는 Claude Code가 인식되지 않는 값을 경고 없이 무시했습니다.5438v2.1.248 이전에는 Claude Code가 인식되지 않는 값을 경고 없이 무시했습니다.
5422 5439
5424 200K 제한이 적용되지 않음5441 200K 제한이 적용되지 않음
5425</h3>5442</h3>
5426 5443
5427[`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정했습니다. 이는 일반적으로 [자동 압축](/docs/ko/model-config#default-auto-compact-thresholds)이 1M 컨텍스트 모델의 세션을 200K 윈도우에 유지하게 하지만, 이 세션을 200K 이하로 제한하는 압축 임계값이 없으므로 대화가 이를 초과하여 증가할 수 있습니다.5444[`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/ko/env-vars)을 설정하면 일반적으로 [자동 압축](/docs/ko/model-config#default-auto-compact-thresholds)이 1M 컨텍스트 모델의 세션을 200K 윈도우로 유지하지만, 이 세션을 200K 이하로 제한하는 압축 임계값이 없으므로 대화가 200K를 넘어 커질 수 있습니다.
5428 5445
5429```text theme={null}5446```text theme={null}
5430CLAUDE_CODE_DISABLE_1M_CONTEXT가 설정되었지만 <model>에 대해 200K 제한이 적용되지 않으므로 이 세션은 이를 초과하여 증가할 수 있습니다. 이를 적용하려면 CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000(또는 autoCompactWindow 설정)을 설정하세요.5447CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced for <model>, so this session can grow past it. To enforce it, set CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 (or the autoCompactWindow setting).
5431```5448```
5432 5449
5433Claude Code는 기본 1M 윈도우가 있는 것으로 인식하는 모든 모델과 인식하지 못하는 모델 ID에 대해 가정하는 윈도우에서 압축하는 200K 제한을 자체적으로 적용합니다. 경고는 다른 구성이 해당 적용을 무효화할 때 나타납니다:5450Claude Code는 기본적으로 1M 윈도우를 가진 것으로 인식하는 모든 모델에 대해 200K 제한을 자체적으로 적용하며, 인식하지 못하는 모델 ID에 대해서는 가정한 윈도우에서 압축합니다. 이 경고는 다른 구성이 이러한 적용을 무력화할 때 나타납니다:
5434 5451
5435* 모델 ID가 Claude Code가 인식하지 못하는 것입니다(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭). [`CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1`](/docs/ko/env-vars)을 설정했거나 [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/ko/env-vars)로 가정하는 윈도우를 200K 이상으로 올렸습니다. 이 경우 메시지는 또한 `or update to a Claude Code version that recognizes <model>`을 해결책으로 제공합니다.5452* 모델 ID가 [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭처럼 Claude Code가 인식하지 못하는 것이고, [`CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1`](/docs/ko/env-vars)을 설정했거나 [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/ko/env-vars)로 가정 윈도우를 200K 이상으로 올린 경우. 이 경우 메시지는 해결책으로 `or update to a Claude Code version that recognizes <model>`도 제시합니다.
5436* `context-1m` 베타는 [`ANTHROPIC_BETAS`](/docs/ko/env-vars) 또는 [`--betas`](/docs/ko/cli-reference#cli-flags) 플래그를 통해 요청되며 여전히 해당 베타를 수락하는 모델에서 API에 1M 윈도우를 요청하는 동안 아무것도 200K에서 세션을 압축하지 않습니다.5453* [`ANTHROPIC_BETAS`](/docs/ko/env-vars) 또는 [`--betas`](/docs/ko/cli-reference#cli-flags) 플래그로 요청한 `context-1m` 베타가 해당 베타를 지원하는 모델에서 여전히 API에 1M 윈도우를 요청하는 반면, 200K에서 세션을 압축하는 것이 없는 경우
5437 5454
5438**할 일:**5455**할 일:**
5439 5456
5440* [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/ko/env-vars)을 설정하거나 [`autoCompactWindow`](/docs/ko/settings-reference#autocompactwindow) 설정을 `200000`으로 설정하여 자동 압축이 200K 경계에서 압축하도록 하세요.5457* [`CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000`](/docs/ko/env-vars)을 설정하거나 [`autoCompactWindow`](/docs/ko/settings-reference#autocompactwindow) 설정을 `200000`으로 설정하여 자동 압축이 200K 경계에서 압축하도록 하세요.
5441* 메시지가 이 버전이 인식하지 못하는 모델 ID를 이름으로 지정하면 `claude update`를 실행하세요. ID를 1M 컨텍스트 모델로 인식하는 버전은 추가 구성 없이 제한을 적용합니다.5458* 메시지가 이 버전이 인식하지 못하는 모델 ID를 명시하면 `claude update`를 실행하세요. 해당 ID를 1M 컨텍스트 모델로 인식하는 버전은 추가 구성 없이 제한을 적용합니다.
5442* 세션이 모델의 전체 윈도우를 대신 사용하기를 원하면 `CLAUDE_CODE_DISABLE_1M_CONTEXT`를 설정 해제하세요. 경고는 200K 제한이 적용되지 않음을 보고합니다.5459* 세션이 대신 모델의 전체 윈도우를 사용하기를 원하면 `CLAUDE_CODE_DISABLE_1M_CONTEXT`를 설정 해제하세요. 이 경고는 200K 제한이 적용되지 않는다는 사실만 알립니다.
5443 5460
5444[백그라운드 세션](/docs/ko/agent-view) 또는 `--output-format json` 또는 `stream-json`에서 Claude Code는 경고를 디버그 로그에 stderr 대신 기록합니다.5461[백그라운드 세션](/docs/ko/agent-view)에서 또는 `--output-format json`이나 `stream-json`을 사용하는 경우, Claude Code는 경고를 stderr 대신 디버그 로그에 기록합니다.
5445 5462
5446<h3 id="unrecognized-model-id-on-a-request">5463<h3 id="unrecognized-model-id-on-a-request">
5447 요청에서 인식되지 않은 모델 ID5464 요청에서 인식되지 않은 모델 ID
5448</h3>5465</h3>
5449 5466
5450Claude Code는 Claude Code 버전이 인식하지 못하는 모델 ID에 대한 요청을 보냈으며, 해당 ID를 인식하는 모델에 매핑하는 [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 찾지 못했습니다. Claude Code는 여전히 구성한 대로 ID를 사용하여 요청을 보내며 종료하거나 모델을 전환하지 않습니다.5467Claude Code가 사용 중인 Claude Code 버전이 인식하지 못하는 모델 ID로 요청을 보냈으며, 해당 ID를 인식하는 모델에 매핑하는 [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 찾지 못했습니다. Claude Code는 여전히 구성된 그대로의 ID로 요청을 보내며, 종료하거나 모델을 전환하지 않습니다.
5451 5468
5452```text theme={null}5469```text theme={null}
5453[claude-code:unrecognized_model] {"model":"my-proxy-model","query_source":"sdk"}5470[claude-code:unrecognized_model] {"model":"my-proxy-model","query_source":"sdk"}
5454```5471```
5455 5472
5456stderr를 읽는 스크립트 또는 하네스에서 `[claude-code:unrecognized_model]` 접두사와 일치합니다. 접두사와 한 칸 뒤에 Claude Code는 한 줄 JSON 객체를 기록합니다. Claude Code는 나중 버전에서 필드를 추가할 수 있으므로 예상하지 못한 필드는 무시하세요. 최소한 이 두 가지를 기록합니다:5473stderr를 읽는 스크립트나 하네스에서는 `[claude-code:unrecognized_model]` 접두사로 일치시키세요. 접두사와 공백 하나 뒤에 Claude Code는 한 줄짜리 JSON 객체를 기록합니다. Claude Code는 이후 버전에서 필드를 추가할 수 있으므로 예상하지 못한 필드는 무시하세요. 최소한 다음 두 필드는 기록됩니다:
5457 5474
5458* `model`: 구성한 대로 모델 문자열5475* `model`: 구성된 그대로의 모델 문자열
5459* `query_source`: 모델을 사용한 요청 경로. Claude Code는 `-p` 실행에 대해 `sdk`를 보고하고 `agent:`로 시작하는 값을 서브에이전트에 대해 보고합니다.5476* `query_source`: 모델을 사용한 요청 경로. Claude Code는 `-p` 실행에 대해 `sdk`를, 서브에이전트에 대해 `agent:`로 시작하는 값을 보고합니다.
5460 5477
5461Claude Code는 실행 방식에 따라 두 곳 중 하나에 줄을 기록합니다:5478Claude Code는 실행 방식에 따라 두 곳 중 하나에 이 줄을 기록합니다:
5462 5479
5463* [비대화형 모드](/docs/ko/headless)에서 `-p`를 사용하면 Claude Code는 모든 `--output-format` 아래 stderr에 기록하므로 줄을 필터링하지 않고 stdout을 구문 분석할 수 있습니다.5480* `-p`를 사용하는 [비대화형 모드](/docs/ko/headless)에서는 모든 `--output-format`에서 stderr에 기록하므로, 이 줄을 걸러내지 않고도 stdout을 구문 분석할 수 있습니다.
5464* 대화형 세션 또는 [백그라운드 세션](/docs/ko/agent-view)에서 Claude Code는 디버그 로그에 기록합니다. `--debug`로 실행하여 `~/.claude/debug/<session-id>.txt`에서 캡처하세요.5481* 대화형 세션 또는 [백그라운드 세션](/docs/ko/agent-view)에서는 대신 디버그 로그에 기록합니다. `--debug`로 실행하면 `~/.claude/debug/<session-id>.txt`에서 확인할 수 있습니다.
5465 5482
5466Claude Code는 프로세스당 모델 문자열당 한 번 줄을 기록합니다. [서브에이전트](/docs/ko/sub-agents#choose-a-model) 또는 [백그라운드 기능](/docs/ko/costs#background-token-usage)이 사용하는 것 같은 추가 인식되지 않은 ID에 대해 별도의 줄을 기록합니다.5483Claude Code는 프로세스당 모델 문자열마다 한 번씩 이 줄을 기록합니다. [서브에이전트](/docs/ko/sub-agents#choose-a-model)나 [백그라운드 기능](/docs/ko/costs#background-token-usage)이 사용하는 것처럼 추가로 인식되지 않는 ID마다 별도의 줄을 기록합니다.
5467 5484
5468Claude Code는 인식하는 모델로 해석하는 공급자 ID에 대해 줄을 기록하지 않습니다. Amazon Bedrock `us.anthropic.claude-...` ID, Google Cloud의 `@` 버전 접미사가 있는 Agent Platform ID, Claude 모델 ID를 포함하는 Microsoft Foundry 배포 이름. Claude Code는 ARN 자체가 아닌 Amazon Bedrock [애플리케이션 추론 프로필 ARN](/docs/ko/amazon-bedrock#map-each-model-version-to-an-inference-profile) 뒤의 모델을 확인합니다. 잘못된 것 같은 해석할 수 없는 ARN에 대해 줄을 기록하지 않습니다.5485Claude Code는 Amazon Bedrock `us.anthropic.claude-...` ID, `@` 버전 접미사가 있는 Google Cloud의 Agent Platform ID, Claude 모델 ID를 포함하는 Microsoft Foundry 배포 이름처럼 인식하는 모델로 해석되는 공급자 ID에 대해서는 이 줄을 기록하지 않습니다. Amazon Bedrock [애플리케이션 추론 프로필 ARN](/docs/ko/amazon-bedrock#map-each-model-version-to-an-inference-profile)의 경우 ARN 자체가 아니라 그 뒤의 모델을 확인합니다. 잘못 입력한 ARN처럼 해석할 수 없는 ARN에 대해서는 줄을 기록하지 않습니다.
5469 5486
5470**할 일:**5487**할 일:**
5471 5488
5472* ID를 의도적으로 설정한 경우(예: [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭) [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 [설정 파일](/docs/ko/settings#where-settings-live)에 추가하고 ID를 값으로 사용하세요. `opus` 같은 패밀리 별칭이 아닌 Anthropic 모델 ID를 키로 사용하세요. 예제 줄의 `my-proxy-model`에 대해 이 항목을 추가하세요:5489* [LLM 게이트웨이](/docs/ko/llm-gateway) 별칭처럼 ID를 의도적으로 설정한 경우, 해당 ID를 값으로 하는 [`modelOverrides`](/docs/ko/model-config#override-model-ids-per-version) 항목을 [설정 파일](/docs/ko/settings#where-settings-live)에 추가하세요. 키로는 `opus` 같은 패밀리 별칭이 아닌 Anthropic 모델 ID를 사용하세요. 예시 줄의 `my-proxy-model`에 대해서는 다음 항목을 추가합니다:
5473 5490
5474 ```json theme={null}5491 ```json theme={null}
5475 {5492 {
5479 }5496 }
5480 ```5497 ```
5481 5498
5482 Claude Code는 `my-proxy-model`을 `claude-opus-4-6`으로 취급하고 줄 기록을 중지합니다.5499 그러면 Claude Code는 `my-proxy-model`을 `claude-opus-4-6`으로 취급하고 줄 기록을 중지합니다.
5483 5500
5484* ID가 Claude Code 버전보다 최신 모델을 이름으로 지정하면 `claude update`를 실행하세요.5501* ID가 사용 중인 Claude Code 버전보다 최신 모델을 가리키면 `claude update`를 실행하세요.
5485 5502
5486* ID가 오타이면 [모델을 설정할 수 있는 위치](/docs/ko/model-config#setting-your-model) 또는 [별칭 변수](/docs/ko/model-config#environment-variables) 중 이를 보유한 곳에서 수정하세요. `query_source`가 `agent:`로 시작하면 [서브에이전트의 모델을 설정](/docs/ko/sub-agents#choose-a-model)한 곳에서 대신 수정하세요.5503* ID가 오타인 경우 [모델을 설정할 수 있는 위치](/docs/ko/model-config#setting-your-model) 또는 [별칭 변수](/docs/ko/model-config#environment-variables) 중 해당 ID가 있는 곳에서 수정하세요. `query_source`가 `agent:`로 시작하면 대신 [서브에이전트의 모델](/docs/ko/sub-agents#choose-a-model)을 설정한 곳에서 수정하세요.
5487 5504
5488v2.1.233 이전에는 Claude Code가 인식하지 못하는 모델 ID에 대한 요청을 보낼 때 줄을 기록하지 않았습니다.5505v2.1.233 이전에는 Claude Code가 인식하지 못하는 모델 ID로 요청을 보낼 때 줄을 기록하지 않았습니다.
5489 5506
5490<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">5507<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">
5491 종료된 세션이 남긴 오래된 샌드박스 마스크 파일5508 강제 종료된 세션이 남긴 오래된 샌드박스 마스크 파일
5492</h3>5509</h3>
5493 5510
5494`claude doctor`는 진단에서 이 경고를 출력하며 `/status`는 동일한 줄을 나열합니다. [샌드박싱](/docs/ko/sandboxing)이 파일 시스템 격리를 켜서 활성화되면 Linux 및 WSL2에 나타납니다.5511`claude doctor`는 진단 결과에 이 경고를 출력하며, `/status`에도 같은 줄이 나열됩니다. 이 경고는 Linux 및 WSL2에서 파일 시스템 격리가 켜진 상태로 [샌드박싱](/docs/ko/sandboxing)이 활성화된 경우에 나타납니다.
5495 5512
5496샌드박스된 명령이 실행되는 동안 샌드박스는 아직 존재하지 않는 파일에 대한 쓰기 거부를 0바이트 읽기 전용 자리 표시자를 만들어 유지하고 나중에 제거합니다. SIGKILL로 종료된 세션 같은 정리 전에 세션이 종료되면 자리 표시자가 남습니다. 이후 세션은 모든 시작에서 읽기 전용으로 다시 바인드하므로 "Yes, and don't ask again" 저장 같은 설정 쓰기가 하나가 있는 곳에서 실패합니다.5513샌드박스된 명령이 실행되는 동안 샌드박스는 아직 존재하지 않는 파일에 대한 쓰기 거부를 유지하기 위해 해당 위치에 0바이트 읽기 전용 자리 표시자를 만들고, 이후에 제거합니다. SIGKILL 등으로 이 정리 작업 전에 세션이 강제 종료되면 자리 표시자가 남습니다. 이후 세션은 시작할 때마다 이를 다시 읽기 전용으로 바인드하므로, 자리 표시자가 있는 위치에서는 "Yes, and don't ask again" 저장 같은 설정 쓰기가 실패합니다.
5497 5514
5498```text theme={null}5515```text theme={null}
5499- 종료된 세션이 남긴 오래된 샌드박스 마스크 파일: /home/you/project/.claude/settings.local.json5516- Stale sandbox mask files left by a killed session: /home/you/project/.claude/settings.local.json
5500 수정: 다른 Claude Code 세션이 해당 프로젝트에서 실행되지 않는 동안 각각을 `rm <path>`로 제거하세요 — 설정 파일이 속한 곳의 0바이트 읽기 전용 파일은 "Yes, and don't ask again" 저장을 실패하게 하며 샌드박스는 모든 시작에서 읽기 전용으로 다시 바인드합니다.5517 Fix: Remove each with `rm <path>` while no other Claude Code session is running in that project — a 0-byte read-only file where a settings file belongs makes "Yes, and don't ask again" fail to save, and the sandbox binds it read-only again on every start
5501```5518```
5502 5519
5503**할 일:**5520**할 일:**
5504 5521
5505* 해당 프로젝트에서 실행 중인 다른 Claude Code 세션을 종료한 후 `rm`으로 각 나열된 파일을 삭제하세요. 경고는 최대 3개 파일을 이름으로 지정하고 나머지를 계산하므로 경고가 더 이상 나타나지 않을 때까지 삭제 후 `claude doctor`를 다시 실행하세요. 다른 세션의 샌드박스가 여전히 사용 중인 자리 표시자는 해당 세션의 쓰기 보호의 라이브 부분입니다.5522* 해당 프로젝트에서 실행 중인 다른 Claude Code 세션을 종료한 후 나열된 각 파일을 `rm`으로 삭제하세요. 경고는 최대 3개의 파일을 명시하고 나머지는 개수로 표시하므로, 삭제 후 경고가 더 이상 나타나지 않을 때까지 `claude doctor`를 다시 실행하세요. 다른 세션의 샌드박스가 아직 사용 중인 자리 표시자는 해당 세션의 쓰기 보호에서 실제로 작동하는 부분입니다.
5506* "Yes, and don't ask again"으로 저장한 권한 선택이 고착되지 않으면 자리 표시자를 삭제한 후 다시 저장하세요.5523* "Yes, and don't ask again"으로 저장한 권한 선택이 유지되지 않았다면 자리 표시자를 삭제한 후 다시 저장하세요.
5507 5524
5508v2.1.257 이전에는 `claude doctor`가 이러한 파일을 플래그하지 않았습니다. 이전 버전은 세션이 종료될 때 동일한 자리 표시자를 남깁니다.5525v2.1.257 이전에는 `claude doctor`가 이러한 파일을 표시하지 않았으며, 이전 버전에서도 세션이 강제 종료되면 같은 자리 표시자가 남습니다.
5509 5526
5510<h2 id="responses-seem-lower-quality-than-usual">5527<h2 id="responses-seem-lower-quality-than-usual">
5511 응답 품질이 평소보다 낮아 보입니다5528 응답 품질이 평소보다 낮아 보입니다