317| `Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)` | [플러그인 오류](#skipping-connection-recent-failure-cached) |317| `Skipping connection (recent failure cached; retries automatically in 15 min, or edit the plugin config to retry now)` | [플러그인 오류](#skipping-connection-recent-failure-cached) |
318| `Error: No such tool available: <tool name>` | [도구 오류](#no-such-tool-available) |318| `Error: No such tool available: <tool name>` | [도구 오류](#no-such-tool-available) |
319| `MCP server "<name>" connection closed before the tool call was answered` | [도구 오류](#connection-closed-before-the-tool-call-was-answered) |319| `MCP server "<name>" connection closed before the tool call was answered` | [도구 오류](#connection-closed-before-the-tool-call-was-answered) |
320| `MCP server "<name>" is disabled — re-enable it via /mcp to use its tools` | [도구 오류](#mcp-server-is-disabled) |
321| `MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit.` | [도구 오류](#mcp-tool-call-timed-out-with-the-servers-question-unanswered) |
320| `would be spawned with zero tools — refusing` | [도구 오류](#agent-would-be-spawned-with-zero-tools) |322| `would be spawned with zero tools — refusing` | [도구 오류](#agent-would-be-spawned-with-zero-tools) |
321| `File is covered by a Read deny rule in your permission settings` | [도구 오류](#file-is-covered-by-a-read-deny-rule) |323| `File is covered by a Read deny rule in your permission settings` | [도구 오류](#file-is-covered-by-a-read-deny-rule) |
322| `cannot contain null bytes (\0)` | [도구 오류](#path-cannot-contain-null-bytes) |324| `cannot contain null bytes (\0)` | [도구 오류](#path-cannot-contain-null-bytes) |
348| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` / `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [도구 오류](#disk-quota-or-temp-filesystem-is-full) |350| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` / `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [도구 오류](#disk-quota-or-temp-filesystem-is-full) |
349| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [도구 오류](#disk-quota-or-temp-filesystem-is-full) |351| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [도구 오류](#disk-quota-or-temp-filesystem-is-full) |
350| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [도구 오류](#file-is-not-valid-utf-8) |352| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [도구 오류](#file-is-not-valid-utf-8) |
353| `git is not installed on this Mac. To install it, run xcode-select --install, then try again.` | [도구 오류](#git-is-not-installed-on-this-mac) |
351| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [도구 오류](#the-source-file-is-not-valid-utf-8-text) |354| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [도구 오류](#the-source-file-is-not-valid-utf-8-text) |
352| `the source file has the replacement character U+FFFD` | [도구 오류](#the-source-file-is-not-valid-utf-8-text) |355| `the source file has the replacement character U+FFFD` | [도구 오류](#the-source-file-is-not-valid-utf-8-text) |
353| `Not published: that file is on a network share` | [도구 오류](#not-published-that-file-is-on-a-network-share) |356| `Not published: that file is on a network share` | [도구 오류](#not-published-that-file-is-on-a-network-share) |
487 490
488Claude가 [advisor](https://code.claude.com/docs/ko/advisor.md)를 참조하는 동안에는 데이터 없이 20초가 아닌 90초가 지나야 배너가 표시됩니다. 긴 advisor 검토는 20초를 훨씬 넘는 시간 동안 아무것도 보내지 않을 수 있기 때문입니다. v2.1.214 이전에는 advisor 호출 중에도 20초 임계값이 적용되어, 아무 문제가 없는데도 advisor 검토 중에 배너가 표시되었습니다.491Claude가 [advisor](https://code.claude.com/docs/ko/advisor.md)를 참조하는 동안에는 데이터 없이 20초가 아닌 90초가 지나야 배너가 표시됩니다. 긴 advisor 검토는 20초를 훨씬 넘는 시간 동안 아무것도 보내지 않을 수 있기 때문입니다. v2.1.214 이전에는 advisor 호출 중에도 20초 임계값이 적용되어, 아무 문제가 없는데도 advisor 검토 중에 배너가 표시되었습니다.
489 492
493#### 게이트웨이 뒤에서 대기 배너가 나타났다 사라지는 경우
494
495게이트웨이를 통해 연결한 상태에서 Claude가 사고하는 동안 `Waiting for API response` 배너가 나타났다 사라지기를 반복한다면, [Claude Code를 업데이트](https://code.claude.com/docs/ko/setup.md#update-claude-code)하여 v2.1.309 이상을 사용하세요. 다음 연결에서는 데이터 없이 45초가 지나야 배너가 표시됩니다.
496
497* [`ANTHROPIC_BASE_URL`](https://code.claude.com/docs/ko/env-vars)이 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)처럼 Anthropic API가 아닌 호스트로 설정된 경우
498* [Claude apps gateway](https://code.claude.com/docs/ko/claude-apps-gateway) 세션
499* `ANTHROPIC_AWS_BASE_URL`이 설정된 [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md)
500
501v2.1.309 이전에는 이러한 연결에서 20초 후에 배너가 표시되었습니다.
502
490### 재시도 동작 조정503### 재시도 동작 조정
491 504
492다음 환경 변수로 재시도 동작을 조정할 수 있습니다.505다음 환경 변수로 재시도 동작을 조정할 수 있습니다.
3256 3269
3257**해결 방법:**3270**해결 방법:**
3258 3271
3259* 스크립트나 CI 작업에서는 `--trust-workspace`를 추가하여 해당 실행에 대해서만 체크아웃을 신뢰합니다: `claude ultrareview --trust-workspace`. 체크아웃의 git 구성과 Claude Code 프로젝트 설정이 프로그램을 실행할 수 있게 되므로, 신뢰하는 코드에 대해서만 추가합니다. 코드를 신뢰하지 않는 풀 리퀘스트를 리뷰하려면 [신뢰하는 체크아웃에서 리뷰하는 방법](https://code.claude.com/docs/ko/ultrareview.md#trust-the-folder-before-the-review-runs)을 참조하세요.3272* 스크립트나 CI 작업에서는 `--trust-workspace`를 추가하여 해당 실행에 한해 폴더를 신뢰합니다: `claude ultrareview --trust-workspace`. 이 플래그를 추가하면 git과 Claude Code가 폴더의 git 구성과 프로젝트 설정에 지정된 프로그램을 실행할 수 있으므로, 신뢰하는 코드에만 추가합니다. 코드를 신뢰하지 않는 풀 리퀘스트의 경우 [신뢰하는 브랜치에서 리뷰를 실행](https://code.claude.com/docs/ko/ultrareview.md#trust-the-folder-before-the-review-runs)합니다.
3260* 자신의 컴퓨터에서는 해당 폴더에서 `claude`를 실행하고 [워크스페이스 신뢰 대화 상자](https://code.claude.com/docs/ko/permissions.md#project-allow-rules-and-workspace-trust)를 수락한 다음 원래 명령을 다시 실행합니다3273* 자신의 컴퓨터에서는 해당 폴더에서 `claude`를 실행하고 [워크스페이스 신뢰 대화 상자](https://code.claude.com/docs/ko/permissions.md#project-allow-rules-and-workspace-trust)를 수락한 다음 원래 명령을 다시 실행합니다
3261 3274
3262`claude ultrareview`의 다음 각 메시지는 리뷰가 시작되지 않았고 종료 코드가 1이라는 의미입니다:3275`claude ultrareview`의 다음 각 메시지는 리뷰가 시작되지 않았고 종료 코드가 1이라는 의미입니다:
3265* **`Error: Workspace not trusted. <folder> is your home directory`**: 홈 디렉터리에 대한 신뢰는 저장되지 않으므로, 먼저 그곳에서 `claude`를 실행해도 도움이 되지 않습니다. 대신 프로젝트 디렉터리에서 `claude`를 한 번 실행하여 신뢰 대화 상자를 수락한 후 그곳에서 `claude ultrareview`를 실행하거나, `--trust-workspace`를 추가합니다.3278* **`Error: Workspace not trusted. <folder> is your home directory`**: 홈 디렉터리에 대한 신뢰는 저장되지 않으므로, 먼저 그곳에서 `claude`를 실행해도 도움이 되지 않습니다. 대신 프로젝트 디렉터리에서 `claude`를 한 번 실행하여 신뢰 대화 상자를 수락한 후 그곳에서 `claude ultrareview`를 실행하거나, `--trust-workspace`를 추가합니다.
3266* **`No answer in time.` 뒤에 `Error: Workspace not trusted`**: `Trust <folder>? [y/N]` 질문에 5분 동안 답하지 않았습니다. `claude ultrareview`를 다시 실행하고 답합니다.3279* **`No answer in time.` 뒤에 `Error: Workspace not trusted`**: `Trust <folder>? [y/N]` 질문에 5분 동안 답하지 않았습니다. `claude ultrareview`를 다시 실행하고 답합니다.
3267* **`Ultrareview did not start: <folder> is not trusted`**: `n`으로 답하거나 Enter를 누르는 등 `Trust <folder>? [y/N]` 질문을 거절했습니다. 리뷰를 시작하려면 `claude ultrareview`를 다시 실행하고 `y`로 답합니다.3280* **`Ultrareview did not start: <folder> is not trusted`**: `n`으로 답하거나 Enter를 누르는 등 `Trust <folder>? [y/N]` 질문을 거절했습니다. 리뷰를 시작하려면 `claude ultrareview`를 다시 실행하고 `y`로 답합니다.
3268* **``Ultrareview did not start: `--trust-workspace` takes no value``**: PR 번호나 `false`처럼 플래그가 아닌 것이 `--trust-workspace` 뒤에 옵니다. 폴더를 신뢰하지 않는다면 플래그를 빼세요. 이번 실행에 대해 신뢰하려면 PR 번호나 기본 브랜치를 플래그 앞에 둡니다: `claude ultrareview 1234 --trust-workspace`.3281* **``Ultrareview did not start: `--trust-workspace` takes no value``**: PR 번호나 `false`처럼 플래그가 아닌 무언가가 `--trust-workspace` 뒤에 옵니다. 폴더를 신뢰하지 않는다면 플래그를 빼십시오. 이번 실행에 한해 신뢰하려면 PR 번호나 기본 브랜치를 플래그 앞에 둡니다: `claude ultrareview 1234 --trust-workspace`.
3269 3282
3270v2.1.309 이전에는 `claude ultrareview`가 `--trust-workspace`를 받지 않았습니다.3283v2.1.309 이전에는 `claude ultrareview`가 `--trust-workspace`를 받지 않았습니다.
3271 3284
3526 3539
3527관련 메시지는 명령이 실행되기도 전에 발생합니다:3540관련 메시지는 명령이 실행되기도 전에 발생합니다:
3528 3541
3529* `Shell command permission check failed for pattern "..."`: 명령의 권한 검사가 허용하지 않았습니다. [삽입된 명령의 권한 검사](https://code.claude.com/docs/ko/skills.md#permission-checks-on-injected-commands)에서 각 권한 모드에서 어떤 결과가 중단되는지, `allowed-tools`로 명령을 사전 승인하는 방법을 다룹니다3542* `Shell command permission check failed for pattern "..."`: 명령의 권한 검사가 명령을 허용하지 않았습니다. [주입된 명령에 대한 권한 검사](https://code.claude.com/docs/ko/skills.md#permission-checks-on-injected-commands)에서 각 권한 모드에서 어떤 결과가 중단으로 이어지는지, 그리고 `allowed-tools`로 명령을 사전 승인하는 방법을 다룹니다
3530* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: 스킬의 frontmatter가 bash가 없는 컴퓨터에서 bash를 요구합니다. Git for Windows를 설치하거나 frontmatter를 `shell: powershell`로 변경합니다. [주입된 명령이 실행되는 방식](https://code.claude.com/docs/ko/skills.md#how-injected-commands-run)을 참조하세요3543* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: 스킬의 frontmatter가 bash가 없는 컴퓨터에서 bash를 요구합니다. Git for Windows를 설치하거나 frontmatter를 `shell: powershell`로 변경합니다. [주입된 명령이 실행되는 방식](https://code.claude.com/docs/ko/skills.md#how-injected-commands-run)을 참조하세요
3531* `No shell command in <name> was run`: 파일의 `!` 명령 중 하나에 탭이나 줄 바꿈 이외의 원시 제어 문자가 포함되어 있어 어떤 명령도 실행되지 않습니다. [해당 문자를 찾아 제거하는 방법](#no-shell-command-was-run)을 참조하십시오3544* `No shell command in <name> was run`: 파일의 `!` 명령 중 하나에 탭이나 줄 바꿈 이외의 원시 제어 문자가 포함되어 있어 어떤 명령도 실행되지 않습니다. [해당 문자를 찾아 제거하는 방법](#no-shell-command-was-run)을 참조하십시오
3532 3545
3678 3691
3679* **기본 브랜치를 전달하지 않은 경우**: Claude Code는 저장소의 기본 브랜치와 비교했으며, 위 예시처럼 기본 브랜치를 명시적으로 전달하도록 제안합니다3692* **기본 브랜치를 전달하지 않은 경우**: Claude Code는 저장소의 기본 브랜치와 비교했으며, 위 예시처럼 기본 브랜치를 명시적으로 전달하도록 제안합니다
3680* **클론에 이미 있는 기본 브랜치를 전달한 경우**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``입니다3693* **클론에 이미 있는 기본 브랜치를 전달한 경우**: 힌트는 ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``입니다
3681* **클론에 없던 기본 브랜치를 전달한 경우**: Claude Code는 비교하기 전에 origin에서 해당 브랜치를 가져왔습니다. 안내 문구는 ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``이며, Claude Code가 클론이 shallow 클론인지 판단할 수 없는 경우에는 대신 `git fetch --unshallow origin`을 제안합니다. v2.1.221 이전에는 가져온 모든 기본 브랜치에 대해 `git fetch --unshallow origin`을 제안했으며, 완전한 클론에서는 이 명령이 `fatal: --unshallow on a complete repository does not make sense`와 함께 실패했습니다.3694* **클론에 없던 기준 브랜치를 전달한 경우**: Claude Code는 비교하기 전에 origin에서 해당 브랜치를 가져왔습니다. 안내 문구는 ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)``이며, Claude Code가 클론이 얕은(shallow) 클론인지 판단할 수 없는 경우에는 대신 `git fetch --unshallow origin`을 제안합니다. v2.1.221 이전에는 가져온 모든 기준 브랜치에 대해 `git fetch --unshallow origin`을 제안했으며, 완전한 클론에서는 이 명령이 `fatal: --unshallow on a complete repository does not make sense`와 함께 실패했습니다.
3682 3695
3683**해결 방법:**3696**해결 방법:**
3684 3697
4382 4395
4383## 도구 오류4396## 도구 오류
4384 4397
4385이러한 오류는 Claude의 도구 호출에서 발생합니다. Claude는 대부분의 도구 오류를 자동으로 수정합니다. 변경이 필요한 경우 해당 오류의 **할 일** 목록에 변경할 사항이 명시되어 있습니다.4398이 오류들은 Claude의 도구 호출에서 발생합니다. 대부분의 도구 오류는 Claude가 스스로 바로잡습니다. 사용자가 무언가를 변경해야 하는 경우에는 해당 오류의 **조치 방법** 목록에 변경할 내용이 안내되어 있습니다.
4386 4399
4387### No such tool available4400### No such tool available
4388 4401
4389Claude가 세션의 도구 목록에 없는 이름으로 도구를 호출했습니다. Claude Code는 도구 호출의 결과로 Claude에 오류를 반환하며 턴이 계속됩니다. Claude Code가 도구가 없는 이유를 알 수 있으면 두 번째 줄처럼 도구 이름 뒤에 이유를 설명하거나 대신 호출할 도구를 지정하는 문장을 추가합니다:4402Claude가 세션의 도구 목록에 없는 이름으로 도구를 호출했습니다. Claude Code는 이 오류를 도구 호출의 결과로 Claude에게 반환하며, 턴은 계속됩니다. Claude Code가 도구가 없는 이유를 파악할 수 있으면, 두 번째 줄처럼 도구 이름 뒤에 이유를 설명하거나 대신 호출할 도구를 알려 주는 문장을 덧붙입니다.
4390 4403
4391```text theme={null}4404```text theme={null}
4392Error: No such tool available: <tool name>4405Error: No such tool available: <tool name>
4393Error: No such tool available: read. Tool names are case-sensitive: call Read instead.4406Error: No such tool available: read. Tool names are case-sensitive: call Read instead.
4394```4407```
4395 4408
4396세션을 재개한 직후에는 Claude가 MCP 서버의 도구 중 하나를 호출할 때 해당 서버가 아직 첫 번째 연결을 시도하는 중일 수 있습니다. 이 경우 Claude Code는 [서버를 기다리며](https://code.claude.com/docs/ko/mcp.md#tool-availability), 대기가 끝났을 때도 도구를 여전히 사용할 수 없으면 이 오류를 반환합니다. v2.1.284 이전에는 이러한 호출이 기다리지 않고 즉시 실패했습니다.4409세션을 재개한 직후에는 Claude가 MCP 서버의 도구를 호출할 때 해당 서버가 아직 첫 번째 연결을 시도하는 중일 수 있습니다. 이 경우 Claude Code는 [서버를 기다리며](https://code.claude.com/docs/ko/mcp.md#tool-availability), 대기가 끝날 때까지 도구를 사용할 수 없으면 이 오류를 반환합니다. v2.1.284 이전에는 이러한 호출이 기다리지 않고 즉시 실패했습니다.
4397 4410
4398Claude Code가 도구 이름을 [200자로 잘라낸](#tool-use-name-over-200-characters) 호출도 이 오류로 실패합니다.4411Claude Code가 도구 이름을 [200자로 잘라낸](#tool-use-name-over-200-characters) 호출도 이 오류로 실패합니다.
4399 4412
4400**할 일:**4413**조치 방법:**
4401 4414
4402* 한 번만 발생하면 아무것도 할 필요가 없습니다. Claude가 오류를 읽고 턴이 계속됩니다.4415* 한 번만 발생했다면 아무것도 할 필요가 없습니다. Claude가 오류를 읽고 턴이 계속됩니다.
4403* MCP 서버의 도구 호출이 이 오류로 계속 실패하면 세션에서 `/mcp`를 실행하거나 셸에서 `claude mcp list`를 실행하여 서버의 [상태](https://code.claude.com/docs/ko/mcp.md#server-status)를 확인하고, 실패한 서버는 `/mcp`에서 다시 연결합니다. Agent SDK에서는 [오류 처리](https://code.claude.com/docs/ko/agent-sdk/mcp.md#error-handling)를 참조합니다.4416* MCP 서버의 도구 호출이 계속 이 오류로 실패한다면, 세션에서 `/mcp`를 실행하거나 셸에서 `claude mcp list`를 실행하여 서버의 [상태](https://code.claude.com/docs/ko/mcp.md#server-status)를 확인하고, 실패한 서버를 `/mcp`에서 다시 연결합니다. Agent SDK에서는 [오류 처리](https://code.claude.com/docs/ko/agent-sdk/mcp.md#error-handling)를 참조하세요.
4404 4417
4405### MCP server connection closed before the tool call was answered4418### MCP server connection closed before the tool call was answered
4406 4419
4407HTTP [MCP 서버](https://code.claude.com/docs/ko/mcp.md) 또는 [claude.ai 커넥터](https://code.claude.com/docs/ko/mcp.md#use-mcp-servers-from-claude-ai)에 대한 도구 호출이 서버가 응답하기 전에 연결이 끊어졌으므로 Claude Code는 도구가 실행되었는지 알 수 없습니다:4420HTTP [MCP 서버](https://code.claude.com/docs/ko/mcp.md) 또는 [claude.ai 커넥터](https://code.claude.com/docs/ko/mcp.md#use-mcp-servers-from-claude-ai)에 대한 도구 호출이 서버가 응답하기 전에 연결이 끊겨, Claude Code는 도구가 실행되었는지 알 수 없습니다.
4408 4421
4409```text theme={null}4422```text theme={null}
4410MCP server "<name>" connection closed before the tool call was answered. The tool may have run: check whether it did before running it again.4423MCP server "<name>" connection closed before the tool call was answered. The tool may have run: check whether it did before running it again.
4411```4424```
4412 4425
4413호출을 반복하면 두 번째 이슈를 만드는 것처럼 도구의 작업이 반복될 수 있습니다. 따라서 Claude Code는 서버가 도구를 반복해도 안전한 것으로 표시한 경우에만 호출을 자동으로 한 번 반복합니다.4426호출을 반복하면 두 번째 이슈를 생성하는 것처럼 도구의 동작이 반복될 수 있습니다. 따라서 Claude Code는 서버가 도구를 반복해도 안전하다고 표시한 경우 호출을 스스로 한 번 반복합니다.
4414 4427
4415**할 일:**4428**조치 방법:**
4429
4430* 도구가 작업하는 서비스에서 동작이 실제로 일어났는지 확인합니다. 예를 들어 생성하려던 이슈나 레코드가 있는지 확인합니다
4431* 동작이 일어났다면 도구를 다시 실행하지 마세요. Claude는 도구의 결과 대신 이 메시지를 받았으므로, 결과를 Claude에게 알려 줍니다.
4432* 동작이 일어나지 않았다면 Claude에게 도구를 다시 실행하도록 요청합니다. Claude Code는 해당 서버의 도구를 다음에 호출할 때 서버에 다시 연결하므로, 먼저 서버를 다시 연결할 필요는 없습니다. 그 연결도 실패하면 [원격 서버의 세션 중 연결 끊김](https://code.claude.com/docs/ko/mcp.md#mid-session-drops-of-a-remote-server)을 참조하세요.
4433* 서버를 직접 빌드하고 있고 도구를 두 번 호출해도 안전하다면, Claude Code가 유실된 호출을 반복할 수 있도록 [반복해도 안전하다고 표시](https://code.claude.com/docs/ko/mcp.md#tool-calls-pending-when-a-connection-closes)합니다
4434
4435### MCP server is disabled
4436
4437도구 결과에 이 메시지가 표시되면 Claude가 [꺼져 있는](https://code.claude.com/docs/ko/mcp.md#disable-a-server-without-removing-it) [MCP 서버](https://code.claude.com/docs/ko/mcp.md)의 도구를 호출했다는 의미입니다. Claude Code는 서버에 연결하지 않았으므로 도구가 실행되지 않았으며, Claude는 결과 대신 이 텍스트를 받았습니다.
4438
4439```text wrap theme={null}
4440MCP server "<name>" is disabled — re-enable it via /mcp to use its tools
4441```
4442
4443**조치 방법:**
4444
4445* 의도적으로 서버를 끈 것이라면 아무것도 할 필요가 없습니다
4446* Claude에게 서버의 도구가 필요하다면 Claude Code 프롬프트에서 `/mcp`로 서버를 다시 켭니다
4447* [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 애플리케이션에서는 TypeScript의 경우 `enabled`를 `true`로 설정하여 [`toggleMcpServer()`](https://code.claude.com/docs/ko/agent-sdk/typescript#togglemcpserver)를 호출하고, Python의 경우 `enabled`를 `True`로 설정하여 [`toggle_mcp_server()`](https://code.claude.com/docs/ko/agent-sdk/python#claudesdkclient)를 호출하여 서버를 다시 켭니다
4448
4449### MCP tool call timed out with the server's question unanswered
4450
4451[비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)가 도구 호출 중에 [elicitation](https://code.claude.com/docs/ko/mcp.md#respond-to-mcp-elicitation-requests)을 통해 입력을 요청했으며, 응답이 오기 전에 호출의 시간 제한이 만료되었습니다.
4452
4453```text theme={null}
4454MCP server "<name>" tool "<tool>" timed out after <N>s. The server asked the user a question, and no answer came before the time limit. Do not call this tool again in this turn. Tell the user that the server's question got no answer, and wait for their reply.
4455```
4456
4457v2.1.310 이전에는 결과가 `timed out after <N>s`로 끝났으며 질문에 대해서는 아무것도 언급하지 않았습니다.
4458
4459**조치 방법:**
4416 4460
4417* 도구가 작업하는 서비스에서 작업이 수행되었는지 확인합니다. 예를 들어 만들려던 이슈나 레코드가 있는지 확인합니다.4461* 서버의 요청에 응답하는 [`Elicitation` 훅](https://code.claude.com/docs/ko/hooks#elicitation)을 설정합니다
4418* 작업이 수행되었다면 도구를 다시 실행하지 않습니다. Claude는 도구의 결과 대신 이 메시지를 받았으므로 Claude에 결과를 알려줍니다.4462* TypeScript Agent SDK 애플리케이션에서는 [`onElicitation`](https://code.claude.com/docs/ko/agent-sdk/typescript#options) 콜백이 제한 시간이 만료되기 전에 응답을 반환하도록 합니다
4419* 작업이 수행되지 않았다면 Claude에 도구를 다시 실행하도록 요청합니다. Claude Code가 해당 서버의 도구를 다음에 호출할 때 서버에 다시 연결하므로 먼저 서버에 다시 연결할 필요는 없습니다. 그 연결도 실패하면 [원격 서버의 세션 중 연결 끊김](https://code.claude.com/docs/ko/mcp.md#mid-session-drops-of-a-remote-server)을 참조합니다.4463* 응답할 시간을 더 확보하려면 서버의 구성 항목에서 더 긴 [`timeout`](https://code.claude.com/docs/ko/mcp#time-limits-on-mcp-tool-calls)을 밀리초 단위로 설정합니다. 예를 들어 10분이면 `"timeout": 600000`입니다
4420* 서버를 직접 만들었고 도구를 두 번 호출해도 안전하다면 Claude Code가 손실된 호출을 반복할 수 있도록 [반복해도 안전한 것으로 표시합니다](https://code.claude.com/docs/ko/mcp.md#tool-calls-pending-when-a-connection-closes).4464* 대신 대화형 세션에서 작업을 실행하고 서버의 [대화 상자](https://code.claude.com/docs/ko/mcp.md#respond-to-mcp-elicitation-requests)에 직접 응답합니다
4421 4465
4422### Agent would be spawned with zero tools4466### Agent would be spawned with zero tools
4423 4467
4424서브에이전트의 [`tools` 목록](https://code.claude.com/docs/ko/sub-agents#supported-frontmatter-fields)의 모든 항목이 사용 가능한 도구와 일치하지 않아 Claude Code가 서브에이전트 시작을 거부했습니다. 도구가 없으면 작동할 수 없기 때문입니다. 메시지는 항목을 잘못된 이유별로 그룹화합니다:4468서브에이전트의 [`tools` 목록](https://code.claude.com/docs/ko/sub-agents#supported-frontmatter-fields)에 있는 모든 항목이 사용 가능한 도구와 일치하지 않아, Claude Code가 서브에이전트 실행을 거부했습니다. 도구가 없으면 서브에이전트는 아무 작업도 할 수 없기 때문입니다. 메시지는 문제의 종류별로 항목을 묶어 보여 줍니다.
4425 4469
4426* **인식되지 않음**: 항목이 도구 이름과 일치하지 않으며, 보통 `Grep`을 `Grpe`로 잘못 입력한 것과 같은 오타입니다.4470* **Unrecognized**: 항목이 어떤 도구 이름과도 일치하지 않습니다. 보통 `Grep`을 `Grpe`로 쓰는 것과 같은 오타입니다.
4427* **서브에이전트에서 사용 불가**: 항목이 [서브에이전트가 사용할 수 없는](https://code.claude.com/docs/ko/sub-agents.md#available-tools) 실제 도구를 지정합니다. 백그라운드 서브에이전트는 더 작은 기본 제공 도구 세트를 유지하므로, 포그라운드 서브에이전트만 사용할 수 있는 항목은 서브에이전트가 기본값인 백그라운드에서 실행될 때 여기에 표시됩니다. `Agent`를 나열하면 메시지가 대신 다음 그룹 아래에 보고됩니다.4471* **Not available to subagents**: 항목이 실제 도구를 가리키지만 [서브에이전트가 사용할 수 없는](https://code.claude.com/docs/ko/sub-agents.md#available-tools) 도구입니다. 백그라운드 서브에이전트는 더 작은 내장 도구 세트를 유지하므로, 서브에이전트가 기본값인 백그라운드에서 실행될 경우 포그라운드 서브에이전트만 사용할 수 있는 항목은 여기에 분류됩니다. `Agent`를 나열한 경우에는 메시지가 대신 다음 그룹에 이를 보고합니다.
4428* **이 세션의 도구와 일치하지 않음**: 항목은 유효하지만 현재 세션의 도구가 지금 일치하지 않습니다. 예를 들어 GitHub MCP 서버가 연결되지 않은 `mcp__github__*` 또는 [깊이 제한](https://code.claude.com/docs/ko/sub-agents.md#let-subagents-spawn-their-own-subagents)에 있는 서브에이전트의 `Agent`입니다.4472* **Matched no tools in this session**: 항목은 유효하지만 현재 세션에 일치하는 도구가 지금은 없습니다. 예를 들어 GitHub MCP 서버가 연결되지 않은 상태의 `mcp__github__*`, 또는 [깊이 제한](https://code.claude.com/docs/ko/sub-agents.md#let-subagents-spawn-their-own-subagents)에 도달한 서브에이전트의 `Agent`가 이에 해당합니다.
4429 4473
4430`tools` 필드를 생략하면 이 거부가 트리거되지 않습니다. `tools` 목록을 비워두거나 `disallowedTools`가 목록의 모든 항목을 제거하면 Claude Code도 거부를 건너뛰고 도구 없이 서브에이전트를 시작합니다.4474`tools` 필드를 생략하면 이 거부가 절대 발생하지 않습니다. `tools` 목록을 비워 두거나 `disallowedTools`가 목록의 모든 항목을 제거하는 경우에도 Claude Code는 거부를 건너뛰고 도구 없이 서브에이전트를 실행합니다.
4431 4475
4432v2.1.208 이전에는 서브에이전트가 도구 없이 시작되었고 빈 결과 또는 혼란스러운 결과를 반환할 수 있었습니다.4476v2.1.208 이전에는 서브에이전트가 도구 없이 실행되어 빈 결과나 혼란스러운 결과를 반환할 수 있었습니다.
4433 4477
4434```text theme={null}4478```text theme={null}
4435Agent 'code-reviewer' would be spawned with zero tools — refusing. Its tools list resolved to nothing: unrecognized [Grpe]. Fix the agent's tools frontmatter or pass a different subagent_type.4479Agent 'code-reviewer' would be spawned with zero tools — refusing. Its tools list resolved to nothing: unrecognized [Grpe]. Fix the agent's tools frontmatter or pass a different subagent_type.
4436```4480```
4437 4481
4438**할 일:**4482**조치 방법:**
4439 4483
4440* 오류가 지정하는 각 항목을 [서브에이전트에서 사용 가능한 도구](https://code.claude.com/docs/ko/sub-agents.md#available-tools)에 대해 수정합니다.4484* 오류에 표시된 각 항목을 [서브에이전트가 사용할 수 있는 도구](https://code.claude.com/docs/ko/sub-agents.md#available-tools)와 비교하여 수정합니다
4441* 세션에 없는 도구의 항목을 제거합니다. 예를 들어 연결되지 않은 서버의 MCP 도구입니다.4485* 연결되지 않은 서버의 MCP 도구처럼 세션에 없는 도구의 항목을 제거합니다
4442* 항목이 연결된 MCP 서버를 지정하는 경우, 해당 서버의 [도구 이름](https://code.claude.com/docs/ko/permissions.md#mcp)에 표기된 서버 이름과 항목을 비교합니다. 예를 들어 `mcp__reports__v2__get_totals`의 `reports__v2`입니다. 해당 서버의 경우 `mcp__` 뒤에 전체 이름과 `__*`를 붙인 `mcp__reports__v2__*`로 작성합니다. `reports`라는 서버를 지정하는 더 짧은 `mcp__reports`를 사용하면 서브에이전트는 `reports__v2` 도구를 하나도 받지 못합니다.4486* 항목이 연결된 MCP 서버를 가리킨다면, 해당 서버의 [도구 이름](https://code.claude.com/docs/ko/permissions.md#mcp)에 표기된 서버 이름과 항목을 비교합니다. 예를 들어 `mcp__reports__v2__get_totals`의 `reports__v2`가 서버 이름입니다. 이 서버의 경우 `mcp__` 뒤에 전체 이름과 `__*`를 붙인 `mcp__reports__v2__*`로 작성합니다. `reports`라는 서버를 가리키는 더 짧은 `mcp__reports`를 쓰면 서브에이전트는 `reports__v2` 도구를 하나도 받지 못합니다
4443* [백그라운드 서브에이전트가 제거하는](https://code.claude.com/docs/ko/sub-agents.md#available-tools) 도구(예: `CronCreate`)의 경우 항목을 제거합니다.4487* `CronCreate`처럼 [백그라운드 서브에이전트가 제외하는](https://code.claude.com/docs/ko/sub-agents.md#available-tools) 도구의 경우 해당 항목을 제거합니다
4444* 대신 `CronCreate`와 같은 도구를 유지하려면 [Claude가 서브에이전트를 기다리도록 합니다](https://code.claude.com/docs/ko/sub-agents.md#let-claude-wait-for-a-subagent). Claude가 기다리는 서브에이전트는 포그라운드에서 실행되어 도구를 유지하기 때문입니다. 정의에 `background: true`가 설정되어 있으면 해당 필드가 서브에이전트를 백그라운드에 유지하므로 먼저 해당 필드를 제거합니다.4488* 대신 `CronCreate` 같은 도구를 유지하려면 [Claude가 서브에이전트를 기다리도록](https://code.claude.com/docs/ko/sub-agents.md#let-claude-wait-for-a-subagent) 합니다. Claude가 기다리는 서브에이전트는 포그라운드에서 실행되며 해당 도구를 유지합니다. 정의에 `background: true`가 설정되어 있으면 서브에이전트를 백그라운드에 유지시키므로 먼저 이 필드를 제거합니다
4445* 도구를 나열하는 대신 `tools` 필드를 삭제하여 서브에이전트에 [서브에이전트에서 사용 가능한 모든 도구](https://code.claude.com/docs/ko/sub-agents.md#available-tools)를 제공합니다.4489* 서브에이전트에 [서브에이전트가 사용할 수 있는 모든 도구](https://code.claude.com/docs/ko/sub-agents.md#available-tools)를 제공하려면 도구를 나열하는 대신 `tools` 필드를 삭제합니다
4446* `Agent`만 포함하는 `tools` 목록의 경우 [깊이 제한](https://code.claude.com/docs/ko/sub-agents.md#let-subagents-spawn-their-own-subagents)을 높이거나 에이전트에 최소한 하나의 다른 도구를 제공합니다. Claude Code는 해당 제한에서 `Agent`를 보류하므로 다른 항목이 없는 목록은 도구 없음으로 해석됩니다.4490* `Agent`만 포함된 `tools` 목록의 경우 [깊이 제한](https://code.claude.com/docs/ko/sub-agents.md#let-subagents-spawn-their-own-subagents)을 높이거나 에이전트에 다른 도구를 하나 이상 제공합니다. Claude Code는 해당 제한에서 `Agent`를 제공하지 않으므로, 다른 항목이 없는 목록은 도구가 없는 상태로 해석됩니다
4447 4491
4448### File is covered by a Read deny rule4492### File is covered by a Read deny rule
4449 4493
4450Edit 또는 Write 도구가 [`Read` 거부 규칙](https://code.claude.com/docs/ko/permissions#read-and-edit)과 일치하는 경로에서 호출되었습니다. 여기에는 해당 경로에 새 파일을 만드는 것도 포함됩니다. 두 도구 모두 Claude가 다시 읽을 수 있어야 하는 콘텐츠를 변경하므로 Claude Code는 파일 액세스 전에 호출을 거부합니다. NotebookEdit은 `Read` 거부 규칙의 적용을 받지 않습니다. v2.1.228 이전에는 규칙이 Edit 도구만 차단했고, v2.1.208 이전에는 `Edit` 거부 규칙만 편집을 차단했습니다.4494[`Read` 거부 규칙](https://code.claude.com/docs/ko/permissions#read-and-edit)과 일치하는 경로에 대해 Edit 또는 Write 도구가 호출되었습니다. 해당 경로에 새 파일을 만드는 경우도 포함됩니다. 두 도구 모두 Claude가 다시 읽을 수 있어야 하는 내용을 변경하므로, Claude Code는 파일에 접근하기 전에 호출을 거부합니다. NotebookEdit는 `Read` 거부 규칙의 적용을 받지 않습니다. v2.1.228 이전에는 이 규칙이 Edit 도구만 차단했으며, v2.1.208 이전에는 `Edit` 거부 규칙만 편집을 차단했습니다.
4451 4495
4452```text theme={null}4496```text theme={null}
4453File is covered by a Read deny rule in your permission settings and cannot be edited.4497File is covered by a Read deny rule in your permission settings and cannot be edited.
4454```4498```
4455 4499
4456Claude Code가 Write 도구를 거부할 때 메시지는 대신 `and cannot be written`으로 끝납니다.4500Claude Code가 Write 도구를 거부하는 경우 메시지는 대신 `and cannot be written`으로 끝납니다.
4457 4501
4458**할 일:**4502**조치 방법:**
4459 4503
4460* Claude가 파일을 변경할 수 있어야 하면 `/permissions`의 `Read` 거부 규칙을 제거하거나 좁힙니다. 또는 [설정](https://code.claude.com/docs/ko/settings-reference.md#permission-settings)에서 제거합니다.4504* Claude가 파일을 변경할 수 있어야 한다면 `/permissions` 또는 [설정](https://code.claude.com/docs/ko/settings-reference.md#permission-settings)에서 `Read` 거부 규칙을 제거하거나 범위를 좁힙니다
4461* 파일이 그대로 유지되어야 하면 규칙을 유지하고 NotebookEdit 도구도 차단하기 위해 동일한 경로에 `Edit` 거부 규칙을 추가합니다.4505* 파일을 변경하지 않고 그대로 두어야 한다면 규칙을 유지하고, 같은 경로에 대한 `Edit` 거부 규칙을 추가하여 NotebookEdit 도구도 차단합니다
4462 4506
4463### Path cannot contain null bytes4507### Path cannot contain null bytes
4464 4508
4465파일 도구 호출의 경로 또는 패턴 인수에 null 바이트가 포함되어 있으며, 파일 시스템과 검색 도구는 이를 수락할 수 없습니다. Read, Write, Edit, NotebookEdit, Glob 및 Grep은 이를 확인하고 메시지는 도구와 인수의 이름을 지정합니다:4509파일 도구 호출의 경로 또는 패턴 인수에 null 바이트가 포함되어 있었습니다. 파일 시스템과 검색 도구는 null 바이트를 허용하지 않습니다. Read, Write, Edit, NotebookEdit, Glob, Grep이 이를 검사하며, 메시지에는 도구와 인수의 이름이 표시됩니다.
4466 4510
4467```text theme={null}4511```text theme={null}
4468Read file_path cannot contain null bytes (\0). Remove the null byte and try again.4512Read file_path cannot contain null bytes (\0). Remove the null byte and try again.
4469```4513```
4470 4514
4471도구 호출이 실패하고 Claude는 오류를 보며 턴이 계속됩니다.4515도구 호출은 실패하고, Claude가 오류를 확인하며, 턴은 계속됩니다.
4472 4516
4473**할 일:**4517**조치 방법:**
4474 4518
4475* 사용자 쪽에서는 아무것도 할 필요가 없습니다: 오류는 도구의 결과로 Claude에 반환되며 메시지 자체가 Claude에 null 바이트를 제거하고 다시 시도하도록 지시합니다.4519* 사용자가 할 일은 없습니다. 오류가 도구의 결과로 Claude에게 반환되며, 메시지 자체가 Claude에게 null 바이트를 제거하고 다시 시도하라고 안내합니다
4476 4520
4477v2.1.281 이전에는 Read, Write, Edit 또는 NotebookEdit 경로의 null 바이트가 `Path contains null bytes`라는 이름의 오류로 전체 턴을 종료했으며 도구는 실행되지 않았습니다.4521v2.1.281 이전에는 Read, Write, Edit, NotebookEdit 경로에 null 바이트가 있으면 `Path contains null bytes`를 언급하는 오류와 함께 턴 전체가 종료되었으며, 도구는 실행되지 않았습니다.
4478 4522
4479### File is too large to read as an image4523### File is too large to read as an image
4480 4524
4481Claude가 [Read 도구](https://code.claude.com/docs/ko/tools-reference.md#read-tool-behavior)로 파일을 이미지로 읽으려고 했지만, 파일이 Read가 이미지 파일에서 로드하는 최대 크기인 128MB보다 큽니다. 아무것도 읽히지 않았으며 Claude는 이 오류를 도구 결과로 받습니다:4525Claude가 [Read 도구](https://code.claude.com/docs/ko/tools-reference.md#read-tool-behavior)로 파일을 이미지로 읽으려 했지만, 파일이 Read가 이미지 파일에서 불러올 수 있는 최대 크기인 128MB보다 큽니다. 아무것도 읽지 않았으며, Claude는 도구 결과로 이 오류를 받습니다.
4482 4526
4483```text wrap theme={null}4527```text wrap theme={null}
4484File is too large to read as an image (the limit is 128MB): <path>. If it is an image, resize it or export a smaller copy, then read that.4528File is too large to read as an image (the limit is 128MB): <path>. If it is an image, resize it or export a smaller copy, then read that.
4485```4529```
4486 4530
4487경로가 일반 파일이 아닌 파이프 또는 장치이면 Read는 128MB를 초과하는 데이터가 도착하는 즉시 중지하고 대신 이 오류를 반환합니다:4531경로가 일반 파일이 아니라 파이프나 장치인 경우, Read는 128MB를 초과하는 데이터가 도착하면 중단하고 대신 다음 오류를 반환합니다.
4488 4532
4489```text wrap theme={null}4533```text wrap theme={null}
4490Cannot read this as an image: <path> is a pipe or a device, not a regular file, and it sent more than 128MB without ending.4534Cannot read this as an image: <path> is a pipe or a device, not a regular file, and it sent more than 128MB without ending.
4491```4535```
4492 4536
4493**할 일:**4537**조치 방법:**
4494 4538
4495* Claude가 `File is too large` 메시지에 따라 이미지 크기를 조정하거나 더 작은 사본을 읽었다면 아무것도 하지 않습니다.4539* Claude가 `File is too large` 메시지에 따라 이미지 크기를 조정하거나 더 작은 사본을 읽었다면 아무것도 하지 않아도 됩니다
4496* Claude가 오류에서 멈췄다면 예를 들어 더 낮은 해상도로 128MB 미만의 사본을 직접 내보내고 Claude가 해당 파일을 사용하도록 지정합니다.4540* Claude가 오류에서 멈췄다면 예를 들어 더 낮은 해상도로 128MB 미만의 사본을 직접 내보낸 다음 Claude에게 해당 파일을 지정합니다
4497* 경로가 파이프 또는 장치였다면 대신 일반 이미지 파일을 Claude에 지정합니다.4541* 경로가 파이프나 장치였다면 대신 일반 이미지 파일을 Claude에게 지정합니다
4498 4542
4499### subagent\_type is required4543### subagent\_type is required
4500 4544
4502subagent_type is required: the general-purpose agent is not available in this session. Available agents: ...4546subagent_type is required: the general-purpose agent is not available in this session. Available agents: ...
4503```4547```
4504 4548
4505Claude가 `subagent_type` 없이 [Agent 도구](https://code.claude.com/docs/ko/tools-reference.md#agent-tool-behavior)를 호출했고, 이 세션에는 폴백할 [범용 서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#built-in-subagents)가 없습니다. 이는 두 가지 설정에서 발생합니다:4549Claude가 `subagent_type` 없이 [Agent 도구](https://code.claude.com/docs/ko/tools-reference.md#agent-tool-behavior)를 호출했는데, 이 세션에는 대신 사용할 [범용 서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#built-in-subagents)가 없습니다. 다음 두 가지 설정에서 이런 상황이 발생합니다.
4506 4550
4507* [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](https://code.claude.com/docs/ko/env-vars)이 비대화형 모드에서 설정되어 모든 기본 제공 서브에이전트를 제거합니다.4551* 비대화형 모드에서 [`CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1`](https://code.claude.com/docs/ko/env-vars)이 설정되어 모든 내장 서브에이전트가 제거된 경우
4508* 세션의 메인 스레드 에이전트에 `general-purpose`를 제외하는 [`tools: Agent(...)` 허용 목록](https://code.claude.com/docs/ko/sub-agents#restrict-which-subagents-can-be-spawned)이 있습니다.4552* 세션의 메인 스레드 에이전트에 `general-purpose`를 제외하는 [`tools: Agent(...)` 허용 목록](https://code.claude.com/docs/ko/sub-agents#restrict-which-subagents-can-be-spawned)이 있는 경우
4509 4553
4510**할 일:**4554**조치 방법:**
4511 4555
4512* 보통 아무것도 하지 않습니다: 메시지는 세션이 가진 서브에이전트를 나열하므로 Claude는 그 중 하나로 다시 시도할 수 있습니다.4556* 대개는 아무것도 하지 않아도 됩니다. 메시지에 세션에 있는 서브에이전트가 나열되므로 Claude가 그중 하나로 재시도할 수 있습니다
4513* Claude가 계속 실패하면 `tools: Agent(...)` 허용 목록에 `general-purpose`를 추가하거나 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`를 설정 해제합니다.4557* Claude가 계속 실패하면 `tools: Agent(...)` 허용 목록에 `general-purpose`를 추가하거나 `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS`를 해제합니다
4514 4558
4515v2.1.235 이전에는 동일한 호출이 `Agent type 'general-purpose' not found`로 실패했습니다.4559v2.1.235 이전에는 같은 호출이 `Agent type 'general-purpose' not found`로 실패했습니다.
4516 4560
4517### 메모리 인덱스가 읽기 제한을 초과함4561### Memory index is over its read limit
4518 4562
4519Claude가 [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory) 인덱스 `MEMORY.md`에 썼고 읽기 제한 중 하나를 초과했습니다: 200줄 또는 25KB입니다. 쓰기는 성공했지만 처음 200줄 또는 25KB(둘 중 먼저 오는 것)만 세션 시작 시 로드되므로 제한을 초과하는 모든 것은 인덱스를 읽을 때마다 삭제됩니다. v2.1.210 이전에는 제한을 초과하는 인덱스가 다음 로드 시 쓰기 시간 신호 없이 자동으로 잘렸습니다.4563Claude가 [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory) 인덱스인 `MEMORY.md`에 내용을 쓴 결과, 읽기 제한인 200줄 또는 25KB 중 하나를 초과했습니다. 쓰기는 성공했지만 세션 시작 시에는 처음 200줄 또는 25KB 중 먼저 도달하는 분량만 로드되므로, 인덱스를 읽을 때마다 제한을 넘는 내용은 모두 누락됩니다. v2.1.210 이전에는 제한을 초과한 인덱스가 쓰기 시점에 아무런 신호 없이 다음 로드 때 조용히 잘렸습니다.
4520 4564
4521```text theme={null}4565```text theme={null}
4522Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. The write succeeded, but everything past the limit is silently dropped each time the index is loaded — entries at the end are already invisible to readers. Rewrite it to under 140 lines now: keep one line per entry, move detail into topic files, and merge or drop stale entries.4566Error: this write left the memory index at MEMORY.md at 214 lines, over its 200-line read limit. The write succeeded, but everything past the limit is silently dropped each time the index is loaded — entries at the end are already invisible to readers. Rewrite it to under 140 lines now: keep one line per entry, move detail into topic files, and merge or drop stale entries.
4523```4567```
4524 4568
4525로드되는 콘텐츠만 제한에 포함됩니다. YAML frontmatter 및 블록 수준 HTML 주석은 인덱스가 로드되기 전에 제거되므로 측정에서 제외됩니다. v2.1.211 이전에는 Claude Code가 원본 파일을 측정했고 frontmatter 또는 주석이 로드된 콘텐츠가 맞아도 이 오류를 트리거할 수 있었습니다.4569로드되는 내용만 제한에 포함됩니다. YAML frontmatter와 블록 수준 HTML 주석은 인덱스를 로드하기 전에 제거되므로 측정에서 제외됩니다. v2.1.211 이전에는 Claude Code가 원본 파일을 측정했기 때문에, 로드되는 내용이 제한 안에 들어오더라도 frontmatter나 주석 때문에 이 오류가 발생할 수 있었습니다.
4526 4570
4527Claude Code는 터미널에 배너로 인쇄하는 대신 쓰기 후 Claude에 오류를 전달하므로 트랜스크립트에서만 알아차릴 수 있습니다.4571Claude Code는 이 오류를 터미널에 배너로 출력하지 않고 쓰기 후 Claude에게 전달하므로, 트랜스크립트에서만 확인할 수 있을 수 있습니다.
4528 4572
4529Claude의 쓰기가 파일을 제한에 가깝게 가져가지만 넘지 않으면 Claude Code는 이 오류 대신 인덱스를 압축하라는 더 온화한 알림을 반환합니다.4573Claude의 쓰기로 파일이 제한을 넘지는 않았지만 제한에 가까워지면, Claude Code는 이 오류 대신 인덱스를 압축하라는 더 가벼운 알림을 반환합니다.
4530 4574
4531**할 일:**4575**조치 방법:**
4532 4576
4533* Claude가 `MEMORY.md`를 다시 쓰도록 하거나 요청합니다: 항목당 한 줄을 유지하고, 세부 정보를 주제 파일로 이동하고, 오래된 항목을 병합하거나 삭제합니다.4577* Claude가 `MEMORY.md`를 다시 작성하도록 두거나 요청합니다. 항목당 한 줄을 유지하고, 세부 내용은 주제별 파일로 옮기며, 오래된 항목은 병합하거나 삭제합니다
4534* 인덱스를 직접 정리하려면 [메모리 감사 및 편집](https://code.claude.com/docs/ko/memory.md#audit-and-edit-your-memory)을 참조합니다.4578* 인덱스를 직접 정리하려면 [메모리 감사 및 편집](https://code.claude.com/docs/ko/memory.md#audit-and-edit-your-memory)을 참조하세요
4535 4579
4536### pkill 패턴이 Claude Code 프로세스와 일치함4580### pkill pattern matches the Claude Code process
4537 4581
4538Bash 도구 호출의 `pkill` 명령이 패턴(보통 `-f` 포함)을 사용했고 Claude Code 프로세스 자체와 일치하므로 Claude Code는 세션을 종료하는 대신 명령을 거부합니다. Claude Code는 `pkill`을 실행하기 전에 `pgrep`으로 패턴을 테스트하고 자신의 프로세스 ID가 결과에 있으면 거부합니다. 확인은 Linux에서만 실행됩니다. macOS에서는 `pkill`이 수정되지 않고 실행됩니다. v2.1.214 이전에는 명령이 실행되었고 일치하는 패턴이 Claude Code 세션을 턴 중간에 종료했습니다.4582Bash 도구 호출의 `pkill` 명령이 Claude Code 프로세스 자체와 일치하는 패턴(보통 `-f` 사용)을 사용했기 때문에, Claude Code는 명령이 세션을 종료하도록 두지 않고 명령을 거부합니다. Claude Code는 `pkill`을 실행하기 전에 `pgrep`으로 패턴을 테스트하고, 결과에 자신의 프로세스 ID가 있으면 거부합니다. 이 검사는 Linux에서만 실행되며, macOS에서는 `pkill`이 수정 없이 실행됩니다. v2.1.214 이전에는 명령이 실행되어, 일치하는 패턴이 턴 도중에 Claude Code 세션을 종료시켰습니다.
4539 4583
4540```text theme={null}4584```text theme={null}
4541pkill: refusing to run — this pattern matches the Claude CLI process (PID 12345). Narrow the pattern, or target your own children with `pkill -P $$ ...`.4585pkill: refusing to run — this pattern matches the Claude CLI process (PID 12345). Narrow the pattern, or target your own children with `pkill -P $$ ...`.
4542```4586```
4543 4587
4544거부는 터미널의 배너가 아닌 Bash 도구 결과에 나타나며 Claude는 보통 명령을 자동으로 조정합니다.4588거부 메시지는 터미널의 배너가 아니라 Bash 도구 결과에 표시되며, 대개 Claude가 스스로 명령을 조정합니다.
4545 4589
4546**할 일:**4590**조치 방법:**
4547 4591
4548* 패턴을 좁혀서 의도한 프로세스만 일치하도록 합니다. 예를 들어 짧은 부분 문자열이 아닌 대상 바이너리의 전체 경로입니다.4592* 의도한 프로세스와만 일치하도록 패턴의 범위를 좁힙니다. 예를 들어 짧은 부분 문자열 대신 대상 바이너리의 전체 경로를 사용합니다
4549* 현재 셸에서 시작한 프로세스를 중지하려면 패턴과 함께 `pkill -P $$`를 사용합니다. 이는 일치를 셸의 자식 프로세스로 제한합니다.4593* 현재 셸이 시작한 프로세스를 중지하려면 패턴과 함께 `pkill -P $$`를 사용합니다. 이렇게 하면 일치 대상이 셸의 자식 프로세스로 제한됩니다
4550 4594
4551### 팀원의 받은편지함에 쓰기 실패4595### Failed to write to a teammate's inbox
4552 4596
4553Claude Code가 `~/.claude/teams/{team-name}/inboxes/` 아래의 팀원 메일박스 파일에 메시지를 쓸 수 없어서 수신자가 아무것도 받지 못했습니다. 쓰기는 Claude Code가 파일을 만들거나 업데이트할 수 없을 때 실패합니다. 예를 들어 디스크가 가득 찼거나, 디렉터리를 쓸 수 없거나, 다른 에이전트가 받은편지함 잠금을 너무 오래 유지하는 경우입니다. v2.1.224 이전에는 Claude Code가 쓰기가 실패했을 때도 메시지를 보낸 것으로 보고했습니다.4597Claude Code가 `~/.claude/teams/{team-name}/inboxes/` 아래에 있는 팀원의 메일박스 파일에 메시지를 쓸 수 없어서, 수신자가 아무것도 받지 못했습니다. 디스크가 가득 찼거나, 디렉터리에 쓰기 권한이 없거나, 다른 에이전트가 받은편지함 잠금을 너무 오래 보유하는 등의 이유로 Claude Code가 파일을 생성하거나 업데이트할 수 없으면 쓰기가 실패합니다. v2.1.224 이전에는 쓰기가 실패한 경우에도 Claude Code가 메시지를 보낸 것으로 보고했습니다.
4554 4598
4555오류는 터미널의 배너가 아닌 전송 에이전트의 도구 결과에 나타나며 Claude에 다시 시도하도록 지시합니다:4599오류는 터미널의 배너가 아니라 보내는 에이전트의 도구 결과에 표시되며, 오류 텍스트는 Claude에게 다시 시도하라고 안내합니다.
4556 4600
4557```text theme={null}4601```text theme={null}
4558Failed to write to researcher's inbox — nothing was sent. Try again, or message the lead.4602Failed to write to researcher's inbox — nothing was sent. Try again, or message the lead.
4559```4603```
4560 4604
4561구조화된 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 프로토콜 메시지는 동일한 방식으로 실패하며 오류는 전달되지 않은 메시지의 이름을 지정합니다: Claude Code가 계획 승인, 계획 거부, 종료 요청 또는 종료 거부를 쓸 수 없을 때 오류는 `Failed to write the <message> to <name>'s inbox — nothing was sent`로 읽습니다. 해당 목록의 `plan approval`은 팀원의 계획을 승인하는 리드의 결정입니다. 팀원의 계획 제출은 별도의 `plan approval request` 메시지입니다. 해당 메시지와 두 개의 다른 프로토콜 메시지는 자신의 메시지 텍스트와 결과를 전달합니다:4605구조화된 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 프로토콜 메시지도 같은 방식으로 실패하며, 오류에는 전달되지 않은 메시지가 표시됩니다. Claude Code가 플랜 승인, 플랜 거부, 종료 요청 또는 종료 거부를 쓸 수 없으면 오류는 `Failed to write the <message> to <name>'s inbox — nothing was sent`로 표시됩니다. 이 목록의 `plan approval`은 팀원의 플랜을 승인하는 리더의 결정이며, 팀원의 플랜 제출은 별도의 `plan approval request` 메시지입니다. 이 메시지와 다른 두 프로토콜 메시지는 각각 고유한 메시지 텍스트와 결과를 가집니다.
4562 4606
4563* `Failed to write the plan approval request to the lead's inbox — plan not submitted; try again`: 팀원의 계획이 리드에 도달하지 않았고 팀원은 재제출이 성공할 때까지 플랜 모드에 남아 있습니다.4607* `Failed to write the plan approval request to the lead's inbox — plan not submitted; try again`: 팀원의 플랜이 리더에게 전달되지 않았으며, 재제출이 성공할 때까지 팀원은 플랜 모드에 머뭅니다
4564* `The permission request could not be delivered to the team lead (mailbox write failed)`: 팀원의 권한 요청이 리드에 도달하지 않았으므로 아무도 도구 호출을 승인하지 않았습니다.4608* `The permission request could not be delivered to the team lead (mailbox write failed)`: 팀원의 권한 요청이 리더에게 전달되지 않았으므로, 아무도 도구 호출을 승인하지 않았습니다
4565* `The confirmation could not be written to team-lead's inbox.`: 종료 승인 자체가 적용되었고 팀원이 종료됩니다. 리드에 대한 확인만 누락되었습니다.4609* `The confirmation could not be written to team-lead's inbox.`: 종료 승인 자체는 적용되어 팀원은 종료되며, 리더에게 보내는 확인 메시지만 누락됩니다
4566 4610
4567리드 세션에서 `@name`을 입력한 후 메시지를 입력하여 팀원에게 직접 메시지를 보낼 때 동일한 실패가 알림으로 나타납니다: `Couldn't write to @name's inbox — message not sent. Try again.` Claude Code는 텍스트를 프롬프트 상자에 유지하므로 다시 보낼 수 있습니다.4611리더 세션에서 `@name` 다음에 메시지를 입력하여 사용자가 직접 팀원에게 메시지를 보낼 때는, 같은 실패가 `Couldn't write to @name's inbox — message not sent. Try again.` 알림으로 표시되며, Claude Code는 다시 보낼 수 있도록 입력한 텍스트를 프롬프트 상자에 유지합니다.
4568 4612
4569**할 일:**4613**조치 방법:**
4570 4614
4571* 발신자에게 메시지를 다시 보내도록 요청합니다. 받은편지함 잠금에 대한 경합은 일시적이며 재시도 시 해결됩니다.4615* 보낸 쪽에 메시지를 다시 보내도록 요청합니다. 받은편지함 잠금 경합은 일시적이며 재시도하면 해소됩니다
4572* 여유 디스크 공간을 확인하고 `~/.claude/teams` 및 그 아래의 파일이 사용자가 쓸 수 있는지 확인합니다.4616* 디스크 여유 공간을 확인하고, `~/.claude/teams`와 그 아래 파일에 사용자 계정으로 쓰기 권한이 있는지 확인합니다
4573 4617
4574### 팀원의 에이전트 정의가 복원되지 않음4618### Teammate's agent definition was not restored
4575 4619
4576Claude가 중지된 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원에게 메시지를 보냈고, Claude Code가 해당 팀원을 생성할 때 사용한 [서브에이전트 정의](https://code.claude.com/docs/ko/agent-teams.md#use-subagent-definitions-for-teammates)를 다시 적용하지 않고 복구했습니다. 알림은 전송 에이전트의 도구 결과에서 재개 보고서 뒤에 나타나며 이유를 지정합니다. 정의 파일이 저장된 신뢰가 없는 폴더에서 나온 경우 다음과 같이 표시됩니다:4620Claude가 중지된 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원에게 메시지를 보냈고, Claude Code는 팀원을 생성할 때 사용한 [서브에이전트 정의](https://code.claude.com/docs/ko/agent-teams.md#use-subagent-definitions-for-teammates)를 다시 적용하지 않고 팀원을 복원했습니다. 이 알림은 보내는 에이전트의 도구 결과에서 재개 보고 뒤에 나타나며 이유를 알려 줍니다. 정의 파일이 신뢰가 저장되지 않은 폴더에서 온 경우에는 다음과 같이 표시됩니다.
4577 4621
4578```text wrap theme={null}4622```text wrap theme={null}
4579Its 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.4623Its 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.
4580```4624```
4581 4625
4582확인은 프로젝트의 `.claude/agents/` 디렉터리 또는 `--add-dir` 디렉터리의 정의에 적용되며 부모 폴더에 대한 신뢰 대화를 수락하는 것은 충족하지 않습니다.4626이 검사는 프로젝트 또는 `--add-dir` 디렉터리의 `.claude/agents/` 디렉터리에 있는 정의에 적용되며, 상위 폴더의 신뢰 대화 상자를 수락하는 것으로는 충족되지 않습니다.
4583 4627
4584**할 일:**4628**조치 방법:**
4585 4629
4586* [디버그 로그](https://code.claude.com/docs/ko/debug-your-config.md)가 지정하는 폴더에서 `claude`를 실행하고 신뢰 대화를 수락합니다. 정의는 Claude Code가 팀원을 다시 복구할 때 다시 적용됩니다. 리드 세션을 다시 시작할 필요가 없습니다.4630* [디버그 로그](https://code.claude.com/docs/ko/debug-your-config.md)에 표시된 폴더에서 `claude`를 실행하고 신뢰 대화 상자를 수락합니다. Claude Code가 다음에 팀원을 복원할 때 정의가 다시 적용되며, 리더 세션을 다시 시작할 필요는 없습니다
4587* 또는 `~/.claude.json`에서 `hasTrustDialogAccepted` 항목을 `true`로 설정합니다. 디버그 로그가 인쇄하는 정확한 `projects["<path>"]` 키를 사용합니다.4631* 또는 디버그 로그에 출력된 정확한 `projects["<path>"]` 키를 사용하여 `~/.claude.json`에서 `hasTrustDialogAccepted` 항목을 `true`로 설정합니다
4588 4632
4589### Only a teammate can approve a shutdown request4633### Only a teammate can approve a shutdown request
4590 4634
4591Claude Code는 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 종료 승인을 보낸 세션이 팀원으로 실행 중이 아니므로 해당 승인을 거부했습니다. 아무것도 전송되지 않았고 아무것도 종료되지 않았습니다. 거부는 전송 세션의 도구 결과에 나타납니다:4635보낸 세션이 팀원으로 실행 중이 아니기 때문에 Claude Code가 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 종료 승인을 거부했습니다. 아무것도 전송되지 않았고 아무것도 종료되지 않았습니다. 거부 메시지는 보낸 세션의 도구 결과에 표시됩니다.
4592 4636
4593```text wrap theme={null}4637```text wrap theme={null}
4594Only a teammate can approve a shutdown request, and this session is not running as one. Nothing was sent. To shut down a teammate, send that teammate a shutdown_request message. The teammate is the one that approves it.4638Only a teammate can approve a shutdown request, and this session is not running as one. Nothing was sent. To shut down a teammate, send that teammate a shutdown_request message. The teammate is the one that approves it.
4595```4639```
4596 4640
4597**할 일:**4641**조치 방법:**
4598 4642
4599* 리드 세션에서 거부가 나타났다면 먼저 팀원이 그 사이에 종료되었는지 확인합니다. 거부는 대신 `shutdown_request`를 보내라는 지시와 함께 Claude에 반환되며 턴이 계속됩니다. 대화형 리드 세션에서는 팀원이 종료 요청을 승인하면 `<name> has shut down.`이 표시됩니다.4643* 리더 세션에서 거부가 나타났다면 먼저 팀원이 그사이에 종료되었는지 확인합니다. 거부 메시지는 대신 `shutdown_request`를 보내라는 지시와 함께 Claude에게 돌아가며, 턴은 계속됩니다. 대화형 리더 세션에서는 팀원이 종료 요청을 승인하면 `<name> has shut down.`이 표시됩니다.
4600* 팀원이 아직 실행 중이면 리드의 프롬프트에서 팀원을 종료하도록 요청합니다. 예를 들어 `Ask the researcher teammate to shut down`입니다. [팀원 종료](https://code.claude.com/docs/ko/agent-teams.md#shut-down-teammates)를 참조합니다.4644* 팀원이 아직 실행 중이라면 리더의 프롬프트에서 팀원을 종료하도록 요청합니다. 예를 들어 `Ask the researcher teammate to shut down`을 입력합니다. [팀원 종료](https://code.claude.com/docs/ko/agent-teams.md#shut-down-teammates)를 참조하세요.
4601* `claude --resume`으로 직접 재개한 이전 팀원이 이 거부를 받았다면 아무것도 전송되지 않았습니다. 해당 세션을 종료하려면 해당 세션의 프롬프트에서 `/exit`를 실행합니다.4645* `claude --resume`으로 직접 재개한 이전 팀원이 이 거부를 받았다면 아무것도 전송되지 않았습니다. 해당 세션을 종료하려면 프롬프트에서 `/exit`를 실행합니다.
4602 4646
4603### Message too large for cross-session delivery4647### Message too large for cross-session delivery
4604 4648
4605Claude의 [교차 세션 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md)가 이 머신의 다른 세션으로 너무 길어서 보낼 수 없었습니다. Claude Code가 거부했고 수신 세션이 아무것도 받지 못했습니다. 거부는 터미널의 배너가 아닌 전송 세션의 도구 결과에 나타납니다. 두 크기와 메시지를 맞추는 방법을 지정합니다:4649이 머신의 다른 세션으로 보낸 Claude의 [세션 간 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md)가 너무 길어서 보낼 수 없었습니다. Claude Code가 이를 거부했으며, 받는 세션은 아무것도 받지 못했습니다. 거부 메시지는 터미널의 배너가 아니라 보낸 세션의 도구 결과에 표시됩니다. 메시지에는 두 크기와 메시지를 제한 안에 맞추는 방법이 표시됩니다.
4606 4650
4607```text wrap theme={null}4651```text wrap theme={null}
4608Failed to send to api-worker: Message too large for cross-session delivery: the serialized message is 1,203,844 characters and the limit is 1,048,576. Shorten the message text — put bulk content in a file the recipient can read rather than in the message — or split it into smaller messages.4652Failed to send to api-worker: Message too large for cross-session delivery: the serialized message is 1,203,844 characters and the limit is 1,048,576. Shorten the message text — put bulk content in a file the recipient can read rather than in the message — or split it into smaller messages.
4609```4653```
4610 4654
4611동일한 텍스트를 다시 보내면 동일한 방식으로 실패합니다.4655같은 텍스트를 다시 보내도 같은 방식으로 실패합니다.
4612 4656
4613**할 일:**4657**조치 방법:**
4614 4658
4615* Claude에 메시지를 요약하거나 대량 콘텐츠를 파일에 넣고 파일의 경로를 보내도록 요청합니다.4659* Claude에게 메시지를 요약하거나, 대량의 내용을 파일에 넣고 파일 경로를 보내도록 요청합니다
4616* Claude에 콘텐츠를 여러 개의 더 짧은 메시지로 나누도록 요청합니다.4660* Claude에게 내용을 여러 개의 짧은 메시지로 나누도록 요청합니다
4617 4661
4618v2.1.235 이전에는 Claude Code가 과도한 크기의 메시지를 보낸 것으로 보고했습니다. 수신 세션이 읽지 않고 삭제했습니다.4662v2.1.235 이전에는 Claude Code가 크기 초과 메시지를 보낸 것으로 보고했습니다. 받는 세션은 이를 읽지 않고 버렸습니다.
4619 4663
4620### Too many messages to this session just now4664### Too many messages to this session just now
4621 4665
4622Claude가 이 머신의 한 세션으로 빠른 [교차 세션 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md) 버스트를 보냈고 버스트가 해당 세션의 받은편지함이 수락하는 것에 도달했습니다. Claude Code가 다음 전송을 거부했고 수신 세션이 아무것도 받지 못했습니다. 거부는 터미널의 배너가 아닌 전송 세션의 도구 결과에 나타납니다:4666Claude가 이 머신의 세션 중 하나에 [세션 간 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md)를 짧은 시간에 연달아 보냈고, 그 양이 해당 세션의 받은편지함이 수용하는 한도에 도달했습니다. Claude Code는 다음 전송을 거부했으며, 받는 세션은 그 전송에서 아무것도 받지 못했습니다. 거부 메시지는 터미널의 배너가 아니라 보낸 세션의 도구 결과에 표시됩니다.
4623 4667
4624```text wrap theme={null}4668```text wrap theme={null}
4625Failed to send to api-worker: Too many messages to this session just now: 30 were sent recently and more would be dropped by its rate limit, so this one was not sent. Batch what remains into one message, or wait a little before sending more.4669Failed to send to api-worker: Too many messages to this session just now: 30 were sent recently and more would be dropped by its rate limit, so this one was not sent. Batch what remains into one message, or wait a little before sending more.
4626```4670```
4627 4671
4628**할 일:**4672**조치 방법:**
4629 4673
4630* 보통 아무것도 하지 않습니다: Claude가 남은 콘텐츠를 한 메시지로 일괄 처리하거나 더 보내기 전에 기다립니다.4674* 대개는 아무것도 하지 않아도 됩니다. Claude가 남은 내용을 하나의 메시지로 묶거나, 더 보내기 전에 기다립니다
4631* 버스트를 직접 프롬프트했으면 Claude에 남은 것을 단일 메시지로 결합하도록 요청합니다.4675* 사용자가 직접 연속 전송을 유도했다면 Claude에게 남은 내용을 하나의 메시지로 합치도록 요청합니다
4632 4676
4633v2.1.236 이전에는 Claude Code가 이러한 전송을 보낸 것으로 보고했습니다. 수신 세션이 읽지 않고 삭제했습니다.4677v2.1.236 이전에는 Claude Code가 이러한 전송을 보낸 것으로 보고했습니다. 받는 세션은 이를 읽지 않고 버렸습니다.
4634 4678
4635### Cross-session message was dropped at the recipient session's inbox4679### Cross-session message was dropped at the recipient session's inbox
4636 4680
4637Claude가 [교차 세션 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md)를 이 머신의 다른 세션으로 보냈고 해당 세션의 받은편지함이 Claude가 해당 세션에서 읽기 전에 메시지를 삭제했습니다. 줄은 수신자의 주소를 지정하고, 수신자가 이유를 제공했을 때 대시 뒤에 이유를 추가합니다:4681Claude가 이 머신의 다른 세션에 [세션 간 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md)를 보냈고, 해당 세션의 Claude가 읽기 전에 그 세션의 받은편지함이 메시지를 버렸습니다. 이 줄에는 수신자가 표시되며, 수신자가 이유를 제공한 경우 대시 뒤에 이유가 추가됩니다.
4638 4682
4639```text wrap theme={null}4683```text wrap theme={null}
4640Cross-session message was dropped at the recipient session's inbox (recipient: uds:/tmp/cc-socks/13605.sock) and not delivered — its queue of undelivered peer messages was full. Claude was told not to resend right away.4684Cross-session message was dropped at the recipient session's inbox (recipient: uds:/tmp/cc-socks/13605.sock) and not delivered — its queue of undelivered peer messages was full. Claude was told not to resend right away.
4641```4685```
4642 4686
4643한 줄이 여러 삭제된 메시지를 포함할 수 있습니다. 그러면 복수형으로 시작합니다. 예를 들어 `Cross-session messages (12) were dropped`입니다. 주소가 어느 세션에 속하는지 찾으려면 각 세션에서 `/status`가 표시하는 [`Peer address` 행](https://code.claude.com/docs/ko/cross-session-messaging#the-sessions-inbox-socket)과 비교합니다.4687한 줄이 여러 개의 버려진 메시지를 나타낼 수 있습니다. 이 경우 `Cross-session messages (12) were dropped`처럼 복수형으로 시작합니다. 주소가 어느 세션에 속하는지 확인하려면 각 세션에서 `/status`가 보여 주는 [`Peer address` 행](https://code.claude.com/docs/ko/cross-session-messaging#the-sessions-inbox-socket)과 비교합니다.
4644 4688
4645대시 뒤에 줄은 다음 이유 중 하나 이상을 제공합니다:4689대시 뒤에는 다음 이유 중 하나 이상이 표시됩니다.
4646 4690
4647* `its queue of undelivered peer messages was full`: 수신자가 이미 다른 세션에서 받은편지함이 허용하는 만큼 많은 전달되지 않은 메시지를 보유하고 있습니다.4691* `its queue of undelivered peer messages was full`: 수신자가 다른 세션에서 온 미전달 메시지를 이미 대기열이 허용하는 최대 개수만큼 보유하고 있었습니다
4648* `you sent faster than that session accepts`: 전송 세션의 메시지가 수신자가 한 발신자로부터 수락하는 것보다 빠르게 도착했습니다.4692* `you sent faster than that session accepts`: 보낸 세션의 메시지가 수신자가 한 발신자로부터 수용하는 것보다 빠르게 도착했습니다
4649* `it repeated your previous message`: 메시지가 전송 세션이 이 수신자로 최근에 보낸 메시지와 동일했습니다.4693* `it repeated your previous message`: 보낸 세션이 직전에 이 수신자에게 보낸 메시지와 동일한 메시지였습니다
4650* `a relay loop between sessions was cut`: 메시지가 세션이 서로 메시지를 보내는 체인을 계속했고 체인이 수신자를 너무 많이 통과했거나 너무 길어졌습니다.4694* `a relay loop between sessions was cut`: 세션들이 서로 메시지를 주고받는 체인을 이어 가는 메시지였으며, 체인이 수신자를 너무 많이 거쳤거나 너무 길어졌습니다
4651 4695
4652**할 일:**4696**조치 방법:**
4653 4697
4654* 수신자가 삭제된 메시지를 본 적이 없다고 가정합니다. Claude Code는 동일하게 Claude에 알리고, 곧바로 다시 보내는 대신 여전히 중요한 것을 나중에 한 메시지에 포함하도록 지시합니다.4698* 수신자가 버려진 메시지를 전혀 보지 못했다고 가정합니다. Claude Code도 Claude에게 같은 내용을 알리며, 즉시 다시 보내는 대신 여전히 중요한 내용을 나중에 하나의 메시지에 포함하도록 안내합니다
4655* 세션이 서로 자주 업데이트를 보내면 Claude에 더 적은 수의 더 큰 메시지를 보내도록 요청합니다. 예를 들어 세션이 작업을 완료할 때 한 보고서입니다.4699* 세션들이 서로 자주 업데이트를 보낸다면, Claude에게 세션이 작업을 마쳤을 때 보고서 하나를 보내는 식으로 더 적고 더 큰 메시지를 보내도록 요청합니다
4656* `a relay loop between sessions was cut`의 경우 세션 중 하나에 직접 다음 지시를 입력합니다. Claude가 사용자의 프롬프트에 응답하여 보내는 메시지는 새 체인을 시작합니다.4700* `a relay loop between sessions was cut`의 경우 세션 중 하나에 다음 지시를 직접 입력합니다. 사용자의 프롬프트에 응답하여 Claude가 보내는 메시지는 새 체인을 시작합니다
4657 4701
4658v2.1.238 이전에는 수신자의 받은편지함이 메시지를 삭제했을 때 전송 세션이 보고를 받지 못했습니다.4702v2.1.238 이전에는 수신자의 받은편지함이 메시지를 버려도 보낸 세션에 아무런 보고가 없었습니다.
4659 4703
4660### 교차 세션 메시지 전송 거부4704### Refusing to send a cross-session message
4661 4705
4662Claude Code가 이 머신의 다른 세션으로 [교차 세션 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md)를 쓰기 전에 대상 세션의 받은편지함 소켓이 메시지가 주소 지정된 엔드포인트인지 확인합니다. 확인이 실패하면 Claude Code가 전송 세션에서 전송을 거부하고 대상 세션이 아무것도 받지 못합니다. Claude가 보내는 메시지의 경우 거부는 전송 세션의 도구 결과에 나타납니다:4706Claude Code는 이 머신의 다른 세션에 [세션 간 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md)를 쓰기 전에, 대상 세션의 받은편지함 소켓이 메시지가 지정된 엔드포인트인지 확인합니다. 검사가 실패하면 Claude Code는 보내는 세션에서 전송을 거부하며, 대상 세션은 아무것도 받지 못합니다. Claude가 보내는 메시지의 경우 거부 메시지는 보낸 세션의 도구 결과에 표시됩니다.
4663 4707
4664```text theme={null}4708```text theme={null}
4665Failed to send to api-worker: Refusing to send: reply target is a symlink4709Failed to send to api-worker: Refusing to send: reply target is a symlink
4666```4710```
4667 4711
4668`Refusing to send:` 뒤의 텍스트는 실패한 확인의 이름을 지정합니다:4712`Refusing to send:` 뒤의 텍스트는 실패한 검사를 나타냅니다.
4669 4713
4670* `reply target is a symlink`: 심볼릭 링크가 대상 세션의 소켓 경로에 있습니다. Claude Code는 링크가 대상 세션이 만들지 않은 엔드포인트로 메시지를 리디렉션할 수 있으므로 이를 통해 전달하지 않습니다.4714* `reply target is a symlink`: 대상 세션의 소켓 경로에 심볼릭 링크가 있습니다. 그 위치의 링크는 대상 세션이 만들지 않은 엔드포인트로 메시지를 리디렉션할 수 있으므로, Claude Code는 이를 통해 전달하지 않습니다.
4671* `cannot vet reply target`: Claude Code가 대상 경로를 전혀 검사할 수 없습니다. 예를 들어 권한 오류로 읽기가 실패한 경우입니다.4715* `cannot vet reply target`: 예를 들어 권한 오류로 읽기가 실패하는 등의 이유로 Claude Code가 대상 경로를 전혀 검사할 수 없었습니다.
4672 4716
4673**할 일:**4717**조치 방법:**
4674 4718
4675* 보통 아무것도 하지 않습니다: 확인은 메시지가 주소 지정된 세션 이외의 엔드포인트에 도달하는 것을 방지하며 아무것도 보내지지 않았습니다.4719* 대개는 아무것도 하지 않아도 됩니다. 이 검사는 메시지가 지정된 세션 이외의 엔드포인트에 도달하지 않도록 막아 주며, 아무것도 전송되지 않았습니다
4676* 한 세션에 대해 `reply target is a symlink`가 반복되면 해당 세션의 소켓 경로에 링크를 만든 것을 확인합니다. 이는 `/status` 아래의 `Peer address`에 표시됩니다.4720* 한 세션에서 `reply target is a symlink`가 반복되면, 해당 세션의 소켓 경로(`/status`의 `Peer address`에 표시됨)에 무엇이 링크를 만들었는지 확인합니다
4677 4721
4678### 경로 읽기, 쓰기 또는 검색 거부4722### Refusing to read, write, or search a path
4679 4723
4680Claude Code는 파일 경로의 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#read-and-edit)을 확인한 다음 도구가 파일을 열거나 검색을 시작할 때 해석을 다시 확인합니다. 경로가 여전히 확인이 승인한 위치로 이어지는지 확인할 수 없으면 Claude Code는 따르는 대신 작업을 거부합니다. 거부는 도구 결과에 나타납니다:4724Claude Code는 파일 경로의 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#read-and-edit)을 확인한 다음, 도구가 파일을 열거나 검색을 시작할 때 그 경로 해석을 다시 확인합니다. 경로가 여전히 검사에서 승인된 위치로 연결되는지 확인할 수 없으면, Claude Code는 경로를 따라가지 않고 작업을 거부합니다. 거부 메시지는 도구 결과에 표시됩니다.
4681 4725
4682```text wrap theme={null}4726```text wrap theme={null}
4683Refusing to read /path/to/file: its symlink resolution changed after permission was checked (a link on the way now leads somewhere the check did not see). If a link in the working directory is being rewritten concurrently, stop that and retry.4727Refusing to read /path/to/file: its symlink resolution changed after permission was checked (a link on the way now leads somewhere the check did not see). If a link in the working directory is being rewritten concurrently, stop that and retry.
4684```4728```
4685 4729
4686각 거부는 이유를 지정합니다:4730각 거부 메시지에는 이유가 표시됩니다.
4687 4731
4688* `its symlink resolution changed after permission was checked`: 경로를 따라 또는 Grep 또는 Glob 검색 루트에서 심볼릭 링크가 권한 확인과 작업 사이에 대체되었습니다. 읽기 거부에서 괄호 안의 구문은 어느 비교가 실패했는지 지정합니다.4732* `its symlink resolution changed after permission was checked`: 권한 검사와 작업 사이에 경로상의 심볼릭 링크 또는 Grep이나 Glob 검색 루트의 심볼릭 링크가 교체되었습니다. 읽기 거부의 경우 괄호 안의 문구가 어떤 비교가 실패했는지 나타냅니다.
4689* `its parent-directory symlink resolution changed after permission was checked`: 쓰기 경로가 통과하는 디렉터리가 더 이상 승인된 위치로 해석되지 않습니다.4733* `its parent-directory symlink resolution changed after permission was checked`: 쓰기 경로가 거치는 디렉터리가 더 이상 승인된 위치로 해석되지 않습니다
4690* `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가 경로를 디스크의 최종 위치로 따를 수 없습니다. 예를 들어 경로의 심볼릭 링크가 루프를 형성하는 경우입니다.4734* `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가 경로를 디스크상의 최종 위치까지 따라갈 수 없었습니다
4691* `it is a symbolic link. Write to the link's target path instead`: 심볼릭 링크가 요청된 쓰기 위치 자체에 있습니다. 예를 들어 `CLAUDE.md`가 `AGENTS.md`로의 심볼릭 링크입니다. 메시지는 Claude를 링크의 대상으로 지시합니다.4735* `it is a symbolic link. Write to the link's target path instead`: 요청된 쓰기 위치 자체에 심볼릭 링크가 있습니다. 예를 들어 `AGENTS.md`에 대한 심볼릭 링크인 `CLAUDE.md`가 이에 해당하며, 메시지는 Claude에게 링크의 대상을 사용하도록 안내합니다
4692* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: 다른 작성자가 파일을 열 때 같은 조건이 포착됩니다. 예를 들어 심볼릭 링크된 `.mcp.json`에 대한 쓰기입니다.4736* `Refusing to write through symlink: <path>. Resolve the symlink and pass the real target path explicitly.`: 심볼릭 링크된 `.mcp.json`에 대한 쓰기처럼, 다른 쓰기 주체가 파일을 열 때 같은 조건이 감지된 경우입니다
4693* `Refusing to write into symlinked directory: <path>`: 파일을 보유한 디렉터리 자체가 심볼릭 링크입니다. 예를 들어 프로젝트의 `.claude/` 디렉터리가 다른 위치로 연결되어 있습니다.4737* `Refusing to write into symlinked directory: <path>`: 파일을 담고 있는 디렉터리 자체가 심볼릭 링크입니다. 예를 들어 프로젝트의 `.claude/` 디렉터리가 다른 위치로 링크된 경우입니다
4694* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: 검색에 대한 `Read` 거부 규칙이 심볼릭 링크를 통과하는 경로의 이름을 지정했고 Claude Code가 검색을 준비하는 동안 해당 링크가 변경되었습니다.4738* `a path one of its Read deny rules is written through changed while the search was being prepared. Retry.`: 검색에 적용되는 `Read` 거부 규칙이 심볼릭 링크를 거치는 경로를 지정하며, Claude Code가 검색을 준비하는 동안 그 링크가 변경되었습니다
4695* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`: 검색 루트가 존재하지만 열 수 없습니다. 괄호 안의 코드는 운영 체제 오류입니다.4739* `it could not be opened (EACCES) — it is unreadable, or is being replaced concurrently.`: 검색 루트는 존재하지만 열 수 없었습니다. 괄호 안의 코드는 운영 체제 오류입니다
4696* `its permission check expired before it ran (too many concurrent file operations). Retry.`: Claude Code가 많은 동시 파일 작업 중에 도구가 사용하기 전에 승인 기록을 제거했습니다. 재시도하면 새로운 권한 확인을 실행합니다.4740* `its permission check expired before it ran (too many concurrent file operations). Retry.`: 동시 파일 작업이 많아 도구가 사용하기 전에 Claude Code가 승인 기록을 제거했습니다. 재시도하면 새로운 권한 검사가 실행됩니다
4697* `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` 바이너리를 절대 경로로 해석할 수 없어서, 거부 규칙이 적용되지 않는 검색을 실행하는 대신 작업 디렉터리 외부의 검색을 거부합니다.4741* `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` 바이너리를 절대 경로로 해석할 수 없어서, 거부 규칙이 적용되지 않는 검색을 실행하는 대신 작업 디렉터리 외부의 검색을 거부합니다
4698 4742
4699**할 일:**4743**조치 방법:**
4700 4744
4701* 보통 아무것도 하지 않습니다: 거부는 Claude에 도구 결과로 도달하고 거부된 작업은 실행되지 않습니다.4745* 대개는 아무것도 하지 않아도 됩니다. 거부 메시지는 도구 결과로 Claude에게 전달되며, 거부된 작업은 실행되지 않습니다
4702* 한 경로에서 심볼릭 링크 거부가 반복되면 빌드 도구 또는 파일 감시자와 같이 링크를 계속 다시 쓰는 것을 찾거나 Claude에 링크된 경로 대신 파일의 해석된 경로를 사용하도록 요청합니다.4746* 한 경로에서 심볼릭 링크 거부가 반복되면, 빌드 도구나 파일 감시자처럼 그 위치의 링크를 계속 다시 쓰는 것이 무엇인지 찾거나, Claude에게 링크된 경로 대신 파일의 해석된 경로를 사용하도록 요청합니다
4703* 이 거부가 Claude Code가 AppContainer 또는 제한된 토큰 샌드박스 내의 Windows에서 실행될 때 모든 파일에 대해 나타나면 v2.1.265 이상으로 업그레이드합니다.4747* Windows에서 AppContainer 또는 제한된 토큰 샌드박스 안에서 Claude Code를 실행할 때 모든 파일에 대해 이 거부가 나타나면 v2.1.265 이상으로 업그레이드합니다
4704* 읽기 거부가 macOS에서 스크린샷을 프롬프트로 드래그한 것처럼 아무것도 다시 쓰지 않는 파일에 대해 나타나면 v2.1.273 이상으로 업그레이드합니다.4748* macOS에서 프롬프트로 끌어다 놓은 스크린샷처럼 아무것도 다시 쓰고 있지 않은 파일에 대해 읽기 거부가 나타나면 v2.1.273 이상으로 업그레이드합니다
4705* ripgrep 거부의 경우 패키지 관리자로 ripgrep을 설치하여 `rg`가 `PATH`의 절대 경로로 해석되도록 하거나 검색을 작업 디렉터리 아래로 유지합니다.4749* ripgrep 거부의 경우 패키지 관리자로 ripgrep을 설치하여 `rg`가 `PATH`에서 절대 경로로 해석되도록 하거나, 검색을 작업 디렉터리 내로 유지합니다
4706 4750
4707v2.1.251 이전에는 Claude Code가 파일 쓰기에 대해서만 경로의 해석을 다시 확인했으므로 권한 확인 후 대체된 링크가 메시지 없이 읽기 또는 검색을 다른 위치로 리디렉션할 수 있었습니다. 이러한 거부 중에서 부모 디렉터리, 심볼릭 링크를 통한, 그리고 심볼릭 링크된 디렉터리 쓰기 거부만 이전 버전에 나타납니다.4751v2.1.251 이전에는 Claude Code가 파일 쓰기에 대해서만 경로 해석을 다시 확인했기 때문에, 권한 검사 후 교체된 링크가 아무런 메시지 없이 읽기나 검색을 다른 위치로 리디렉션할 수 있었습니다. 이 중 상위 디렉터리, 심볼릭 링크 경유, 심볼릭 링크된 디렉터리에 대한 쓰기 거부만 이전 버전에서도 나타납니다.
4708 4752
4709v2.1.280 이전에는 `where it leads on disk could not be determined` 거부가 나타나지 않았습니다.4753v2.1.280 이전에는 `where it leads on disk could not be determined` 거부가 나타나지 않았습니다.
4710 4754
4711### Task output swap refused4755### Task output swap refused
4712 4756
4713Claude Code는 각 Bash 명령의 출력을 임시 디렉터리 아래의 파일에 저장합니다. 이러한 파일 중 하나를 열 때마다 경로가 여전히 생성한 파일로 이어지는지 확인합니다. 심볼릭 링크, 추가 하드 링크 또는 이동된 디렉터리가 리디렉션하지 않습니다. 이 메시지는 확인이 실패했음을 의미하므로 Claude Code는 해당 경로를 통해 쓰거나 읽는 대신 작업을 거부했습니다. 메시지는 Bash 도구 결과에 나타납니다:4757Claude Code는 각 Bash 명령의 출력을 임시 디렉터리 아래의 파일에 저장합니다. 이러한 파일을 열 때마다 심볼릭 링크, 추가 하드 링크 또는 이동된 디렉터리가 경로를 리디렉션하지 않고 경로가 여전히 자신이 만든 파일로 연결되는지 확인합니다. 이 메시지는 해당 검사가 실패했다는 의미이며, Claude Code는 그 경로를 통해 출력을 쓰거나 읽는 대신 작업을 거부했습니다. 메시지는 Bash 도구 결과에 표시됩니다.
4714 4758
4715```text wrap theme={null}4759```text wrap theme={null}
4716task 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.4760task 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.
4717```4761```
4718 4762
4719괄호 안의 텍스트는 실패한 확인의 이름을 지정합니다. `output symlink was re-pointed`, `output file identity changed`, `not a regular file`과 같은 이유는 모두 동일한 조건을 보고합니다: 출력 경로의 또는 따라 무언가가 더 이상 Claude Code가 생성한 파일이 아닙니다. 일부 이유만 `To recover:` 문장을 전달합니다.4763괄호 안의 텍스트는 실패한 검사를 나타냅니다. `output symlink was re-pointed`, `output file identity changed`, `not a regular file` 같은 이유는 모두 같은 상태를 보고합니다. 즉, 출력 경로 또는 그 경로상의 무언가가 더 이상 Claude Code가 만든 파일이 아닙니다. 일부 이유에만 `To recover:` 문장이 포함됩니다.
4720 4764
4721명령이 여전히 실행 중일 때 확인이 실패하면 Claude Code가 명령을 중지하고 결과는 다음을 보고합니다:4765명령이 아직 실행 중일 때 검사가 실패하면 Claude Code는 명령을 중지하며, 결과에 다음과 같이 보고됩니다.
4722 4766
4723```text theme={null}4767```text theme={null}
4724Command killed: its output file was replaced or could no longer be verified4768Command killed: its output file was replaced or could no longer be verified
4725```4769```
4726 4770
4727**할 일:**4771**조치 방법:**
4728 4772
4729* v2.1.260 이상으로 업그레이드합니다. 이전 버전은 링크 또는 이동된 디렉터리가 없을 때도 이 메시지를 표시하기도 했습니다.4773* v2.1.260 이상으로 업그레이드합니다. 이전 버전에서는 링크나 이동된 디렉터리가 없는데도 이 메시지가 표시되는 경우가 있었습니다
4730* [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars)을 새 디렉터리로 설정하여 Claude Code를 다시 시작합니다.4774* [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars)를 새 디렉터리로 설정하여 Claude Code를 다시 시작합니다
4731* 또는 Claude Code 임시 디렉터리 아래의 프로젝트 디렉터리를 확인합니다. 예제 메시지의 `/private/tmp/claude-501/-Users-you-my-project`입니다. 해당 경로가 심볼릭 링크이거나 거기에 있으면 안 되는 디렉터리이면 링크의 대상이 아닌 링크 또는 디렉터리 자체를 제거하고 Claude Code를 다시 시작합니다.4775* 또는 Claude Code 임시 디렉터리 아래에 있는 프로젝트의 디렉터리(예시 메시지에서는 `/private/tmp/claude-501/-Users-you-my-project`)를 확인합니다. 해당 경로가 심볼릭 링크이거나 있어서는 안 되는 디렉터리라면, 링크의 대상이 아니라 링크 또는 디렉터리 자체를 제거하고 Claude Code를 다시 시작합니다
4732* 거부가 반복되면 프로세스가 세션이 실행되는 동안 Claude Code의 임시 디렉터리 아래의 항목을 대체, 링크 또는 제거합니다. [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars)을 다른 것이 관리하지 않는 디렉터리로 설정하고 다시 시작합니다.4776* 거부가 반복되면 세션이 실행되는 동안 어떤 프로세스가 Claude Code의 임시 디렉터리 아래 항목을 교체, 링크 또는 제거하고 있는 것입니다. [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars)를 다른 것이 관리하지 않는 디렉터리로 설정하고 다시 시작합니다
4733 4777
4734### 디스크가 가득 찼거나 디스크 할당량이 소진됨4778### Disk full or disk quota used up
4735 4779
4736Claude Code의 임시 디렉터리를 보유한 볼륨에서 공간, inode 또는 디스크 할당량을 확보합니다. 명령 결과에서 `Disk full:`, `Disk quota used up:` 또는 `Nearly out of inodes:`로 시작하는 줄이 해당 디렉터리를 지정합니다.4780Claude Code의 임시 디렉터리가 있는 볼륨에서 공간, inode 또는 디스크 할당량을 확보합니다. 명령 결과에서 `Disk full:`, `Disk quota used up:` 또는 `Nearly out of inodes:`로 시작하는 줄에 해당 디렉터리가 표시됩니다.
4737 4781
4738Claude Code는 각 Bash 및 PowerShell 명령의 출력을 해당 디렉터리 아래의 파일에 저장합니다. 볼륨 또는 그 볼륨에 대한 사용자의 할당량이 가득 차서 해당 파일을 만들 수 없으면 명령이 시작되지 않으며, Claude가 읽는 결과는 다음과 같습니다:4782Claude Code는 각 Bash 및 PowerShell 명령의 출력을 해당 디렉터리 아래의 파일에 저장합니다. 볼륨 또는 그 볼륨의 사용자 할당량이 가득 차서 이 파일을 만들 수 없으면 명령이 시작되지 않으며, Claude가 읽는 결과는 다음과 같습니다.
4739 4783
4740```text wrap theme={null}4784```text wrap theme={null}
4741The command was not started: this computer's disk is full (ENOSPC) on the volume holding /tmp/claude-501 (Claude Code's temporary directory), so the file that captures command output could not be created there and nothing ran. Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.4785The command was not started: this computer's disk is full (ENOSPC) on the volume holding /tmp/claude-501 (Claude Code's temporary directory), so the file that captures command output could not be created there and nothing ran. Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.
4742```4786```
4743 4787
4744나머지 세 가지 메시지는 실행된 후 0이 아닌 코드로 종료된 명령 뒤에 나타납니다. 다음 예시는 `Disk full:` 형식입니다:4788`Disk full:`, `Disk quota used up:`, `Nearly out of inodes:` 메시지는 실행되어 0이 아닌 코드로 종료된 명령 뒤에 나타납니다. 예를 들면 다음과 같습니다.
4745 4789
4746```text wrap theme={null}4790```text wrap theme={null}
4747Disk full: this computer's volume holding /tmp/claude-501 (Claude Code's temporary directory) has 3 MB free, so whatever this command printed was lost and its own writes may have failed with "No space left on device". Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.4791Disk full: this computer's volume holding /tmp/claude-501 (Claude Code's temporary directory) has 3 MB free, so whatever this command printed was lost and its own writes may have failed with "No space left on device". Free space on that volume, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another one, then retry. If this is the user's own computer, tell them before deleting anything to make room.
4748```4792```
4749 4793
4750**할 일:**4794**조치 방법:**
4751 4795
4752* macOS 및 Linux에서는 셸에서 `df -h <dir>`를 실행하여 어떤 볼륨이 디렉터리를 보유하고 있으며 얼마나 가득 찼는지 확인합니다. `df -i <dir>`는 여유 inode 수를 표시합니다. `<dir>`은 메시지가 지정하는 디렉터리이며, 예를 들어 `df -i /tmp/claude-501`와 같이 사용합니다.4796* macOS와 Linux에서는 셸에서 `df -h <dir>`를 실행하여 어떤 볼륨이 디렉터리를 담고 있으며 얼마나 차 있는지 확인합니다. `df -i <dir>`는 사용 가능한 inode 수를 보여 줍니다. `<dir>`는 메시지에 표시된 디렉터리이며, 예를 들어 `df -i /tmp/claude-501`처럼 사용합니다
4753* **`Disk full: this computer's volume` 또는 `disk is full (ENOSPC)`**: 해당 볼륨의 어느 곳에서든 필요하지 않은 파일을 삭제합니다.4797* **`Disk full: this computer's volume` 또는 `disk is full (ENOSPC)`**: 해당 볼륨의 어디에서든 필요 없는 파일을 삭제합니다
4754* **`Disk quota used up:` 또는 `Disk full: a test write`**: 볼륨에 여유 공간이 여전히 표시되더라도 해당 볼륨에서 사용자 본인의 파일을 삭제합니다.4798* **`Disk quota used up:`, `disk quota is used up (EDQUOT)` 또는 `Disk full: a test write`**: 볼륨에 아직 여유 공간이 표시되더라도 해당 볼륨에서 본인의 파일을 삭제합니다
4755* **`disk quota is used up (EDQUOT)`**: 해당 볼륨에서 사용자 본인의 파일을 삭제합니다.4799* **`Nearly out of inodes:`**: 해당 볼륨에서 많은 파일을 삭제합니다. 각 파일은 크기와 관계없이 inode를 하나씩 차지하므로, 크기가 아니라 개수가 중요합니다
4756* **`Nearly out of inodes:`**: 해당 볼륨에서 많은 파일을 삭제합니다. 각 파일은 크기에 관계없이 하나의 inode를 차지하므로 크기가 아닌 개수가 중요합니다.4800* 또는 [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars)를 여유 공간이 있는 볼륨의 디렉터리로 설정하여 Claude Code를 다시 시작합니다
4757* 또는 [`CLAUDE_CODE_TMPDIR`](https://code.claude.com/docs/ko/env-vars)을 여유 공간이 있는 볼륨의 디렉터리로 설정하여 Claude Code를 다시 시작합니다.4801* 그런 다음 Claude에게 명령을 다시 실행하도록 합니다
4758* 그런 다음 Claude에 명령을 다시 실행하도록 합니다.
4759 4802
4760v2.1.309 이전에는 메시지가 다음과 같았으며, 동일한 단계가 적용됩니다:4803v2.1.309 이전에는 메시지가 다음과 같았으며, 같은 단계가 적용됩니다.
4761 4804
4762* `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)`4805* `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)`
4763* `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)`4806* `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)`
4764* `Command output was lost: the temp filesystem at <dir> is full` 또는 `... is out of inodes`4807* `Command output was lost: the temp filesystem at <dir> is full` 또는 `... is out of inodes`
4765* `The command was not started: this computer's disk is full (ENOSPC), so the file that captures command output could not be created. Nothing ran.` 또는 `(EDQUOT)`가 포함된 동일한 메시지. 이 형식은 디렉터리를 지정하지 않습니다: `/tmp`와 같은 시스템 임시 디렉터리 또는 `CLAUDE_CODE_TMPDIR`에 설정된 디렉터리를 보유한 볼륨을 확인합니다.4808* `The command was not started: this computer's disk is full (ENOSPC), so the file that captures command output could not be created. Nothing ran.` 또는 `(EDQUOT)`가 붙은 같은 메시지. 이 형식에는 디렉터리가 표시되지 않으므로, `/tmp` 같은 시스템 임시 디렉터리가 있는 볼륨이나 `CLAUDE_CODE_TMPDIR`에 설정된 디렉터리를 확인합니다
4809
4810v2.1.305 이전에는 디스크가 가득 차서 Claude Code가 시작할 수 없었던 명령이 운영 체제의 오류 텍스트만 반환했습니다. 예를 들어 그 텍스트는 `ENOSPC: no space left on device, open <path>.output`과 같았습니다.
4766 4811
4767v2.1.305 이전에는 디스크가 가득 차서 Claude Code가 시작할 수 없었던 명령이 운영 체제의 오류 텍스트만 반환했습니다. 해당 텍스트는 예를 들어 `ENOSPC: no space left on device, open <path>.output`였습니다.4812### git is not installed on this Mac
4813
4814이 메시지는 Claude Code의 어떤 단계에 git이 필요했는데, 찾은 git이 `/usr/bin/git`에 있는 Apple의 대체 프로그램이라는 의미입니다. git을 제공하는 개발자 도구가 설치되어 있지 않습니다.
4815
4816Claude Code는 대체 프로그램을 시작하지 않고 대신 이 텍스트를 표시하며, 예를 들어 더 긴 메시지 안에 포함되어 표시될 수 있습니다.
4817
4818```text wrap theme={null}
4819git is not installed on this Mac. To install it, run xcode-select --install, then try again.
4820```
4821
4822**조치 방법:**
4823
4824* 터미널에서 `xcode-select --install`을 실행하고, 시작되는 설치를 완료한 다음, Claude Code에서 하던 작업을 다시 시도합니다
4768 4825
4769### File is not valid UTF-84826### File is not valid UTF-8
4770 4827
4771Claude가 바이트가 UTF-8로 디코딩되지 않는 파일에 Edit 또는 NotebookEdit 도구를 사용했고, Claude Code가 변경을 거부했습니다. 아무것도 쓰이지 않았으므로 파일은 이전 상태 그대로입니다. 이 도구들은 파일 전체를 UTF-8로 다시 저장하므로, 디코딩할 수 없는 모든 바이트가 대체 문자 `U+FFFD`로 바뀌었을 것입니다. 메시지는 도구 결과에 나타납니다:4828Claude가 바이트가 UTF-8로 디코딩되지 않는 파일에 Edit 또는 NotebookEdit 도구를 사용했으며, Claude Code가 변경을 거부했습니다. 아무것도 쓰지 않았으므로 파일은 원래 상태 그대로입니다. 이 도구들은 파일 전체를 UTF-8로 다시 저장하므로, 디코딩할 수 없는 모든 바이트가 대체 문자 `U+FFFD`로 바뀌었을 것입니다. 메시지는 도구 결과에 표시됩니다.
4772 4829
4773```text wrap theme={null}4830```text wrap theme={null}
4774File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary. This tool saves the whole file as UTF-8, which would replace every byte it cannot decode with U+FFFD. Nothing was written. Make the change with a shell command that reads and writes the file in its own encoding, or ask the user whether to convert the file to UTF-8 first.4831File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary. This tool saves the whole file as UTF-8, which would replace every byte it cannot decode with U+FFFD. Nothing was written. Make the change with a shell command that reads and writes the file in its own encoding, or ask the user whether to convert the file to UTF-8 first.
4775```4832```
4776 4833
4777UTF-8이어야 하는 파일도 잘못된 바이트 시퀀스가 하나라도 포함되어 있으면 이 메시지가 표시됩니다. 확인이 파일의 바이트 전체를 대상으로 하기 때문입니다.4834검사는 파일의 바이트 전체를 대상으로 하므로, UTF-8이어야 하는 파일도 잘못된 바이트 시퀀스가 하나라도 포함되어 있으면 이 메시지가 표시됩니다.
4778 4835
4779**할 일:**4836**조치 방법:**
4780 4837
4781* 파일을 현재 인코딩으로 유지하려면, 메시지가 지시하는 대로 Claude가 해당 인코딩으로 파일을 읽고 쓰는 셸 명령으로 변경하도록 합니다.4838* 파일을 현재 인코딩으로 유지하려면, 메시지가 안내하는 대로 Claude가 해당 인코딩으로 파일을 읽고 쓰는 셸 명령을 사용해 변경하도록 합니다
4782* Edit 도구로 파일을 계속 편집하려면 파일을 UTF-8로 변환하거나, UTF-8이어야 하는 파일의 잘못된 바이트를 수정한 다음 Claude에 편집을 다시 요청합니다.4839* Edit 도구로 파일을 계속 편집하려면 파일을 UTF-8로 변환하거나, UTF-8이어야 하는 파일의 잘못된 바이트를 수정한 다음 Claude에게 다시 편집하도록 요청합니다
4783 4840
4784v2.1.296 이전에는 Edit와 NotebookEdit가 이러한 편집을 적용하고 디코딩할 수 없는 모든 바이트를 `U+FFFD`로 저장했습니다. 해당 버전에서는 Claude Code를 업데이트합니다.4841v2.1.296 이전에는 Edit와 NotebookEdit가 이러한 편집을 적용하고 디코딩할 수 없는 모든 바이트를 `U+FFFD`로 저장했습니다. 해당 버전을 사용 중이라면 Claude Code를 업데이트합니다.
4785 4842
4786### The source file is not valid UTF-8 text4843### The source file is not valid UTF-8 text
4787 4844
4788Claude가 바이트가 텍스트로 디코딩되지 않거나 텍스트가 이미 대체 문자 `U+FFFD`를 포함하는 파일에서 [아티팩트](https://code.claude.com/docs/ko/artifacts.md)를 게시하려고 했으므로 Claude Code는 아무것도 업로드하기 전에 게시를 거부했습니다. 메시지는 Artifact 도구 결과에 나타나고 수정할 첫 번째 위치의 이름을 지정합니다:4845Claude가 바이트가 텍스트로 디코딩되지 않거나 텍스트에 이미 대체 문자 `U+FFFD`가 포함된 파일에서 [아티팩트](https://code.claude.com/docs/ko/artifacts.md)를 게시하려 했기 때문에, Claude Code가 아무것도 업로드하기 전에 게시를 거부했습니다. 메시지는 Artifact 도구 결과에 표시되며 수정할 첫 번째 위치를 알려 줍니다.
4789 4846
4790```text wrap theme={null}4847```text wrap theme={null}
4791file_path: the source file is not valid UTF-8 text (first invalid byte at line 12, column 40). It may be saved in another encoding or contain binary data. Rewrite it as UTF-8, then publish again. Nothing was published.4848file_path: the source file is not valid UTF-8 text (first invalid byte at line 12, column 40). It may be saved in another encoding or contain binary data. Rewrite it as UTF-8, then publish again. Nothing was published.
4793file_path: the source file has the replacement character U+FFFD at line 12, column 40, usually left where an earlier edit or paste lost a character. Replace it with the intended text (in HTML, write an intended U+FFFD as �), then publish again. Nothing was published.4850file_path: the source file has the replacement character U+FFFD at line 12, column 40, usually left where an earlier edit or paste lost a character. Replace it with the intended text (in HTML, write an intended U+FFFD as �), then publish again. Nothing was published.
4794```4851```
4795 4852
4796Claude Code는 파일을 UTF-8로 디코딩하거나 리틀 엔디안 UTF-16 바이트 순서 표시로 시작할 때 UTF-16으로 디코딩합니다. 그러한 UTF-16 파일이 디코딩되지 않으면 첫 번째 메시지는 `UTF-16`의 이름을 지정하고 여전히 파일을 UTF-8로 다시 쓰도록 지시합니다. 명명된 위치 뒤에 더 많은 위치가 따르면 메시지는 위치 뒤에 `(+2 more)`과 같은 개수를 추가합니다.4853Claude Code는 파일을 UTF-8로 디코딩하며, 파일이 리틀 엔디언 UTF-16 바이트 순서 표시로 시작하면 UTF-16으로 디코딩합니다. 이러한 UTF-16 파일이 디코딩되지 않으면 첫 번째 메시지에 `UTF-16`이 표시되지만, 여전히 파일을 UTF-8로 다시 작성하라고 안내합니다. 표시된 위치 뒤에 다른 위치가 더 있으면, 메시지는 위치 뒤에 `(+2 more)` 같은 개수를 덧붙입니다.
4797 4854
4798**할 일:**4855**조치 방법:**
4799 4856
4800* 보통 아무것도 하지 않습니다: Claude가 파일을 다시 쓰고 게시합니다.4857* 대개는 아무것도 하지 않아도 됩니다. Claude가 파일을 다시 작성하고 다시 게시합니다
4801* 파일이 사용자가 작성하거나 내보낸 것이면 UTF-8로 다시 저장하고 각 `U+FFFD`를 이전 편집, 붙여넣기 또는 변환이 손실한 문자로 바꿉니다.4858* 사용자가 작성하거나 내보낸 파일이라면 UTF-8로 다시 저장하고, 각 `U+FFFD`를 이전 편집, 붙여넣기 또는 변환에서 유실된 문자로 교체합니다
4802* 페이지에 의도적인 `U+FFFD`를 표시하려면 리터럴 문자 대신 HTML에서 `�`로 작성합니다.4859* 페이지에 의도적으로 `U+FFFD`를 표시하려면 HTML에서 리터럴 문자 대신 `�`로 작성합니다
4803 4860
4804v2.1.267 이전에는 Claude Code가 그러한 파일을 확인 없이 업로드했고 서버가 대신 게시를 거부했습니다.4861v2.1.267 이전에는 Claude Code가 이러한 파일을 검사하지 않고 업로드했으며, 대신 서버가 게시를 거부했습니다.
4805 4862
4806### Not published: that file is on a network share4863### Not published: that file is on a network share
4807 4864
4808Claude가 네트워크 호스트를 지정하는 경로에 있는 파일에서 [아티팩트](https://code.claude.com/docs/ko/artifacts.md)를 게시하려고 했습니다:4865Claude가 네트워크 호스트를 가리키는 경로에 있는 파일에서 [아티팩트](https://code.claude.com/docs/ko/artifacts.md)를 게시하려 했습니다.
4809 4866
4810* Windows에서는 시작 시 [`--add-dir`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 전달한 매핑된 네트워크 드라이브 아래에 있지 않은 `\\server\share` 경로4867* Windows에서는 시작 시 [`--add-dir`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 전달한 매핑된 네트워크 드라이브 아래에 있지 않은 `\\server\share` 경로
4811* macOS 또는 Linux에서는 `/net/<host>/page.html`과 같은 자동 마운트 경로4868* macOS 또는 Linux에서는 `/net/<host>/page.html` 같은 자동 마운트 경로
4812 4869
4813이러한 경로를 조회하면 경로가 지정하는 호스트에 연결되며, Windows에서는 이 연결로 인해 호스트에 사용자의 자격 증명이 전송될 수 있습니다. Claude Code는 파일 게시를 거부하며 파일을 읽지 않습니다. 거부는 Artifact 도구 결과에 나타납니다:4870이러한 경로를 조회하면 경로가 가리키는 호스트에 연결하게 되며, Windows에서는 이 연결로 사용자의 자격 증명이 해당 호스트에 전송될 수 있습니다. Claude Code는 파일 게시를 거부하며 파일을 읽지 않습니다. 거부 메시지는 Artifact 도구 결과에 표시됩니다.
4814 4871
4815```text theme={null}4872```text theme={null}
4816Not published: that file is on a network share. Publish a file from this session's folders instead.4873Not published: that file is on a network share. Publish a file from this session's folders instead.
4817```4874```
4818 4875
4819**할 일:**4876**조치 방법:**
4820 4877
4821* 해당 파일이 꼭 필요하지 않다면 아무것도 하지 않습니다: 메시지는 Claude에 세션 자체 폴더의 파일을 대신 게시하도록 지시합니다.4878* 정확히 그 파일이 필요하지 않다면 아무것도 하지 않아도 됩니다. 메시지가 Claude에게 대신 세션의 폴더에 있는 파일을 게시하도록 안내합니다
4822* 해당 파일을 그대로 게시하려면 로컬 디스크의 폴더로 복사하고 다시 요청합니다.4879* 정확히 그 파일을 게시하려면 로컬 디스크의 폴더로 복사한 다음 다시 요청합니다
4823* Windows에서 Claude가 공유에서 직접 게시할 수 있게 하려면 공유를 드라이브 문자에 매핑하고 Claude Code를 시작할 때 해당 드라이브를 전달합니다. 예를 들어 PowerShell에서 `net use Z: \\server\share`를 실행한 다음 `claude --add-dir Z:\`를 실행합니다. 그러면 Claude가 해당 드라이브의 파일을 게시할 수 있습니다. 세션 도중 `/add-dir`로 드라이브를 추가하는 것으로는 충분하지 않습니다.4880* Windows에서 Claude가 공유에서 직접 게시할 수 있게 하려면, 공유를 드라이브 문자에 매핑하고 Claude Code를 시작할 때 해당 드라이브를 전달합니다. 예를 들어 PowerShell에서 `net use Z: \\server\share`를 실행한 다음 `claude --add-dir Z:\`를 실행합니다. 그러면 Claude가 해당 드라이브의 파일을 게시할 수 있습니다. 세션 도중 `/add-dir`로 드라이브를 추가하는 것만으로는 충분하지 않습니다.
4824* macOS 또는 Linux에서는 `/mnt` 또는 `/Volumes` 아래와 같은 디렉터리에 공유를 마운트하고, 자동 마운트 경로 대신 해당 경로에서 게시합니다.4881* macOS 또는 Linux에서는 `/mnt` 또는 `/Volumes` 아래의 디렉터리 같은 위치에 공유를 마운트하고, 자동 마운트 경로 대신 그 경로에서 게시합니다
4825 4882
4826### Not published: Claude sent the same content again after a newer version of the artifact turned it away4883### Not published: Claude sent the same content again after a newer version of the artifact turned it away
4827 4884
4828Artifact 호출 아래에 표시되는 이 빨간색 줄은 Claude Code가 반복된 게시를 중지했음을 의미합니다: [아티팩트](https://code.claude.com/docs/ko/artifacts.md)는 업데이트되지 않았으며, Claude가 게시에 사용하는 파일에도 아무것도 쓰이지 않았습니다. Claude가 게시하지 않고 멈추지 않는 한 아무것도 할 필요가 없습니다.4885Artifact 호출 아래에 표시되는 이 빨간 줄은 Claude Code가 반복된 게시를 중지했다는 의미입니다. [아티팩트](https://code.claude.com/docs/ko/artifacts.md)는 업데이트되지 않았으며, Claude가 게시에 사용하는 파일에도 아무것도 쓰지 않았습니다. Claude가 게시하지 않고 멈추지 않는 한 아무것도 할 필요가 없습니다.
4829 4886
4830세션 앞부분에서 Claude Code는 아티팩트에 더 새로운 버전이 있어서 게시를 거절했습니다. 예를 들어 [편집자](https://code.claude.com/docs/ko/artifacts.md#let-someone-edit-with-you)나 사용자의 다른 세션이 게시한 버전입니다. 줄의 끝부분은 Claude가 다음에 해야 할 일을 알려줍니다:4887세션 초반에 아티팩트에 더 새로운 버전(예: [편집자](https://code.claude.com/docs/ko/artifacts.md#let-someone-edit-with-you)나 다른 세션이 게시한 버전)이 있어서 Claude Code가 게시를 거절했습니다. 줄의 끝부분이 Claude가 다음에 해야 할 일을 알려 줍니다.
4831 4888
4832```text wrap theme={null}4889```text wrap theme={null}
4833Not published: Claude sent the same content again after a newer version of the artifact turned it away. Claude needs to work from that newer version first.4890Not published: Claude sent the same content again after a newer version of the artifact turned it away. Claude needs to work from that newer version first.
4836Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. The artifact hasn't changed since, so publishing once more should go through.4893Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. The artifact hasn't changed since, so publishing once more should go through.
4837```4894```
4838 4895
4839**할 일:**4896**조치 방법:**
4840 4897
4841* **`Claude needs to work from that newer version first`로 끝나는 경우**: Claude가 거기서 멈췄다면 아티팩트의 현재 버전을 가져와 변경 사항을 병합한 다음 다시 게시하도록 요청합니다.4898* **`Claude needs to work from that newer version first`로 끝나는 경우**: Claude가 거기서 멈췄다면 아티팩트의 현재 버전을 가져와 변경 사항을 병합한 다음 다시 게시하도록 요청합니다
4842* **`should go through`로 끝나는 경우**: Claude가 거기서 멈췄다면 다시 게시하도록 요청합니다.4899* **`should go through`로 끝나는 경우**: Claude가 거기서 멈췄다면 다시 게시하도록 요청합니다
4843 4900
4844### Cowork 세션에서 연결된 폴더 외부의 로컬 파일 읽기4901### Reading a local file from outside the connected folders in a Cowork session
4845 4902
4846Claude Desktop 앱에서 머신에서 실행 중인 [Cowork](https://claude.com/docs/cowork/overview) 세션에서 Claude가 [아티팩트](https://code.claude.com/docs/ko/artifacts.md)에 대한 로컬 파일의 이름을 지정했습니다. Claude Code가 파일이 세션의 연결된 폴더 내의 일반 파일인지 확인할 수 없습니다: 경로가 해당 폴더 외부에 있거나, 심볼릭 링크를 통과하거나, 나타나는 것과 다른 파일의 이름을 지정할 수 있는 방식으로 철자가 지정되었습니다. 그러한 파일을 읽으려면 승인이 필요하며, 승인 카드를 표시할 수 없는 세션(예: 모든 승인을 건너뛰도록 설정된 세션)에서 Claude Code는 읽기를 거부합니다.4903Claude Desktop 앱에서 사용자의 머신에서 실행되는 [Cowork](https://claude.com/docs/cowork/overview) 세션에서, Claude가 [아티팩트](https://code.claude.com/docs/ko/artifacts.md)에 사용할 로컬 파일을 지정했습니다. Claude Code는 해당 파일이 세션의 연결된 폴더 안에 있는 일반 파일인지 확인할 수 없었습니다. 경로가 해당 폴더 밖에 있거나, 심볼릭 링크를 거치거나, 보이는 것과 다른 파일을 가리킬 수 있는 방식으로 표기되어 있기 때문입니다. 이러한 파일을 읽으려면 사용자의 승인이 필요하며, 모든 승인을 건너뛰도록 설정된 세션처럼 승인 카드를 표시할 수 없는 세션에서는 Claude Code가 읽기를 거부합니다.
4847 4904
4848거부는 Artifact 도구 결과에 나타납니다. 파일을 전혀 검사할 수 없을 때 대신 해당 실패의 이름을 지정합니다:4905거부 메시지는 Artifact 도구 결과에 표시되며, 파일을 전혀 검사할 수 없었던 경우에는 대신 그 실패를 알려 줍니다.
4849 4906
4850```text wrap theme={null}4907```text wrap theme={null}
4851Reading a local file from outside this session's connected folders, or through a link, needs the approval card, and no one can answer it in this Cowork session. Use a plain file inside the connected folders; do not retry this file in this session.4908Reading a local file from outside this session's connected folders, or through a link, needs the approval card, and no one can answer it in this Cowork session. Use a plain file inside the connected folders; do not retry this file in this session.
4853cannot read file_path (ENOENT) — the file could not be examined, and no one can answer the approval card in this Cowork session. Check that the file exists as a plain file inside the connected folders, then retry with that path.4910cannot read file_path (ENOENT) — the file could not be examined, and no one can answer the approval card in this Cowork session. Check that the file exists as a plain file inside the connected folders, then retry with that path.
4854```4911```
4855 4912
4856**할 일:**4913**조치 방법:**
4857 4914
4858* 보통 아무것도 하지 않습니다: 메시지는 Claude에 연결된 폴더 내의 일반 파일을 대신 사용하도록 지시합니다.4915* 대개는 아무것도 하지 않아도 됩니다. 메시지가 Claude에게 대신 연결된 폴더 안의 일반 파일을 사용하도록 안내합니다
4859* 정확한 파일을 아티팩트에 넣으려면 세션의 연결된 폴더 중 하나에 일반 파일(심볼릭 링크 아님)로 복사하고 다시 요청합니다.4916* 정확히 그 파일을 아티팩트에 넣으려면, 심볼릭 링크가 아닌 일반 파일로 세션의 연결된 폴더 중 하나에 복사한 다음 다시 요청합니다
4860 4917
4861### WebFetch cannot fetch localhost4918### WebFetch cannot fetch localhost
4862 4919
4863Claude가 `http://localhost:3000` 또는 `http://wiki/`와 같은 인트라넷 이름처럼 점이 없는 호스트명을 가진 URL로 [WebFetch](https://code.claude.com/docs/ko/tools-reference.md#webfetch-tool-behavior)를 호출했습니다. WebFetch는 요청을 하기 전에 이러한 URL을 거부합니다:4920Claude가 `http://localhost:3000`이나 `http://wiki/` 같은 단순한 인트라넷 이름처럼 호스트 이름에 점이 없는 URL로 [WebFetch](https://code.claude.com/docs/ko/tools-reference.md#webfetch-tool-behavior)를 호출했습니다. WebFetch는 요청을 보내기 전에 이러한 URL을 거부합니다.
4864 4921
4865```text wrap theme={null}4922```text wrap theme={null}
4866WebFetch cannot fetch localhost or other hostnames without a dot. To reach a local server, use Bash with curl instead.4923WebFetch cannot fetch localhost or other hostnames without a dot. To reach a local server, use Bash with curl instead.
4867```4924```
4868 4925
4869**할 일:**4926**조치 방법:**
4870 4927
4871* 보통 아무것도 하지 않습니다: 메시지는 Claude를 Bash 도구를 통한 `curl`로 지시하며, 이는 로컬 및 인트라넷 서버에 도달할 수 있습니다.4928* 대개는 아무것도 하지 않아도 됩니다. 메시지가 Claude에게 로컬 및 인트라넷 서버에 접근할 수 있는 Bash 도구의 `curl`을 사용하도록 안내합니다
4872 4929
4873v2.1.268 이전에는 WebFetch가 이러한 URL을 일반 `Invalid URL` 오류로 보고했습니다.4930v2.1.268 이전에는 WebFetch가 이러한 URL을 일반적인 `Invalid URL` 오류로 보고했습니다.
4874 4931
4875### WebFetch 도메인 안전 확인 실패4932### WebFetch domain safety check failed
4876 4933
4877URL을 가져오기 전에 WebFetch는 URL의 호스트명을 `api.anthropic.com`으로 보내 Anthropic의 [도메인 안전 차단 목록](https://code.claude.com/docs/ko/data-usage.md#webfetch-domain-safety-check)과 대조합니다. 확인을 완료할 수 없으면 WebFetch는 도메인이 안전한지 확인할 수 없으므로 페이지를 가져오지 않으며, 도구 결과에는 대신 다음 메시지 중 하나가 포함됩니다:4934WebFetch는 URL을 가져오기 전에 URL의 호스트 이름을 `api.anthropic.com`으로 보내 Anthropic의 [도메인 안전 차단 목록](https://code.claude.com/docs/ko/data-usage.md#webfetch-domain-safety-check)과 대조합니다. 검사를 완료할 수 없으면 WebFetch는 도메인이 안전한지 확인할 수 없으므로 페이지를 가져오지 않으며, 도구 결과에 대신 다음 메시지 중 하나가 표시됩니다.
4878 4935
4879```text wrap theme={null}4936```text wrap theme={null}
4880The 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.4937The 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.
4882Unable to verify if domain example.com is safe to fetch. This may be due to network restrictions or enterprise security policies blocking claude.ai.4939Unable to verify if domain example.com is safe to fetch. This may be due to network restrictions or enterprise security policies blocking claude.ai.
4883```4940```
4884 4941
4885* `rate-limited`: 확인 엔드포인트가 HTTP `429`로 응답했습니다. 메시지는 Claude에 페이지 없이 계속하고 나중에 최대 한 번만 다시 시도하도록 지시합니다. Claude Code는 실패한 확인을 캐시하지 않으므로 나중에 해당 도메인을 가져오면 확인이 다시 실행됩니다. 네트워크의 세션에서 이 문제가 자주 발생하면 설정에서 [`skipWebFetchPreflight: true`](https://code.claude.com/docs/ko/settings-reference#skipwebfetchpreflight)로 확인을 건너뛸 수 있습니다.4942* `rate-limited`: 검사 엔드포인트가 HTTP `429`로 응답했습니다. 메시지는 Claude에게 페이지 없이 계속 진행하고 나중에 최대 한 번만 다시 시도하라고 안내합니다. Claude Code는 실패한 검사를 캐시하지 않으므로, 나중에 해당 도메인을 가져오면 검사가 다시 실행됩니다. 네트워크의 세션에서 이 문제가 자주 발생하면 설정에서 [`skipWebFetchPreflight: true`](https://code.claude.com/docs/ko/settings-reference#skipwebfetchpreflight)로 검사를 건너뛸 수 있습니다.
4886* `Unable to verify`: 확인 요청이 실패했거나, 시간 초과되었거나, 다른 오류 상태를 받았습니다. 네트워크가 `api.anthropic.com`을 차단하는 경우 해당 도메인을 허용 목록에 추가하거나 설정에서 [`skipWebFetchPreflight: true`](https://code.claude.com/docs/ko/settings-reference#skipwebfetchpreflight)로 확인을 건너뜁니다.4943* `Unable to verify`: 검사 요청이 실패했거나, 시간 초과되었거나, 다른 오류 상태를 받았습니다. 네트워크가 `api.anthropic.com`을 차단한다면 해당 도메인을 허용 목록에 추가하거나, 설정에서 [`skipWebFetchPreflight: true`](https://code.claude.com/docs/ko/settings-reference#skipwebfetchpreflight)로 검사를 건너뜁니다.
4887 4944
4888v2.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.`였습니다.4945v2.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.`로 표시되었습니다.
4889v2.1.285 이전에는 속도 제한된 확인이 대신 `Unable to verify` 메시지로 보고되었습니다.4946v2.1.285 이전에는 속도 제한된 검사가 대신 `Unable to verify` 메시지로 보고되었습니다.
4890 4947
4891## 백그라운드 세션 오류4948## 백그라운드 세션 오류
4892 4949