SpyBara
Go Premium

Documentation 2026-10-28 23:57 UTC to 2026-10-29 23:57 UTC

42 files changed +430 −282. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

75| :- | :- | :- |75| :- | :- | :- |

76| `"project"` | 프로젝트 `settings.json` 및 훅; 프로젝트 CLAUDE.md 및 `.claude/rules/*.md`; 프로젝트 스킬, 명령 및 서브에이전트 | `<cwd>/.claude/` (`settings.json` 및 훅의 경우); `<cwd>` 및 모든 상위 디렉토리(CLAUDE.md 및 규칙의 경우); `<cwd>` 및 저장소 루트까지의 모든 상위 디렉토리(스킬, 명령 및 서브에이전트의 경우), 그리고 `additionalDirectories` 또는 `add_dirs` 옵션을 통해 전달하는 각 디렉토리의 `.claude/skills/`, `.claude/commands/` 및 `.claude/agents/` 폴더(SDK가 Claude Code에 [`--add-dir`](https://code.claude.com/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)로 전달함) |76| `"project"` | 프로젝트 `settings.json` 및 훅; 프로젝트 CLAUDE.md 및 `.claude/rules/*.md`; 프로젝트 스킬, 명령 및 서브에이전트 | `<cwd>/.claude/` (`settings.json` 및 훅의 경우); `<cwd>` 및 모든 상위 디렉토리(CLAUDE.md 및 규칙의 경우); `<cwd>` 및 저장소 루트까지의 모든 상위 디렉토리(스킬, 명령 및 서브에이전트의 경우), 그리고 `additionalDirectories` 또는 `add_dirs` 옵션을 통해 전달하는 각 디렉토리의 `.claude/skills/`, `.claude/commands/` 및 `.claude/agents/` 폴더(SDK가 Claude Code에 [`--add-dir`](https://code.claude.com/docs/ko/permissions#additional-directories-grant-file-access-not-configuration)로 전달함) |

77| `"user"` | 사용자 `settings.json`; 사용자 CLAUDE.md 및 `~/.claude/rules/*.md`; 사용자 스킬, 명령 및 서브에이전트 | `~/.claude/` (`settings.json`, CLAUDE.md 및 규칙의 경우); `~/.claude/skills/`, `~/.claude/commands/` 및 `~/.claude/agents/` (스킬, 명령 및 서브에이전트의 경우) |77| `"user"` | 사용자 `settings.json`; 사용자 CLAUDE.md 및 `~/.claude/rules/*.md`; 사용자 스킬, 명령 및 서브에이전트 | `~/.claude/` (`settings.json`, CLAUDE.md 및 규칙의 경우); `~/.claude/skills/`, `~/.claude/commands/` 및 `~/.claude/agents/` (스킬, 명령 및 서브에이전트의 경우) |

78| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` (`settings.local.json`의 경우); `<cwd>` 및 모든 상위 디렉토리(CLAUDE.local.md의 경우) |78| `"local"` | CLAUDE.local.md, `.claude/settings.local.json` | `<cwd>/.claude/` (`settings.local.json`의 경우이며, `<cwd>`가 git 저장소 내부에 있으면 [저장소 루트에서도 로드될 수 있음](https://code.claude.com/docs/ko/settings.md#where-claude-code-keeps-the-local-file-in-a-git-repository)); `<cwd>` 및 모든 상위 디렉터리(CLAUDE.local.md의 경우) |

79 79 

80`settingSources`를 생략하는 것은 `["user", "project", "local"]`과 동일합니다.80`settingSources`를 생략하는 것은 `["user", "project", "local"]`과 동일합니다.

81 81 

82`cwd` 옵션은 SDK가 프로젝트 수준 입력을 찾는 위치를 결정합니다. 프로젝트 `settings.json` 및 훅은 `<cwd>/.claude/`에서만 로드되며 상위 디렉토리 폴백이 없습니다.82`cwd` 옵션은 SDK가 프로젝트 수준 입력을 찾는 위치를 결정합니다. 프로젝트 `settings.json`은 `<cwd>/.claude/`에서만 로드되며 상위 디렉터리 폴백이 없습니다.

83 83 

84### settingSources가 제어하지 않는 것84### settingSources가 제어하지 않는 것

85 85 

agent-sdk/python.md +162 −162

Details

2564 2564 

2565## 도구 입력/출력 타입2565## 도구 입력/출력 타입

2566 2566 

2567기본 제공 Claude Code 도구의 입력/출력 스키마 문서입니다. Python SDK는 이들을 타입으로 내보내지 않지만, 메시지의 도구 입력 및 출력 구조를 나타냅니다.2567기본 제공 Claude Code 도구의 입력/출력 스키마에 대한 문서입니다. Python SDK는 이를 타입으로 export하지 않지만, 이 스키마는 메시지에 포함된 도구 입력과 출력의 구조를 나타냅니다.

2568 2568 

2569각 출력은 해당 도구에 대해 [`UserMessage.tool_use_result`](#usermessage)에서 읽는 값입니다. 키 이름은 Claude Code가 내보내는 그대로 나타납니다. `| None`으로 주석이 달린 키와 "present when" 또는 "optional" 주석이 있는 키는 적용되지 않을 때 생략됩니다.2569아래에 표시된 각 출력은 해당 도구에 대해 [`UserMessage.tool_use_result`](#usermessage)에서 읽는 값입니다. 키 이름은 Claude Code가 내보내는 그대로 표시됩니다. `| None`으로 표시되고 "present when" 또는 "optional" 주석이 달린 키는 해당되지 않을 때 생략됩니다.

2570 2570 

2571### Agent2571### Agent

2572 2572 

2573**도구 이름:** `Agent`. 이전 이름 `Task`는 이 도구를 세션에서 사용할 수 있을 때 여전히 별칭으로 허용됩니다.2573**도구 이름:** `Agent`. 이 도구를 세션에서 사용할 수 있는 경우 이전 이름인 `Task`도 별칭으로 계속 허용됩니다.

2574 2574 

2575init [`SystemMessage`](#systemmessage)의 `tools` 목록은 하위 호환성을 위해 이 도구를 `Task`로 보고합니다.2575init [`SystemMessage`](#systemmessage)의 `tools` 목록은 하위 호환성을 위해 이 도구를 `Task`로 보고합니다.

2576 2576 


2578 2578 

2579```python theme={null}2579```python theme={null}

2580{2580{

2581 "description": str, # 작업의 짧은 설명 (3-5단어)2581 "description": str, # 작업에 대한 짧은(3~5단어) 설명

2582 "prompt": str, # 에이전트가 수행할 작업2582 "prompt": str, # 에이전트가 수행할 작업

2583 "subagent_type": str | None, # 사용할 특화된 에이전트의 유형2583 "subagent_type": str | None, # 사용할 전문 에이전트의 유형

2584 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # 이 에이전트의 모델 재정의2584 "model": "sonnet" | "opus" | "haiku" | "fable" | None, # 이 에이전트에 대한 모델 재정의

2585 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # 이 에이전트의 추론 노력 수준2585 "effort": "low" | "medium" | "high" | "xhigh" | "max" | None, # 이 에이전트의 추론 노력 수준

2586 "run_in_background": bool | None, # 생략 시 기본값: 메인 에이전트의 호출은 새 에이전트를 백그라운드에서 실행하고, 서브에이전트의 호출은 새 에이전트를 기다립니다2586 "run_in_background": bool | None, # 생략 시 기본값: 메인 에이전트의 호출은 새 에이전트를 백그라운드에서 실행하고, 서브에이전트의 호출은 새 에이전트를 기다림

2587 "name": str | None, # 생성된 에이전트의 이름2587 "name": str | None, # 생성되는 에이전트의 이름

2588 "team_name": str | None, # 더 이상 사용되지 않음; 무시됨2588 "team_name": str | None, # deprecated; 무시됨

2589 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # 더 이상 사용되지 않음; 무시됨. 서브에이전트 상속 규칙이 서브에이전트의 권한 모드를 결정합니다2589 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # deprecated; 무시됨. 서브에이전트의 권한 모드는 서브에이전트 상속 규칙에 따라 결정됨

2590 "isolation": "worktree" | "remote" | None, # 에이전트 변경 사항의 격리 모드2590 "isolation": "worktree" | "remote" | None, # 에이전트 변경 사항에 대한 격리 모드

2591}2591}

2592```2592```

2593 2593 

2594복잡한 다단계 작업을 자율적으로 처리하기 위해 새로운 에이전트를 시작합니다.2594복잡한 다단계 작업을 자율적으로 처리하기 위해 새 에이전트를 실행합니다.

2595 2595 

2596Claude가 `Agent` 호출에서 `run_in_background`를 생략하면, 기본적으로 메인 에이전트는 새 에이전트를 기다리지 않고 서브에이전트는 기다립니다:2596Claude가 `Agent` 호출에서 `run_in_background`를 생략하면, 기본적으로 메인 에이전트는 새 에이전트를 기다리지 않고 서브에이전트는 기다립니다.

2597 2597 

2598* **메인 에이전트에서**: 새 에이전트는 백그라운드에서 실행되며, 결과에는 `status: "async_launched"`가 포함됩니다. 대신 메인 에이전트가 새 에이전트를 기다리도록 하려면 [Claude가 서브에이전트를 기다릴지 선택하기](https://code.claude.com/docs/ko/agent-sdk/subagents.md#choose-whether-claude-waits-for-subagents)를 참조하십시오.2598* **메인 에이전트에서 호출한 경우**: 새 에이전트가 백그라운드에서 실행되며, 결과에는 `status: "async_launched"`가 포함됩니다. 메인 에이전트가 대신 새 에이전트를 기다리게 하려면 [Claude가 서브에이전트를 기다릴지 선택하기](https://code.claude.com/docs/ko/agent-sdk/subagents.md#choose-whether-claude-waits-for-subagents)를 참조하세요.

2599* **서브에이전트 중 하나에서**: 호출한 서브에이전트가 [새 에이전트를 기다립니다](https://code.claude.com/docs/ko/sub-agents.md#let-subagents-spawn-their-own-subagents). 새 에이전트의 정의에서 [`background`](#agentdefinition)를 `True`로 설정하거나, `CLAUDE_CODE_FORK_SUBAGENT`를 `0`으로 설정하여 [포크 모드를 끄면](https://code.claude.com/docs/ko/sub-agents.md#turn-fork-mode-on-or-off) 새 에이전트가 대신 백그라운드에서 실행됩니다.2599* **서브에이전트 중 하나에서 호출한 경우**: 호출한 서브에이전트가 [새 에이전트를 기다립니다](https://code.claude.com/docs/ko/sub-agents.md#let-subagents-spawn-their-own-subagents). 새 에이전트의 정의에서 [`background`](#agentdefinition)를 `True`로 설정하거나, `CLAUDE_CODE_FORK_SUBAGENT`를 `0`으로 설정하여 [fork 모드를 끄면](https://code.claude.com/docs/ko/sub-agents.md#turn-fork-mode-on-or-off) 새 에이전트가 대신 백그라운드에서 실행됩니다.

2600 2600 

2601Python SDK v0.2.169 이전에는 서브에이전트가 시작한 에이전트도 기본적으로 백그라운드에서 실행되었습니다. 해당 릴리스는 Claude Code v2.1.302 이상을 번들로 포함하는 첫 번째 릴리스입니다.2601Python SDK v0.2.169 이전에는 서브에이전트가 시작한 에이전트도 기본적으로 백그라운드에서 실행되었습니다. 해당 릴리스는 Claude Code v2.1.302 이상을 번들로 포함하는 첫 번째 릴리스입니다.

2602 2602 

2603**출력 (상태: `"completed"`):**2603**출력 (status: `"completed"`):**

2604 2604 

2605```python theme={null}2605```python theme={null}

2606{2606{


2614 "citations": list | None,2614 "citations": list | None,

2615 }2615 }

2616 ],2616 ],

2617 "resolvedModel": str | None, # 서브에이전트가 시작한 모델2617 "resolvedModel": str | None, # 서브에이전트가 시작할 때 사용한 모델

2618 "modelsUsed": list[str] | None, # 순서대로 사용된 모델, 연속 반복은 축소됨2618 "modelsUsed": list[str] | None, # 사용된 모델 목록(순서대로, 연속 중복은 하나로 합침)

2619 "totalToolUseCount": int, # 에이전트가 수행한 도구 호출 수2619 "totalToolUseCount": int, # 에이전트가 수행한 도구 호출 수

2620 "totalDurationMs": int, # 실행 시간(밀리초)2620 "totalDurationMs": int, # 실행 시간(밀리초)

2621 "totalTokens": int, # 전체 실행이 아닌 최종 API 요청의 토큰 수2621 "totalTokens": int, # 전체 실행이 아닌 마지막 API 요청의 토큰 수

2622 "usage": { # 토큰 사용 통계2622 "usage": { # 토큰 사용량 통계

2623 "input_tokens": int,2623 "input_tokens": int,

2624 "output_tokens": int,2624 "output_tokens": int,

2625 "cache_creation_input_tokens": int | None,2625 "cache_creation_input_tokens": int | None,


2633 "output_tokens_details": {"thinking_tokens": int | None} | None,2633 "output_tokens_details": {"thinking_tokens": int | None} | None,

2634 "fallback_credit": Any | None,2634 "fallback_credit": Any | None,

2635 },2635 },

2636 "toolStats": { # 실행의 집계 도구 활동2636 "toolStats": { # 실행 전체의 도구 활동 집계

2637 "readCount": int,2637 "readCount": int,

2638 "searchCount": int,2638 "searchCount": int,

2639 "bashCount": int,2639 "bashCount": int,


2644 "frameCount": int | None,2644 "frameCount": int | None,

2645 } | None,2645 } | None,

2646 "prompt": str, # 에이전트가 실행한 프롬프트2646 "prompt": str, # 에이전트가 실행한 프롬프트

2647 "worktreePath": str | None, # Claude Code가 서브에이전트의 worktree를 유지했을 때 표시됨2647 "worktreePath": str | None, # Claude Code가 서브에이전트의 worktree를 유지한 경우 존재

2648 "worktreeBranch": str | None, # Claude Code가 해당 worktree를 git으로 생성했을 때 표시됨2648 "worktreeBranch": str | None, # Claude Code가 git으로 해당 worktree를 생성한 경우 존재

2649}2649}

2650```2650```

2651 2651 

2652**출력 (상태: `"async_launched"`):**2652**출력 (status: `"async_launched"`):**

2653 2653 

2654```python theme={null}2654```python theme={null}

2655{2655{

2656 "status": "async_launched",2656 "status": "async_launched",

2657 "isAsync": bool | None, # 백그라운드 시작 시 True2657 "isAsync": bool | None, # 백그라운드 실행 시 True

2658 "agentId": str, # 시작된 에이전트의 ID2658 "agentId": str, # 실행된 에이전트의 ID

2659 "description": str, # 작업 설명2659 "description": str, # 작업 설명

2660 "resolvedModel": str | None, # 백그라운드 전환 시 사용 중인 모델2660 "resolvedModel": str | None, # 백그라운드로 전환되는 시점에 사용 중이던 모델

2661 "modelsUsed": list[str] | None, # 백그라운드 전환 전에 사용된 모델, 순서대로, 연속 반복은 축소됨2661 "modelsUsed": list[str] | None, # 백그라운드 전환 전에 사용된 모델 목록(순서대로, 연속 중복은 하나로 합침)

2662 "prompt": str, # 에이전트가 실행하는 프롬프트2662 "prompt": str, # 에이전트가 실행하는 프롬프트

2663 "outputFile": str, # 에이전트의 출력이 기록되는 파일 경로2663 "outputFile": str, # 에이전트의 출력이 기록되는 파일 경로

2664 "canReadOutputFile": bool | None, # 출력 파일을 직접 읽을 수 있는지 여부2664 "canReadOutputFile": bool | None, # 출력 파일을 직접 읽을 수 있는지 여부

2665}2665}

2666```2666```

2667 2667 

2668**출력 (상태: `"remote_launched"`):**2668**출력 (status: `"remote_launched"`):**

2669 2669 

2670```python theme={null}2670```python theme={null}

2671{2671{

2672 "status": "remote_launched",2672 "status": "remote_launched",

2673 "taskId": str, # 전달된 작업의 ID2673 "taskId": str, # 디스패치된 작업의 ID

2674 "sessionUrl": str, # 클라우드 세션으로의 링크2674 "sessionUrl": str, # 클라우드 세션 링크

2675 "description": str, # 작업 설명2675 "description": str, # 작업 설명

2676 "prompt": str, # 에이전트가 실행하는 프롬프트2676 "prompt": str, # 에이전트가 실행하는 프롬프트

2677 "outputFile": str, # 에이전트의 출력이 기록되는 파일 경로2677 "outputFile": str, # 에이전트의 출력이 기록되는 파일 경로

2678}2678}

2679```2679```

2680 2680 

2681서브에이전트의 결과를 반환합니다. 출력은 `status` 필드에서 구분됩니다: 완료된 작업의 경우 `"completed"`, 백그라운드 작업의 경우 `"async_launched"`, Claude Code가 클라우드 세션으로 전달한 작업의 경우 `"remote_launched"`. `sessionUrl`은 해당 세션으로 연결되고 `taskId`는 이를 식별합니다. Claude Code가 [서브에이전트의 격리된 worktree를 유지](https://code.claude.com/docs/ko/worktrees.md#isolate-subagents-with-worktrees)한 경우, `completed` 변형의 `worktreePath`는 이를 찾을 수 있는 위치이고, `worktreeBranch`는 Claude Code가 git으로 worktree를 생성했을 때의 브랜치입니다.2681서브에이전트의 결과를 반환합니다. 출력은 `status` 필드로 구분됩니다. 완료된 작업은 `"completed"`, 백그라운드 작업은 `"async_launched"`, Claude Code가 클라우드 세션으로 디스패치한 작업은 `"remote_launched"`이며, 이 경우 `sessionUrl`은 해당 세션으로 연결되고 `taskId`는 해당 세션을 식별합니다. Claude Code가 [서브에이전트의 격리된 worktree를 유지한 경우](https://code.claude.com/docs/ko/worktrees.md#isolate-subagents-with-worktrees), `completed` 변형의 `worktreePath`는 해당 worktree의 위치이며, Claude Code가 git으로 worktree를 생성한 경우 `worktreeBranch`는 해당 브랜치입니다.

2682 2682 

2683`completed` 변형에서 `resolvedModel`은 서브에이전트가 시작한 모델을 이름 지으며, 이는 [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 또는 다른 재정의가 적용될 때 요청된 `model` 입력과 다를 수 있습니다. 이 필드는 Claude Code v2.1.174 이상이 필요합니다. `async_launched` 변형에서 `resolvedModel`은 에이전트가 백그라운드로 이동했을 때 사용 중인 모델을 이름 지으므로, 백그라운드 전환 전에 발생한 스왑이 반영됩니다. `modelsUsed` 필드는 두 변형 모두에서 순서대로 사용된 모델을 나열하며, 연속 반복은 축소됩니다. 실행 중에 모델이 교체되었을 때만 설정됩니다. `modelsUsed`와 백그라운드 시간 `resolvedModel` 동작은 Claude Code v2.1.212 이상이 필요합니다.2683`completed` 변형에서 `resolvedModel`은 서브에이전트가 시작할 때 사용한 모델을 나타내며, [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 또는 다른 재정의가 적용되는 경우 요청된 `model` 입력과 다를 수 있습니다. 이 필드는 Claude Code v2.1.174 이상이 필요합니다. `async_launched` 변형에서 `resolvedModel`은 에이전트가 백그라운드로 전환될 때 사용 중이던 모델을 나타내므로, 백그라운드 전환 전에 발생한 모델 교체가 여기에 반영됩니다. 두 변형 모두의 `modelsUsed` 필드는 사용된 모델을 순서대로 나열하며 연속 중복은 하나로 합칩니다. 이 필드는 실행 도중 모델이 교체된 경우에만 설정됩니다. `modelsUsed`와 백그라운드 전환 시점의 `resolvedModel` 동작은 Claude Code v2.1.212 이상이 필요합니다.

2684 2684 

2685Claude Code는 전체 실행이 아닌 서브에이전트의 최종 API 요청에서 `usage`와 `totalTokens`를 채웁니다. 존재할 때, `usage`의 `output_tokens_details` 아래 `thinking_tokens`은 해당 요청의 출력 토큰 중 사고 토큰의 수입니다. `output_tokens_details` 키는 Claude Code v2.1.228을 번들로 하는 Python SDK v0.2.136 이상이 필요합니다. `fallback_credit` 키는 Claude Code v2.1.285를 번들로 하는 Python SDK v0.2.162 이상이 필요합니다.2685Claude Code는 `usage`와 `totalTokens`를 전체 실행이 아닌 서브에이전트의 마지막 API 요청을 기준으로 채웁니다. `usage`의 `output_tokens_details` 아래에 `thinking_tokens`가 있는 경우, 이 값은 해당 요청의 출력 토큰 중 사고 토큰의 수입니다. `output_tokens_details` 키는 Claude Code v2.1.228을 번들로 포함하는 Python SDK v0.2.136 이상이 필요합니다. `fallback_credit` 키는 Claude Code v2.1.285를 번들로 포함하는 Python SDK v0.2.162 이상이 필요합니다.

2686 2686 

2687### AskUserQuestion2687### AskUserQuestion

2688 2688 

2689**도구 이름:** `AskUserQuestion`2689**도구 이름:** `AskUserQuestion`

2690 2690 

2691실행 중에 사용자에게 명확히 하는 질문을 합니다. 사용 세부 정보는 [승인 및 사용자 입력 처리](https://code.claude.com/docs/ko/agent-sdk/user-input.md#handle-clarifying-questions)를 참조하십시오.2691실행 중에 사용자에게 명확히 하기 위한 질문을 합니다. 사용법에 대한 자세한 내용은 [승인 및 사용자 입력 처리](https://code.claude.com/docs/ko/agent-sdk/user-input.md#handle-clarifying-questions)를 참조하세요.

2692 2692 

2693**입력:**2693**입력:**

2694 2694 

2695```python theme={null}2695```python theme={null}

2696{2696{

2697 "questions": [ # 사용자에게 물어볼 질문 (1-4개 질문)2697 "questions": [ # 사용자에게 할 질문(1~4개)

2698 {2698 {

2699 "question": str, # 사용자에게 물어볼 완전한 질문2699 "question": str, # 사용자에게 할 전체 질문

2700 "header": str, # 칩/태그로 표시되는 매우 짧은 레이블 (최대 12자)2700 "header": str, # 칩/태그로 표시되는 매우 짧은 레이블(최대 12자)

2701 "options": [ # 사용 가능한 선택 (2-4개 옵션)2701 "options": [ # 사용 가능한 선택지(2~4개)

2702 {2702 {

2703 "label": str, # 이 옵션의 표시 텍스트 (1-5단어)2703 "label": str, # 이 옵션의 표시 텍스트(1~5단어)

2704 "description": str, # 이 옵션이 의미하는 바에 대한 설명2704 "description": str, # 이 옵션의 의미에 대한 설명

2705 "preview": str | None, # 옵션이 포커스될 때 렌더링되는 미리보기 콘텐츠2705 "preview": str | None, # 옵션에 포커스가 있을 때 렌더링되는 미리보기 콘텐츠

2706 }2706 }

2707 ],2707 ],

2708 "multiSelect": bool, # 여러 선택을 허용하려면 true로 설정2708 "multiSelect": bool, # 다중 선택을 허용하려면 true로 설정

2709 }2709 }

2710 ],2710 ],

2711 "answers": dict[str, str] | None,2711 "answers": dict[str, str] | None,

2712 # 권한 시스템에 의해 채워진 사용자 답변. 다중 선택2712 # 권한 시스템이 채우는 사용자 답변. 다중 선택

2713 # 답변은 선택된 레이블의 쉼표로 연결된 문자열입니다. 입력 시2713 # 답변은 선택된 레이블을 쉼표로 연결한 문자열이며,

2714 # 레이블 목록이 허용되고 해당 형식으로 강제됩니다2714 # 입력 시 레이블 목록도 허용되고 해당 형식으로 변환됨

2715 "annotations": dict[str, dict] | None,2715 "annotations": dict[str, dict] | None,

2716 # 질문 텍스트로 키가 지정된 사용자의 질문별 주석입니다.2716 # 질문 텍스트를 키로 하는 사용자의 질문별 주석.

2717 # 각 값은 "preview" (선택된 옵션의 미리보기2717 # 각 값에는 "preview"(선택된 옵션의 미리보기

2718 # 콘텐츠)와 "notes" (선택에 대한 자유 텍스트 노트)를 포함할 수 있습니다2718 # 콘텐츠)와 "notes"(선택에 대한 자유 텍스트 메모)가 포함될 수 있음

2719 "metadata": dict | None, # {"source": "remember"}와 같은 분석 메타데이터; 사용자에게 표시되지 않음2719 "metadata": dict | None, # {"source": "remember"}와 같은 분석용 메타데이터; 사용자에게 표시되지 않음

2720}2720}

2721```2721```

2722 2722 


2724 2724 

2725```python theme={null}2725```python theme={null}

2726{2726{

2727 "questions": [ # 물어본 질문2727 "questions": [ # 질문했던 내용

2728 {2728 {

2729 "question": str,2729 "question": str,

2730 "header": str,2730 "header": str,


2735 "answers": dict[str, str], # 질문 텍스트를 답변 문자열에 매핑2735 "answers": dict[str, str], # 질문 텍스트를 답변 문자열에 매핑

2736 # 다중 선택 답변은 쉼표로 구분됨2736 # 다중 선택 답변은 쉼표로 구분됨

2737 "response": str | None,2737 "response": str | None,

2738 # 질문에 답하는 대신 입력한 자유 형식 답변; 설정되면,2738 # 질문에 답하는 대신 입력한 자유 형식 응답; 설정된 경우

2739 # Claude는 답변 목록 대신 "The user responded: ..."를 받습니다2739 # Claude는 답변 목록 대신 "The user responded: ..."를 받음

2740 "annotations": dict[str, dict] | None, # 사용자의 선택에서 질문별 "preview"와 "notes"2740 "annotations": dict[str, dict] | None, # 사용자 선택에 대한 질문별 "preview" 및 "notes"

2741 "afkTimeoutMs": int | None, # 사용자 비활성 후 이 많은 밀리초 후 대화가 자동 해결되었을 때 설정됨; 사용자가 답변했을 때는 없음2741 "afkTimeoutMs": int | None, # 이 밀리초 동안 사용자가 활동하지 않아 대화 상자가 자동으로 종료된 경우 설정됨; 사용자가 답변한 경우 없음

2742}2742}

2743```2743```

2744 2744 


2746 2746 

2747**도구 이름:** `Bash`2747**도구 이름:** `Bash`

2748 2748 

2749전경 상한선을 설정하는 것에 대해서는 [타임아웃 및 출력 제한](https://code.claude.com/docs/ko/tools-reference.md#timeout-and-output-limits)을 참조하십시오. 백그라운드 시간 제한에 대해서는 [백그라운드 명령의 시간 제한](https://code.claude.com/docs/ko/tools-reference.md#time-limit-for-background-commands)을 참조하십시오.2749포그라운드 상한을 결정하는 요소는 [타임아웃 및 출력 제한](https://code.claude.com/docs/ko/tools-reference.md#timeout-and-output-limits)을 참조하세요. 백그라운드 시간 제한은 [백그라운드 명령의 시간 제한](https://code.claude.com/docs/ko/tools-reference.md#time-limit-for-background-commands)을 참조하세요.

2750 2750 

2751**입력:**2751**입력:**

2752 2752 

2753```python theme={null}2753```python theme={null}

2754{2754{

2755 "command": str, # 실행할 명령2755 "command": str, # 실행할 명령

2756 "timeout": int | None, # 밀리초. 전경: 기본값 600000으로 제한되며, 더 높은 값은 고정됩니다. run_in_background (Claude Code v2.1.285 이상): 백그라운드 시간 제한, 생략 시 1800000, 상향 조정되지 않으면 7200000으로 제한됨2756 "timeout": int | None, # 밀리초. 포그라운드: 기본적으로 600000으로 제한되며, 더 큰 값은 잘림. run_in_background 사용 시(Claude Code v2.1.285 이상): 백그라운드 시간 제한으로, 생략 시 1800000이며 상향하지 않는 한 7200000으로 제한됨

2757 "description": str | None, # 명확하고 간결한 설명 (5-10단어)2757 "description": str | None, # 명확하고 간결한 설명(5~10단어)

2758 "run_in_background": bool | None, # 백그라운드에서 실행하려면 true로 설정2758 "run_in_background": bool | None, # 백그라운드에서 실행하려면 true로 설정

2759}2759}

2760```2760```


2763 2763 

2764```python theme={null}2764```python theme={null}

2765{2765{

2766 "stdout": str, # 명령의 출력; stdout과 stderr는 이 하나의 인터리브된 스트림으로 병합됨2766 "stdout": str, # 명령의 출력; stdout과 stderr가 하나의 인터리브된 스트림으로 병합되어 전달됨

2767 "stderr": str, # 도구 자체가 추가하는 알림, 명령의 stderr가 아님2767 "stderr": str, # 명령의 stderr가 아닌, 도구 자체가 추가하는 알림

2768 "interrupted": bool, # 명령이 중단되었는지 여부2768 "interrupted": bool, # 명령이 중단되었는지 여부

2769 "isImage": bool | None, # stdout에 이미지 데이터가 포함되어 있는지 여부2769 "isImage": bool | None, # stdout에 이미지 데이터가 포함되어 있는지 여부

2770 "backgroundTaskId": str | None, # 명령이 백그라운드에서 실행 중일 때 백그라운드 작업의 ID2770 "backgroundTaskId": str | None, # 명령이 백그라운드에서 실행 중인 경우 백그라운드 작업의 ID

2771}2771}

2772```2772```

2773 2773 


2775 2775 

2776**도구 이름:** `Monitor`2776**도구 이름:** `Monitor`

2777 2777 

2778백그라운드 소스를 실행하고 각 이벤트를 Claude에 전달하여 폴링 없이 반응할 수 있도록 합니다. `command`는 스크립트를 실행하고 stdout 줄당 하나의 이벤트를 내보내며, `ws`는 WebSocket을 열고 텍스트 프레임당 하나의 이벤트를 내보냅니다. `command` 또는 `ws` 중 정확히 하나를 제공하십시오.2778백그라운드 소스를 실행하고 각 이벤트를 Claude에 전달하여 폴링 없이 반응할 수 있게 합니다. `command`는 스크립트를 실행하고 stdout 한 줄마다 이벤트 하나를 내보내며, `ws`는 WebSocket을 열고 텍스트 프레임 하나마다 이벤트 하나를 내보냅니다. `command`와 `ws` 중 정확히 하나만 제공하세요.

2779 2779 

2780Monitor가 명령을 실행할 때, Bash와 동일한 권한 규칙을 따릅니다. WebSocket 감시는 별도로 승인을 요청합니다. `ws` 소스는 Claude Code v2.1.195 이상이 필요합니다. 동작 및 제공자 가용성은 [Monitor 도구 참조](https://code.claude.com/docs/ko/tools-reference.md#monitor-tool)를 참조하십시오.2780Monitor가 명령을 실행할 때는 Bash와 동일한 권한 규칙을 따르며, WebSocket 감시는 별도로 승인을 요청합니다. `ws` 소스는 Claude Code v2.1.195 이상이 필요합니다. 동작과 제공업체별 사용 가능 여부는 [Monitor 도구 레퍼런스](https://code.claude.com/docs/ko/tools-reference.md#monitor-tool)를 참조하세요.

2781 2781 

2782**입력:**2782**입력:**

2783 2783 

2784```python theme={null}2784```python theme={null}

2785{2785{

2786 "command": str | None, # 셸 스크립트; 각 stdout 줄은 이벤트이고, 종료는 감시를 끝냅니다2786 "command": str | None, # 셸 스크립트; stdout 각 줄이 이벤트이며, 종료되면 감시가 끝남

2787 "ws": dict | None, # WebSocket 소스: {"url": str, "protocols": list[str] | None}; 각 텍스트 프레임은 이벤트입니다2787 "ws": dict | None, # WebSocket 소스: {"url": str, "protocols": list[str] | None}; 각 텍스트 프레임이 이벤트

2788 "description": str, # 알림에 표시되는 짧은 설명2788 "description": str, # 알림에 표시되는 짧은 설명

2789 "timeout_ms": int | None, # 밀리초 단위의 기한 (기본값 300000, 최대 3600000; 유효한 기한은 최대 1800000)2789 "timeout_ms": int | None, # 기한(밀리초)(기본값 300000, 최대 3600000; 실제 적용 기한은 최대 1800000)

2790}2790}

2791```2791```

2792 2792 


2795```python theme={null}2795```python theme={null}

2796{2796{

2797 "taskId": str, # 백그라운드 모니터 작업의 ID2797 "taskId": str, # 백그라운드 모니터 작업의 ID

2798 "timeoutMs": int, # 밀리초 단위의 감시 유효 기한2798 "timeoutMs": int, # 감시의 실제 적용 기한(밀리초)

2799 "persistent": bool | None, # False: 모든 감시에는 기한이 있습니다2799 "persistent": bool | None, # False: 모든 감시에는 기한이 있음

2800}2800}

2801```2801```

2802 2802 


2809```python theme={null}2809```python theme={null}

2810{2810{

2811 "file_path": str, # 수정할 파일의 절대 경로2811 "file_path": str, # 수정할 파일의 절대 경로

2812 "old_string": str, # 바꿀 텍스트2812 "old_string": str, # 교체될 기존 텍스트

2813 "new_string": str, # 바꿀 텍스트2813 "new_string": str, # 기존 텍스트를 대신할 새 텍스트

2814 "replace_all": bool | None, # 모든 항목 바꾸기 (기본값 False)2814 "replace_all": bool | None, # 모든 일치 항목 교체(기본값 False)

2815}2815}

2816```2816```

2817 2817 


2820```python theme={null}2820```python theme={null}

2821{2821{

2822 "filePath": str, # 편집된 파일2822 "filePath": str, # 편집된 파일

2823 "oldString": str, # 바뀐 텍스트2823 "oldString": str, # 교체된 기존 텍스트

2824 "newString": str, # 이를 대체한 텍스트2824 "newString": str, # 기존 텍스트를 대신한 새 텍스트

2825 "originalFile": str | None, # 편집 전 파일 내용2825 "originalFile": str | None, # 편집 전 파일 내용

2826 "structuredPatch": [ # 변경에 대한 diff 청크2826 "structuredPatch": [ # 변경에 대한 diff 헝크

2827 {2827 {

2828 "oldStart": int,2828 "oldStart": int,

2829 "oldLines": int,2829 "oldLines": int,


2832 "lines": list[str],2832 "lines": list[str],

2833 }2833 }

2834 ],2834 ],

2835 "userModified": bool, # 사용자가 제안된 편집을 수락하기 전에 변경했는지 여부2835 "userModified": bool, # 사용자가 수락하기 전에 제안된 편집을 변경했는지 여부

2836 "replaceAll": bool, # 모든 항목이 바뀌었는지 여부2836 "replaceAll": bool, # 모든 일치 항목이 교체되었는지 여부

2837 "gitDiff": { # 파일에 대한 선택적 git diff 요약2837 "gitDiff": { # 파일에 대한 선택적 git diff 요약

2838 "filename": str,2838 "filename": str,

2839 "status": "modified" | "added",2839 "status": "modified" | "added",


2841 "deletions": int,2841 "deletions": int,

2842 "changes": int,2842 "changes": int,

2843 "patch": str,2843 "patch": str,

2844 "repository": str | None, # 사용 가능할 때 GitHub owner/repo2844 "repository": str | None, # 사용 가능한 경우 GitHub owner/repo

2845 } | None,2845 } | None,

2846}2846}

2847```2847```


2860}2860}

2861```2861```

2862 2862 

2863Claude가 읽은 내용에 따라 출력은 다음 형태 중 하나를 취합니다. `type` 키를 확인하여 구분하십시오.2863출력은 Claude가 읽은 대상에 따라 다음 형태 중 하나를 가집니다. `type` 키를 확인하여 구분하세요.

2864 2864 

2865**출력 (type: `"text"`):**2865**출력 (type: `"text"`):**

2866 2866 


2869 "type": "text",2869 "type": "text",

2870 "file": {2870 "file": {

2871 "filePath": str, # 읽은 파일2871 "filePath": str, # 읽은 파일

2872 "content": str, # 반환된 콘텐츠2872 "content": str, # 반환된 내용

2873 "numLines": int, # 반환된 콘텐츠의 줄 수2873 "numLines": int, # 반환된 내용의 줄 수

2874 "startLine": int, # 콘텐츠가 시작되는 줄 번호2874 "startLine": int, # 내용이 시작되는 줄 번호

2875 "totalLines": int, # 파일의 총 줄 수2875 "totalLines": int, # 파일의 전체 줄 수

2876 "truncatedByTokenCap": bool | None, # 전체 파일 읽기가 토큰 상한을 초과했을 때 표시되고 True이며 콘텐츠는 첫 페이지입니다2876 "truncatedByTokenCap": bool | None, # 전체 파일 읽기가 토큰 상한을 초과하여 content가 첫 페이지인 경우 존재하며 True

2877 },2877 },

2878}2878}

2879```2879```


2888 "type": "image/jpeg" | "image/png" | "image/gif" | "image/webp", # 이미지 MIME 타입2888 "type": "image/jpeg" | "image/png" | "image/gif" | "image/webp", # 이미지 MIME 타입

2889 "originalSize": int, # 원본 파일 크기(바이트)2889 "originalSize": int, # 원본 파일 크기(바이트)

2890 "dimensions": { # 좌표 매핑을 위한 선택적 크기 정보2890 "dimensions": { # 좌표 매핑을 위한 선택적 크기 정보

2891 "originalWidth": int | None, # 선택적; 원본 너비(픽셀)2891 "originalWidth": int | None, # 선택 사항; 원본 너비(픽셀)

2892 "originalHeight": int | None, # 선택적; 원본 높이(픽셀)2892 "originalHeight": int | None, # 선택 사항; 원본 높이(픽셀)

2893 "displayWidth": int | None, # 선택적; 크기 조정 후 너비2893 "displayWidth": int | None, # 선택 사항; 크기 조정 후 너비

2894 "displayHeight": int | None, # 선택적; 크기 조정 후 높이2894 "displayHeight": int | None, # 선택 사항; 크기 조정 후 높이

2895 } | None,2895 } | None,

2896 },2896 },

2897}2897}


2931 "filePath": str, # 읽은 PDF2931 "filePath": str, # 읽은 PDF

2932 "originalSize": int, # 파일 크기(바이트)2932 "originalSize": int, # 파일 크기(바이트)

2933 "count": int, # 이미지로 추출된 페이지 수2933 "count": int, # 이미지로 추출된 페이지 수

2934 "outputDir": str, # 추출된 페이지 이미지를 포함하는 디렉토리2934 "outputDir": str, # 추출된 페이지 이미지가 있는 디렉터리

2935 },2935 },

2936 "firstPage": int | None, # 선택적 추출된 첫 페이지의 문서 페이지 번호2936 "firstPage": int | None, # 선택 사항; 첫 번째로 추출된 페이지의 문서 페이지 번호

2937}2937}

2938```2938```

2939 2939 


2941 2941 

2942```python theme={null}2942```python theme={null}

2943{2943{

2944 "type": "file_unchanged", # 파일은 Claude가 이 세션에서 마지막으로 읽은 이후 변경되지 않았으므로 콘텐츠가 반복되지 않습니다2944 "type": "file_unchanged", # 이 세션에서 Claude가 마지막으로 읽은 이후 파일이 변경되지 않았으므로 내용이 반복되지 않음

2945 "file": {2945 "file": {

2946 "filePath": str,2946 "filePath": str,

2947 },2947 },

2948 "source": "seeded" | None, # 이전 복사본이 Read 호출이 아닌 시작 시 로드된 CLAUDE.md 또는 메모리 파일에서 나온 경우 표시됨2948 "source": "seeded" | None, # 이전 사본이 Read 호출이 아닌 시작 시 로드된 CLAUDE.md 또는 메모리 파일에서 온 경우 존재

2949}2949}

2950```2950```

2951 2951 


2958```python theme={null}2958```python theme={null}

2959{2959{

2960 "file_path": str, # 쓸 파일의 절대 경로2960 "file_path": str, # 쓸 파일의 절대 경로

2961 "content": str, # 파일에 쓸 콘텐츠2961 "content": str, # 파일에 쓸 내용

2962}2962}

2963```2963```

2964 2964 


2966 2966 

2967```python theme={null}2967```python theme={null}

2968{2968{

2969 "type": "create" | "update", # 쓰기가 새 파일을 생성했는지 또는 기존 파일을 덮어썼는지 여부2969 "type": "create" | "update", # 쓰기가 새 파일을 생성했는지 기존 파일을 덮어썼는지 여부

2970 "filePath": str, # 쓴 파일2970 "filePath": str, # 쓴 파일

2971 "content": str, # 쓴 콘텐츠2971 "content": str, # 쓴 내용

2972 "structuredPatch": [ # diff 청크; 새 파일, 아무것도 변경되지 않음, 또는 Claude Code가 diff를 건너뛴 경우 비어 있음2972 "structuredPatch": [ # diff 헝크; 새 파일인 경우, 변경 사항이 없는 경우, 또는 Claude Code가 diff를 건너뛴 경우 비어 있음

2973 {2973 {

2974 "oldStart": int,2974 "oldStart": int,

2975 "oldLines": int,2975 "oldLines": int,


2978 "lines": list[str],2978 "lines": list[str],

2979 }2979 }

2980 ],2980 ],

2981 "originalFile": str | None, # 이전 콘텐츠; 새 파일이거나 이전 콘텐츠가 너무 클 때 None2981 "originalFile": str | None, # 이전 내용; 새 파일이거나 이전 내용이 너무 커서 포함할 수 없는 경우 None

2982 "gitDiff": { # 파일에 대한 선택적 git diff 요약2982 "gitDiff": { # 파일에 대한 선택적 git diff 요약

2983 "filename": str,2983 "filename": str,

2984 "status": "modified" | "added",2984 "status": "modified" | "added",


2986 "deletions": int,2986 "deletions": int,

2987 "changes": int,2987 "changes": int,

2988 "patch": str,2988 "patch": str,

2989 "repository": str | None, # 사용 가능할 때 GitHub owner/repo2989 "repository": str | None, # 사용 가능한 경우 GitHub owner/repo

2990 } | None,2990 } | None,

2991 "userModified": bool | None, # 선택적; 사용자가 수락하기 전에 제안된 콘텐츠를 편집했는지 여부2991 "userModified": bool | None, # 선택 사항; 사용자가 수락하기 전에 제안된 내용을 편집했는지 여부

2992}2992}

2993```2993```

2994 2994 


3001```python theme={null}3001```python theme={null}

3002{3002{

3003 "pattern": str, # 파일과 일치시킬 glob 패턴3003 "pattern": str, # 파일과 일치시킬 glob 패턴

3004 "path": str | None, # 검색할 디렉토리 (기본값은 cwd)3004 "path": str | None, # 검색할 디렉터리(기본값은 cwd)

3005}3005}

3006```3006```

3007 3007 


3009 3009 

3010```python theme={null}3010```python theme={null}

3011{3011{

3012 "durationMs": int, # 검색을 실행하는 데 걸린 시간(밀리초)3012 "durationMs": int, # 검색 실행에 걸린 시간(밀리초)

3013 "numFiles": int, # 반환된 경로 수, 모든 잘림 후3013 "numFiles": int, # 잘림 적용 후 반환된 경로 수

3014 "filenames": list[str], # 일치하는 파일 경로3014 "filenames": list[str], # 일치하는 파일 경로

3015 "truncated": bool, # 결과가 100파일 제한에서 잘렸는지 여부3015 "truncated": bool, # 결과가 100개 파일 제한에서 잘렸는지 여부

3016 "totalMatches": int | None, # 선택적 잘림 전 일치하는 파일의 총 수; countIsComplete가 False일 때 하한3016 "totalMatches": int | None, # 선택 사항; 잘림 전 일치하는 파일의 총 수; countIsComplete가 False인 경우 하한값

3017 "countIsComplete": bool | None, # 선택적; totalMatches가 정확한지 여부3017 "countIsComplete": bool | None, # 선택 사항; totalMatches가 정확한지 여부

3018}3018}

3019```3019```

3020 3020 


3029```python theme={null}3029```python theme={null}

3030{3030{

3031 "pattern": str, # 정규 표현식 패턴3031 "pattern": str, # 정규 표현식 패턴

3032 "path": str | None, # 검색할 파일 또는 디렉토리3032 "path": str | None, # 검색할 파일 또는 디렉터리

3033 "glob": str | None, # 파일을 필터링할 glob 패턴3033 "glob": str | None, # 파일을 필터링할 glob 패턴

3034 "type": str | None, # 검색할 파일 타입3034 "type": str | None, # 검색할 파일 유형

3035 "output_mode": str | None, # "content", "files_with_matches" 또는 "count"3035 "output_mode": str | None, # "content", "files_with_matches" 또는 "count"

3036 "-i": bool | None, # 대소문자 구분 없는 검색3036 "-i": bool | None, # 대소문자 구분 없는 검색

3037 "-n": bool | None, # 줄 번호 표시3037 "-n": bool | None, # 줄 번호 표시

3038 "-B": int | None, # 각 일치 전에 표시할 줄3038 "-B": int | None, # 각 일치 항목 앞에 표시할 줄 수

3039 "-A": int | None, # 각 일치 후에 표시할 줄3039 "-A": int | None, # 각 일치 항목 뒤에 표시할 줄 수

3040 "-C": int | None, # 전후에 표시할 줄3040 "-C": int | None, # 앞뒤로 표시할 줄 수

3041 "context": int | None, # 전후에 표시할 줄; -C는 별칭3041 "context": int | None, # 앞뒤로 표시할 줄 수; -C는 별칭

3042 "-o": bool | None, # 각 줄의 일치한 부분만 인쇄3042 "-o": bool | None, # 각 줄에서 일치하는 부분만 출력

3043 "head_limit": int | None, # 출력을 처음 N개 줄/항목으로 제한3043 "head_limit": int | None, # 출력을 처음 N개 줄/항목으로 제한

3044 "offset": int | None, # head_limit을 적용하기 전에 처음 N개 줄/항목 건너뛰기3044 "offset": int | None, # head_limit 적용 전에 처음 N개 줄/항목 건너뛰기

3045 "multiline": bool | None, # 다중 줄 모드 활성화3045 "multiline": bool | None, # 여러 줄 모드 활성화

3046}3046}

3047```3047```

3048 3048 


3051```python theme={null}3051```python theme={null}

3052{3052{

3053 "mode": "content" | "files_with_matches" | "count" | None, # 사용된 출력 모드3053 "mode": "content" | "files_with_matches" | "count" | None, # 사용된 출력 모드

3054 "numFiles": int, # 결과의 파일 수; 콘텐츠 모드에서는 항상 03054 "numFiles": int, # 결과에 포함된 파일 수; content 모드에서는 항상 0

3055 "filenames": list[str], # files_with_matches 모드의 일치하는 파일; 다른 모드에서는 비어 있음3055 "filenames": list[str], # files_with_matches 모드에서 일치하는 파일; 다른 모드에서는 비어 있음

3056 "content": str | None, # 콘텐츠 모드의 일치하는 줄, 또는 count 모드의 파일별 수3056 "content": str | None, # content 모드에서는 일치하는 줄, count 모드에서는 파일별 개수

3057 "numLines": int | None, # 콘텐츠의 줄 수, 콘텐츠 모드에 표시됨3057 "numLines": int | None, # content의 줄 수, content 모드에서 존재

3058 "numMatches": int | None, # 총 일치 수, count 모드에 표시됨3058 "numMatches": int | None, # 전체 일치 개수, count 모드에서 존재

3059 "totalFiles": int | None, # 선택적 head_limit과 offset 전 총 수, files_with_matches 모드3059 "totalFiles": int | None, # 선택 사항; head_limit 및 offset 적용 전 총계, files_with_matches 모드

3060 "totalLines": int | None, # 선택적 head_limit과 offset 전 총 수, 콘텐츠 모드3060 "totalLines": int | None, # 선택 사항; head_limit 및 offset 적용 전 총계, content 모드

3061 "appliedLimit": int | None, # head_limit이 결과를 잘랐을 때 표시됨3061 "appliedLimit": int | None, # head_limit으로 결과가 잘린 경우 존재

3062 "appliedOffset": int | None, # offset이 적용되었을 때 표시됨3062 "appliedOffset": int | None, # offset이 적용된 경우 존재

3063}3063}

3064```3064```

3065 3065 

3066Grep은 각 출력 모드에서 이 dict 형태를 반환합니다. 어떤 선택적 키가 표시되는지는 `output_mode`에 따라 다릅니다.3066Grep은 모든 출력 모드에서 이 dict 형태를 반환합니다. 어떤 선택적 키가 존재하는지는 `output_mode`에 따라 달라집니다.

3067 3067 

3068`totalFiles`는 Claude Code v2.1.208 이상이 필요합니다. `totalLines`는 Claude Code v2.1.210 이상이 필요합니다.3068`totalFiles`는 Claude Code v2.1.208 이상이 필요합니다. `totalLines`는 Claude Code v2.1.210 이상이 필요합니다.

3069 3069 


3077{3077{

3078 "notebook_path": str, # Jupyter 노트북의 절대 경로3078 "notebook_path": str, # Jupyter 노트북의 절대 경로

3079 "cell_id": str | None, # 편집할 셀의 ID3079 "cell_id": str | None, # 편집할 셀의 ID

3080 "new_source": str, # 셀의 새로운 소스3080 "new_source": str, # 셀의 새 소스

3081 "cell_type": "code" | "markdown" | None, # 셀의 타입3081 "cell_type": "code" | "markdown" | None, # 셀의 유형

3082 "edit_mode": "replace" | "insert" | "delete" | None, # 편집 작업 타입3082 "edit_mode": "replace" | "insert" | "delete" | None, # 편집 작업 유형

3083}3083}

3084```3084```

3085 3085 


3088```python theme={null}3088```python theme={null}

3089{3089{

3090 "new_source": str, # 셀에 쓴 소스3090 "new_source": str, # 셀에 쓴 소스

3091 "old_source": str | None, # 이전 셀 소스, replace와 delete에 표시됨3091 "old_source": str | None, # 이전 셀 소스, replace 및 delete에서 존재

3092 "cell_id": str | None, # 편집된 셀의 ID, 사용 가능할 때3092 "cell_id": str | None, # 사용 가능한 경우 편집된 셀의 ID

3093 "cell_type": "code" | "markdown", # 셀 타입3093 "cell_type": "code" | "markdown", # 셀 유형

3094 "language": str, # 노트북의 프로그래밍 언어3094 "language": str, # 노트북의 프로그래밍 언어

3095 "edit_mode": str, # 사용된 편집 모드3095 "edit_mode": str, # 사용된 편집 모드

3096 "error": str | None, # 작업이 실패했을 때 오류 메시지3096 "error": str | None, # 작업이 실패한 경우 오류 메시지

3097 "notebook_path": str, # 노트북 파일3097 "notebook_path": str, # 노트북 파일

3098 "original_file": str, # 편집 전 노트북 콘텐츠3098 "original_file": str, # 편집 전 노트북 내용

3099 "updated_file": str, # 편집 후 노트북 콘텐츠3099 "updated_file": str, # 편집 후 노트북 내용

3100}3100}

3101```3101```

3102 3102 


3109```python theme={null}3109```python theme={null}

3110{3110{

3111 "url": str, # 콘텐츠를 가져올 URL3111 "url": str, # 콘텐츠를 가져올 URL

3112 "prompt": str, # 가져온 콘텐츠에서 실행할 프롬프트3112 "prompt": str, # 가져온 콘텐츠에 실행할 프롬프트

3113 "offset": int | None, # 페이지 시작 부분에서 건너뛸 문자 수. Python Agent SDK 0.2.164 이상 필요3113 "offset": int | None, # 페이지 시작 부분에서 건너뛸 문자 수. Python Agent SDK 0.2.164 이상 필요

3114}3114}

3115```3115```


3121 "bytes": int, # 가져온 콘텐츠의 크기(바이트)3121 "bytes": int, # 가져온 콘텐츠의 크기(바이트)

3122 "code": int, # HTTP 응답 코드3122 "code": int, # HTTP 응답 코드

3123 "codeText": str, # HTTP 응답 코드 텍스트3123 "codeText": str, # HTTP 응답 코드 텍스트

3124 "result": str, # 콘텐츠에 프롬프트를 적용한 처리된 결과3124 "result": str, # 콘텐츠에 프롬프트를 적용하여 처리한 결과

3125 "durationMs": int, # 콘텐츠를 가져오고 처리하는 데 걸린 시간(밀리초)3125 "durationMs": int, # 콘텐츠를 가져와 처리하는 데 걸린 시간(밀리초)

3126 "url": str, # 가져온 URL3126 "url": str, # 가져온 URL

3127}3127}

3128```3128```


3147{3147{

3148 "query": str, # 검색 쿼리3148 "query": str, # 검색 쿼리

3149 "results": list[str | {"tool_use_id": str, "content": list[{"title": str, "url": str}]}],3149 "results": list[str | {"tool_use_id": str, "content": list[{"title": str, "url": str}]}],

3150 "durationSeconds": float, # 검색 시간(초)3150 "durationSeconds": float, # 검색 소요 시간(초)

3151}3151}

3152```3152```

3153 3153 


3169>3169>

3170> 이 기본 집합은 Claude Code v2.1.268 이상에 적용되며, TypeScript Agent SDK는 v0.3.268부터 이를 번들로 제공합니다.3170> 이 기본 집합은 Claude Code v2.1.268 이상에 적용되며, TypeScript Agent SDK는 v0.3.268부터 이를 번들로 제공합니다.

3171>3171>

3172> [모델 가용성](https://code.claude.com/docs/ko/agent-sdk/todo-tracking.md#model-availability)을 참조하여 옵트인하십시오.3172> 옵트인하려면 [모델 사용 가능 여부](https://code.claude.com/docs/ko/agent-sdk/todo-tracking.md#model-availability)를 참조하세요.

3173 3173 

3174**입력:**3174**입력:**

3175 3175 


3179 {3179 {

3180 "content": str, # 작업 설명3180 "content": str, # 작업 설명

3181 "status": "pending" | "in_progress" | "completed", # 작업 상태3181 "status": "pending" | "in_progress" | "completed", # 작업 상태

3182 "activeForm": str, # 설명의 활성 형식3182 "activeForm": str, # 설명의 진행형

3183 }3183 }

3184 ]3184 ]

3185}3185}


3215```python theme={null}3215```python theme={null}

3216{3216{

3217 "subject": str, # 짧은 작업 제목3217 "subject": str, # 짧은 작업 제목

3218 "description": str, # 상세한 작업 본문3218 "description": str, # 자세한 작업 본문

3219 "activeForm": str | None, # 진행 중일 때 표시되는 현재형 레이블3219 "activeForm": str | None, # 진행 중에 표시되는 현재 진행형 레이블

3220 "metadata": dict | None, # 임의의 호출자 메타데이터3220 "metadata": dict | None, # 호출자가 지정하는 임의의 메타데이터

3221}3221}

3222```3222```

3223 3223 


3225 3225 

3226```python theme={null}3226```python theme={null}

3227{3227{

3228 "task": {"id": str, "subject": str}, # 할당된 ID가 있는 생성된 작업3228 "task": {"id": str, "subject": str}, # ID가 할당된 생성된 작업

3229}3229}

3230```3230```

3231 3231 


3237 3237 

3238```python theme={null}3238```python theme={null}

3239{3239{

3240 "taskId": str, # 패치할 작업의 ID3240 "taskId": str, # 수정할 작업의 ID

3241 "status": Literal["pending", "in_progress", "completed", "deleted"] | None,3241 "status": Literal["pending", "in_progress", "completed", "deleted"] | None,

3242 "subject": str | None,3242 "subject": str | None,

3243 "description": str | None,3243 "description": str | None,


3255{3255{

3256 "success": bool,3256 "success": bool,

3257 "taskId": str,3257 "taskId": str,

3258 "updatedFields": list[str], # 변경된 필드의 이름3258 "updatedFields": list[str], # 변경된 필드 이름

3259 "error": str | None,3259 "error": str | None,

3260 "statusChange": {"from": str, "to": str} | None,3260 "statusChange": {"from": str, "to": str} | None,

3261}3261}


3284 "status": Literal["pending", "in_progress", "completed"],3284 "status": Literal["pending", "in_progress", "completed"],

3285 "blocks": list[str],3285 "blocks": list[str],

3286 "blockedBy": list[str],3286 "blockedBy": list[str],

3287 } | None, # ID를 찾을 수 없을 때 None3287 } | None, # ID를 찾을 수 없는 경우 None

3288}3288}

3289```3289```

3290 3290 


3316 3316 

3317### TaskOutput3317### TaskOutput

3318 3318 

3319Claude Code v2.1.277에서 제거되었습니다. 이전에는 실행 중이거나 완료된 백그라운드 작업의 출력을 검색했으며, `BashOutput`은 별칭으로 허용되었습니다. 이제 Claude는 `Read`를 사용하여 백그라운드 작업의 출력 파일을 읽습니다.3319Claude Code v2.1.277에서 제거되었습니다. 이전에는 실행 중이거나 완료된 백그라운드 작업의 출력을 가져왔으며 `BashOutput`이 별칭으로 허용되었습니다. 이제 Claude는 대신 `Read`로 백그라운드 작업의 출력 파일을 읽습니다.

3320 3320 

3321`disallowed_tools` 항목 또는 두 이름 중 하나를 여전히 지정하는 거부 규칙은 경고 없이 무시됩니다.3321두 이름 중 하나를 여전히 지정하는 `disallowed_tools` 항목이나 거부 규칙은 경고 없이 무시됩니다.

3322 3322 

3323### TaskStop3323### TaskStop

3324 3324 

3325**도구 이름:** `TaskStop`. 이전 이름 `KillShell`과 `KillBash`는 여전히 별칭으로 허용됩니다.3325**도구 이름:** `TaskStop`. 이전 이름인 `KillShell`과 `KillBash`는 권한 규칙, 훅 matcher, 그리고 `tools`, `allowed_tools`, `disallowed_tools` 옵션에서 계속 사용할 수 있습니다.

3326 3326 

3327**입력:**3327**입력:**

3328 3328 

3329```python theme={null}3329```python theme={null}

3330{3330{

3331 "task_id": str | None, # 중지할 백그라운드 작업의 ID3331 "task_id": str | None, # 중지할 백그라운드 작업의 ID

3332 "shell_id": str | None, # 더 이상 사용되지 않음: task_id를 대신 사용하십시오3332 "shell_id": str | None, # deprecated: 대신 task_id 사용

3333}3333}

3334```3334```

3335 3335 


3339{3339{

3340 "message": str, # 작업에 대한 상태 메시지3340 "message": str, # 작업에 대한 상태 메시지

3341 "task_id": str, # 중지된 작업의 ID3341 "task_id": str, # 중지된 작업의 ID

3342 "task_type": str, # 중지된 작업의 타입3342 "task_type": str, # 중지된 작업의 유형

3343 "command": str | None, # 중지된 작업의 명령 또는 설명3343 "command": str | None, # 중지된 작업의 명령 또는 설명

3344}3344}

3345```3345```


3352 3352 

3353```python theme={null}3353```python theme={null}

3354{3354{

3355 "plan": str # 사용자 승인을 위해 실행할 계획3355 "plan": str # 사용자 승인을 받기 위해 제시할 계획

3356}3356}

3357```3357```

3358 3358 


3361```python theme={null}3361```python theme={null}

3362{3362{

3363 "plan": str | None, # 사용자에게 제시된 계획3363 "plan": str | None, # 사용자에게 제시된 계획

3364 "isAgent": bool, # 서브에이전트가 도구를 호출했을 때 True3364 "isAgent": bool, # 서브에이전트가 도구를 호출한 경우 True

3365 "filePath": str | None, # 계획이 파일에 저장되었을 때 표시됨3365 "filePath": str | None, # 계획이 파일에 저장된 경우 존재

3366 "hasTaskTool": bool | None, # 선택적; 현재 컨텍스트에서 Agent 도구를 사용할 수 있는지 여부3366 "hasTaskTool": bool | None, # 선택 사항; 현재 컨텍스트에서 Agent 도구를 사용할 수 있는지 여부

3367 "planWasEdited": bool | None, # 사용자가 승인하기 전에 계획을 편집했을 때 표시되고 True3367 "planWasEdited": bool | None, # 사용자가 승인 전에 계획을 편집한 경우 존재하며 True

3368 "awaitingLeaderApproval": bool | None, # 팀원이 팀 리더에게 승인을 위해 계획을 보냈을 때 표시되고 True3368 "awaitingLeaderApproval": bool | None, # 팀원이 승인을 위해 팀 리드에게 계획을 보낸 경우 존재하며 True

3369 "requestId": str | None, # 선택적 해당 승인 요청의 ID3369 "requestId": str | None, # 선택 사항; 해당 승인 요청의 ID

3370}3370}

3371```3371```

3372 3372 


3382}3382}

3383```3383```

3384 3384 

3385결과는 dict가 아닌 list이므로, `tool_use_result`는 이 도구에 대해 `list`를 보유합니다.3385결과는 dict가 아닌 list이므로, 이 도구의 `tool_use_result`는 `list`를 담습니다.

3386 3386 

3387**출력:**3387**출력:**

3388 3388 

3389```python theme={null}3389```python theme={null}

3390[ # 리소스당 하나의 항목3390[ # 리소스마다 하나의 항목

3391 {3391 {

3392 "uri": str, # 리소스 URI3392 "uri": str, # 리소스 URI

3393 "name": str, # 리소스 이름3393 "name": str, # 리소스 이름


3419 {3419 {

3420 "uri": str, # 리소스 URI3420 "uri": str, # 리소스 URI

3421 "mimeType": str | None, # 선택적 MIME 타입3421 "mimeType": str | None, # 선택적 MIME 타입

3422 "text": str | None, # 텍스트 콘텐츠, 또는 바이너리 콘텐츠에 대한 노트3422 "text": str | None, # 텍스트 콘텐츠 또는 바이너리 콘텐츠에 대한 안내

3423 "blobSavedTo": str | None, # Claude Code가 바이너리 콘텐츠를 디스크에 저장했을 때 표시됨; 저장된 파일의 경로3423 "blobSavedTo": str | None, # Claude Code가 바이너리 콘텐츠를 디스크에 저장한 경우 존재; 저장된 파일의 경로

3424 }3424 }

3425 ],3425 ],

3426 "error": str | None, # 서버가 리소스를 읽을 수 없을 때 표시됨3426 "error": str | None, # 서버가 리소스를 읽을 수 없는 경우 존재

3427}3427}

3428```3428```

3429 3429 

Details

263* **새 세션 또는 저장소가 세션에 대해 아무것도 없을 때의 재개**: 설정 디렉토리 아래의 로컬 기록이 실행을 초과하고, 저장소는 복사본을 받습니다.263* **새 세션 또는 저장소가 세션에 대해 아무것도 없을 때의 재개**: 설정 디렉토리 아래의 로컬 기록이 실행을 초과하고, 저장소는 복사본을 받습니다.

264* **[저장소에서 재개된](#resume-from-the-store) 실행**: 로컬 복사본은 실행 끝에 삭제되므로, 저장소가 유일한 내구적 복사본을 보유합니다.264* **[저장소에서 재개된](#resume-from-the-store) 실행**: 로컬 복사본은 실행 끝에 삭제되므로, 저장소가 유일한 내구적 복사본을 보유합니다.

265 265 

266새 세션이 로컬 디스크에 기록을 남기지 않도록 하려면 `options.env`에서 `CLAUDE_CONFIG_DIR`을 임시 디렉토리로 설정합니다. 저장소에서 재개된 실행은 이미 로컬 복사본을 삭제하므로 이러한 설정이 필요하지 않습니다. TypeScript에서는 [`env` 옵션](https://code.claude.com/docs/ko/agent-sdk/typescript#options)이 서브프로세스 환경을 대체하므로 `process.env`를 `env`로도 전개합니다.266새 세션이 로컬 디스크에 트랜스크립트를 남기지 않도록 하려면 `options.env`에서 `CLAUDE_CONFIG_DIR`을 새로운 비공개 임시 디렉토리로 설정합니다. 저장소에서 재개된 실행은 이미 로컬 복사본을 삭제하므로 이러한 설정이 필요하지 않습니다. TypeScript에서는 [`env` 옵션](https://code.claude.com/docs/ko/agent-sdk/typescript#options)이 서브프로세스 환경을 대체하므로 `process.env`를 `env`로도 전개합니다.

267 267 

268앱이 설정 디렉토리의 파일(예: OAuth 자격 증명 또는 사용자 `settings.json`의 `apiKeyHelper`)을 통해 로그인하는 경우, 먼저 해당 파일을 임시 디렉토리에 복사하거나 대신 `env`에서 `ANTHROPIC_API_KEY`를 설정합니다. 그렇지 않으면 실행이 `Not logged in`으로 실패합니다.268`CLAUDE_CONFIG_DIR`을 임시 디렉토리로 설정하고 [claude.ai 로그인](https://code.claude.com/docs/ko/authentication.md#credential-management) 또는 사용자 `settings.json`의 [`apiKeyHelper`](https://code.claude.com/docs/ko/settings-reference#apikeyhelper)로 로그인하는 경우, 실행이 `Not logged in`으로 실패합니다. 실행을 인증하려면 장기 토큰을 설정하거나, API 키를 설정하거나, 설정 파일을 복사합니다:

269 

270* **장기 토큰**: 본인의 Claude 구독으로 에이전트를 직접 실행하는 경우, `env`에서 `CLAUDE_CODE_OAUTH_TOKEN`을 [`claude setup-token`](https://code.claude.com/docs/ko/authentication#generate-a-long-lived-token)으로 발급한 토큰으로 설정합니다. 해당 토큰으로는 모델 요청만 할 수 있으므로, 해당 실행에서는 [claude.ai 커넥터](https://code.claude.com/docs/ko/mcp.md#use-mcp-servers-from-claude-ai)를 사용할 수 없습니다.

271* **API 키**: `env`에서 `ANTHROPIC_API_KEY`를 설정합니다.

272* **설정 파일**: OAuth 자격 증명이나 사용자 `settings.json`의 `apiKeyHelper`처럼 평소 사용하는 설정 디렉토리의 파일을 통해 로그인하는 경우, 해당 파일을 임시 디렉토리에 복사합니다.

269 273 

270두 옵션이 미러와 충돌하며, 저장소와 함께 둘 중 하나를 결합하면 SDK는 시작 시 예외를 발생시킵니다:274두 옵션이 미러와 충돌하며, 저장소와 함께 둘 중 하나를 결합하면 SDK는 시작 시 예외를 발생시킵니다:

271 275 

Details

730 730 

731일부 키만 세션 중에 적용됩니다.731일부 키만 세션 중에 적용됩니다.

732 732 

733* **다음 턴에 적용**: `effortLevel`, `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. `agent`를 전환하면 해당 에이전트의 모델 재정의와 훅도 다음 턴에 적용됩니다. 에이전트의 시스템 프롬프트는 다음 턴에 적용되거나, [기록된 시스템 프롬프트를 재사용하는](https://code.claude.com/docs/ko/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session) 세션에서는 세션이 압축된 후에 적용됩니다.733* **다음 턴에 적용**: `ultracode`, `permissions`, `hooks`, `skillOverrides`, `fastMode`, `agent`. `agent`를 전환하면 해당 에이전트의 모델 재정의와 훅도 다음 턴에 적용됩니다. 에이전트의 시스템 프롬프트는 다음 턴에 적용됩니다. [기록된 시스템 프롬프트를 재사용](https://code.claude.com/docs/ko/agent-sdk/modifying-system-prompts.md#change-the-prompt-of-an-existing-session)하는 세션에서는 세션이 압축된 후에 적용됩니다.

734* **현재 턴 중에 적용**: `model`. Claude가 턴을 처리하는 동안 `model`을 전환하면, Claude가 이미 생성 중인 응답은 이전 모델로 완료되고, Claude Code가 모델에 보내는 다음 호출부터 턴의 나머지 부분은 새 모델을 사용합니다. 서브에이전트는 자체 모델을 유지합니다. v2.1.212 이전에는 턴 중간의 전환이 다음 턴까지 대기했습니다.734* **현재 턴 중에 적용**: `model`. Claude가 턴을 처리하는 동안 `model`을 전환하면, Claude가 이미 생성 중인 응답은 이전 모델로 완료되고, Claude Code가 모델에 보내는 다음 호출부터 턴의 나머지 부분은 새 모델을 사용합니다. 서브에이전트는 자체 모델을 유지합니다. v2.1.212 이전에는 턴 중간의 전환이 다음 턴까지 대기했습니다.

735* **다음 턴까지 적용**: `effortLevel`. 수준은 Claude Code가 모델에 보내는 다음 호출부터 적용됩니다. API 키나 Claude 구독을 사용하는 Claude Opus 5.5처럼 [effort 변경 시 프롬프트 캐시가 유지되는](https://code.claude.com/docs/ko/prompt-caching.md#changing-effort-level) 경우에는 다음 턴에 적용된다고 예상하세요.

735* **세션 중에는 효과 없음**: 시스템 프롬프트 옵션. 이 옵션은 시작 시 한 번만 확인되므로, 호출이 성공하더라도 실행 중인 세션은 원래 값을 유지합니다. 변경하려면 새 세션을 시작하세요.736* **세션 중에는 효과 없음**: 시스템 프롬프트 옵션. 이 옵션은 시작 시 한 번만 확인되므로, 호출이 성공하더라도 실행 중인 세션은 원래 값을 유지합니다. 변경하려면 새 세션을 시작하세요.

736 737 

737`effortLevel`은 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level) 이름을 허용합니다. 또한 `"ultracode"`도 허용하는데, 이는 [ultracode](https://code.claude.com/docs/ko/workflows.md#let-claude-decide-with-ultracode)를 켠 상태에서 `xhigh` effort를 요청합니다. `applyFlagSettings()`는 이 값 없이 `effortLevel`을 선언하므로, TypeScript에서 동일한 결과를 얻으려면 `{ ultracode: true, effortLevel: "xhigh" }`를 전달하거나, 세션의 현재 effort 수준에서 ultracode를 켜려면 [`ultracode`](https://code.claude.com/docs/ko/settings-reference#ultracode) 키만 전달하세요. `ultracode` 값에는 Claude Code v2.1.203 이상이 필요하며, 설정 파일의 `effortLevel` 키가 아닌 `applyFlagSettings()`에서만 허용됩니다. v2.1.284 이전에는 `ultracode` 키만 전달해도 수준이 `xhigh`로 설정되었습니다.738`effortLevel`은 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level) 이름을 허용합니다. 또한 `"ultracode"`도 허용하는데, 이는 [ultracode](https://code.claude.com/docs/ko/workflows.md#let-claude-decide-with-ultracode)를 켠 상태에서 `xhigh` effort를 요청합니다. `applyFlagSettings()`는 이 값 없이 `effortLevel`을 선언하므로, TypeScript에서 동일한 결과를 얻으려면 `{ ultracode: true, effortLevel: "xhigh" }`를 전달하거나, 세션의 현재 effort 수준에서 ultracode를 켜려면 [`ultracode`](https://code.claude.com/docs/ko/settings-reference#ultracode) 키만 전달하세요. `ultracode` 값에는 Claude Code v2.1.203 이상이 필요하며, 설정 파일의 `effortLevel` 키가 아닌 `applyFlagSettings()`에서만 허용됩니다. v2.1.284 이전에는 `ultracode` 키만 전달해도 수준이 `xhigh`로 설정되었습니다.

738 739 

739값은 플래그 설정 계층에 기록되며, 시작 시 `query()`의 인라인 `settings` 옵션이 설정한 값 위에 병합됩니다. 이는 [페이지 내 우선순위 섹션](#settings-precedence)에서 프로그래밍 방식 옵션이라고 부르는 것과 동일한 계층입니다.740값은 플래그 설정 계층에 기록되며, 시작 시 `query()`의 인라인 `settings` 옵션이 설정한 값 위에 병합됩니다. 이는 [페이지 내 우선순위 섹션](#settings-precedence)에서 프로그래밍 방식 옵션이라고 부르는 것과 같은 계층입니다. `effortLevel`은 예외입니다. [effort 해석 순서](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)에서 보듯이, 전달한 수준은 관리형 설정을 포함해 `--effort`나 설정에서 지정한 수준을 대체합니다.

740 741 

741연속 호출은 최상위 키를 얕게 병합합니다. `{ permissions: {...} }`로 두 번째 호출을 하면 이전 호출의 `permissions` 객체에 깊게 병합되지 않고 전체 객체가 대체됩니다.742연속 호출은 최상위 키를 얕게 병합합니다. `{ permissions: {...} }`로 두 번째 호출을 하면 이전 호출의 `permissions` 객체에 깊게 병합되지 않고 전체 객체가 대체됩니다.

742 743 


13272. 프로젝트 설정(`.claude/settings.json`)13282. 프로젝트 설정(`.claude/settings.json`)

13283. 사용자 설정(`~/.claude/settings.json`)13293. 사용자 설정(`~/.claude/settings.json`)

1329 1330 

1330`agents`, `allowedTools`, `settings` 같은 프로그래밍 방식 옵션은 user, project, local 파일 시스템 설정을 재정의합니다. 관리형 정책 설정은 프로그래밍 방식 옵션보다 우선합니다.1331`agents`, `allowedTools`, `settings` 같은 프로그래밍 방식 옵션은 사용자, 프로젝트, 로컬 파일 시스템 설정을 재정의합니다. 관리형 정책 설정과 프로그래밍 방식 옵션이 같은 키를 설정하면 관리형 값이 적용되며, [`applyFlagSettings()`](#applyflagsettings)에 전달된 `effortLevel` 같은 예외가 있습니다.

1331 1332 

1332### `PermissionMode`1333### `PermissionMode`

1333 1334 


2095`terminal_slash_commands`는 `slash_commands` 중 인터페이스가 로컬 터미널에 묶인 항목(예: `exit`)을 나열합니다. `slash_commands`의 다른 항목처럼 보낼 수 있으며, 이 필드는 원격 또는 모바일 클라이언트가 명령 메뉴에서 이를 숨길 수 있도록 존재합니다. 이 필드는 비어 있지 않을 때만 있으며, Agent SDK v0.3.229 이상이 필요합니다.2096`terminal_slash_commands`는 `slash_commands` 중 인터페이스가 로컬 터미널에 묶인 항목(예: `exit`)을 나열합니다. `slash_commands`의 다른 항목처럼 보낼 수 있으며, 이 필드는 원격 또는 모바일 클라이언트가 명령 메뉴에서 이를 숨길 수 있도록 존재합니다. 이 필드는 비어 있지 않을 때만 있으며, Agent SDK v0.3.229 이상이 필요합니다.

2096 2097 

2097* 각 `mcp_servers` 항목의 `source`: 서버 정의의 출처로, [`McpServerStatus`](#mcpserverstatus)의 `source`와 같은 값을 가집니다. Agent SDK v0.3.274 이상이 필요합니다.2098* 각 `mcp_servers` 항목의 `source`: 서버 정의의 출처로, [`McpServerStatus`](#mcpserverstatus)의 `source`와 같은 값을 가집니다. Agent SDK v0.3.274 이상이 필요합니다.

2098* `effort`: Claude Code가 세션의 다음 요청에 보내는 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)이며, 보내지 않는 경우 `null`입니다. Claude Code는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 클라이언트에 보내는 init 메시지에만 이 필드를 설정하고, 애플리케이션이 읽는 init 메시지에서는 생략합니다. Agent SDK v0.3.234 이상이 필요합니다.2099* `effort`: 세션의 다음 턴에 설정된 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)이며, Claude Code가 수준을 보내지 않으면 `null`입니다. Claude Code는 [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 클라이언트에 보내는 init 메시지에만 이 필드를 설정하며, 애플리케이션이 읽는 init 메시지에서는 생략합니다. Agent SDK v0.3.234 이상이 필요합니다.

2099 2100 

2100`capabilities` 배열은 이 CLI가 구현하는 프로토콜 동작을 나열하므로, `claude_code_version` 문자열을 비교하는 대신 기능을 감지할 수 있습니다. 이는 열린 집합입니다. 인식하지 못하는 값은 무시하고, 의존하는 동작에 해당하는 특정 capability를 확인하세요. 이 필드에는 Claude Code v2.1.205 이상이 필요하며 이전 CLI에는 없습니다.2101`capabilities` 배열은 이 CLI가 구현하는 프로토콜 동작을 나열하므로, `claude_code_version` 문자열을 비교하는 대신 기능을 감지할 수 있습니다. 이는 열린 집합입니다. 인식하지 못하는 값은 무시하고, 의존하는 동작에 해당하는 특정 capability를 확인하세요. 이 필드에는 Claude Code v2.1.205 이상이 필요하며 이전 CLI에는 없습니다.

2101 2102 

artifacts.md +1 −1

Details

369| 요구사항 | 사용 가능한 경우 |369| 요구사항 | 사용 가능한 경우 |

370| :- | :- |370| :- | :- |

371| 플랜 | Pro, Max, Team 또는 Enterprise. Pro 및 Max 플랜에서는 artifacts가 공유할 때까지 사용자에게만 비공개이며 관리자 관리가 적용되지 않습니다. Team 및 Enterprise 플랜에서는 artifacts가 기본적으로 활성화되며, Owner가 claude.ai 관리자 설정에서 [이를 조직에 대해 비활성화](#manage-artifacts-for-your-organization)할 수 있습니다. |371| 플랜 | Pro, Max, Team 또는 Enterprise. Pro 및 Max 플랜에서는 artifacts가 공유할 때까지 사용자에게만 비공개이며 관리자 관리가 적용되지 않습니다. Team 및 Enterprise 플랜에서는 artifacts가 기본적으로 활성화되며, Owner가 claude.ai 관리자 설정에서 [이를 조직에 대해 비활성화](#manage-artifacts-for-your-organization)할 수 있습니다. |

372| 인증 | 세션이 claude.ai 계정으로 지원됩니다: CLI 또는 데스크톱 앱에서 `/login`으로 로그인합니다. Claude Tag 세션은 에이전트의 ID를 통해 로그인되므로 추가 단계가 필요하지 않습니다. API 키, [gateway token](https://code.claude.com/docs/ko/llm-gateway) 또는 클라우드 제공자 자격증명을 사용하는 세션은 게시할 수 없습니다. |372| 인증 | 세션이 claude.ai 계정으로 지원됩니다: CLI 또는 데스크톱 앱에서 `/login`으로 로그인합니다. Claude Tag 세션은 로그인 단계가 필요하지 않습니다. API 키, [게이트웨이 토큰](https://code.claude.com/docs/ko/llm-gateway) 또는 클라우드 제공자 자격 증명을 사용하는 세션은 게시할 수 없습니다. |

373| 모델 제공자 | Anthropic API. [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud의 Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md) 또는 [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)에서는 사용할 수 없습니다. |373| 모델 제공자 | Anthropic API. [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud의 Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md) 또는 [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)에서는 사용할 수 없습니다. |

374| 조직 정책 | 고객 관리 암호화 키(CMEK), HIPAA 및 [Zero Data Retention](https://code.claude.com/docs/ko/zero-data-retention.md)이 조직에 대해 활성화되지 않았습니다. |374| 조직 정책 | 고객 관리 암호화 키(CMEK), HIPAA 및 [Zero Data Retention](https://code.claude.com/docs/ko/zero-data-retention.md)이 조직에 대해 활성화되지 않았습니다. |

375| 사용 환경 | Claude Code CLI 또는 Claude 데스크톱 앱 버전 1.13576.0 이상. [Claude Tag](https://claude.com/docs/claude-tag/overview) 세션도 Claude Tag와 아티팩트가 조직에 대해 활성화된 경우 아티팩트를 게시할 수 있습니다. [`claude remote-control`](https://code.claude.com/docs/ko/remote-control)로 제공되는 세션은 사용자가 직접 세션을 시작한 경우 아티팩트를 게시할 수 있습니다. Claude Code v2.1.281 이상이 필요합니다. [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md), GitHub Action 및 MCP 서버 컨텍스트에서는 기본적으로 비활성화되며, 직접 사용하는 터미널이나 스크립트에서 [`-p`](https://code.claude.com/docs/ko/headless)로 Claude Code를 실행하는 경우와 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ko/env-vars)이 설정된 경우에도 비활성화됩니다. |375| 사용 환경 | Claude Code CLI 또는 Claude 데스크톱 앱 버전 1.13576.0 이상. [Claude Tag](https://claude.com/docs/claude-tag/overview) 세션도 Claude Tag와 아티팩트가 조직에 대해 활성화된 경우 아티팩트를 게시할 수 있습니다. [`claude remote-control`](https://code.claude.com/docs/ko/remote-control)로 제공되는 세션은 사용자가 직접 세션을 시작한 경우 아티팩트를 게시할 수 있습니다. Claude Code v2.1.281 이상이 필요합니다. [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md), GitHub Action 및 MCP 서버 컨텍스트에서는 기본적으로 비활성화되며, 직접 사용하는 터미널이나 스크립트에서 [`-p`](https://code.claude.com/docs/ko/headless)로 Claude Code를 실행하는 경우와 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ko/env-vars)이 설정된 경우에도 비활성화됩니다. |

Details

27* **Claude for Teams 또는 Enterprise**: 팀 관리자가 초대한 claude.ai 계정으로 로그인합니다.27* **Claude for Teams 또는 Enterprise**: 팀 관리자가 초대한 claude.ai 계정으로 로그인합니다.

28* **Claude Console**: Console 자격증명으로 로그인합니다. 관리자가 먼저 [초대](#claude-console-authentication)해야 합니다. [API 키를 생성](#sign-in-without-an-api-key)하거나 생성하지 않고 로그인할 수 있습니다.28* **Claude Console**: Console 자격증명으로 로그인합니다. 관리자가 먼저 [초대](#claude-console-authentication)해야 합니다. [API 키를 생성](#sign-in-without-an-api-key)하거나 생성하지 않고 로그인할 수 있습니다.

29* **클라우드 제공자**: 조직에서 [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud의 Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), 또는 [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)를 사용하는 경우 `claude`를 실행하기 전에 필요한 환경 변수를 설정하거나 로그인 프롬프트에서 **3rd-party platform**을 선택합니다. 이는 Bedrock 및 Vertex AI에 대한 대화형 설정 마법사를 시작합니다. 브라우저 로그인이 필요하지 않습니다.29* **클라우드 제공자**: 조직에서 [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Google Cloud의 Agent Platform](https://code.claude.com/docs/ko/google-vertex-ai.md), 또는 [Microsoft Foundry](https://code.claude.com/docs/ko/microsoft-foundry.md)를 사용하는 경우 `claude`를 실행하기 전에 필요한 환경 변수를 설정하거나 로그인 프롬프트에서 **3rd-party platform**을 선택합니다. 이는 Bedrock 및 Vertex AI에 대한 대화형 설정 마법사를 시작합니다. 브라우저 로그인이 필요하지 않습니다.

30* **클라우드 게이트웨이**: 조직에서 자체 호스팅 [Claude 앱 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway)를 실행하는 경우 `/login`을 통해 회사 SSO로 로그인합니다. 게이트웨이에서 발급한 토큰이 세션의 유일한 자격증명입니다.30* **Cloud gateway**: 조직에서 자체 호스팅 [Claude 앱 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway)를 실행하는 경우 `/login`을 통해 회사 SSO로 로그인합니다. 게이트웨이에서 발급한 토큰이 세션의 유일한 자격증명입니다.

31 31 

32관리자는 개발자가 사용하는 로그인 방법을 지정할 수 있으며 claude.ai 로그인이 특정 조직에 속하도록 요구할 수 있습니다. [조직에 대한 로그인 제한](#restrict-login-to-your-organization)을 참조합니다.32관리자는 개발자가 사용하는 로그인 방법을 지정할 수 있으며 claude.ai 로그인이 특정 조직에 속하도록 요구할 수 있습니다. [조직에 대한 로그인 제한](#restrict-login-to-your-organization)을 참조합니다.

33 33 

channels.md +1 −1

Details

353 353 

354| 기능 | 수행하는 작업 | 좋은 점 |354| 기능 | 수행하는 작업 | 좋은 점 |

355| - | - | - |355| - | - | - |

356| [웹의 Claude Code](https://code.claude.com/docs/ko/claude-code-on-the-web.md) | GitHub에서 복제된 새로운 클라우드 샌드박스에서 작업 실행 | 나중에 확인하는 자체 포함된 비동기 작업 위임 |356| [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md) | GitHub에서 복제된 새로운 클라우드 샌드박스에서 작업 실행 | 나중에 확인하는 자체 포함된 비동기 작업 위임 |

357| [Slack의 Claude](https://code.claude.com/docs/ko/slack.md) | 채널 또는 스레드의 `@Claude` 언급에서 클라우드 세션 생성 | 팀 대화 컨텍스트에서 직접 작업 시작 |357| [Slack의 Claude](https://code.claude.com/docs/ko/slack.md) | 채널 또는 스레드의 `@Claude` 언급에서 클라우드 세션 생성 | 팀 대화 컨텍스트에서 직접 작업 시작 |

358| 표준 [MCP 서버](https://code.claude.com/docs/ko/mcp.md) | Claude는 작업 중에 쿼리합니다. 세션으로 푸시되는 것은 없습니다. | Claude에게 시스템을 읽거나 쿼리하기 위한 온디맨드 액세스 제공 |358| 표준 [MCP 서버](https://code.claude.com/docs/ko/mcp.md) | Claude는 작업 중에 쿼리합니다. 세션으로 푸시되는 것은 없습니다. | Claude에게 시스템을 읽거나 쿼리하기 위한 온디맨드 액세스 제공 |

359| [Remote Control](https://code.claude.com/docs/ko/remote-control.md) | claude.ai 또는 Claude 모바일 앱에서 로컬 세션을 운전합니다. | 책상에서 멀리 있을 때 진행 중인 세션 조종 |359| [Remote Control](https://code.claude.com/docs/ko/remote-control.md) | claude.ai 또는 Claude 모바일 앱에서 로컬 세션을 운전합니다. | 책상에서 멀리 있을 때 진행 중인 세션 조종 |

chrome.md +10 −1

Details

97 97 

98### 기본으로 Chrome 활성화하기98### 기본으로 Chrome 활성화하기

99 99 

100매번 `--chrome`을 전달하지 않고 Chrome을 연결하려면 CLI 세션에서 `/chrome`을 실행하고 `Enabled by default`를 선택합니다. [VS Code 확장 프로그램](https://code.claude.com/docs/ko/vs-code.md#automate-browser-tasks-with-chrome)에서는 프롬프트 상자에 `/chrome`을 입력하고 `Enabled by default` 스위치를 켭니다. 두 곳은 하나의 설정을 공유하므로 어느 쪽에서 켜든 CLI와 VS Code 모두에서 켜집니다.100매번 `--chrome`을 전달하지 않고 Chrome을 연결하려면 CLI 세션에서 `/chrome`을 실행하고 \*\*`Enabled by default`\*\*를 선택합니다. [VS Code 확장 프로그램](https://code.claude.com/docs/ko/vs-code.md#automate-browser-tasks-with-chrome)에서는 프롬프트 상자에 `/chrome`을 입력하고 **`Enabled by default`** 스위치를 켭니다. 두 곳은 하나의 설정을 공유하므로 어느 쪽에서 켜든 CLI와 VS Code 모두에서 켜집니다.

101 101 

102이 설정이 켜져 있고 Claude Code v2.1.287 이상을 사용하면 각 VS Code 세션이 시작될 때 브라우저에 연결되므로, 사용자가 `@browser`를 입력하기 전에도 Claude가 브라우저를 사용할 수 있습니다. 이전 버전이거나 설정이 꺼져 있으면 VS Code 세션은 `@browser`를 입력할 때 연결됩니다.102이 설정이 켜져 있고 Claude Code v2.1.287 이상을 사용하면 각 VS Code 세션이 시작될 때 브라우저에 연결되므로, 사용자가 `@browser`를 입력하기 전에도 Claude가 브라우저를 사용할 수 있습니다. 이전 버전이거나 설정이 꺼져 있으면 VS Code 세션은 `@browser`를 입력할 때 연결됩니다.

103 103 


107>107>

108> 기본으로 Chrome을 활성화하면 브라우저 도구와 해당 지침이 항상 로드되므로 컨텍스트 사용량이 증가합니다. 컨텍스트 소비가 늘어난 것을 발견하면 설정을 끄고 필요할 때만 연결하십시오. CLI에서는 `--chrome`을 사용하고, VS Code에서는 프롬프트 상자에 [`@browser`](https://code.claude.com/docs/ko/vs-code#automate-browser-tasks-with-chrome)를 입력합니다.108> 기본으로 Chrome을 활성화하면 브라우저 도구와 해당 지침이 항상 로드되므로 컨텍스트 사용량이 증가합니다. 컨텍스트 소비가 늘어난 것을 발견하면 설정을 끄고 필요할 때만 연결하십시오. CLI에서는 `--chrome`을 사용하고, VS Code에서는 프롬프트 상자에 [`@browser`](https://code.claude.com/docs/ko/vs-code#automate-browser-tasks-with-chrome)를 입력합니다.

109 109 

110### 시작 대화 상자에 응답하기

111 

112`claude`를 시작할 때 "Claude in Chrome extension detected" 대화 상자가 나타나면, 선택한 응답에 따라 [**`Enabled by default`** 설정](#enable-chrome-by-default)이 변경됩니다.

113 

114* **Yes, use my browser**: 설정을 켜고 이 세션을 연결합니다

115* **No, keep browser tools off** 또는 Esc: 설정을 끄며, Claude Code는 더 이상 Chrome 설정을 제안하지 않습니다

116 

117이후 세션에 적용할 응답을 변경하려면 `/chrome`을 실행합니다.

118 

110### 사이트 권한 관리하기119### 사이트 권한 관리하기

111 120 

112사이트 수준 권한은 Chrome 확장 프로그램에서 상속됩니다. Chrome 확장 프로그램 설정에서 권한을 관리하여 Claude가 탐색하고, 클릭하고, 입력할 수 있는 사이트를 제어합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서는 자동 모드 분류기 자체가 사이트에 대한 브라우저 호출을 승인하면, 권한 규칙이 Claude in Chrome에 대해 어떤 사이트든 거부하지 않는 한 확장 프로그램은 해당 호출에 대한 자체 사이트별 확인을 건너뜁니다.121사이트 수준 권한은 Chrome 확장 프로그램에서 상속됩니다. Chrome 확장 프로그램 설정에서 권한을 관리하여 Claude가 탐색하고, 클릭하고, 입력할 수 있는 사이트를 제어합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서는 자동 모드 분류기 자체가 사이트에 대한 브라우저 호출을 승인하면, 권한 규칙이 Claude in Chrome에 대해 어떤 사이트든 거부하지 않는 한 확장 프로그램은 해당 호출에 대한 자체 사이트별 확인을 건너뜁니다.

Details

35* **텔레메트리**: 각 구성된 대상은 기본적으로 토큰 수, 모델, 사용자 ID 및 지연 시간이 포함된 [OpenTelemetry Protocol (OTLP) 메트릭](https://code.claude.com/docs/ko/monitoring-usage.md)을 받으며, 로그 및 추적은 대상별 옵트인입니다.35* **텔레메트리**: 각 구성된 대상은 기본적으로 토큰 수, 모델, 사용자 ID 및 지연 시간이 포함된 [OpenTelemetry Protocol (OTLP) 메트릭](https://code.claude.com/docs/ko/monitoring-usage.md)을 받으며, 로그 및 추적은 대상별 옵트인입니다.

36* **업스트림 라우팅**: 클라이언트는 Anthropic Messages API를 게이트웨이에 말하고, 게이트웨이는 Amazon Bedrock, [AWS의 Claude Platform](https://code.claude.com/docs/ko/claude-platform-on-aws.md), Google Cloud의 Agent Platform, Microsoft Foundry 또는 Anthropic API 중 각 업스트림에 대해 변환하며, 그들 사이에 장애 조치가 있습니다. 개발자가 알아차리거나 재구성하지 않고도 지역, 제공자 또는 장애 조치 순서를 변경할 수 있습니다.36* **업스트림 라우팅**: 클라이언트는 Anthropic Messages API를 게이트웨이에 말하고, 게이트웨이는 Amazon Bedrock, [AWS의 Claude Platform](https://code.claude.com/docs/ko/claude-platform-on-aws.md), Google Cloud의 Agent Platform, Microsoft Foundry 또는 Anthropic API 중 각 업스트림에 대해 변환하며, 그들 사이에 장애 조치가 있습니다. 개발자가 알아차리거나 재구성하지 않고도 지역, 제공자 또는 장애 조치 순서를 변경할 수 있습니다.

37 37 

38![Claude Code 클라이언트와 Claude Desktop의 Chat, Cowork, Code 탭이 HTTPS와 베어러 토큰으로 인프라 내 자체 호스팅 Claude 앱 게이트웨이에 연결되고, IdP에 대해 사용자에게 로그인하고, PostgreSQL에 인증 상태를 저장하고, OTLP 수집기에 텔레메트리를 중계하고, Amazon Bedrock, Claude Platform on AWS, Google Cloud, Microsoft Foundry 또는 Anthropic API로 추론을 전달하는 것을 보여주는 다이어그램](https://mintcdn.com/claude-code/VbyXug8hBU9UK6oT/images/claude-gateway-architecture.svg?fit=max\&auto=format\&n=VbyXug8hBU9UK6oT\&q=85\&s=9e4f1190fc56718144190a3db61c63af)38![Claude Code 클라이언트와 Claude Desktop이 HTTPS와 베어러 토큰으로 인프라 내 자체 호스팅 Claude 앱 게이트웨이에 연결되고, 게이트웨이가 IdP에 대해 사용자를 로그인시키고, PostgreSQL에 인증 상태를 저장하고, OTLP 수집기에 텔레메트리를 중계하고, Amazon Bedrock, Claude Platform on AWS, Google Cloud, Microsoft Foundry 또는 Anthropic API로 추론을 전달하는 것을 보여주는 다이어그램](https://mintcdn.com/claude-code/VbyXug8hBU9UK6oT/images/claude-gateway-architecture.svg?fit=max\&auto=format\&n=VbyXug8hBU9UK6oT\&q=85\&s=9e4f1190fc56718144190a3db61c63af)

39 39 

40> [!NOTE]40> [!NOTE]

41>41>


350 350 

351### Claude Desktop 세션에 정책 전달351### Claude Desktop 세션에 정책 전달

352 352 

353Claude Desktop은 Cowork 및 Code 탭과, 활성화한 경우 Chat 탭을 내장된 Claude Code 세션에서 실행하고, 해당 모델 요청을 게이트웨이를 통해 보냅니다. Claude Desktop은 게이트웨이가 `/user/bootstrap`에서 제공하는 구성으로 만든 정책을 각 세션에 전달합니다. 여기에는 일치하는 정책의 `cli` 또는 `code` 블록에서 파생된 모델 허용 목록, 비활성화된 도구, 송신 허용 목록과 [`desktop` 오버레이](https://code.claude.com/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)가 포함됩니다.353Claude Desktop은 Cowork 및 Code 탭과, 활성화한 경우 Chat 탭을 내장된 Claude Code 세션에서 실행하며, 해당 세션의 모델 요청을 게이트웨이를 통해 전송합니다. Claude Desktop은 게이트웨이가 `/user/bootstrap`에서 제공하는 구성을 바탕으로 정책을 만들어 각 세션에 전달합니다. 이 정책에는 일치하는 정책의 `cli` 또는 `code` 블록에서 파생된 모델 허용 목록, 비활성화된 도구, 이그레스 허용 목록과 함께 [`desktop` 오버레이](https://code.claude.com/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)가 포함됩니다.

354 354 

355훅, `env`, `Bash(npm *)` 같은 범위 지정 권한 규칙 등 블록의 다른 키는 `/login`을 통해 로그인하는 클라이언트에 도달합니다. `code` 아래에 있는 경우, [Code 탭 조건](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#apply-code-settings-in-the-code-tab)이 충족되면 Code 탭의 세션에도 도달합니다. Cowork 또는 Chat 세션에는 도달하지 않습니다. Claude Desktop은 게이트웨이 URL을 자체 관리형 구성에서 읽고, [게이트웨이 URL 설정](#set-the-gateway-url)의 `forceLoginMethod` 및 `forceLoginGatewayUrl` 키와는 별개인 자체 흐름으로 로그인합니다.355훅, `env`, `Bash(npm *)` 같은 범위 지정 권한 규칙 등 블록의 다른 키는 `/login`을 통해 로그인하는 클라이언트에 도달합니다. `code` 아래에 있는 경우, [Code 탭 조건](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#apply-code-settings-in-the-code-tab)이 충족되면 Code 탭의 세션에도 도달합니다. Cowork 또는 Chat 세션에는 도달하지 않습니다. Claude Desktop은 게이트웨이 URL을 자체 관리형 구성에서 읽고, [게이트웨이 URL 설정](#set-the-gateway-url)의 `forceLoginMethod` 및 `forceLoginGatewayUrl` 키와는 별개인 자체 흐름으로 로그인합니다.

356 356 


480 480 

481Claude Desktop은 동일한 브라우저 SSO 단계로 게이트웨이의 ID 제공자를 통해 개발자를 로그인시킨 다음, Anthropic 대신 게이트웨이에서 구성을 가져옵니다. 모델 액세스와 정책은 CLI와 동일한 그룹별 규칙을 따릅니다. CLI와 Claude Desktop을 모두 사용하는 개발자는 각각 별도로 로그인하며, 게이트웨이 세션은 둘 사이에 공유되지 않습니다.481Claude Desktop은 동일한 브라우저 SSO 단계로 게이트웨이의 ID 제공자를 통해 개발자를 로그인시킨 다음, Anthropic 대신 게이트웨이에서 구성을 가져옵니다. 모델 액세스와 정책은 CLI와 동일한 그룹별 규칙을 따릅니다. CLI와 Claude Desktop을 모두 사용하는 개발자는 각각 별도로 로그인하며, 게이트웨이 세션은 둘 사이에 공유되지 않습니다.

482 482 

483연결되면 Claude Desktop은 활성화된 모든 탭의 모델 요청을 게이트웨이를 통해 보냅니다. 기본적으로 Cowork 및 Code 탭이 표시됩니다. Chat 탭도 켜려면 Claude Desktop의 [관리형 구성](https://claude.com/docs/third-party/claude-desktop/configuration)에서 `chatTabEnabled`를 `true`로 설정하거나, Claude Code v2.1.227 이상을 실행하는 게이트웨이에서 정책의 [`desktop` 블록](https://code.claude.com/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)에 설정하세요.483연결되면 Claude Desktop은 활성화된 모든 탭의 모델 요청을 게이트웨이를 통해 보냅니다. 기본적으로 Cowork 및 Code 탭이 표시됩니다. Chat도 사용할 수 있게 하려면 Claude Code v2.1.227 이상을 실행하는 게이트웨이에서 정책의 [`desktop` 블록](https://code.claude.com/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)에 `chatTabEnabled`를 `true`로 설정하세요. 그러면 Cowork가 켜져 있을 때 Claude Desktop은 Chat과 Cowork를 하나의 탭에 함께 표시합니다.

484 484 

485### CI 파이프라인 및 원격 머신485### CI 파이프라인 및 원격 머신

486 486 


523| 추론 전달 (Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform, Microsoft Foundry, Anthropic) | 사용 가능 | 업스트림별 모델 변환 및 장애 조치 포함. Amazon Bedrock 업스트림은 `bedrock-runtime` 엔드포인트 및 AWS 기본 자격 증명 체인을 사용합니다. [Amazon Bedrock Mantle 업스트림](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#amazon-bedrock-mantle-endpoint)은 게이트웨이 서버에서 Claude Code v2.1.283 이상이 필요하며, [Claude Platform on AWS 업스트림](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#claude-platform-on-aws)은 v2.1.198 이상이 필요합니다. |523| 추론 전달 (Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform, Microsoft Foundry, Anthropic) | 사용 가능 | 업스트림별 모델 변환 및 장애 조치 포함. Amazon Bedrock 업스트림은 `bedrock-runtime` 엔드포인트 및 AWS 기본 자격 증명 체인을 사용합니다. [Amazon Bedrock Mantle 업스트림](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#amazon-bedrock-mantle-endpoint)은 게이트웨이 서버에서 Claude Code v2.1.283 이상이 필요하며, [Claude Platform on AWS 업스트림](https://code.claude.com/docs/ko/claude-apps-gateway-config.md#claude-platform-on-aws)은 v2.1.198 이상이 필요합니다. |

524| 1M 토큰 컨텍스트 윈도우 | 사용 가능 | Fable 모델, Sonnet 5 이상, Opus 4.7 이상은 기본적으로 1M 윈도우로 실행됩니다. [확장 컨텍스트](https://code.claude.com/docs/ko/model-config.md#extended-context)를 참조하세요. Fable 및 Opus 모델의 1M 기본값을 사용하려면 개발자 머신에 Claude Code v2.1.287 이상이 필요합니다 |524| 1M 토큰 컨텍스트 윈도우 | 사용 가능 | Fable 모델, Sonnet 5 이상, Opus 4.7 이상은 기본적으로 1M 윈도우로 실행됩니다. [확장 컨텍스트](https://code.claude.com/docs/ko/model-config.md#extended-context)를 참조하세요. Fable 및 Opus 모델의 1M 기본값을 사용하려면 개발자 머신에 Claude Code v2.1.287 이상이 필요합니다 |

525| IdP 그룹별 모델 액세스 및 관리형 설정 | 사용 가능 | 모델 액세스는 서버 측에서 적용됩니다; 관리형 설정은 IdP 그룹별로 전달되고 CLI에서 [관리형 설정 계층](https://code.claude.com/docs/ko/settings.md#settings-precedence)에서 적용됩니다. |525| IdP 그룹별 모델 액세스 및 관리형 설정 | 사용 가능 | 모델 액세스는 서버 측에서 적용됩니다; 관리형 설정은 IdP 그룹별로 전달되고 CLI에서 [관리형 설정 계층](https://code.claude.com/docs/ko/settings.md#settings-precedence)에서 적용됩니다. |

526| Claude Desktop | 옵트인 가능 | 게이트웨이는 정책이 [`desktop` 키로 옵트인](https://code.claude.com/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)하면 `/user/bootstrap`에서 Claude Desktop의 구성을 제공하며, Claude Desktop은 Cowork 및 Code 탭에서, 그리고 Chat 탭에서 활성화할 때 게이트웨이를 통해 모델 요청을 보냅니다. Chat 탭을 켜려면 [Claude Desktop 연결](#connect-claude-desktop)을 참조하세요. 게이트웨이 서버에서 Claude Code v2.1.203 이상이 필요합니다. |526| Claude Desktop | 옵트인 가능 | 게이트웨이는 정책이 [`desktop` 키로 옵트인](https://code.claude.com/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)하면 `/user/bootstrap`에서 Claude Desktop의 구성을 제공하며, Claude Desktop은 게이트웨이를 통해 모델 요청을 보냅니다. Chat을 켜려면 [Claude Desktop 연결](#connect-claude-desktop)을 참조하세요. 게이트웨이 서버에서 Claude Code v2.1.203 이상이 필요합니다. |

527| 텔레메트리 팬아웃 (OTLP/HTTP) | 사용 가능 | 내보내기별 ID 스탬프; protobuf 및 JSON 인코딩 모두 |527| 텔레메트리 팬아웃 (OTLP/HTTP) | 사용 가능 | 내보내기별 ID 스탬프; protobuf 및 JSON 인코딩 모두 |

528| OIDC 신원 제공자 | 사용 가능 | 모든 OIDC 호환 IdP; 게이트웨이는 표준 OIDC 검색 및 인증 코드 흐름을 실행합니다. [신원 제공자 설정](https://code.claude.com/docs/ko/claude-apps-gateway-deploy.md#identity-provider-setup)에서 IdP별 구성을 참조하세요. |528| OIDC 신원 제공자 | 사용 가능 | 모든 OIDC 호환 IdP; 게이트웨이는 표준 OIDC 검색 및 인증 코드 흐름을 실행합니다. [신원 제공자 설정](https://code.claude.com/docs/ko/claude-apps-gateway-deploy.md#identity-provider-setup)에서 IdP별 구성을 참조하세요. |

529| 사용자별 및 그룹별 지출 제한 | 사용 가능 | [지출 제한](https://code.claude.com/docs/ko/claude-apps-gateway-spend-limits.md) 참조 |529| 사용자별 및 그룹별 지출 제한 | 사용 가능 | [지출 제한](https://code.claude.com/docs/ko/claude-apps-gateway-spend-limits.md) 참조 |

Details

201 201 

202다음 중 하나를 사용하여 클라우드 세션을 터미널로 가져옵니다:202다음 중 하나를 사용하여 클라우드 세션을 터미널로 가져옵니다:

203 203 

204* **`--teleport` 사용**: 명령줄에서 `claude --teleport`를 실행하여 대화형 세션 선택기를 열거나, `claude --teleport <session-id>`를 실행하여 특정 세션을 직접 재개합니다. 커밋되지 않은 변경 사항이 있으면 먼저 stash하라는 메시지가 표시됩니다.204* **`--teleport` 사용**: 명령줄에서 `claude --teleport`를 실행하여 대화형 세션 선택기를 열거나, `claude --teleport <session-id>`를 실행하여 특정 세션을 직접 재개합니다. 커밋되지 않은 변경 사항이 있으면 먼저 stash하라는 메시지가 표시됩니다. [`--resume`](https://code.claude.com/docs/ko/sessions#resume-a-session)은 이 머신의 로컬 기록에서 대화를 다시 열며 클라우드 세션을 나열하지 않습니다.

205* **`/teleport` 사용**: 기존 CLI 세션 내에서 `/teleport` 또는 `/tp`를 실행하여 Claude Code를 다시 시작하지 않고 동일한 세션 선택기를 엽니다.205* **`/teleport` 사용**: 기존 CLI 세션 내에서 `/teleport` 또는 `/tp`를 실행하여 Claude Code를 다시 시작하지 않고 동일한 세션 선택기를 엽니다.

206* **`/tasks`에서**: `/tasks`를 실행하여 백그라운드 세션을 보고, `t`를 눌러 하나로 teleport합니다.206* **`/tasks`에서**: `/tasks`를 실행하여 백그라운드 세션을 보고, `t`를 눌러 하나로 teleport합니다.

207* **claude.ai/code에서**: 세션 메뉴에서 **Open in > Terminal**을 선택하여 터미널에 붙여넣을 수 있는 명령을 복사합니다.207* **claude.ai/code에서**: 세션 메뉴에서 **Open in > Terminal**을 선택하여 터미널에 붙여넣을 수 있는 명령을 복사합니다.

208* **클라우드 세션 내에서**: `/teleport`를 입력하면 Claude Code가 해당 세션에 대한 정확한 `claude --teleport <session-id>` 명령으로 응답하며, 저장소의 체크아웃에서 실행할 준비가 됩니다. 세션의 환경에서 Claude Code v2.1.223 이상이 필요합니다.208* **클라우드 세션 내에서**: `/teleport`를 입력하면 Claude Code가 해당 세션에 대한 정확한 `claude --teleport <session-id>` 명령으로 응답하며, 저장소의 체크아웃에서 실행할 준비가 됩니다. 세션의 환경에서 Claude Code v2.1.223 이상이 필요합니다.

209 209 

210세션을 teleport할 때, Claude는 올바른 저장소에 있는지 확인하고, 클라우드 세션에서 브랜치를 가져와 체크아웃하고, 전체 대화 기록을 터미널에 로드합니다. 터미널은 세션의 자체 복사본을 가집니다. 여기서의 새로운 작업은 로컬로 유지되며 claude.ai의 클라우드 세션이나 Claude 모바일 앱에 나타나지 않습니다. teleport 후 휴대폰에서 계속 조종하려면 로컬 세션에서 [`/remote-control`](https://code.claude.com/docs/ko/remote-control)을 시작합니다.210세션을 teleport할 때, Claude는 올바른 저장소에 있는지 확인하고, 클라우드 세션에서 브랜치를 가져와 체크아웃하고, 대화를 터미널에 로드합니다.

211 211 

212`--teleport`는 `--resume`과 다릅니다. `--resume`은 이 머신의 로컬 기록에서 대화를 다시 열고 클라우드 세션을 나열하지 않습니다. `--teleport`는 클라우드 세션과 해당 브랜치를 가져옵니다.212> [!NOTE]

213>

214> Claude Code가 클라우드 세션을 [압축](https://code.claude.com/docs/ko/context-window.md#what-survives-compaction)한 경우(긴 세션에서는 자동으로 수행됨), 요약된 이전 메시지는 터미널로 복사되지 않습니다. Claude는 요약에서부터 계속합니다. 원래 메시지를 읽으려면 claude.ai 또는 Claude 모바일 앱의 클라우드 세션에서 위로 스크롤하십시오.

215 

216터미널은 세션의 자체 복사본을 가집니다. 여기서의 새로운 작업은 로컬로 유지되며 claude.ai의 클라우드 세션이나 Claude 모바일 앱에 나타나지 않습니다. teleport 후 휴대폰에서 계속 조종하려면 로컬 세션에서 [`/remote-control`](https://code.claude.com/docs/ko/remote-control)을 시작합니다.

213 217 

214#### Teleport 요구 사항218#### Teleport 요구 사항

215 219 


495* **속도 제한**: 클라우드 세션은 계정 내의 다른 모든 Claude 및 Claude Code 사용과 속도 제한을 공유합니다. 여러 작업을 병렬로 실행하면 비례적으로 더 많은 속도 제한을 소비합니다.499* **속도 제한**: 클라우드 세션은 계정 내의 다른 모든 Claude 및 Claude Code 사용과 속도 제한을 공유합니다. 여러 작업을 병렬로 실행하면 비례적으로 더 많은 속도 제한을 소비합니다.

496* **시간 제한**: Claude가 실행하는 명령 및 SessionStart 훅에는 변경할 수 있는 기본 시간 초과가 있으며, 설정 스크립트는 대략 5분 내에 완료될 때만 캐시됩니다. [시간 제한](https://code.claude.com/docs/ko/cloud-environments.md#time-limits)을 참조하십시오.500* **시간 제한**: Claude가 실행하는 명령 및 SessionStart 훅에는 변경할 수 있는 기본 시간 초과가 있으며, 설정 스크립트는 대략 5분 내에 완료될 때만 캐시됩니다. [시간 제한](https://code.claude.com/docs/ko/cloud-environments.md#time-limits)을 참조하십시오.

497* **저장소 인증**: 동일한 계정으로 인증된 경우에만 클라우드 세션을 터미널로 가져올 수 있습니다.501* **저장소 인증**: 동일한 계정으로 인증된 경우에만 클라우드 세션을 터미널로 가져올 수 있습니다.

498* **플랫폼 제한**: 저장소 복제 및 풀 요청 생성에는 GitHub이 필요합니다. 자체 호스팅 [GitHub Enterprise Server](https://code.claude.com/docs/ko/github-enterprise-server.md) 인스턴스는 Team 및 Enterprise 플랜에서 지원됩니다. `CCR_FORCE_BUNDLE=1`을 설정하여 GitLab, Bitbucket 또는 기타 비-GitHub 저장소를 [로컬 번들](#send-local-repositories-without-github)로 클라우드 세션에 전송할 수 있지만, 세션은 결과를 원격으로 다시 푸시할 수 없습니다.502* **플랫폼 제한**: Anthropic 호스팅 환경에서의 저장소 복제 및 풀 리퀘스트 생성에는 GitHub이 필요합니다. 자체 호스팅 [GitHub Enterprise Server](https://code.claude.com/docs/ko/github-enterprise-server.md) 인스턴스는 Team 및 Enterprise 플랜에서 지원됩니다. `CCR_FORCE_BUNDLE=1`을 설정하여 GitLab, Bitbucket 또는 기타 비-GitHub 저장소를 [로컬 번들](#send-local-repositories-without-github)로 클라우드 세션에 전송할 수 있지만, 세션은 결과를 원격으로 다시 푸시할 수 없습니다.

503 * **자체 호스팅 환경**: 다른 git 호스트에 있는 저장소의 경우 [`--environment`로 세션을 시작하기 위한 요구 사항](https://code.claude.com/docs/ko/self-hosted-environments-deploy#start-a-session-on-a-repository-outside-github)을 참조하십시오.

499* **조직 IP 허용 목록**: 클라우드 세션은 사용자의 네트워크가 아닌 Anthropic 관리 인프라에서 Anthropic API를 호출하는 반면, [자체 호스팅 환경](https://code.claude.com/docs/ko/self-hosted-environments)의 세션은 사용자의 네트워크에서 호출합니다. 조직에 [IP 허용 목록](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting)이 활성화되어 있으면 모든 Anthropic 호스팅 클라우드 세션이 인증 오류로 실패합니다.504* **조직 IP 허용 목록**: 클라우드 세션은 사용자의 네트워크가 아닌 Anthropic 관리 인프라에서 Anthropic API를 호출하는 반면, [자체 호스팅 환경](https://code.claude.com/docs/ko/self-hosted-environments)의 세션은 사용자의 네트워크에서 호출합니다. 조직에 [IP 허용 목록](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting)이 활성화되어 있으면 모든 Anthropic 호스팅 클라우드 세션이 인증 오류로 실패합니다.

500 * **Code Review 및 예약 작업**: 이는 [Code Review](https://code.claude.com/docs/ko/code-review.md) 및 Anthropic 호스팅 환경에서 실행되는 [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md)에도 동일하게 적용됩니다. 자체 호스팅 환경으로 라우팅된 예약 작업은 사용자의 네트워크에서 API를 호출합니다.505 * **Code Review 및 예약 작업**: 이는 [Code Review](https://code.claude.com/docs/ko/code-review.md) 및 Anthropic 호스팅 환경에서 실행되는 [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md)에도 동일하게 적용됩니다. 자체 호스팅 환경으로 라우팅된 예약 작업은 사용자의 네트워크에서 API를 호출합니다.

501 * **예외 적용 받기**: [Anthropic 지원](https://support.claude.com/)에 문의하여 조직의 IP 허용 목록에서 Anthropic 호스팅 서비스를 제외하십시오.506 * **예외 적용 받기**: [Anthropic 지원](https://support.claude.com/)에 문의하여 조직의 IP 허용 목록에서 Anthropic 호스팅 서비스를 제외하십시오.

Details

8 8 

9Claude Code는 프로젝트 디렉토리와 홈 디렉토리의 `~/.claude`에서 지침, 설정, skills, subagents, 메모리를 읽습니다. 프로젝트 파일을 git에 커밋하여 팀과 공유합니다. `~/.claude`의 파일은 모든 프로젝트에 적용되는 개인 설정입니다.9Claude Code는 프로젝트 디렉토리와 홈 디렉토리의 `~/.claude`에서 지침, 설정, skills, subagents, 메모리를 읽습니다. 프로젝트 파일을 git에 커밋하여 팀과 공유합니다. `~/.claude`의 파일은 모든 프로젝트에 적용되는 개인 설정입니다.

10 10 

11Windows에서 `~/.claude`는 `%USERPROFILE%\.claude`로 확인됩니다. [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ko/env-vars)을 설정하면, 이 페이지의 모든 `~/.claude` 경로가 대신 해당 디렉토리 아래에 있습니다.11Windows에서 `~/.claude`는 `%USERPROFILE%\.claude`로 확인됩니다. [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ko/env-vars)을 설정하면, 이 페이지의 모든 `~/.claude` 경로가 대신 해당 디렉터리 아래에 있습니다. 이는 `.claude.json`에도 동일하게 적용되며, 그렇지 않은 경우 이 파일은 `~/.claude.json`에 있습니다.

12 12 

13대부분의 사용자는 `CLAUDE.md`와 `settings.json`만 편집합니다. 저장소에 이미 다른 코딩 에이전트용 `AGENTS.md`가 있는 경우, Claude Code는 `CLAUDE.md` 대신 [해당 파일을 읽을 수 있습니다](https://code.claude.com/docs/ko/memory.md#agents-md). 디렉터리의 나머지는 선택 사항입니다. 필요에 따라 스킬, 규칙, 서브에이전트를 추가합니다.13대부분의 사용자는 `CLAUDE.md`와 `settings.json`만 편집합니다. 저장소에 이미 다른 코딩 에이전트용 `AGENTS.md`가 있는 경우, Claude Code는 `CLAUDE.md` 대신 [해당 파일을 읽을 수 있습니다](https://code.claude.com/docs/ko/memory.md#agents-md). 디렉터리의 나머지는 선택 사항입니다. 필요에 따라 스킬, 규칙, 서브에이전트를 추가합니다.

14 14 


76| [`agents/*.md`](#ce-agents) | 프로젝트 및 전역 | ✓ | 자신의 프롬프트와 도구가 있는 subagent 정의 | [Subagents](https://code.claude.com/docs/ko/sub-agents.md) |76| [`agents/*.md`](#ce-agents) | 프로젝트 및 전역 | ✓ | 자신의 프롬프트와 도구가 있는 subagent 정의 | [Subagents](https://code.claude.com/docs/ko/sub-agents.md) |

77| [`workflows/*.js`](#ce-workflows) | 프로젝트 및 전역 | ✓ | Claude가 작성하고 `/workflows`에서 저장한 동적 워크플로우 스크립트; 각 파일은 `/<name>` 명령어가 됩니다 | [동적 워크플로우](https://code.claude.com/docs/ko/workflows.md) |77| [`workflows/*.js`](#ce-workflows) | 프로젝트 및 전역 | ✓ | Claude가 작성하고 `/workflows`에서 저장한 동적 워크플로우 스크립트; 각 파일은 `/<name>` 명령어가 됩니다 | [동적 워크플로우](https://code.claude.com/docs/ko/workflows.md) |

78| [`agent-memory/<name>/`](#ce-agent-memory) | 프로젝트 및 전역 | ✓ | Subagents의 지속적 메모리 | [지속적 메모리](https://code.claude.com/docs/ko/sub-agents.md#enable-persistent-memory) |78| [`agent-memory/<name>/`](#ce-agent-memory) | 프로젝트 및 전역 | ✓ | Subagents의 지속적 메모리 | [지속적 메모리](https://code.claude.com/docs/ko/sub-agents.md#enable-persistent-memory) |

79| [`~/.claude.json`](#ce-claude-json) | 전역만 | | 앱 상태, 계정 세부 정보, UI 토글, 개인 MCP 서버 | [전역 설정](https://code.claude.com/docs/ko/settings-reference.md#global-config-settings) |79| [`~/.claude.json`](#ce-claude-json) | 전역만 | | 앱 상태, 계정 세부 정보, UI 토글, 개인 MCP 서버. 이 파일이 없으면 Claude Code는 세션을 시작하거나 `claude auth status`와 같은 하위 명령을 실행할 때 파일을 생성하지만, `--version` 또는 `--help`의 경우에는 생성하지 않습니다. | [전역 설정](https://code.claude.com/docs/ko/settings-reference.md#global-config-settings) |

80| [`projects/<project>/memory/`](#ce-global-projects) | 전역만 | | 자동 메모리: Claude의 세션 간 자체 메모 | [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory) |80| [`projects/<project>/memory/`](#ce-global-projects) | 전역만 | | 자동 메모리: Claude의 세션 간 자체 메모 | [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory) |

81| [`keybindings.json`](#ce-keybindings) | 전역만 | | 사용자 정의 키보드 단축키 | [키바인딩](https://code.claude.com/docs/ko/keybindings.md) |81| [`keybindings.json`](#ce-keybindings) | 전역만 | | 사용자 정의 키보드 단축키 | [키바인딩](https://code.claude.com/docs/ko/keybindings.md) |

82| [`themes/*.json`](#ce-themes) | 전역만 | | 사용자 정의 색상 테마 | [사용자 정의 테마](https://code.claude.com/docs/ko/terminal-config.md#create-a-custom-theme) |82| [`themes/*.json`](#ce-themes) | 전역만 | | 사용자 정의 색상 테마 | [사용자 정의 테마](https://code.claude.com/docs/ko/terminal-config.md#create-a-custom-theme) |

Details

411 411 

412프로젝트는 단일 세션보다 한도를 더 빠르게 사용하며, 특히 Pro 플랜에서는 프로젝트를 실행하는 날에 한도에 더 빨리 도달할 것으로 예상해야 합니다. 다음은 플랜을 사용하는 프로젝트의 부분입니다:412프로젝트는 단일 세션보다 한도를 더 빠르게 사용하며, 특히 Pro 플랜에서는 프로젝트를 실행하는 날에 한도에 더 빨리 도달할 것으로 예상해야 합니다. 다음은 플랜을 사용하는 프로젝트의 부분입니다:

413 413 

414* **실행 중인 스레드**: 각각은 전체 세션이며, 여러 개가 동시에 실행될 수 있습니다. 고정된 개수는 없으며, Claude는 작업에 필요한 만큼 많은 스레드를 시작하고, [요청한](#tune-how-claude-runs-a-project) 한도는 상한이 아닌 선호도입니다. 적용되는 한도는 프로젝트 전체에서 하루에 200개의 새로운 스레드입니다.414* **실행 중인 스레드**: 각각은 전체 세션이며, 여러 개가 동시에 실행될 수 있습니다. 고정된 개수는 없으며, Claude는 작업에 필요한 만큼 많은 스레드를 시작하고, [요청한](#tune-how-claude-runs-a-project) 한도는 상한이 아닌 선호도입니다. 적용되는 한도는 프로젝트 전체에서 하루에 500개의 새로운 스레드입니다.

415* **대화**: Claude는 스레드가 보고하는 내용을 읽고 다음에 할 일을 결정하기 위해 자체 토큰을 사용합니다.415* **대화**: Claude는 스레드가 보고하는 내용을 읽고 다음에 할 일을 결정하기 위해 자체 토큰을 사용합니다.

416* **pull request를 감시하는 스레드**: 유휴 스레드는 CI가 실패하거나 pull request에 검토 의견이 도착하면 깨어나서 플랜을 다시 사용합니다. 이를 중지하려면 스레드에서 pull request 감시를 중지하도록 요청하세요.416* **pull request를 감시하는 스레드**: 유휴 스레드는 CI가 실패하거나 pull request에 검토 의견이 도착하면 깨어나서 플랜을 다시 사용합니다. 이를 중지하려면 스레드에서 pull request 감시를 중지하도록 요청하세요.

417 417 

Details

25 25 

26> [!NOTE]26> [!NOTE]

27>27>

28> [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 세션은 웹 및 모바일 인터페이스를 자신의 머신에 있는 세션에 연결하며, 이는 클라우드 환경이 아닌 머신의 네트워크 및 파일을 사용합니다. Claude Tag 채널 세션은 조직 수준 환경만 사용하며, [공유 환경](#organization-shared-environments) 또는 [자체 호스팅 환경](https://code.claude.com/docs/ko/self-hosted-environments) 중 하나입니다.28> [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 세션은 웹 및 모바일 인터페이스를 자신의 머신에 있는 세션에 연결하며, 이는 클라우드 환경이 아닌 머신의 네트워크 및 파일을 사용합니다. Claude Tag 채널이 사용하는 환경을 선택하려면 [Claude Tag 채널이 사용하는 환경 설정](#set-the-environment-a-claude-tag-channel-uses)을 참조하세요.

29 29 

30## Default 환경30## Default 환경

31 31 

Details

64| PRs reviewed | 선택한 기간 동안 리뷰된 풀 리퀘스트의 일별 수 |64| PRs reviewed | 선택한 기간 동안 리뷰된 풀 리퀘스트의 일별 수 |

65| Code Review cost | 이번 달 현재까지의 Code Review 지출 |65| Code Review cost | 이번 달 현재까지의 Code Review 지출 |

66| Feedback | 개발자가 이슈를 해결하여 자동으로 해결 처리된 리뷰 코멘트 수 |66| Feedback | 개발자가 이슈를 해결하여 자동으로 해결 처리된 리뷰 코멘트 수 |

67| Code Review findings | 선택한 기간 동안 Claude가 게시한 리뷰에서 나온 [심각도 수준별 발견 사항](https://code.claude.com/docs/ko/code-review-pull-requests.md#severity-levels)의 일별 수 |

67| Repository breakdown | 저장소별 리뷰된 PR 수, 해결된 코멘트 수, 리뷰 실행 수와 함께 예상 비용 및 PR별 보기 |68| Repository breakdown | 저장소별 리뷰된 PR 수, 해결된 코멘트 수, 리뷰 실행 수와 함께 예상 비용 및 PR별 보기 |

68 69 

69Code Review cost 카드는 현재 월이 선택된 경우에만 금액을 표시합니다. 분석의 비용 수치는 청구서와 다를 수 있습니다. Repository breakdown 비용은 할인이나 크레딧을 적용하기 전의 정가로 추정되며, Claude가 풀 리퀘스트에 게시한 리뷰만 포함합니다. 청구서와 정확히 일치하는 지출은 Anthropic 청구서를 참조하십시오.70Code Review cost 카드는 현재 월이 선택된 경우에만 금액을 표시합니다. 분석의 비용 수치는 청구서와 다를 수 있습니다. Repository breakdown 비용은 할인이나 크레딧을 적용하기 전의 정가로 추정되며, Claude가 풀 리퀘스트에 게시한 리뷰만 포함합니다. 청구서와 정확히 일치하는 지출은 Anthropic 청구서를 참조하십시오.

commands.md +2 −1

Details

111| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | MCP 서버 연결과 OAuth 인증을 관리합니다. 인수 없이 실행하면 대화형 목록이 열리며, 서버 이름 또는 `all`과 함께 `reconnect`, `enable`, `disable`을 전달하면 목록을 열지 않고 연결 상태를 변경합니다. `reconnect all`은 [실패했거나 인증이 필요한 모든 서버를 재시도](https://code.claude.com/docs/ko/mcp.md#retry-failed-servers-yourself)합니다. 비대화형 모드(`-p`)에서 인수 없이 실행하면 목록을 여는 대신 서버 상태의 텍스트 요약을 출력합니다 |111| `/mcp [reconnect (<server>\|all)\|enable\|disable [<server>\|all]]` | MCP 서버 연결과 OAuth 인증을 관리합니다. 인수 없이 실행하면 대화형 목록이 열리며, 서버 이름 또는 `all`과 함께 `reconnect`, `enable`, `disable`을 전달하면 목록을 열지 않고 연결 상태를 변경합니다. `reconnect all`은 [실패했거나 인증이 필요한 모든 서버를 재시도](https://code.claude.com/docs/ko/mcp.md#retry-failed-servers-yourself)합니다. 비대화형 모드(`-p`)에서 인수 없이 실행하면 목록을 여는 대신 서버 상태의 텍스트 요약을 출력합니다 |

112| `/memory` | `CLAUDE.md` 파일을 편집하고, [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory)를 활성화 또는 비활성화하며, 자동 메모리 항목을 확인합니다 |112| `/memory` | `CLAUDE.md` 파일을 편집하고, [자동 메모리](https://code.claude.com/docs/ko/memory.md#auto-memory)를 활성화 또는 비활성화하며, 자동 메모리 항목을 확인합니다 |

113| `/mobile` | Claude 모바일 앱을 다운로드할 수 있는 QR 코드를 표시합니다. 별칭: `/ios`, `/android` |113| `/mobile` | Claude 모바일 앱을 다운로드할 수 있는 QR 코드를 표시합니다. 별칭: `/ios`, `/android` |

114| `/model [model]` | AI 모델을 전환하고 새 세션의 기본값으로 저장합니다. 지원되는 모델의 경우 왼쪽/오른쪽 화살표를 사용하여 [effort 수준을 조정](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)합니다. 인수 없이 실행하면 선택기가 열리며, 행에서 `s`를 누르면 현재 세션에 대해서만 전환합니다. [Claude Code가 전환 확인을 요청하는 경우](https://code.claude.com/docs/ko/prompt-caching.md#switching-models)를 참조하세요. Claude Code가 확인을 요청하는 경우 전환을 확인하면, 현재 응답이 끝날 때까지 기다리지 않고 변경 사항을 적용합니다. v2.1.242 이전에는 Claude Code가 Anthropic에서 가져온 기능 플래그에 따라 명령을 턴 도중에 실행할지 턴이 끝날 때까지 대기열에 둘지 결정했으며, [서드 파티 제공업체](https://code.claude.com/docs/ko/third-party-integrations.md) 사용 시처럼 [기능 플래그를 가져오지](https://code.claude.com/docs/ko/env-vars.md#features-that-need-feature-flag-fetching) 않는 세션에서는 항상 대기열에 두었습니다. 비대화형 모드(`-p`)에서도 선택기 대신 모델 인수와 함께 사용할 수 있으며, 이 경우 현재 세션에만 적용되고 기본값으로 저장되지 않습니다. Claude Code v2.1.205 이상이 필요합니다 |114| `/model [model]` | AI 모델을 전환하고 새 세션의 기본값으로 저장합니다. 지원되는 모델의 경우 왼쪽/오른쪽 화살표를 사용하여 [effort 수준을 조정](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)합니다. 인수 없이 실행하면 선택기가 열리며, 행에서 `s`를 누르면 현재 세션에 대해서만 전환합니다. [새 모델이 적용되는 시점](https://code.claude.com/docs/ko/interactive-mode.md#when-claude-code-sends-what-you-queued)을 참조하세요. v2.1.242 이전에는 적용이 지연될 수 있었습니다. `-p`에서는 모델 인수를 전달하며, 이 모델은 기본값으로 저장되지 않습니다. v2.1.205 이상이 필요합니다 |

115| `/output-style [style]` | [출력 스타일](https://code.claude.com/docs/ko/output-styles.md)을 나열하거나 특정 스타일로 전환합니다(예: `/output-style concise`). [출력 스타일 변경](https://code.claude.com/docs/ko/output-styles.md#change-your-output-style)을 참조하세요. Claude Code v2.1.269 이상이 필요합니다 |115| `/output-style [style]` | [출력 스타일](https://code.claude.com/docs/ko/output-styles.md)을 나열하거나 특정 스타일로 전환합니다(예: `/output-style concise`). [출력 스타일 변경](https://code.claude.com/docs/ko/output-styles.md#change-your-output-style)을 참조하세요. Claude Code v2.1.269 이상이 필요합니다 |

116| `/passes` | 친구들과 Claude Code 무료 1주일 이용권을 공유합니다. 계정이 자격 요건을 충족하는 경우에만 표시됩니다 |116| `/passes` | 친구들과 Claude Code 무료 1주일 이용권을 공유합니다. 계정이 자격 요건을 충족하는 경우에만 표시됩니다 |

117| `/permissions` | 도구 권한에 대한 허용, 확인, 거부 규칙을 관리합니다. 범위별로 규칙을 확인하고, 규칙을 추가 또는 제거하고, 작업 디렉터리를 관리하고, [최근 자동 모드 거부 내역](https://code.claude.com/docs/ko/auto-mode-config.md#review-denials)을 검토할 수 있는 대화형 대화 상자를 엽니다. 대화 상자의 **Auto mode** 탭에서 [자동 모드 분류기 규칙](https://code.claude.com/docs/ko/auto-mode-config.md#edit-rules-from-permissions)을 확인하고 편집할 수도 있습니다. Claude가 응답하는 중에 실행하면 Claude Code가 즉시 대화 상자를 열고, 같은 턴에서 Claude의 다음 도구 호출부터 변경 사항을 적용합니다. v2.1.234 이전에는 Claude Code가 턴이 끝날 때까지 명령을 대기열에 두었습니다. 별칭: `/allowed-tools` |117| `/permissions` | 도구 권한에 대한 허용, 확인, 거부 규칙을 관리합니다. 범위별로 규칙을 확인하고, 규칙을 추가 또는 제거하고, 작업 디렉터리를 관리하고, [최근 자동 모드 거부 내역](https://code.claude.com/docs/ko/auto-mode-config.md#review-denials)을 검토할 수 있는 대화형 대화 상자를 엽니다. 대화 상자의 **Auto mode** 탭에서 [자동 모드 분류기 규칙](https://code.claude.com/docs/ko/auto-mode-config.md#edit-rules-from-permissions)을 확인하고 편집할 수도 있습니다. Claude가 응답하는 중에 실행하면 Claude Code가 즉시 대화 상자를 열고, 같은 턴에서 Claude의 다음 도구 호출부터 변경 사항을 적용합니다. v2.1.234 이전에는 Claude Code가 턴이 끝날 때까지 명령을 대기열에 두었습니다. 별칭: `/allowed-tools` |


130| `/remote-control` | claude.ai에서 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)로 이 세션을 사용할 수 있도록 합니다. 로그아웃 상태에서 실행하면 Remote Control에 claude.ai 구독이 필요하다는 내용과 로그인 방법이 출력됩니다. 별칭: `/rc` |130| `/remote-control` | claude.ai에서 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)로 이 세션을 사용할 수 있도록 합니다. 로그아웃 상태에서 실행하면 Remote Control에 claude.ai 구독이 필요하다는 내용과 로그인 방법이 출력됩니다. 별칭: `/rc` |

131| `/remote-env` | CLI에서 시작하는 클라우드 세션의 기본 [클라우드 환경](https://code.claude.com/docs/ko/cloud-environments.md#select-an-environment-from-the-cli)을 선택합니다 |131| `/remote-env` | CLI에서 시작하는 클라우드 세션의 기본 [클라우드 환경](https://code.claude.com/docs/ko/cloud-environments.md#select-an-environment-from-the-cli)을 선택합니다 |

132| `/rename [name]` | 현재 세션의 이름을 바꾸고 프롬프트 바에 이름을 표시합니다. 이름을 지정하지 않으면 대화 기록에서 자동으로 생성합니다. 비대화형 모드(`-p`)에서도 사용할 수 있습니다. claude.ai와 데스크톱 앱을 포함한 모든 이름 변경 사용 환경에서, Claude Code는 새 이름의 제어 문자와 보이지 않는 문자를 공백으로 바꾸고 이름을 200자로 제한합니다. 보이지 않는 문자를 제거한 후 이름이 비어 있으면 Claude Code는 이를 거부하고 `That name is empty once invisible characters are removed. Usage: /rename <name>`을 표시합니다. 문자 대체와 길이 제한은 Claude Code v2.1.221 이상이 필요합니다 |132| `/rename [name]` | 현재 세션의 이름을 바꾸고 프롬프트 바에 이름을 표시합니다. 이름을 지정하지 않으면 대화 기록에서 자동으로 생성합니다. 비대화형 모드(`-p`)에서도 사용할 수 있습니다. claude.ai와 데스크톱 앱을 포함한 모든 이름 변경 사용 환경에서, Claude Code는 새 이름의 제어 문자와 보이지 않는 문자를 공백으로 바꾸고 이름을 200자로 제한합니다. 보이지 않는 문자를 제거한 후 이름이 비어 있으면 Claude Code는 이를 거부하고 `That name is empty once invisible characters are removed. Usage: /rename <name>`을 표시합니다. 문자 대체와 길이 제한은 Claude Code v2.1.221 이상이 필요합니다 |

133| `/restart` | Claude Code를 다시 시작하고 이 세션을 재개하여 설치된 업데이트를 적용합니다. 업데이트가 설치된 후 하단 바에서 이 명령을 제안하면 실행합니다. Pro 또는 Max 플랜과 WSL이 아닌 macOS 또는 Linux의 네이티브 설치가 필요합니다. Claude Code v2.1.288 이상이 필요합니다. 별칭: `/update` |

133| `/resume [session]` | ID나 이름으로 대화를 재개하거나 세션 선택기를 엽니다. [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)은 선택기에 `bg` 표시와 함께 나타납니다. 선택기에서 또는 ID나 이름으로 아직 실행 중인 세션을 재개하면 [해당 세션이 열립니다](https://code.claude.com/docs/ko/sessions.md#resume-a-running-background-session). 현재 대화는 백그라운드로 이동하고 이 터미널은 실행 중인 세션에 연결됩니다. 빈 프롬프트에서 `←`를 누르면 에이전트 보기로 돌아가며, 여기에는 떠나온 대화도 나열됩니다. v2.1.285 이전에는 Claude Code가 이를 거부하고 `claude attach`로 세션을 열거나 먼저 중지하라고 안내했습니다. 별칭: `/continue` |134| `/resume [session]` | ID나 이름으로 대화를 재개하거나 세션 선택기를 엽니다. [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)은 선택기에 `bg` 표시와 함께 나타납니다. 선택기에서 또는 ID나 이름으로 아직 실행 중인 세션을 재개하면 [해당 세션이 열립니다](https://code.claude.com/docs/ko/sessions.md#resume-a-running-background-session). 현재 대화는 백그라운드로 이동하고 이 터미널은 실행 중인 세션에 연결됩니다. 빈 프롬프트에서 `←`를 누르면 에이전트 보기로 돌아가며, 여기에는 떠나온 대화도 나열됩니다. v2.1.285 이전에는 Claude Code가 이를 거부하고 `claude attach`로 세션을 열거나 먼저 중지하라고 안내했습니다. 별칭: `/continue` |

134| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | [`/code-review`](https://code.claude.com/docs/ko/code-review-local)의 별칭입니다. 현재 diff 또는 전달한 PR 번호, 브랜치, 경로(예: `/review 1234`)를 리뷰하며, 동일한 effort 수준과 플래그를 받습니다. 수준을 지정하지 않으면 마지막으로 입력한 `low`부터 `max`까지의 수준을 재사용합니다. 정확한 규칙은 [`/code-review`로 로컬에서 리뷰하기](https://code.claude.com/docs/ko/code-review-local)를 참조하세요. 심층 클라우드 리뷰에는 [`/code-review ultra`](https://code.claude.com/docs/ko/ultrareview)를 사용합니다. v2.1.223 이전에는 `/review`가 번호로 지정한 GitHub 풀 리퀘스트에 대해 단일 패스의 읽기 전용 리뷰를 실행하는 별도의 명령이었으며, 인수 없이 실행하면 선택할 수 있도록 열린 PR을 나열했습니다. v2.1.186부터 v2.1.201까지는 `/code-review medium`과 동일한 멀티 에이전트 엔진을 실행했습니다 |135| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | [`/code-review`](https://code.claude.com/docs/ko/code-review-local)의 별칭입니다. 현재 diff 또는 전달한 PR 번호, 브랜치, 경로(예: `/review 1234`)를 리뷰하며, 동일한 effort 수준과 플래그를 받습니다. 수준을 지정하지 않으면 마지막으로 입력한 `low`부터 `max`까지의 수준을 재사용합니다. 정확한 규칙은 [`/code-review`로 로컬에서 리뷰하기](https://code.claude.com/docs/ko/code-review-local)를 참조하세요. 심층 클라우드 리뷰에는 [`/code-review ultra`](https://code.claude.com/docs/ko/ultrareview)를 사용합니다. v2.1.223 이전에는 `/review`가 번호로 지정한 GitHub 풀 리퀘스트에 대해 단일 패스의 읽기 전용 리뷰를 실행하는 별도의 명령이었으며, 인수 없이 실행하면 선택할 수 있도록 열린 PR을 나열했습니다. v2.1.186부터 v2.1.201까지는 `/code-review medium`과 동일한 멀티 에이전트 엔진을 실행했습니다 |

135| `/rewind` | 대화 및/또는 코드를 이전 시점으로 되감거나, 선택한 메시지부터 요약합니다. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하세요. 별칭: `/checkpoint`, `/undo` |136| `/rewind` | 대화 및/또는 코드를 이전 시점으로 되감거나, 선택한 메시지부터 요약합니다. [체크포인트](https://code.claude.com/docs/ko/checkpointing.md)를 참조하세요. 별칭: `/checkpoint`, `/undo` |

costs.md +1 −6

Details

375 375 

376## 백그라운드 토큰 사용량376## 백그라운드 토큰 사용량

377 377 

378Claude Code는 유휴 상태에서도 일부 백그라운드 기능에 토큰을 사용합니다:378세션 요약과 유휴 압축은 사용자가 유휴 상태일 때 토큰을 사용할 수 있습니다. 각 기능이 실행되는 시점과 끄는 방법은 [세션 요약](https://code.claude.com/docs/ko/interactive-mode.md#session-recap) 및 [유휴 압축](https://code.claude.com/docs/ko/settings-reference.md#idlecompaction)을 참조하십시오.

379 

380* **대화 요약**: `claude --resume` 기능을 위해 이전 대화를 요약하는 백그라운드 작업

381* **명령 처리**: `/usage`와 같은 일부 명령은 상태를 확인하기 위해 요청을 생성할 수 있습니다

382 

383이러한 백그라운드 프로세스는 활성 상호작용 없이도 세션당 적은 양의 토큰(일반적으로 \$0.04 미만)을 소비합니다.

384 379 

385프롬프트 제안이 켜져 있으면, Claude Code는 Claude가 응답한 후 세션이 사용 중인 모델에 짧은 요청을 보내 [다음 프롬프트를 제안합니다](https://code.claude.com/docs/ko/interactive-mode.md#prompt-suggestions). 해당 요청은 대화의 프롬프트 캐시를 재사용하므로 대부분 캐시 읽기와 몇 가지 출력 토큰으로 구성됩니다. Claude Code는 [계정이 사용량 한도에 가깝거나 도달했을 때 제안을 건너뜁니다](https://code.claude.com/docs/ko/interactive-mode.md#when-claude-code-skips-suggestions). 이러한 요청을 중지하려면 [프롬프트 제안을 끕니다](https://code.claude.com/docs/ko/interactive-mode.md#turn-prompt-suggestions-off).380프롬프트 제안이 켜져 있으면, Claude Code는 Claude가 응답한 후 세션이 사용 중인 모델에 짧은 요청을 보내 [다음 프롬프트를 제안합니다](https://code.claude.com/docs/ko/interactive-mode.md#prompt-suggestions). 해당 요청은 대화의 프롬프트 캐시를 재사용하므로 대부분 캐시 읽기와 몇 가지 출력 토큰으로 구성됩니다. Claude Code는 [계정이 사용량 한도에 가깝거나 도달했을 때 제안을 건너뜁니다](https://code.claude.com/docs/ko/interactive-mode.md#when-claude-code-skips-suggestions). 이러한 요청을 중지하려면 [프롬프트 제안을 끕니다](https://code.claude.com/docs/ko/interactive-mode.md#turn-prompt-suggestions-off).

386 381 

desktop.md +18 −0

Details

1930* **Windows**: `SOFTWARE\Policies\Claude`의 레지스트리를 통해 구성합니다1930* **Windows**: `SOFTWARE\Policies\Claude`의 레지스트리를 통해 구성합니다

1931* **Linux**: 정책 키를 JSON 객체로 담고 있는 root 소유 파일 `/etc/claude-desktop/managed-settings.json`을 통해 구성합니다. root 이외의 사용자가 이 파일이나 해당 폴더에 쓸 수 있는 경우 Desktop은 이 파일을 거부합니다. 이 파일은 Claude Code의 [관리형 설정 파일](https://code.claude.com/docs/ko/managed-settings.md)과는 다른 파일입니다.1931* **Linux**: 정책 키를 JSON 객체로 담고 있는 root 소유 파일 `/etc/claude-desktop/managed-settings.json`을 통해 구성합니다. root 이외의 사용자가 이 파일이나 해당 폴더에 쓸 수 있는 경우 Desktop은 이 파일을 거부합니다. 이 파일은 Claude Code의 [관리형 설정 파일](https://code.claude.com/docs/ko/managed-settings.md)과는 다른 파일입니다.

1932 1932 

1933#### 조직으로 로그인 제한

1934 

1935Claude Desktop에 로그인할 수 있는 claude.ai 조직을 제한하려면 Claude Desktop 정책에서 `forceLoginOrgUUID`를 설정하십시오.

1936 

1937이 키를 사용하려면 Claude Desktop v1.2581.0 이상이 필요합니다.

1938 

1939Linux에서 이 키만 설정하는 정책 파일은 다음과 같습니다.

1940 

1941```json /etc/claude-desktop/managed-settings.json theme={null}

1942{

1943 "forceLoginOrgUUID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

1944}

1945```

1946 

1947자리 표시자를 [claude.ai 관리자 설정](https://claude.ai/admin-settings/organization)에 표시되는 claude.ai 조직 ID로 바꾸십시오. 이 ID는 Claude Code의 [`forceLoginOrgUUID`](https://code.claude.com/docs/ko/settings-reference#forceloginorguuid) 설정에 사용하는 것과 동일한 ID입니다. 이 키를 설정하는 macOS 및 Windows 샘플은 HIPAA 대응 조직을 위한 Cowork 가이드의 [Claude Desktop 정책 배포](https://claude.com/docs/cowork/hipaa-setup#deploy-the-claude-desktop-policy)를 참조하십시오.

1948 

1949Claude Code의 [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 `forceLoginMethod`와 `forceLoginOrgUUID`를 설정해도 Claude Desktop 로그인 화면은 변경되지 않습니다.

1950 

1933### 네트워크 액세스 요구 사항1951### 네트워크 액세스 요구 사항

1934 1952 

1935Desktop은 Anthropic CDN 호스트에서 애플리케이션 코드와 사용자 콘텐츠를 로드합니다.1953Desktop은 Anthropic CDN 호스트에서 애플리케이션 코드와 사용자 콘텐츠를 로드합니다.

env-vars.md +2 −1

Details

428| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [워크플로](https://code.claude.com/docs/ko/workflows.md) 에이전트가 자신의 첫 요청을 보내기 전에 동일한 접두사를 가진 형제 에이전트의 첫 응답이 시작되기를 기다리는 시간의 상한(밀리초)입니다. 팬아웃이 [프롬프트 캐시 접두사](https://code.claude.com/docs/ko/workflows.md#prompt-caching-in-a-fan-out)를 공유하는 여러 에이전트를 시작하면, Claude Code는 첫 번째 에이전트를 제외한 나머지를 최대 이 시간만큼 대기시켜 각각 캐시되지 않은 접두사를 처리하는 대신 캐시된 접두사를 읽도록 합니다. 기본값은 `5000`입니다. `0`으로 설정하면 대기를 비활성화합니다. `DISABLE_PROMPT_CACHING`이 설정된 경우 에이전트는 대기하지 않습니다. Claude Code v2.1.229 이상이 필요합니다 |428| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | [워크플로](https://code.claude.com/docs/ko/workflows.md) 에이전트가 자신의 첫 요청을 보내기 전에 동일한 접두사를 가진 형제 에이전트의 첫 응답이 시작되기를 기다리는 시간의 상한(밀리초)입니다. 팬아웃이 [프롬프트 캐시 접두사](https://code.claude.com/docs/ko/workflows.md#prompt-caching-in-a-fan-out)를 공유하는 여러 에이전트를 시작하면, Claude Code는 첫 번째 에이전트를 제외한 나머지를 최대 이 시간만큼 대기시켜 각각 캐시되지 않은 접두사를 처리하는 대신 캐시된 접두사를 읽도록 합니다. 기본값은 `5000`입니다. `0`으로 설정하면 대기를 비활성화합니다. `DISABLE_PROMPT_CACHING`이 설정된 경우 에이전트는 대기하지 않습니다. Claude Code v2.1.229 이상이 필요합니다 |

429| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | `1`로 설정하면 이 세션에서 [You should know mod](https://code.claude.com/docs/ko/interactive-mode.md#you-should-know-suggestions)가 수행한 마지막 세 번의 확인 각각에 대한 줄을 프롬프트 위에 표시합니다. 메모가 나타나지 않을 때 mod가 확인을 수행하고 있는지 확인하는 데 사용합니다. Claude Code v2.1.287 이상이 필요합니다 |429| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | `1`로 설정하면 이 세션에서 [You should know mod](https://code.claude.com/docs/ko/interactive-mode.md#you-should-know-suggestions)가 수행한 마지막 세 번의 확인 각각에 대한 줄을 프롬프트 위에 표시합니다. 메모가 나타나지 않을 때 mod가 확인을 수행하고 있는지 확인하는 데 사용합니다. Claude Code v2.1.287 이상이 필요합니다 |

430| `CLAUDE_CONFIG_DIR` | 구성 디렉터리를 재정의합니다(기본값: `~/.claude`). 모든 설정, 세션 기록, 플러그인이 이 경로 아래에 저장됩니다. 자격 증명에 대해서는 [Claude Code가 자격 증명을 저장하는 위치](https://code.claude.com/docs/ko/authentication.md#credential-management)를 참조하세요. 여러 계정을 나란히 실행할 때 유용합니다. 예: `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. 셸, 사용자 설정 또는 관리형 설정에서 설정합니다. 설정 파일에서는 [절대 경로](#in-settings-files)를 작성합니다. [프로젝트 및 로컬 설정](https://code.claude.com/docs/ko/settings-reference.md#variables-claude-code-ignores-in-env)에서는 무시됩니다 |430| `CLAUDE_CONFIG_DIR` | 구성 디렉터리를 재정의합니다(기본값: `~/.claude`). 모든 설정, 세션 기록, 플러그인이 이 경로 아래에 저장됩니다. 자격 증명에 대해서는 [Claude Code가 자격 증명을 저장하는 위치](https://code.claude.com/docs/ko/authentication.md#credential-management)를 참조하세요. 여러 계정을 나란히 실행할 때 유용합니다. 예: `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. 셸, 사용자 설정 또는 관리형 설정에서 설정합니다. 설정 파일에서는 [절대 경로](#in-settings-files)를 작성합니다. [프로젝트 및 로컬 설정](https://code.claude.com/docs/ko/settings-reference.md#variables-claude-code-ignores-in-env)에서는 무시됩니다 |

431| `CLAUDE_EFFORT` | Bash 도구 하위 프로세스와 훅 명령에서 하위 프로세스가 시작될 때 적용 중인 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)(`low`, `medium`, `high`, `xhigh` 또는 `max`)으로 자동 설정됩니다. [훅](https://code.claude.com/docs/ko/hooks.md)에 전달되는 `effort.level` 필드와 일치합니다. 현재 모델이 effort 매개변수를 지원하는 경우에만 설정됩니다 |431| `CLAUDE_EFFORT` | Bash 도구 하위 프로세스와 훅 명령에서 하위 프로세스가 시작될 때의 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level) 설정으로 자동 설정됩니다: `low`, `medium`, `high`, `xhigh` 또는 `max`. [훅](https://code.claude.com/docs/ko/hooks.md)에 전달되는 `effort.level` 필드와 일치합니다. 현재 모델이 effort 매개변수를 지원하는 경우에만 설정됩니다 |

432| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 바이트 수준 스트리밍 유휴 워치독을 강제로 활성화하려면 `1`로, 강제로 비활성화하려면 `0`으로 설정합니다. `0`은 해당 기한이 실행되는 연결에서 [첫 바이트 기한](https://code.claude.com/docs/ko/network-config.md#streaming-idle-watchdogs)도 끕니다. 설정하지 않으면 직접 Anthropic API 및 [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md) 연결과, `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통해 연결되는 [게이트웨이](https://code.claude.com/docs/ko/gateways.md) 연결의 스트리밍 응답에 대해 워치독이 기본적으로 활성화됩니다. v2.1.222 이전에는 해당 게이트웨이 연결에서 실행되지 않았기 때문에, keep-alive 핑이 도착하는 중에도 이벤트 수준 워치독이 정체를 보고할 수 있었습니다. 타임아웃과 타이머 간 상호작용에 대해서는 [스트리밍 유휴 워치독](https://code.claude.com/docs/ko/network-config.md#streaming-idle-watchdogs)을 참조하세요 |432| `CLAUDE_ENABLE_BYTE_WATCHDOG` | 바이트 수준 스트리밍 유휴 워치독을 강제로 활성화하려면 `1`로, 강제로 비활성화하려면 `0`으로 설정합니다. `0`은 해당 기한이 실행되는 연결에서 [첫 바이트 기한](https://code.claude.com/docs/ko/network-config.md#streaming-idle-watchdogs)도 끕니다. 설정하지 않으면 직접 Anthropic API 및 [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.md) 연결과, `ANTHROPIC_BASE_URL` 또는 `ANTHROPIC_AWS_BASE_URL`을 통해 연결되는 [게이트웨이](https://code.claude.com/docs/ko/gateways.md) 연결의 스트리밍 응답에 대해 워치독이 기본적으로 활성화됩니다. v2.1.222 이전에는 해당 게이트웨이 연결에서 실행되지 않았기 때문에, keep-alive 핑이 도착하는 중에도 이벤트 수준 워치독이 정체를 보고할 수 있었습니다. 타임아웃과 타이머 간 상호작용에 대해서는 [스트리밍 유휴 워치독](https://code.claude.com/docs/ko/network-config.md#streaming-idle-watchdogs)을 참조하세요 |

433| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Amazon Bedrock `vnd.amazon.eventstream` 응답에서 바이트 수준 스트리밍 유휴 워치독을 활성화하려면 `1`로 설정합니다. 이렇게 하면 Bedrock 스트리밍 요청에서 [첫 바이트 기한](https://code.claude.com/docs/ko/network-config.md#streaming-idle-watchdogs)도 활성화됩니다. 기본적으로 꺼져 있습니다. 타임아웃은 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`로 구성합니다 |433| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Amazon Bedrock `vnd.amazon.eventstream` 응답에서 바이트 수준 스트리밍 유휴 워치독을 활성화하려면 `1`로 설정합니다. 이렇게 하면 Bedrock 스트리밍 요청에서 [첫 바이트 기한](https://code.claude.com/docs/ko/network-config.md#streaming-idle-watchdogs)도 활성화됩니다. 기본적으로 꺼져 있습니다. 타임아웃은 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`로 구성합니다 |

434| `CLAUDE_ENABLE_STREAM_WATCHDOG` | 이벤트 수준 스트리밍 유휴 워치독을 강제로 비활성화하려면 `0`으로, 강제로 활성화하려면 `1`로 설정합니다. 설정하지 않으면 모든 공급자에서 워치독이 기본적으로 켜져 있습니다. v2.1.196 이전에는 설정하지 않았을 때의 기본값이 직접 Anthropic API에서는 서버에서 제어되었고 다른 공급자에서는 꺼져 있었습니다. 타임아웃은 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`로 구성합니다. 이 워치독과 함께 실행되는 다른 정체 타이머에 대해서는 [스트리밍 유휴 워치독](https://code.claude.com/docs/ko/network-config.md#streaming-idle-watchdogs)을 참조하세요 |434| `CLAUDE_ENABLE_STREAM_WATCHDOG` | 이벤트 수준 스트리밍 유휴 워치독을 강제로 비활성화하려면 `0`으로, 강제로 활성화하려면 `1`로 설정합니다. 설정하지 않으면 모든 공급자에서 워치독이 기본적으로 켜져 있습니다. v2.1.196 이전에는 설정하지 않았을 때의 기본값이 직접 Anthropic API에서는 서버에서 제어되었고 다른 공급자에서는 꺼져 있었습니다. 타임아웃은 `CLAUDE_STREAM_IDLE_TIMEOUT_MS`로 구성합니다. 이 워치독과 함께 실행되는 다른 정체 타이머에 대해서는 [스트리밍 유휴 워치독](https://code.claude.com/docs/ko/network-config.md#streaming-idle-watchdogs)을 참조하세요 |


575* [Remote Control](https://code.claude.com/docs/ko/remote-control.md#requirements)을 사용할 수 없을 때 [이 머신 외부의 세션에 메시지 보내기](https://code.claude.com/docs/ko/cross-session-messaging.md#message-sessions-on-other-machines). 이 머신의 세션 간 메시지 전송은 가져오기가 꺼져 있어도 작동합니다575* [Remote Control](https://code.claude.com/docs/ko/remote-control.md#requirements)을 사용할 수 없을 때 [이 머신 외부의 세션에 메시지 보내기](https://code.claude.com/docs/ko/cross-session-messaging.md#message-sessions-on-other-machines). 이 머신의 세션 간 메시지 전송은 가져오기가 꺼져 있어도 작동합니다

576* [`claude import` 또는 `/import` 명령](https://code.claude.com/docs/ko/cli-reference#cli-commands) 실행576* [`claude import` 또는 `/import` 명령](https://code.claude.com/docs/ko/cli-reference#cli-commands) 실행

577* [`/skill-doctor`](https://code.claude.com/docs/ko/skills#find-unused-skills) 실행 또는 `/plugin` **Stats** 탭에서 해당 보고서 열기577* [`/skill-doctor`](https://code.claude.com/docs/ko/skills#find-unused-skills) 실행 또는 `/plugin` **Stats** 탭에서 해당 보고서 열기

578* Pro 및 Max 플랜에서 [`/restart`](https://code.claude.com/docs/ko/commands) 실행

578* claude.ai 계정에서 활성화된 [스킬](https://code.claude.com/docs/ko/skills.md#where-synced-skills-load) 및 [플러그인](https://code.claude.com/docs/ko/plugins/loading.md#synced-plugins)을 터미널 세션에 동기화579* claude.ai 계정에서 활성화된 [스킬](https://code.claude.com/docs/ko/skills.md#where-synced-skills-load) 및 [플러그인](https://code.claude.com/docs/ko/plugins/loading.md#synced-plugins)을 터미널 세션에 동기화

579* [You should know mod](https://code.claude.com/docs/ko/interactive-mode.md#you-should-know-suggestions) 켜기580* [You should know mod](https://code.claude.com/docs/ko/interactive-mode.md#you-should-know-suggestions) 켜기

580* [advisor 도구](https://code.claude.com/docs/ko/advisor.md#requirements) 사용581* [advisor 도구](https://code.claude.com/docs/ko/advisor.md#requirements) 사용

errors.md +12 −6

Details

277| `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [명령줄 오류](#windows-reported-an-error-ebadf) |277| `Windows reported an error (EBADF) when Claude Code read this session's transcript file` | [명령줄 오류](#windows-reported-an-error-ebadf) |

278| `Cannot switch renderers in this session` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |278| `Cannot switch renderers in this session` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |

279| `Cannot switch renderers while work is running in the background` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |279| `Cannot switch renderers while work is running in the background` | [명령줄 오류](#cannot-switch-renderers-in-this-session) |

280| `Can't restart while work is running in the background — wait for it to finish (or stop it via /tasks), then try again.` | [명령줄 오류](#cant-restart-while-work-is-running-or-remote-control-is-connected) |

281| `Can't restart while Remote Control is connected. To use the installed version, exit and start Claude Code again, then run /resume.` | [명령줄 오류](#cant-restart-while-work-is-running-or-remote-control-is-connected) |

280| `Claude Code couldn't restart` | [명령줄 오류](#claude-code-couldnt-restart) |282| `Claude Code couldn't restart` | [명령줄 오류](#claude-code-couldnt-restart) |

281| `Couldn't open Claude Desktop` | [명령줄 오류](#couldnt-open-claude-desktop) |283| `Couldn't open Claude Desktop` | [명령줄 오류](#couldnt-open-claude-desktop) |

282| `Failed to open Claude Desktop. Please try opening it manually.` | [명령줄 오류](#couldnt-open-claude-desktop) |284| `Failed to open Claude Desktop. Please try opening it manually.` | [명령줄 오류](#couldnt-open-claude-desktop) |


858 860 

859### The prompt to confirm went unanswered861### The prompt to confirm went unanswered

860 862 

861계정에 [Fable 사용량 크레딧 동의](https://code.claude.com/docs/ko/model-config.md#fable-and-usage-credits)가 필요한 경우, Claude Code는 Fable 요청이 사용량 크레딧으로 청구되기 전에 확인을 요청합니다. 아무도 응답하지 않은 채 동의 프롬프트가 닫히면 Claude Code는 다음 메시지 중 하나와 함께 턴을 종료합니다.863[Fable 사용량 크레딧 동의 프롬프트](https://code.claude.com/docs/ko/model-config.md#fable-and-usage-credits)가 아무도 응답하지 않은 채 닫히면 Claude Code는 다음 메시지 중 하나와 함께 턴을 종료합니다.

862 864 

863```text theme={null}865```text theme={null}

864Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change866Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change


1958 1960 

1959Claude Code는 API 요청과 동일한 [프록시 구성](https://code.claude.com/docs/ko/network-config.md)을 통해 확인을 보내고 각 프로브에 10초를 제공합니다. 실패한 프로브가 프록시를 통과한 경우, 메시지는 `HTTPS_PROXY`와 같이 이를 구성한 환경 변수의 이름을 지정합니다. v2.1.222 이전에는 확인이 타임아웃이 없는 다른 프록시 전송을 사용했습니다. `https://` 스키마가 있는 프록시 URL 뒤에서 `Checking connectivity...`에서 무한정 정지될 수 있었고, 동일한 프록시를 통한 API 요청이 성공하더라도 실패할 수 있었습니다.1961Claude Code는 API 요청과 동일한 [프록시 구성](https://code.claude.com/docs/ko/network-config.md)을 통해 확인을 보내고 각 프로브에 10초를 제공합니다. 실패한 프로브가 프록시를 통과한 경우, 메시지는 `HTTPS_PROXY`와 같이 이를 구성한 환경 변수의 이름을 지정합니다. v2.1.222 이전에는 확인이 타임아웃이 없는 다른 프록시 전송을 사용했습니다. `https://` 스키마가 있는 프록시 URL 뒤에서 `Checking connectivity...`에서 무한정 정지될 수 있었고, 동일한 프록시를 통한 API 요청이 성공하더라도 실패할 수 있었습니다.

1960 1962 

1961Claude Code는 [관리형 설정 파일, MDM 정책 또는 정책 도우미](https://code.claude.com/docs/ko/managed-settings.md)가 [`forceLoginMethod`](https://code.claude.com/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정하거나 `forceLoginMethod` 없이 [`forceLoginGatewayUrl`](https://code.claude.com/docs/ko/settings-reference#forcelogingatewayurl)을 설정할 때 이 확인을 건너뜁니다. 두 구성 중 하나를 사용하면 Claude Code는 Anthropic 로그인 방법이 아닌 **클라우드 게이트웨이** 화면에서 로그인 단계를 엽니다. Claude Code는 또한 머신에 관리형 설정 소스가 존재하지만 읽을 수 없을 때 확인을 건너뜁니다. 해당 소스가 게이트웨이 구성을 보유할 수 있기 때문입니다. v2.1.247 이전에는 Claude Code가 이 구성에서도 확인을 실행했고, Anthropic의 엔드포인트에 도달할 수 없을 때 이 오류로 종료했습니다.1963Claude Code는 [관리형 설정 파일, MDM 정책 또는 정책 도우미](https://code.claude.com/docs/ko/managed-settings.md)가 [`forceLoginMethod`](https://code.claude.com/docs/ko/settings-reference#forceloginmethod)를 `"gateway"`로 설정하거나 `forceLoginMethod` 없이 [`forceLoginGatewayUrl`](https://code.claude.com/docs/ko/settings-reference#forcelogingatewayurl)을 설정할 때 이 확인을 건너뜁니다. 두 구성 중 하나를 사용하면 Claude Code는 Anthropic 로그인 방법이 아닌 **Cloud gateway** 화면에서 로그인 단계를 엽니다. Claude Code는 또한 머신에 관리형 설정 소스가 존재하지만 읽을 수 없을 때 확인을 건너뜁니다. 해당 소스가 게이트웨이 구성을 보유할 수 있기 때문입니다. v2.1.247 이전에는 Claude Code가 이 구성에서도 확인을 실행했고, Anthropic의 엔드포인트에 도달할 수 없을 때 이 오류로 종료했습니다.

1962 1964 

1963Claude Code는 관리형 설정이 없는 머신에서 사용자 자신의 `~/.claude/settings.json`이 `forceLoginMethod` 및 `forceLoginGatewayUrl`로 [게이트웨이를 지정](https://code.claude.com/docs/ko/claude-apps-gateway#set-the-gateway-url-in-user-settings)하는 경우에도 확인을 건너뜁니다. v2.1.295 이전에는 Claude Code가 이 경우에도 확인을 실행했습니다.1965Claude Code는 관리형 설정이 없는 머신에서 사용자 자신의 `~/.claude/settings.json`이 `forceLoginMethod` 및 `forceLoginGatewayUrl`로 [게이트웨이를 지정](https://code.claude.com/docs/ko/claude-apps-gateway#set-the-gateway-url-in-user-settings)하는 경우에도 확인을 건너뜁니다. v2.1.295 이전에는 Claude Code가 이 경우에도 확인을 실행했습니다.

1964 1966 


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

3299* **`No answer in time.` 뒤에 `Error: Workspace not trusted`**: `Trust <folder>? [y/N]` 질문에 5분 동안 답하지 않았습니다. `claude ultrareview`를 다시 실행하고 답합니다.3301* **`No answer in time.` 뒤에 `Error: Workspace not trusted`**: `Trust <folder>? [y/N]` 질문에 5분 동안 답하지 않았습니다. `claude ultrareview`를 다시 실행하고 답합니다.

3300* **`Ultrareview did not start: <folder> is not trusted`**: `n`으로 답하거나 Enter를 누르는 등 `Trust <folder>? [y/N]` 질문을 거절했습니다. 리뷰를 시작하려면 `claude ultrareview`를 다시 실행하고 `y`로 답합니다.3302* **`Ultrareview did not start: <folder> is not trusted`**: `n`으로 답하거나 Enter를 누르는 등 `Trust <folder>? [y/N]` 질문을 거절했습니다. 리뷰를 시작하려면 `claude ultrareview`를 다시 실행하고 `y`로 답합니다.

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

3302 3304 

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

3304 3306 


3590 3592 

3591관련 메시지는 명령이 실행되기도 전에 발생합니다:3593관련 메시지는 명령이 실행되기도 전에 발생합니다:

3592 3594 

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

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

3595 3597 

3596**해결 방법:**3598**해결 방법:**

3597 3599 


3744 3746 

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

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

3747* **클론에 없던 기본 브랜치를 전달한 경우**: 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`와 함께 실패했습니다.3749* **클론에 없던 기본 브랜치를 전달한 경우**: 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`와 함께 실패했습니다.

3748 3750 

3749**해결 방법:**3751**해결 방법:**

3750 3752 


3974 3976 

3975* 해당 제한 없이 시작된 세션에서 `/tui fullscreen`을 실행하거나, 다시 전환하려면 `/tui default`를 실행합니다. Claude Code는 그곳에서 [`tui` 설정](https://code.claude.com/docs/ko/settings-reference#tui)을 저장합니다3977* 해당 제한 없이 시작된 세션에서 `/tui fullscreen`을 실행하거나, 다시 전환하려면 `/tui default`를 실행합니다. Claude Code는 그곳에서 [`tui` 설정](https://code.claude.com/docs/ko/settings-reference#tui)을 저장합니다

3976 3978 

3979### Can't restart while work is running or Remote Control is connected

3980 

3981Claude Code가 다시 시작되지 않았으며 세션은 그대로 계속 실행됩니다. 메시지의 해결 방법을 따르세요.

3982 

3977### Claude Code couldn't restart3983### Claude Code couldn't restart

3978 3984 

3979이 메시지에 대화가 저장되었다고 표시되면, 대화는 디스크에 있으며 중단된 지점부터 이어서 진행할 수 있습니다. Claude Code가 자체적으로 다시 시작하는 중이었는데(예: [`/tui`](https://code.claude.com/docs/ko/fullscreen#enable-fullscreen-rendering)를 실행한 후 전체 화면 렌더링으로 전환하거나 해제하기 위해), 새 프로세스를 시작할 수 없어 상태 1로 종료되었습니다:3985이 메시지에 대화가 저장되었다고 표시되면, 대화는 디스크에 있으며 중단된 지점부터 이어서 진행할 수 있습니다. Claude Code가 자체적으로 다시 시작하는 중이었는데(예: [`/tui`](https://code.claude.com/docs/ko/fullscreen#enable-fullscreen-rendering)를 실행한 후 전체 화면 렌더링으로 전환하거나 해제하기 위해), 새 프로세스를 시작할 수 없어 상태 1로 종료되었습니다:

goal.md +1 −1

Details

168 168 

169> [!WARNING]169> [!WARNING]

170>170>

171> Claude Code는 `/goal` 평가뿐만 아니라 작은 빠른 모델을 사용하는 모든 곳에서 `ANTHROPIC_DEFAULT_HAIKU_MODEL`을 읽습니다. 설정하면 Claude Code는 [`haiku` 별칭](https://code.claude.com/docs/ko/model-config#model-aliases)을 해당 모델로 확인하고 대화 요약과 같은 [백그라운드 기능](https://code.claude.com/docs/ko/costs.md#background-token-usage)을 실행합니다.171> Claude Code는 `/goal` 평가뿐만 아니라 작은 빠른 모델을 사용하는 모든 곳에서 `ANTHROPIC_DEFAULT_HAIKU_MODEL`을 읽습니다. 설정하면 Claude Code는 [`haiku` 별칭](https://code.claude.com/docs/ko/model-config#model-aliases)도 해당 모델로 확인하고 세션 제목 생성 및 기타 일부 백그라운드 작업을 해당 모델에서 실행합니다.

172 172 

173평가자는 세션이 구성된 공급자에서 실행됩니다. 도구를 호출하지 않으므로 Claude가 이미 대화에서 표시한 내용만 판단할 수 있습니다.173평가자는 세션이 구성된 공급자에서 실행됩니다. 도구를 호출하지 않으므로 Claude가 이미 대화에서 표시한 내용만 판단할 수 있습니다.

174 174 

hipaa-setup.md +5 −1

Details

26 26 

27| 시점 | 수행할 작업 |27| 시점 | 수행할 작업 |

28| :- | :- |28| :- | :- |

29| 구성이 적용되기 전 | [컴퓨터 준비](#prepare-computers-before-the-hipaa-configuration-is-applied): 개발자의 연결 방식을 확인하고, 앱을 업데이트하고, 네트워크 액세스를 허용하고, 관리형 설정을 배포합니다 |29| 구성이 적용되기 전 | [컴퓨터 준비](#prepare-computers-before-the-hipaa-configuration-is-applied): 개발자의 연결 방식을 확인하고, 앱을 업데이트하고, 네트워크 액세스를 허용하고, 관리형 설정을 배포하고, Claude Desktop 로그인을 제한합니다 |

30| 적용된 후 | Owner가 다시 켤 때까지 Code 탭은 꺼져 있습니다. [컴퓨터에서 구성 확인](#confirm-the-configuration-on-a-computer) |30| 적용된 후 | Owner가 다시 켤 때까지 Code 탭은 꺼져 있습니다. [컴퓨터에서 구성 확인](#confirm-the-configuration-on-a-computer) |

31| 지속적으로 | [로컬 세션 데이터 관리](#manage-local-session-data) |31| 지속적으로 | [로컬 세션 데이터 관리](#manage-local-session-data) |

32 32 


161 161 

162HIPAA 구성 없이 실행되는 세션이 BAA의 적용 대상인지 확인하려면 [HIPAA 대응 Enterprise 플랜에서 Claude Code(로컬 모드) 및 Cowork(로컬 모드) 사용하기](https://support.claude.com/en/articles/17318731)를 참조하십시오.162HIPAA 구성 없이 실행되는 세션이 BAA의 적용 대상인지 확인하려면 [HIPAA 대응 Enterprise 플랜에서 Claude Code(로컬 모드) 및 Cowork(로컬 모드) 사용하기](https://support.claude.com/en/articles/17318731)를 참조하십시오.

163 163 

164### Claude Desktop 로그인 제한하기

165 

166개발자가 Claude Desktop의 Code 탭을 사용하는 경우 [조직으로 로그인 제한하기](https://code.claude.com/docs/ko/desktop.md#restrict-sign-in-to-your-organization)에 설명된 대로 Claude Desktop 정책에도 `forceLoginOrgUUID`를 설정하십시오. 관리형 설정에 `forceLoginMethod`와 `forceLoginOrgUUID`를 배포해도 Claude Desktop 로그인 화면은 변경되지 않습니다.

167 

164## 컴퓨터에서 구성 확인하기168## 컴퓨터에서 구성 확인하기

165 169 

166조직에 구성이 적용된 후 관리 대상 컴퓨터 한 대에서 이 확인을 실행하십시오.170조직에 구성이 적용된 후 관리 대상 컴퓨터 한 대에서 이 확인을 실행하십시오.

hooks.md +11 −3

Details

735| `cwd` | hook이 호출될 때의 현재 작업 디렉터리 |735| `cwd` | hook이 호출될 때의 현재 작업 디렉터리 |

736| `scratchpad_dir` | 세션의 [scratchpad 디렉터리](https://code.claude.com/docs/ko/claude-directory.md#session-scratchpad-directory) 경로이며, Claude가 임시 작업 파일을 보관하는 곳입니다. 세션에 scratchpad가 없거나 임시 디렉터리를 사용할 수 없을 때는 없습니다. Claude Code v2.1.257 이상 필요 |736| `scratchpad_dir` | 세션의 [scratchpad 디렉터리](https://code.claude.com/docs/ko/claude-directory.md#session-scratchpad-directory) 경로이며, Claude가 임시 작업 파일을 보관하는 곳입니다. 세션에 scratchpad가 없거나 임시 디렉터리를 사용할 수 없을 때는 없습니다. Claude Code v2.1.257 이상 필요 |

737| `permission_mode` | 현재 [권한 모드](https://code.claude.com/docs/ko/permissions.md#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` 또는 `"bypassPermissions"`. **수동**으로 표시된 모드는 `"default"`로 도착하며 `"manual"`로 도착하지 않으므로 `"default"`와 일치하는 스크립트는 계속 작동합니다. 모든 이벤트가 이 필드를 받는 것은 아닙니다. 각 [hook 이벤트](#hook-events) 섹션의 JSON 예제를 확인하세요 |737| `permission_mode` | 현재 [권한 모드](https://code.claude.com/docs/ko/permissions.md#permission-modes): `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` 또는 `"bypassPermissions"`. **수동**으로 표시된 모드는 `"default"`로 도착하며 `"manual"`로 도착하지 않으므로 `"default"`와 일치하는 스크립트는 계속 작동합니다. 모든 이벤트가 이 필드를 받는 것은 아닙니다. 각 [hook 이벤트](#hook-events) 섹션의 JSON 예제를 확인하세요 |

738| `effort` | hook이 실행될 때 적용 중인 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)을 담은 `level` 필드가 있는 객체: `"low"`, `"medium"`, `"high"`, `"xhigh"` 또는 `"max"`. 활성 모델이 지원하지 않는 수준을 설정하면 `level`은 Claude Code가 대신 실행한 수준을 보고합니다. [effort 수준 조정](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)에서 해당 수준을 선택하는 방법을 설명합니다. 이 객체는 [상태줄](https://code.claude.com/docs/ko/statusline.md#available-data) `effort` 필드와 일치합니다. `PreToolUse`, `PostToolUse`, `Stop`, `SubagentStop`과 같이 도구 사용 컨텍스트 내에서 발생하는 이벤트에 대해 현재 모델이 effort 매개변수를 지원할 때 존재합니다. 이 수준은 `$CLAUDE_EFFORT` 환경 변수로 hook 명령 및 Bash 도구에서도 사용할 수 있습니다. |738| `effort` | hook이 실행될 때의 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level) 설정을 `level`로 담은 객체이며, 스킬, 서브에이전트 또는 `ultrathink`의 수준도 포함됩니다: `"low"`, `"medium"`, `"high"`, `"xhigh"` 또는 `"max"`. effort를 지원하는 모델에서 `PreToolUse`, `PostToolUse`, `Stop`, `SubagentStop` 및 도구 사용 컨텍스트가 있는 기타 이벤트에 존재합니다. 모델이 설정한 수준을 지원하지 않으면 `level`은 실제로 실행된 수준입니다. 변경한 수준은 [적용되기](https://code.claude.com/docs/ko/model-config.md#when-a-new-effort-level-starts) 전에 여기에 표시될 수 있습니다. `$CLAUDE_EFFORT`에도 동일한 수준이 담깁니다. |

739| `hook_event_name` | 발생한 이벤트의 이름 |739| `hook_event_name` | 발생한 이벤트의 이름 |

740 740 

741`agent_id`와 `agent_type`은 서브에이전트, [in-process 팀원](https://code.claude.com/docs/ko/agent-teams.md#choose-a-display-mode), `--agent`로 선택한 에이전트 등 hook이 어느 에이전트에서 발생했는지를 스크립트에 알려줍니다:741`agent_id`와 `agent_type`은 서브에이전트, [in-process 팀원](https://code.claude.com/docs/ko/agent-teams.md#choose-a-display-mode), `--agent`로 선택한 에이전트 등 hook이 어느 에이전트에서 발생했는지를 스크립트에 알려줍니다:


1898| `query` | string | `"react hooks best practices"` | 검색 쿼리 |1898| `query` | string | `"react hooks best practices"` | 검색 쿼리 |

1899| `allowed_domains` | array | `["docs.example.com"]` | 선택 사항: 이 도메인의 결과만 포함 |1899| `allowed_domains` | array | `["docs.example.com"]` | 선택 사항: 이 도메인의 결과만 포함 |

1900| `blocked_domains` | array | `["spam.example.com"]` | 선택 사항: 이 도메인의 결과 제외 |1900| `blocked_domains` | array | `["spam.example.com"]` | 선택 사항: 이 도메인의 결과 제외 |

1901| `mode` | string | `"extended"` | 선택 사항: 검색 유형입니다. `"standard"`는 가벼운 검색을, `"extended"`는 전체 검색을 요청합니다. 일부 세션은 `mode`를 보내지 않으며, 이 값이 없는 호출은 전체 검색을 실행합니다. Claude Code v2.1.282 이상이 필요합니다 |

1901 1902 

1902##### Agent1903##### Agent

1903 1904 


1968 1969 

1969훅이 `"ask"`를 반환하면, 사용자에게 표시되는 권한 프롬프트에 훅의 출처를 식별하는 레이블이 포함됩니다. 설정 파일이나 에이전트 frontmatter의 훅은 `[settings]`, 플러그인의 훅은 `[plugin:<name>]`, 스킬 frontmatter의 훅은 `[skill]`입니다. 이를 통해 사용자는 어떤 구성 출처가 확인을 요청하는지 이해할 수 있습니다.1970훅이 `"ask"`를 반환하면, 사용자에게 표시되는 권한 프롬프트에 훅의 출처를 식별하는 레이블이 포함됩니다. 설정 파일이나 에이전트 frontmatter의 훅은 `[settings]`, 플러그인의 훅은 `[plugin:<name>]`, 스킬 frontmatter의 훅은 `[skill]`입니다. 이를 통해 사용자는 어떤 구성 출처가 확인을 요청하는지 이해할 수 있습니다.

1970 1971 

1971훅의 `"ask"`는 [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서도 권한 프롬프트를 강제합니다. 분류기는 여전히 도구 호출을 거부할 수 있지만, 호출을 조용히 승인할 수는 없습니다.

1972 

1973```json theme={null}1972```json theme={null}

1974{1973{

1975 "hookSpecificOutput": {1974 "hookSpecificOutput": {


1988>1987>

1989> PreToolUse는 이전에 최상위 `decision` 및 `reason` 필드를 사용했지만, 이 이벤트에서는 deprecated되었습니다. 대신 `hookSpecificOutput.permissionDecision`과 `hookSpecificOutput.permissionDecisionReason`을 사용하십시오. deprecated된 값 `"approve"`와 `"block"`은 각각 `"allow"`와 `"deny"`에 매핑됩니다. PostToolUse와 Stop 같은 다른 이벤트는 현재 형식으로 최상위 `decision`과 `reason`을 계속 사용합니다.1988> PreToolUse는 이전에 최상위 `decision` 및 `reason` 필드를 사용했지만, 이 이벤트에서는 deprecated되었습니다. 대신 `hookSpecificOutput.permissionDecision`과 `hookSpecificOutput.permissionDecisionReason`을 사용하십시오. deprecated된 값 `"approve"`와 `"block"`은 각각 `"allow"`와 `"deny"`에 매핑됩니다. PostToolUse와 Stop 같은 다른 이벤트는 현재 형식으로 최상위 `decision`과 `reason`을 계속 사용합니다.

1990 1989 

1990#### 자동 모드에서의 PreToolUse `ask` 결정

1991 

1992[자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서 PreToolUse 훅의 `"ask"`는 일반적으로 도구 호출을 권한 프롬프트로 보내며, [분류기](https://code.claude.com/docs/ko/permission-modes.md#how-the-classifier-evaluates-actions)가 결정하지 않습니다. 일부 호출은 다른 경로를 따릅니다.

1993 

1994* **Claude Code 자체 검사에서도 플래그가 지정되는 호출**: 여기에는 [보호된 경로](https://code.claude.com/docs/ko/permission-modes.md#protected-paths)에 대한 쓰기와 [샌드박스 외부에서 실행](https://code.claude.com/docs/ko/sandboxing.md#the-unsandboxed-retry-escape-hatch)을 요청하는 명령이 포함됩니다. 분류기는 프롬프트가 표시되기 전에 이러한 호출을 거부할 수 있습니다. 분류기가 승인하면 호출은 일반적으로 여전히 프롬프트로 갑니다.

1995* **`SubagentHandback` 호출**: 이 도구는 서브에이전트의 보고서를 전달합니다. 이 도구에는 프롬프트가 표시되지 않으며, 분류기가 반대하더라도 호출이 실행됩니다.

1996 

1997`SubagentHandback` 호출을 중지하려면 `"deny"`를 반환하십시오. 그러면 Claude Code는 최대 세 번까지 서브에이전트에게 보고서가 전달되지 않았으니 도구를 다시 호출하라고 알립니다. 훅이 계속 거부하면 서브에이전트는 이 도구를 통해 보고서를 전달하지 못한 채 종료되며, 이를 기다리는 대화에는 그 사실을 알리는 메모가 전달됩니다.

1998 

1991#### 사용자 상호작용이 필요한 도구1999#### 사용자 상호작용이 필요한 도구

1992 2000 

1993`AskUserQuestion`과 `ExitPlanMode`는 사용자 상호작용이 필요합니다. `-p` 플래그를 사용하는 [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 Claude Code는 Agent SDK `canUseTool` 콜백처럼 프롬프트를 받을 [권한 호스트](https://code.claude.com/docs/ko/headless.md#turn-off-permission-prompts-in-unattended-runs)가 실행에 있을 때만 이 도구들을 제공합니다.2001`AskUserQuestion`과 `ExitPlanMode`는 사용자 상호작용이 필요합니다. `-p` 플래그를 사용하는 [비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 Claude Code는 Agent SDK `canUseTool` 콜백처럼 프롬프트를 받을 [권한 호스트](https://code.claude.com/docs/ko/headless.md#turn-off-permission-prompts-in-unattended-runs)가 실행에 있을 때만 이 도구들을 제공합니다.

Details

395 395 

396Claude Code는 일부 명령을 큐에 추가하지 않고 전송 시 즉시 실행합니다. 그 중에는 `/model`, `/effort`, `/fast`가 있습니다. 이 세 명령은 각각 설정을 변경합니다. 모델, effort 수준, 또는 빠른 모드입니다. Claude Code가 새 설정을 Claude가 이미 작업 중인 턴에 적용할지, 아니면 다음 턴부터만 적용할지는 명령에 따라 다릅니다.396Claude Code는 일부 명령을 큐에 추가하지 않고 전송 시 즉시 실행합니다. 그 중에는 `/model`, `/effort`, `/fast`가 있습니다. 이 세 명령은 각각 설정을 변경합니다. 모델, effort 수준, 또는 빠른 모드입니다. Claude Code가 새 설정을 Claude가 이미 작업 중인 턴에 적용할지, 아니면 다음 턴부터만 적용할지는 명령에 따라 다릅니다.

397 397 

398* [`/model`](https://code.claude.com/docs/ko/model-config#setting-your-model): [캐시 경고](https://code.claude.com/docs/ko/prompt-caching.md#switching-models)를 확인하면(Claude Code가 표시하는 경우), Claude Code는 해당 턴에서 다음 요청을 할 때 변경 사항을 적용합니다.398* [`/model`](https://code.claude.com/docs/ko/model-config#setting-your-model): [캐시 경고](https://code.claude.com/docs/ko/prompt-caching.md#switching-models)를 확인하면(Claude Code가 표시하는 경우), Claude Code는 해당 턴에서 다음 요청부터 새 모델을 사용합니다.

399* `/effort`: 다음에 전송하는 메시지가 새 수준으로 실행됩니다. [Claude가 이미 작업 중인 턴에서 새 수준을 시작하려면](https://code.claude.com/docs/ko/model-config.md#when-a-new-effort-level-starts) Claude가 도구 호출을 실행하는 동안 메시지를 큐에 추가하세요.399* `/effort`: 다음에 전송하는 메시지가 새 수준으로 실행됩니다. [Claude가 이미 작업 중인 턴에서 새 수준을 시작하려면](https://code.claude.com/docs/ko/model-config.md#when-a-new-effort-level-starts) Claude가 도구 호출을 실행하는 동안 메시지를 큐에 추가하세요.

400* [`/fast`](https://code.claude.com/docs/ko/fast-mode#toggle-fast-mode): Claude Code는 턴이 시작될 때 활성화되어 있던 빠른 모드 설정을 유지하므로, 속도 변경은 다음 턴부터 적용됩니다. 현재 모델이 빠른 모드를 지원하지 않으면, 빠른 모드를 켜면 [모델도 전환](https://code.claude.com/docs/ko/prompt-caching.md#turning-on-fast-mode)되며, Claude Code는 해당 턴에서 다음 요청부터 새 모델을 사용합니다.400* [`/fast`](https://code.claude.com/docs/ko/fast-mode#toggle-fast-mode): Claude Code는 턴이 시작될 때 활성화되어 있던 빠른 모드 설정을 유지하므로, 속도 변경은 다음 턴부터 적용됩니다. 현재 모델이 빠른 모드를 지원하지 않으면, 빠른 모드를 켜면 [모델도 전환](https://code.claude.com/docs/ko/prompt-caching.md#turning-on-fast-mode)되며, Claude Code는 해당 턴에서 다음 요청부터 새 모델을 사용합니다.

401 401 


761 761 

762* **프롬프트를 보냅니다**: Claude Code는 대기하는 대신 프롬프트를 보냅니다. 보낸 프롬프트도 한도에 도달하면 프롬프트는 대화에 남아 있고 Claude Code가 다시 대기를 시작합니다.762* **프롬프트를 보냅니다**: Claude Code는 대기하는 대신 프롬프트를 보냅니다. 보낸 프롬프트도 한도에 도달하면 프롬프트는 대화에 남아 있고 Claude Code가 다시 대기를 시작합니다.

763* **Claude Code를 종료합니다**: 세션을 재개할 때 대기가 다시 시작되지 않습니다.763* **Claude Code를 종료합니다**: 세션을 재개할 때 대기가 다시 시작되지 않습니다.

764* **대화가 다른 사람에게 넘어갑니다**: `/login`으로 계정을 전환하거나, 대화를 지우거나 되돌리거나, `/resume`로 다른 세션을 계속하거나, `/teleport`로 하나를 가져오거나, `/tui`로 다시 시작하거나, 세션을 Claude Desktop, 백그라운드 세션 또는 클라우드에 넘깁니다.764* **대화가 다른 사람에게 넘어갑니다**: `/login`으로 계정을 전환하거나, 대화를 지우거나 되돌리거나, `/resume`로 다른 세션을 계속하거나, `/teleport`로 하나를 가져오거나, `/tui` 또는 [`/restart`](https://code.claude.com/docs/ko/commands#all-commands)로 다시 시작하거나, 세션을 Claude Desktop, 백그라운드 세션 또는 클라우드로 넘깁니다.

765* **설정이 꺼지거나 재설정이 24시간을 지나갑니다**: 이는 Claude Code가 자동으로 시작한 대기만 끝냅니다. `/rate-limit-options`에서 선택한 대기는 계속 카운트다운됩니다.765* **설정이 꺼지거나 재설정이 24시간을 지나갑니다**: 이는 Claude Code가 자동으로 시작한 대기만 끝냅니다. `/rate-limit-options`에서 선택한 대기는 계속 카운트다운됩니다.

766* **계속이 차단됩니다**: 계속 프롬프트를 차단하는 [`UserPromptSubmit` 훅](https://code.claude.com/docs/ko/hooks#userpromptsubmit) 또는 모델에 도달하기 전의 실패가 대기를 끝냅니다. Claude Code는 계속이 실행되지 않았음을 알려줍니다. 계속하려면 프롬프트를 보내십시오.766* **계속이 차단됩니다**: 계속 프롬프트를 차단하는 [`UserPromptSubmit` 훅](https://code.claude.com/docs/ko/hooks#userpromptsubmit) 또는 모델에 도달하기 전의 실패가 대기를 끝냅니다. Claude Code는 계속이 실행되지 않았음을 알려줍니다. 계속하려면 프롬프트를 보내십시오.

767 767 

model-config.md +11 −9

Details

92 92 

93플랜 및 시트 계층에 따라 Fable 사용은 플랜에 포함된 한도를 사용하는 대신 [사용량 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)으로 청구될 수 있습니다. 그렇게 되면 `/model` 선택기는 Fable 행에 "사용량 크레딧 필요"를 표시합니다. 사용량 크레딧을 관리하려면 [구독에 사용량 크레딧 추가](https://code.claude.com/docs/ko/costs.md#add-usage-credits-to-your-subscription)를 참조하십시오.93플랜 및 시트 계층에 따라 Fable 사용은 플랜에 포함된 한도를 사용하는 대신 [사용량 크레딧](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)으로 청구될 수 있습니다. 그렇게 되면 `/model` 선택기는 Fable 행에 "사용량 크레딧 필요"를 표시합니다. 사용량 크레딧을 관리하려면 [구독에 사용량 크레딧 추가](https://code.claude.com/docs/ko/costs.md#add-usage-credits-to-your-subscription)를 참조하십시오.

94 94 

95대화형 세션에서 Claude Code는 Fable 요청이 사용량 크레딧을 청구하기 전에 동의 프롬프트를 표시합니다. 조직 청구가 있는 Enterprise 플랜의 구성원은 프롬프트를 보지 않습니다. 사용량 크레딧을 사용하여 Fable을 계속하거나 기본 모델로 전환할 수 있습니다. 프롬프트를 해제할 수도 있습니다:95대화형 세션에서 Claude Code는 Fable 사용량 크레딧 동의 프롬프트를 표시할 수 있습니다. 조직 청구가 있는 Enterprise 플랜의 구성원은 프롬프트를 보지 않습니다. 사용량 크레딧을 사용하여 Fable을 계속하거나 기본 모델로 전환할 수 있습니다. 프롬프트를 해제할 수도 있습니다:

96 96 

97* `/model`로 Fable 모델을 선택하면 현재 모델을 유지합니다.97* `/model`로 Fable 모델을 선택하면 현재 모델을 유지합니다.

98* 세션 중간에 Claude Code는 기본 모델에서 턴을 계속합니다.98* 세션 중간에 Claude Code는 기본 모델에서 턴을 계속합니다.


544* **사용자의 직접 변경**: effort 수준을 선택하거나, `/model`에서 모델을 고르거나, 나중에 세션을 재개하면 플래그된 요청의 수준은 더 이상 이어지지 않습니다.544* **사용자의 직접 변경**: effort 수준을 선택하거나, `/model`에서 모델을 고르거나, 나중에 세션을 재개하면 플래그된 요청의 수준은 더 이상 이어지지 않습니다.

545* **한 턴에 대해 설정된 effort**: 플래그된 턴을 `ultrathink`로 높였거나 스킬의 `effort` frontmatter가 수준을 설정한 경우, 해당 수준은 그 턴에 적용됩니다. 이후 턴은 [effort 확인 순서](#adjust-effort-level)가 폴백 모델에 부여하는 수준으로 실행됩니다.545* **한 턴에 대해 설정된 effort**: 플래그된 턴을 `ultrathink`로 높였거나 스킬의 `effort` frontmatter가 수준을 설정한 경우, 해당 수준은 그 턴에 적용됩니다. 이후 턴은 [effort 확인 순서](#adjust-effort-level)가 폴백 모델에 부여하는 수준으로 실행됩니다.

546 546 

547세션에서 `/effort status`를 실행하여 적용 중인 수준을 확인하거나, `/effort`를 실행하여 변경하세요.547폴백 후 세션에 설정된 수준을 확인하려면 `/effort status`를 실행하세요. 변경하려면 `/effort`를 실행하세요.

548 548 

549#### 폴백을 트리거한 것 확인549#### 폴백을 트리거한 것 확인

550 550 


607 607 

608Claude Code는 세션의 effort 수준을 이 순서로 확인하며, 적용되는 첫 번째를 사용합니다:608Claude Code는 세션의 effort 수준을 이 순서로 확인하며, 적용되는 첫 번째를 사용합니다:

609 609 

6101. 명시적 선택: [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ko/env-vars#variables) 환경 변수, `--effort`로 시작하거나, 세션에서 `/effort` ([비대화형 `/effort`는 더 좁은 효과를 가짐](#non-interactive-effort))6101. [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ko/env-vars#variables) 환경 변수

6112. 설정: 모델에 대해 저장한 수준 또는 [`effortLevel`](https://code.claude.com/docs/ko/settings-reference#effortlevel) 키이며, 둘 사이 및 설정 파일 간의 우선순위는 [`modelSettings`](https://code.claude.com/docs/ko/settings-reference#modelsettings)에 명시되어 있습니다6112. 세션에서 선택한 수준(예: `/effort`, `/model` 선택기 또는 [`applyFlagSettings()`](https://code.claude.com/docs/ko/agent-sdk/typescript#applyflagsettings) 사용)

6123. 모델의 기본 effort: effort를 지원하는 모든 모델에서 `high`, 단 Opus 5.5, Sonnet 5.5 및 Haiku 5.5는 `medium`으로 기본값, Opus 4.7은 `xhigh`로 기본값이며, 조직이 [조직 기본 모델](#organization-default-model)에 대한 기본 effort 수준을 설정할 때, 해당 모델을 실행할 때 그 수준이 기본값입니다6123. `--effort`로 시작

6134. 설정: 모델에 대해 저장한 수준 또는 [`effortLevel`](https://code.claude.com/docs/ko/settings-reference#effortlevel) 키이며, 둘 사이 및 설정 파일 간의 우선순위는 [`modelSettings`](https://code.claude.com/docs/ko/settings-reference#modelsettings)에 명시되어 있습니다

6145. 모델의 기본 effort: effort를 지원하는 모든 모델에서 `high`이며, 단 Opus 5.5, Sonnet 5.5 및 Haiku 5.5는 `medium`, Opus 4.7은 `xhigh`가 기본값입니다. 조직이 [조직 기본 모델](#organization-default-model)에 대한 기본 effort 수준을 설정하면, 해당 모델을 실행할 때 그 수준이 기본값입니다.

613 615 

614자동 모델 폴백 후 적용되는 수준은 [폴백 후 effort 수준](#effort-level-after-a-fallback)을 참조하세요.616자동 모델 폴백 후 적용되는 수준은 [폴백 후 effort 수준](#effort-level-after-a-fallback)을 참조하세요.

615 617 


687다음 중 하나를 통해 effort를 변경할 수 있습니다:689다음 중 하나를 통해 effort를 변경할 수 있습니다:

688 690 

689* **`/effort`**: 대화형 슬라이더를 열려면 인수 없이 `/effort`를 실행하고, 직접 설정하려면 `/effort` 뒤에 수준 이름을 붙여 실행하거나, 활성 모델에 대해 저장된 수준을 지우려면 `/effort auto`를 실행합니다691* **`/effort`**: 대화형 슬라이더를 열려면 인수 없이 `/effort`를 실행하고, 직접 설정하려면 `/effort` 뒤에 수준 이름을 붙여 실행하거나, 활성 모델에 대해 저장된 수준을 지우려면 `/effort auto`를 실행합니다

690* **`/model`에서**: 모델을 선택할 때 왼쪽/오른쪽 화살표 키를 사용하여 effort 슬라이더를 조정합니다692* **`/model`에서**: 모델을 선택할 때 왼쪽/오른쪽 화살표 키를 사용하여 effort 슬라이더를 조정합니다. 새 수준은 늦어도 다음 메시지부터 시작됩니다. 그때까지 Claude는 새 모델에서도 이전 수준으로 계속 작업할 수 있습니다. `CLAUDE_CODE_EFFORT_LEVEL`처럼 [사용자의 선택보다 우선하는 소스](#adjust-effort-level)가 적용되는 동안에는 Claude가 대신 해당 소스의 수준으로 작업합니다.

691* **`--effort` 플래그**: Claude Code를 시작할 때 단일 세션에 대해 설정하려면 수준 이름을 전달합니다693* **`--effort` 플래그**: Claude Code를 시작할 때 단일 세션에 대해 설정하려면 수준 이름을 전달합니다

692* **환경 변수**: `CLAUDE_CODE_EFFORT_LEVEL`을 수준 이름으로 설정합니다. Claude Code가 [effort 수준을 보내지 않도록](#send-no-effort-level) 하려면 대신 `auto` 또는 `unset`으로 설정합니다694* **환경 변수**: `CLAUDE_CODE_EFFORT_LEVEL`을 수준 이름으로 설정합니다. Claude Code가 [effort 수준을 보내지 않도록](#send-no-effort-level) 하려면 대신 `auto` 또는 `unset`으로 설정합니다

693* **설정**: [`modelSettings`](https://code.claude.com/docs/ko/settings-reference#modelsettings)에서 모델별 수준을 설정하거나, [`effortLevel`](https://code.claude.com/docs/ko/settings-reference#effortlevel)을 `low`, `medium`, `high` 또는 `xhigh`로 설정하여 수준이 없는 모델의 기본값으로 설정합니다. `max`는 두 키에서 수준으로 허용되지 않으며, `ultracode`는 자체 [`ultracode`](https://code.claude.com/docs/ko/settings-reference#ultracode) 키를 가집니다695* **설정**: [`modelSettings`](https://code.claude.com/docs/ko/settings-reference#modelsettings)에서 모델별 수준을 설정하거나, [`effortLevel`](https://code.claude.com/docs/ko/settings-reference#effortlevel)을 `low`, `medium`, `high` 또는 `xhigh`로 설정하여 수준이 없는 모델의 기본값으로 설정합니다. `max`는 두 키에서 수준으로 허용되지 않으며, `ultracode`는 자체 [`ultracode`](https://code.claude.com/docs/ko/settings-reference#ultracode) 키를 가집니다

694* **연결된 장치에서**: [Remote Control](https://code.claude.com/docs/ko/remote-control.md#what-connected-devices-see) 세션에서, 휴대폰 또는 브라우저의 effort 제어에서 수준을 선택합니다. 수준은 현재 세션에만 적용됩니다. Claude Code v2.1.234 이상이 필요합니다696* **연결된 장치에서**: [Remote Control](https://code.claude.com/docs/ko/remote-control.md#what-connected-devices-see) 세션에서, 휴대폰 또는 브라우저의 effort 제어에서 수준을 선택합니다. 수준은 현재 세션에만 적용됩니다. Claude Code v2.1.234 이상이 필요합니다

695* **스킬 및 서브에이전트 frontmatter**: [스킬](https://code.claude.com/docs/ko/skills.md#frontmatter-reference) 또는 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#supported-frontmatter-fields) markdown 파일에서 `effort`를 설정하여 해당 스킬 또는 서브에이전트가 실행될 때 effort 수준을 재정의합니다697* **스킬 및 서브에이전트 frontmatter**: [스킬](https://code.claude.com/docs/ko/skills.md#frontmatter-reference) 또는 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#supported-frontmatter-fields) markdown 파일에서 `effort`를 설정하여 해당 스킬 또는 서브에이전트가 실행될 때 effort 수준을 재정의합니다

696 698 

697Frontmatter effort는 해당 스킬 또는 서브에이전트가 활성화될 때 적용되며, 세션 수준을 재정의하지만 환경 변수는 재정의하지 않습니다. [`maxEffortLevel`](https://code.claude.com/docs/ko/settings-reference#maxeffortlevel) 또는 [조직 effort 제한](#organization-effort-limits)은 여전히 스킬 또는 서브에이전트가 실행되는 수준을 제한합니다.699스킬의 `effort`는 해당 스킬이 실행된 턴이 끝날 때까지 적용되며, `context: fork`를 사용하면 포크된 서브에이전트가 실행되는 동안 적용됩니다. 서브에이전트의 `effort`는 [호출 시 재정의](https://code.claude.com/docs/ko/sub-agents.md#choose-an-effort-level)되지 않는 한 서브에이전트가 실행되는 동안 적용됩니다. 둘 중 하나가 적용되는 동안에는 시작 시 지정하거나 저장하거나 선택한 수준과 관계없이 스킬 또는 서브에이전트가 자체 수준으로 실행됩니다. `CLAUDE_CODE_EFFORT_LEVEL`이 설정되어 있으면 대신 그 수준이 적용됩니다.

698 700 

699[관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 `effortLevel`을 설정하면, Claude Code는 [effort 확인 순서](#adjust-effort-level)의 설정 단계에서 적용하고, 사용자는 여전히 `/effort` 또는 `--effort`로 수준을 변경할 수 있습니다. 사용자를 특정 수준 이하로 유지하려면, [`maxEffortLevel`](https://code.claude.com/docs/ko/settings-reference#maxeffortlevel)을 설정하세요.701[`maxEffortLevel`](https://code.claude.com/docs/ko/settings-reference#maxeffortlevel) 또는 [조직 effort 제한](#organization-effort-limits)은 여전히 스킬 또는 서브에이전트가 실행되는 수준을 제한합니다. [관리형 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 `effortLevel`을 설정하면, Claude Code는 [effort 확인 순서](#adjust-effort-level)의 설정 단계에서 적용하고, 사용자는 여전히 `/effort` 또는 `--effort`로 수준을 변경할 수 있습니다. 사용자를 특정 수준 이하로 유지하려면, [`maxEffortLevel`](https://code.claude.com/docs/ko/settings-reference#maxeffortlevel)을 설정하세요.

700 702 

701#### 설정한 effort 수준 확인703#### 설정한 effort 수준 확인

702 704 

703effort 슬라이더는 지원되는 모델이 선택되었을 때 `/model`에 나타납니다. 세션 헤더에 표시되는 수준(예: "with low effort")은 effort 설정에서 온 것이며, Claude가 [아직 이전 수준으로 작업 중](#when-a-new-effort-level-starts)이더라도 마찬가지입니다. 바닥글도 시작 시 및 변경 시 effort 수준을 잠시 표시합니다.705effort 슬라이더는 지원되는 모델이 선택되었을 때 `/model`에 나타납니다. 세션 헤더에 표시되는 수준(예: "with low effort")은 effort 설정에서 온 것이며, Claude가 [아직 이전 수준으로 작업 중](#when-a-new-effort-level-starts)이더라도 마찬가지입니다. 시작 시와 수준을 변경할 때 바닥글에도 세션에 설정된 수준이 잠시 표시됩니다.

704 706 

705#### 새 effort 수준이 시작되는 시점707#### 새 effort 수준이 시작되는 시점

706 708 

Details

556클라우드 세션에 대한 텔레메트리를 구성할 때 다음 제약 사항을 염두에 두십시오:556클라우드 세션에 대한 텔레메트리를 구성할 때 다음 제약 사항을 염두에 두십시오:

557 557 

558* **세션이 수집기에 도달하도록 허용**: Claude Code는 세션의 네트워크를 통해 내보내기를 전송하므로, `OTEL_EXPORTER_OTLP_ENDPOINT`의 호스트에 도달하는지 여부는 환경의 [네트워크 액세스 수준](https://code.claude.com/docs/ko/cloud-environments.md#access-levels)에 따라 달라집니다. 세션이 선택한 수준에서 수집기의 도메인에 도달할 수 없으면, [환경의 허용 목록에 도메인을 추가합니다](https://code.claude.com/docs/ko/cloud-environments.md#allow-specific-domains). 서버 관리 설정은 환경의 네트워크 허용 목록에 도메인을 추가하지 않기 때문입니다.558* **세션이 수집기에 도달하도록 허용**: Claude Code는 세션의 네트워크를 통해 내보내기를 전송하므로, `OTEL_EXPORTER_OTLP_ENDPOINT`의 호스트에 도달하는지 여부는 환경의 [네트워크 액세스 수준](https://code.claude.com/docs/ko/cloud-environments.md#access-levels)에 따라 달라집니다. 세션이 선택한 수준에서 수집기의 도메인에 도달할 수 없으면, [환경의 허용 목록에 도메인을 추가합니다](https://code.claude.com/docs/ko/cloud-environments.md#allow-specific-domains). 서버 관리 설정은 환경의 네트워크 허용 목록에 도메인을 추가하지 않기 때문입니다.

559* **Claude Tag 채널은 조직 수준 환경을 사용합니다**: 채널 세션은 멤버의 개인 환경이 아닌 조직 수준 환경에서 실행되므로, [공유 환경](https://code.claude.com/docs/ko/cloud-environments.md#organization-shared-environments)의 허용 목록 및 환경 변수 변경을 조직의 기본값으로 설정하거나 채널에 고정된 환경에서 수행합니다.559* **Claude Tag 채널**: 허용 목록 및 환경 변수 변경은 조직의 기본값으로 설정되었거나 채널에 고정된 [공유 환경](https://code.claude.com/docs/ko/cloud-environments.md#organization-shared-environments)에서 수행합니다.

560* **Cowork는 별도로 구성됩니다**: [표면 범위 테이블](https://code.claude.com/docs/ko/model-config.md#surface-coverage)에서 보여주듯이 Cowork 세션은 서버 관리 설정을 받지 않으므로, 서버 관리 `env` 블록은 해당 텔레메트리를 구성하지 않습니다.560* **Cowork는 별도로 구성됩니다**: [표면 범위 테이블](https://code.claude.com/docs/ko/model-config.md#surface-coverage)에서 보여주듯이 Cowork 세션은 서버 관리 설정을 받지 않으므로, 서버 관리 `env` 블록은 해당 텔레메트리를 구성하지 않습니다.

561 561 

562### 클라우드 세션에 텔레메트리 속성 지정562### 클라우드 세션에 텔레메트리 속성 지정


1467* `result`: 정리 작업이 실행된 경우 `"complete"`, Claude Code가 일시 중지한 경우 `"skipped"`1467* `result`: 정리 작업이 실행된 경우 `"complete"`, Claude Code가 일시 중지한 경우 `"skipped"`

1468* `period_days`: 병합된 설정의 `cleanupPeriodDays` 값(일 단위), 또는 이를 설정하는 소스가 없으면 `30`. 건너뛴 이벤트에서는 Claude Code가 읽을 수 있었던 설정 소스로 계산한, 정리 작업이 사용했을 값입니다1468* `period_days`: 병합된 설정의 `cleanupPeriodDays` 값(일 단위), 또는 이를 설정하는 소스가 없으면 `30`. 건너뛴 이벤트에서는 Claude Code가 읽을 수 있었던 설정 소스로 계산한, 정리 작업이 사용했을 값입니다

1469* `used_default`: 읽을 수 있는 설정 소스 중 `cleanupPeriodDays`를 설정한 소스가 없으면 `"true"`, 그렇지 않으면 `"false"`. 완료 이벤트에서 `"true"`는 30일 기본값이 적용되었음을 의미합니다1469* `used_default`: 읽을 수 있는 설정 소스 중 `cleanupPeriodDays`를 설정한 소스가 없으면 `"true"`, 그렇지 않으면 `"false"`. 완료 이벤트에서 `"true"`는 30일 기본값이 적용되었음을 의미합니다

1470* `skip_reason`: Claude Code가 정리 작업을 일시 중지한 이유. `result`가 `"skipped"`인 경우에만 존재합니다:1470* `skip_reason`: Claude Code가 스윕을 일시 중지한 이유. `result`가 `"skipped"`인 경우에만 존재합니다:

1471 * `"user_source_disabled"`: 예를 들어 [`--setting-sources`](https://code.claude.com/docs/ko/cli-reference#cli-flags) 플래그나 SDK의 [`settingSources`](https://code.claude.com/docs/ko/agent-sdk/typescript#options) 옵션으로 사용자 설정이 제외되었고, 활성화된 소스 중 `cleanupPeriodDays`를 제공하는 소스가 없습니다1471 * `"user_source_disabled"`: [`--setting-sources`](https://code.claude.com/docs/ko/cli-reference#cli-flags) 플래그나 SDK의 [`settingSources`](https://code.claude.com/docs/ko/agent-sdk/typescript#options) 옵션 등으로 사용자 설정이 제외되었고, 활성화된 소스 중 `cleanupPeriodDays`를 제공하는 것이 없습니다

1472 * `"settings_unknowable"`: 설정 파일을 읽거나 파싱할 수 없어, `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 Claude Code가 볼 수 없는 값으로 설정되어 있을 수 있습니다1472 * `"settings_unknowable"`: 설정 파일을 읽거나 파싱할 수 없어 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 Claude Code가 볼 수 없는 값으로 설정되어 있을 수 있습니다

1473 * `"settings_invalid_key_set"`: 설정에 유효성 검사 오류가 있고 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 명시적으로 설정되어 있어, 기본값으로 폴백하면 해당 설정과 달리 파일을 삭제하거나 유지할 수 있습니다1473 * `"settings_invalid_key_set"`: 설정에 유효성 검사 오류가 있고 `cleanupPeriodDays` 또는 `desktopSessionCleanupPeriodDays`가 명시적으로 설정되어 있어, 기본값으로 폴백하면 해당 설정에 어긋나게 파일을 삭제하거나 유지할 수 있습니다

1474 * `"remote_settings_unknowable"`: 서드파티 배포의 Claude Desktop Code 탭 세션이 [서버 관리형 설정](https://code.claude.com/docs/ko/server-managed-settings.md)을 요청했으나 사용 가능한 응답을 받지 못해, `cleanupPeriodDays`가 Claude Code가 볼 수 없는 값으로 설정되어 있을 수 있습니다

1474* `transcripts_deleted`: 정리 작업이 삭제한 세션 트랜스크립트, 즉 최상위 `~/.claude/projects/*/*.jsonl` 파일의 수1475* `transcripts_deleted`: 정리 작업이 삭제한 세션 트랜스크립트, 즉 최상위 `~/.claude/projects/*/*.jsonl` 파일의 수

1475* `transcripts_exempted_desktop`: 보존 기간이 지났지만 [Claude Desktop 및 Cowork 규칙](https://code.claude.com/docs/ko/claude-directory.md#cleaned-up-automatically)에 따라 정리 작업이 유지한 트랜스크립트의 수. 이 항목은 `files_past_cutoff`에 포함되지 않습니다. Claude Code v2.1.248 이상이 필요합니다1476* `transcripts_exempted_desktop`: 보존 기간이 지났지만 [Claude Desktop 및 Cowork 규칙](https://code.claude.com/docs/ko/claude-directory.md#cleaned-up-automatically)에 따라 정리 작업이 유지한 트랜스크립트의 수. 이 항목은 `files_past_cutoff`에 포함되지 않습니다. Claude Code v2.1.248 이상이 필요합니다

1476* `session_files_deleted`: 세션 파일 정리 작업이 삭제한 아티팩트의 수: 트랜스크립트와 사이드카, 녹화, 도구 결과 같은 세션별 부속 파일1477* `session_files_deleted`: 세션 파일 정리 작업이 삭제한 아티팩트의 수: 트랜스크립트와 사이드카, 녹화, 도구 결과 같은 세션별 부속 파일

Details

338| CronCreate 같은 도구로 예약했으며 사용자의 다음 입력 전에 실행 시점이 되는 반복 작업 | 그 시점에는 턴을 시작하지 않습니다. 작업은 해당 실행을 건너뛰고 일정은 유지됩니다. | 조치가 필요하지 않습니다 |338| CronCreate 같은 도구로 예약했으며 사용자의 다음 입력 전에 실행 시점이 되는 반복 작업 | 그 시점에는 턴을 시작하지 않습니다. 작업은 해당 실행을 건너뛰고 일정은 유지됩니다. | 조치가 필요하지 않습니다 |

339| mod가 시작한 모니터의 이벤트 | 모니터는 계속 실행됩니다. 사용자의 다음 입력 전에 모니터가 발생시킨 이벤트는 삭제되지만, 모니터가 종료되었다는 알림은 예외로 해당 입력 이후에 전달됩니다. | 취할 수 있는 조치가 없습니다 |339| mod가 시작한 모니터의 이벤트 | 모니터는 계속 실행됩니다. 사용자의 다음 입력 전에 모니터가 발생시킨 이벤트는 삭제되지만, 모니터가 종료되었다는 알림은 예외로 해당 입력 이후에 전달됩니다. | 취할 수 있는 조치가 없습니다 |

340| mod가 생성한 후 `$.session.send`로 재개했으며 사용자의 다음 입력 전에 완료되는 서브에이전트 | 완료 알림이 대기하다가 해당 입력 이후에 대화에 전달됩니다 | 조치가 필요하지 않습니다 |340| mod가 생성한 후 `$.session.send`로 재개했으며 사용자의 다음 입력 전에 완료되는 서브에이전트 | 완료 알림이 대기하다가 해당 입력 이후에 대화에 전달됩니다 | 조치가 필요하지 않습니다 |

341| `$.tool.call`로 실행한 포그라운드 Bash 또는 PowerShell 명령으로, 사용자가 턴을 중지했을 때 이미 실행 중이었으며 사용자의 다음 입력 전에 타임아웃에 도달하는 명령 | [백그라운드로 이동](https://code.claude.com/docs/ko/tools-reference.md#foreground-commands-that-move-to-the-background)하는 대신 타임아웃 시점에 중지됩니다. 호출은 `isError`가 설정된 채로 resolve되며, 출력에 `Ended instead of moving to the background: plugins' input is held, by a Stop or by the host's limits.` 줄이 포함됩니다. | [거부되거나 삭제된 호출 재시도하기](#retry-a-refused-or-dropped-call)에 나온 대로 사용자의 다음 입력 이후에 다시 실행합니다 |

341 342 

342예약된 작업의 실행 시점이 되거나 모니터가 사용자의 다음 입력 전에 이벤트를 발생시키면 사용자에게 [`Stopped:` 토스트](https://code.claude.com/docs/ko/plugins/mods/troubleshoot#stopped-type-a-message-to-continue)가 표시될 수 있습니다.343예약된 작업의 실행 시점이 되거나 모니터가 사용자의 다음 입력 전에 이벤트를 발생시키면 사용자에게 [`Stopped:` 토스트](https://code.claude.com/docs/ko/plugins/mods/troubleshoot#stopped-type-a-message-to-continue)가 표시될 수 있습니다.

343 344 

Details

94 94 

95대부분의 모델에서 세션 중간에 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)을 변경하면 다음 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다. 캐시가 여전히 따뜻한 동안 Claude Code는 먼저 변경을 확인하도록 요청합니다.95대부분의 모델에서 세션 중간에 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)을 변경하면 다음 요청이 캐시 히트 없이 전체 대화 기록을 읽습니다. 캐시가 여전히 따뜻한 동안 Claude Code는 먼저 변경을 확인하도록 요청합니다.

96 96 

97API 키 또는 Claude 구독이 있는 Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.1에서는 effort를 변경해도 캐시가 유지되며 Claude Code는 묻지 않고 새 수준을 적용합니다. 이는 Amazon Bedrock, Google Cloud의 Agent Platform, [Claude 앱 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway)에는 적용되지 않으며, [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/ko/llm-gateway-protocol#disable-pre-release-capabilities)를 설정했거나 조직에 HIPAA 구성이 있을 때도 적용되지 않습니다.97API 키 또는 Claude 구독을 사용하는 Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.1에서는 effort를 변경해도 캐시가 유지됩니다. Claude Code는 묻지 않고 [새 수준을 적용](https://code.claude.com/docs/ko/model-config.md#when-a-new-effort-level-starts)합니다. Amazon Bedrock, Google Cloud의 Agent Platform 또는 [Claude 앱 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway)에서 사용하거나, [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](https://code.claude.com/docs/ko/llm-gateway-protocol#disable-pre-release-capabilities)를 설정했거나 조직에 HIPAA 구성이 있는 경우에는 대부분의 모델과 같이 동작합니다.

98 98 

99v2.1.260 이전에는 API 키 또는 Claude 구독이 있는 Fable 5.1에서 effort를 변경해도 캐시가 무효화되었습니다.99v2.1.260 이전에는 API 키 또는 Claude 구독이 있는 Fable 5.1에서 effort를 변경해도 캐시가 무효화되었습니다.

100 100 

sandboxing.md +2 −0

Details

565 565 

566macOS에서 거부된 경로가 심볼릭 링크를 통과하는 경우(예: dotfiles 저장소로 연결된 링크인 `~/.claude`), 샌드박스는 해당 경로의 실제 위치도 거부합니다. 이는 샌드박스 자체의 거부와 사용자가 문자 그대로 지정한 `denyWrite` 및 `denyRead` 항목 모두에 적용됩니다.566macOS에서 거부된 경로가 심볼릭 링크를 통과하는 경우(예: dotfiles 저장소로 연결된 링크인 `~/.claude`), 샌드박스는 해당 경로의 실제 위치도 거부합니다. 이는 샌드박스 자체의 거부와 사용자가 문자 그대로 지정한 `denyWrite` 및 `denyRead` 항목 모두에 적용됩니다.

567 567 

568`*`, `?` 또는 `[`를 포함하는 `denyWrite` 항목도 이러한 문자 중 첫 번째 문자 앞에 있는 폴더가 심볼릭 링크인 경우 적용 대상에 포함됩니다. 예를 들어 `~/.claude/*.json`은 `~/.claude`의 실제 위치 아래에서도 거부됩니다.

569 

568### 네트워크 격리570### 네트워크 격리

569 571 

570샌드박스된 명령에는 네트워크로 향하는 직접 경로가 없습니다.572샌드박스된 명령에는 네트워크로 향하는 직접 경로가 없습니다.

Details

40* **Zero Data Retention 및 HIPAA**: [Zero Data Retention](https://code.claude.com/docs/ko/zero-data-retention.md)이 활성화되어 있거나 [HIPAA 구성](https://code.claude.com/docs/ko/hipaa-setup.md)이 적용된 조직에서는 사용할 수 없습니다.40* **Zero Data Retention 및 HIPAA**: [Zero Data Retention](https://code.claude.com/docs/ko/zero-data-retention.md)이 활성화되어 있거나 [HIPAA 구성](https://code.claude.com/docs/ko/hipaa-setup.md)이 적용된 조직에서는 사용할 수 없습니다.

41* **모델 추론**: 러너가 [Amazon Bedrock 또는 Google Cloud의 Agent Platform으로 모델 요청을 보내도록](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform) 구성하지 않는 한 세션은 Anthropic API를 사용합니다. 두 경우 모두 세션 콘텐츠는 Anthropic으로 전송됩니다. 이렇게 구성된 러너에서는 claude.ai의 [서버 관리 설정](https://code.claude.com/docs/ko/server-managed-settings.md) 및 조직 정책이 세션에 적용되지 않습니다.41* **모델 추론**: 러너가 [Amazon Bedrock 또는 Google Cloud의 Agent Platform으로 모델 요청을 보내도록](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#send-model-requests-to-bedrock-or-agent-platform) 구성하지 않는 한 세션은 Anthropic API를 사용합니다. 두 경우 모두 세션 콘텐츠는 Anthropic으로 전송됩니다. 이렇게 구성된 러너에서는 claude.ai의 [서버 관리 설정](https://code.claude.com/docs/ko/server-managed-settings.md) 및 조직 정책이 세션에 적용되지 않습니다.

42* **사용 환경**: [claude.ai/code](https://claude.ai/code), 모바일 및 데스크톱 앱, [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md), 터미널에서 [`claude --cloud`](https://code.claude.com/docs/ko/claude-code-on-the-web#from-terminal-to-cloud) 또는 [`--environment` 디스패치](https://code.claude.com/docs/ko/self-hosted-environments-testing#run-the-test-loop)로 시작된 세션은 자체 호스팅 환경에서 실행될 수 있습니다. [Claude Tag](https://claude.com/docs/claude-tag/overview) 세션도 실행될 수 있지만, Claude는 아직 해당 세션에서 [Access 번들](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle)을 사용할 수 없습니다. [Claude Security](https://code.claude.com/docs/ko/claude-security.md) 및 [Code Review](https://code.claude.com/docs/ko/code-review.md) 세션은 아직 라우팅되지 않습니다. 이 두 사용 환경에 대한 지원은 별도로 제공될 예정입니다.42* **사용 환경**: [claude.ai/code](https://claude.ai/code), 모바일 및 데스크톱 앱, [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md), 터미널에서 [`claude --cloud`](https://code.claude.com/docs/ko/claude-code-on-the-web#from-terminal-to-cloud) 또는 [`--environment` 디스패치](https://code.claude.com/docs/ko/self-hosted-environments-testing#run-the-test-loop)로 시작된 세션은 자체 호스팅 환경에서 실행될 수 있습니다. [Claude Tag](https://claude.com/docs/claude-tag/overview) 세션도 실행될 수 있지만, Claude는 아직 해당 세션에서 [Access 번들](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle)을 사용할 수 없습니다. [Claude Security](https://code.claude.com/docs/ko/claude-security.md) 및 [Code Review](https://code.claude.com/docs/ko/code-review.md) 세션은 아직 라우팅되지 않습니다. 이 두 사용 환경에 대한 지원은 별도로 제공될 예정입니다.

43* **저장소**: 세션은 GitHub에서 저장소를 체크아웃합니다. [GitHub 인증 옵션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#github-authentication-options)을 참조하세요. GitHub Enterprise Server 호스트의 경우 해당 [네트워크 요구 사항](https://code.claude.com/docs/ko/github-enterprise-server.md#network-requirements)을 참조하세요.43* **저장소**: 세션은 GitHub 또는 GitHub Enterprise Server에서 저장소를 체크아웃합니다. `--environment` 디스패치로 시작된 세션은 다른 git 호스트도 사용할 수 있습니다:

44 * **GitHub**: [GitHub 인증 옵션](https://code.claude.com/docs/ko/claude-code-on-the-web.md#github-authentication-options)을 참조하세요.

45 * **GitHub Enterprise Server**: 해당 [네트워크 요구 사항](https://code.claude.com/docs/ko/github-enterprise-server.md#network-requirements)을 참조하세요.

46 * **다른 git 호스트**: [`--environment`로 세션을 시작하기 위한 요구 사항](https://code.claude.com/docs/ko/self-hosted-environments-deploy#start-a-session-on-a-repository-outside-github)을 참조하세요.

44* **청구**: 자체 호스팅 환경의 세션은 Anthropic 호스팅 환경의 세션과 동일한 방식으로 조직의 Claude Code 사용량을 소비합니다.47* **청구**: 자체 호스팅 환경의 세션은 Anthropic 호스팅 환경의 세션과 동일한 방식으로 조직의 Claude Code 사용량을 소비합니다.

45 48 

46## 자체 호스팅을 하는 이유49## 자체 호스팅을 하는 이유


113 116 

114* **컨트롤 플레인**: 러너는 `api.anthropic.com`을 폴링하여 작업을 가져오고 설정 진행 및 실패 이벤트를 게시하며, 모두 아웃바운드 HTTPS를 사용합니다. 폴링은 러너의 하트비트 역할도 합니다.117* **컨트롤 플레인**: 러너는 `api.anthropic.com`을 폴링하여 작업을 가져오고 설정 진행 및 실패 이벤트를 게시하며, 모두 아웃바운드 HTTPS를 사용합니다. 폴링은 러너의 하트비트 역할도 합니다.

115* **Git**: 러너는 배포에서 제공하는 자격 증명으로 인증하여 HTTPS 또는 SSH를 통해 git 호스트에서 클론하고 푸시합니다. 세션별로 발급되는 자격 증명을 포함한 옵션은 [git 구성](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#configure-git)을 참조하세요. [Anthropic git 프록시](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy)를 사용하면 github.com 저장소에 대한 git 트래픽은 대신 `api.anthropic.com`을 거칩니다.118* **Git**: 러너는 배포에서 제공하는 자격 증명으로 인증하여 HTTPS 또는 SSH를 통해 git 호스트에서 클론하고 푸시합니다. 세션별로 발급되는 자격 증명을 포함한 옵션은 [git 구성](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#configure-git)을 참조하세요. [Anthropic git 프록시](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy)를 사용하면 github.com 저장소에 대한 git 트래픽은 대신 `api.anthropic.com`을 거칩니다.

116* **세션 자식 프로세스**: 자식 Claude Code 프로세스는 `api.anthropic.com`으로의 세션 이벤트 스트림을 유지하며, 모델 추론 및 세션 중 실행되는 git 명령을 위한 자체 아웃바운드 호출을 수행합니다. [Anthropic 관리 git](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy)을 사용하는 세션에서는 자식 프로세스가 github.com에 대한 `git` 및 `gh` 트래픽을 `api.anthropic.com`으로 여는 WebSocket 연결을 통해 전송합니다.119* **세션 자식 프로세스**: 자식 Claude Code 프로세스는 `api.anthropic.com`으로의 세션 이벤트 스트림을 유지하며, 모델 추론과 세션 중 실행되는 git 명령을 위해 자체 아웃바운드 호출을 수행합니다. [Anthropic 관리 git](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy)을 사용하는 세션에서는 자식 프로세스가 `git`과 `gh`의 github.com 트래픽을 전달하는 WebSocket 연결을 `api.anthropic.com`으로 엽니다.

117* **SCM 커넥터**: 선택 사항인 오케스트레이터 [SCM 커넥터](https://code.claude.com/docs/ko/self-hosted-environments-reference.md#scm-connector-flags)는 사용할 수 없으므로 해당 터널은 열리지 않습니다. 이 터널은 `api.anthropic.com`으로의 WebSocket 연결입니다.120* **SCM 커넥터**: 선택 사항인 오케스트레이터 [SCM 커넥터](https://code.claude.com/docs/ko/self-hosted-environments-reference.md#scm-connector-flags)는 사용할 수 없으므로 해당 터널은 열리지 않습니다. 이 터널은 `api.anthropic.com`으로의 WebSocket 연결입니다.

118 121 

119전체 이그레스 목록은 [네트워크 요구 사항](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#network-requirements)을 참조하세요. [위 다이어그램](#how-self-hosted-environments-work)은 선택 사항인 SCM 커넥터와 Anthropic 관리 git 연결을 제외한 이러한 경로를 보여줍니다.122전체 이그레스 목록은 [네트워크 요구 사항](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#network-requirements)을 참조하세요. [위 다이어그램](#how-self-hosted-environments-work)은 선택 사항인 SCM 커넥터와 Anthropic 관리 git 연결을 제외한 이러한 경로를 보여줍니다.

Details

42| `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Anthropic의 제어 평면이 이 세션에 전달한 MCP 서버 정의를 보유하는 `CLAUDE_CONFIG_DIR` 내 파일의 경로입니다. 래퍼가 자식의 환경을 다시 빌드하는 경우 이 변수를 전달하세요. 이 변수가 없으면 제어 평면이 전달된 서버를 업데이트할 때, 래퍼가 [`--mcp-config`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 추가한 stdio, HTTP 또는 SSE 서버 중 업데이트에 포함되지 않은 서버를 자식이 종료합니다. Claude Code v2.1.299 이상이 필요합니다. |42| `CLAUDE_CODE_REMOTE_MCP_CONFIG` | Anthropic의 제어 평면이 이 세션에 전달한 MCP 서버 정의를 보유하는 `CLAUDE_CONFIG_DIR` 내 파일의 경로입니다. 래퍼가 자식의 환경을 다시 빌드하는 경우 이 변수를 전달하세요. 이 변수가 없으면 제어 평면이 전달된 서버를 업데이트할 때, 래퍼가 [`--mcp-config`](https://code.claude.com/docs/ko/cli-reference#cli-flags)로 추가한 stdio, HTTP 또는 SSE 서버 중 업데이트에 포함되지 않은 서버를 자식이 종료합니다. Claude Code v2.1.299 이상이 필요합니다. |

43| `ANTHROPIC_BASE_URL` | 자식이 사용할 API 기본 URL이며, 제어 평면에서 세션별로 전달되고 일반적으로 `https://api.anthropic.com`입니다. 이를 재정의하지 마세요. 세션의 추론 자격 증명은 Anthropic에서 발급한 OAuth 토큰이며 다른 공급자는 이를 수락하지 않습니다. |43| `ANTHROPIC_BASE_URL` | 자식이 사용할 API 기본 URL이며, 제어 평면에서 세션별로 전달되고 일반적으로 `https://api.anthropic.com`입니다. 이를 재정의하지 마세요. 세션의 추론 자격 증명은 Anthropic에서 발급한 OAuth 토큰이며 다른 공급자는 이를 수락하지 않습니다. |

44| `CLAUDE_CODE_OAUTH_TOKEN` | 자식이 모델 추론에 사용하는 단기 OAuth 액세스 토큰이며, 약 30분의 수명을 가집니다. 러너는 만료 전에 이를 다시 발급하고 자식의 stdin을 통해 회전을 전달하므로 [stdin을 연결된 상태로 유지](#keep-stdin-and-file-descriptor-3-attached)하지 않는 래퍼는 초기 값만 봅니다. 조직의 IP 허용 목록에 의존하여 이 토큰의 사용을 제한하지 마세요. 이를 베어러 자격 증명으로 취급하며 누출되면 약 30분 동안 사용 가능하므로 로깅하거나 디스크에 쓰거나 세션 컨테이너 외부로 전달하지 마세요. |44| `CLAUDE_CODE_OAUTH_TOKEN` | 자식이 모델 추론에 사용하는 단기 OAuth 액세스 토큰이며, 약 30분의 수명을 가집니다. 러너는 만료 전에 이를 다시 발급하고 자식의 stdin을 통해 회전을 전달하므로 [stdin을 연결된 상태로 유지](#keep-stdin-and-file-descriptor-3-attached)하지 않는 래퍼는 초기 값만 봅니다. 조직의 IP 허용 목록에 의존하여 이 토큰의 사용을 제한하지 마세요. 이를 베어러 자격 증명으로 취급하며 누출되면 약 30분 동안 사용 가능하므로 로깅하거나 디스크에 쓰거나 세션 컨테이너 외부로 전달하지 마세요. |

45| `CLAUDE_RUNNER_ALIVE_EVERY_MS` | [자식이 초기화되기 전에 턴이 시작될 때](https://code.claude.com/docs/ko/self-hosted-environments-reference.md#session-startup-timeout) 자식이 살아 있음을 보고하는 빈도(밀리초)이며, 러너가 설정합니다. 래퍼가 자식의 환경을 다시 빌드하는 경우 이 변수를 전달하세요. 그렇지 않으면 러너가 해당 턴 동안 세션을 해제하고 `no child output for <n> — releasing`을 로그에 기록할 수 있습니다. 러너와 자식 모두 v2.1.309 이상이 필요합니다. |

45 46 

46래퍼는 또한 서버 제공 환경 변수를 포함한 자식의 관리되는 환경의 나머지를 상속합니다. `exec`는 모두 자동으로 전파합니다. 래퍼가 자식을 다른 방식으로 생성하면 전체 환경을 전달하세요.47래퍼는 또한 서버 제공 환경 변수를 포함한 자식의 관리되는 환경의 나머지를 상속합니다. `exec`는 모두 자동으로 전파합니다. 래퍼가 자식을 다른 방식으로 생성하면 전체 환경을 전달하세요.

47 48 


307| `CLAUDE_RUNNER_ATTEMPT` | 로깅에 사용하는 세션별 카운터입니다. 재시도 횟수나 요청 수가 아닙니다. 사전 워밍 요청의 경우 `0`이지만, 세션에 대한 요청도 `0`을 가질 수 있습니다. |308| `CLAUDE_RUNNER_ATTEMPT` | 로깅에 사용하는 세션별 카운터입니다. 재시도 횟수나 요청 수가 아닙니다. 사전 워밍 요청의 경우 `0`이지만, 세션에 대한 요청도 `0`을 가질 수 있습니다. |

308| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | 폴 응답의 HTTP `Date` 헤더에서 서버 시간입니다. 훅이 작업 지시서 JWT의 `exp`를 확인할 때 로컬 클록 대신 이 값과 비교하여 시간 차이를 허용합니다. 게이트웨이가 헤더를 생략한 경우 비어 있습니다. |309| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | 폴 응답의 HTTP `Date` 헤더에서 서버 시간입니다. 훅이 작업 지시서 JWT의 `exp`를 확인할 때 로컬 클록 대신 이 값과 비교하여 시간 차이를 허용합니다. 게이트웨이가 헤더를 생략한 경우 비어 있습니다. |

309| `CLAUDE_RUNNER_POOL_ID` | 새 러너가 조인해야 하는 환경의 ID이며, `ccpool_...` 형식입니다. |310| `CLAUDE_RUNNER_POOL_ID` | 새 러너가 조인해야 하는 환경의 ID이며, `ccpool_...` 형식입니다. |

310| `CLAUDE_RUNNER_ACCOUNT_ID` | 세션을 대기열에 넣은 계정의 태그된 ID입니다. 계정별 라우팅, 할당량 또는 차지백에 사용하고 중복 제거 키로는 사용하지 마십시오. 사용할 수 없을 때 비어 있으며, Claude Tag 채널 세션의 경우 항상 비어 있습니다. 이러한 세션은 계정이 대기열에 넣지 않습니다. |311| `CLAUDE_RUNNER_ACCOUNT_ID` | 세션을 대기열에 넣은 계정의 태그된 ID입니다. 계정별 라우팅, 할당량 또는 차지백에 사용하고 중복 제거 키로는 사용하지 마십시오. 사용할 수 없을 때 비어 있습니다. |

311| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | 세션을 대기열에 넣은 계정의 이메일입니다. 사용할 수 없을 때 비어 있습니다. 이메일을 개인 식별 정보로 취급하고 로깅하지 마십시오. |312| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | 세션을 대기열에 넣은 계정의 이메일입니다. 사용할 수 없을 때 비어 있습니다. 이메일을 개인 식별 정보로 취급하고 로깅하지 마십시오. |

312| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | 세션의 첫 번째 git 소스의 URL이며, 해당 리포지토리가 사전 워밍된 러너로 라우팅하기 위한 것입니다. 세션에 git 소스가 없을 때 비어 있습니다. |313| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | 세션의 첫 번째 git 소스의 URL이며, 해당 리포지토리가 사전 워밍된 러너로 라우팅하기 위한 것입니다. 세션에 git 소스가 없을 때 비어 있습니다. |

313| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | 세션의 첫 번째 git 소스의 리비전입니다: 브랜치, SHA, 태그 또는 전체 참조 이름입니다. 지정되지 않은 경우 비어 있습니다. |314| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | 세션의 첫 번째 git 소스의 리비전입니다: 브랜치, SHA, 태그 또는 전체 참조 이름입니다. 지정되지 않은 경우 비어 있습니다. |


381 382 

382| 플래그(예시 값 포함) | 전달 대상 | 동작 |383| 플래그(예시 값 포함) | 전달 대상 | 동작 |

383| :- | :- | :- |384| :- | :- | :- |

384| `--release-idle-session-min 30` | 훅이 시작하는 모든 러너 | 러너는 지정한 시간(분) 동안 유휴 상태가 지속되면 세션을 해제한 후 0으로 종료합니다. 세션은 사용자가 다음 메시지를 보내면 재개되지만, [푸시하지 않은 작업은 사라집니다](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#additional-limitations). 세션이 실행 중으로 남겨 둔 프로세스가 있다면 [세션을 유지하십시오](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run). |385| `--release-idle-session-min 30` | 훅이 시작하는 모든 러너 | 러너는 지정한 시간(분) 동안 유휴 상태가 지속되면 세션을 해제한 후 0으로 종료합니다. 세션은 사용자가 다음 메시지를 보내면 재개되지만, [푸시하지 않은 작업은 사라집니다](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#resumed-sessions-lose-unpushed-work). 세션이 실행 중으로 남겨 둔 프로세스가 있다면 [세션을 유지하십시오](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#keep-an-idle-session-while-its-processes-run). |

385| `--kill-session-after-min 480` | 훅이 시작하는 모든 러너 | 각 세션을 지정한 시간(분)으로 제한하며, [유휴 상태로 간주되지 않는 세션](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle)에 대한 안전장치 역할을 하므로 예상되는 가장 긴 세션보다 높게 설정하십시오 |386| `--kill-session-after-min 480` | 훅이 시작하는 모든 러너 | 각 세션을 지정한 시간(분)으로 제한하며, [유휴 상태로 간주되지 않는 세션](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle)에 대한 안전장치 역할을 하므로 예상되는 가장 긴 세션보다 높게 설정하십시오 |

386| `--exit-if-unused-min 60` | 훅이 사전 워밍 요청에 대해 시작하는 대기 러너 | 세션을 한 번도 받지 않은 대기 러너는 지정한 시간(분) 후에 종료됩니다. [`--min-idle`](https://code.claude.com/docs/ko/self-hosted-environments-reference#orchestrator-cli-flags)을 설정한 경우 해당 대기 러너가 잉여분이 아니었다면 대체 러너가 생성되므로, 부팅 시간보다 충분히 큰 값을 사용하십시오. |387| `--exit-if-unused-min 60` | 훅이 사전 워밍 요청에 대해 시작하는 대기 러너 | 세션을 한 번도 받지 않은 대기 러너는 지정한 시간(분) 후에 종료됩니다. [`--min-idle`](https://code.claude.com/docs/ko/self-hosted-environments-reference#orchestrator-cli-flags)을 설정한 경우 해당 대기 러너가 잉여분이 아니었다면 대체 러너가 생성되므로, 부팅 시간보다 충분히 큰 값을 사용하십시오. |

387 388 


759 760 

760* **git ID**: 러너 이미지에서 `user.name`과 `user.email`을 설정하거나, [`--configure-git`](https://code.claude.com/docs/ko/self-hosted-environments-deploy#let-the-runner-configure-git)으로 러너를 시작합니다761* **git ID**: 러너 이미지에서 `user.name`과 `user.email`을 설정하거나, [`--configure-git`](https://code.claude.com/docs/ko/self-hosted-environments-deploy#let-the-runner-configure-git)으로 러너를 시작합니다

761* **푸시 자격 증명**: [Anthropic 관리형 git](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy)을 사용하거나, [이미지에 git 구성 포함](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#ship-git-config-in-your-image)에 설명된 대로 자격 증명을 제공합니다762* **푸시 자격 증명**: [Anthropic 관리형 git](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#use-the-anthropic-git-proxy)을 사용하거나, [이미지에 git 구성 포함](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#ship-git-config-in-your-image)에 설명된 대로 자격 증명을 제공합니다

762* **재개된 세션의 경우**: 환경의 모든 러너에 [`--push-outcome-on-release`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)를 설정합니다. 그러면 재개된 세션은 Claude가 세션의 브랜치에 푸시한 커밋에서 시작합니다. 이 플래그의 제한 사항은 [재개된 세션에서 푸시되지 않은 작업이 손실됨](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#additional-limitations)을 참조하세요.763* **재개된 세션의 경우**: 환경의 모든 러너에 [`--push-outcome-on-release`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)를 설정합니다. 그러면 재개된 세션은 Claude가 세션의 브랜치에 푸시한 커밋에서 시작합니다. 이 플래그의 제한 사항은 [재개된 세션에서 푸시되지 않은 작업이 손실됨](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#resumed-sessions-lose-unpushed-work)을 참조하세요.

763 764 

764Stop 훅은 턴당 최대 한 번만 프롬프트합니다. 커밋이나 푸시가 실패해도 턴은 종료됩니다. 세션에서 git의 오류를 찾아 해당 오류가 지적하는 문제를 해결하세요.765Stop 훅은 턴당 최대 한 번만 프롬프트합니다. 커밋이나 푸시가 실패해도 턴은 종료됩니다. 세션에서 git의 오류를 찾아 해당 오류가 지적하는 문제를 해결하세요.

765 766 

Details

63 63 

64| 호스트 | 포트 | 필요한 경우 |64| 호스트 | 포트 | 필요한 경우 |

65| :- | :- | :- |65| :- | :- | :- |

66| `api.github.com` | 443 | `--use-anthropic-git-proxy` 사용 여부와 관계없이, runner 이미지에 [GitHub CLI](#github-api-access-with-the-github-cli)가 포함되어 있고 세션에 `GH_TOKEN` 등 github.com 자격 증명을 제공하는 경우 필요합니다 |

66| `downloads.claude.ai` | 443 | 설치 시 네이티브 설치 프로그램으로 호스트에 Claude Code를 설치하거나 업데이트할 때 필요합니다. `install.sh` 스크립트 자체는 `claude.ai`에서 제공됩니다. 세션 런타임에는 세션이 공식 Anthropic 마켓플레이스에서 플러그인을 설치할 때만 필요합니다. |67| `downloads.claude.ai` | 443 | 설치 시 네이티브 설치 프로그램으로 호스트에 Claude Code를 설치하거나 업데이트할 때 필요합니다. `install.sh` 스크립트 자체는 `claude.ai`에서 제공됩니다. 세션 런타임에는 세션이 공식 Anthropic 마켓플레이스에서 플러그인을 설치할 때만 필요합니다. |

67| `storage.googleapis.com` | 443 | 세션 런타임에 `/plugin`에 표시되는 플러그인 설치 횟수와 메타데이터를 위해 필요합니다. |68| `storage.googleapis.com` | 443 | 세션 런타임에 `/plugin`에 표시되는 플러그인 설치 횟수와 메타데이터를 위해 필요합니다. |

68| `code.claude.com` 및 `claude.com` | 443 | 내장 claude-code-guide 에이전트의 문서 조회 및 세션 중 사전 승인된 WebFetch 요청에 사용됩니다. 이 호스트를 차단하면 문서 조회에만 영향을 미칩니다. |69| `code.claude.com` 및 `claude.com` | 443 | 내장 claude-code-guide 에이전트의 문서 조회 및 세션 중 사전 승인된 WebFetch 요청에 사용됩니다. 이 호스트를 차단하면 문서 조회에만 영향을 미칩니다. |


167 168 

168* 러너는 `GIT_TERMINAL_PROMPT=0`을 설정하므로 git은 사용자 이름이나 암호를 요청하지 않습니다.169* 러너는 `GIT_TERMINAL_PROMPT=0`을 설정하므로 git은 사용자 이름이나 암호를 요청하지 않습니다.

169* 러너는 `BatchMode=yes`로 SSH를 실행하며, 설정한 경우 `GIT_SSH_COMMAND`에 추가되므로 SSH는 암호 또는 호스트 확인을 요청하지 않습니다.170* 러너는 `BatchMode=yes`로 SSH를 실행하며, 설정한 경우 `GIT_SSH_COMMAND`에 추가되므로 SSH는 암호 또는 호스트 확인을 요청하지 않습니다.

170* 러너는 `GCM_INTERACTIVE=never`을 설정하므로 Git Credential Manager는 서명 대화를 열지 않습니다.171* 러너는 `GCM_INTERACTIVE=never`을 설정하므로 Git Credential Manager는 로그인 대화 상자를 열지 않습니다. v2.1.229 이전에는 저장소 준비가 Git Credential Manager 프롬프트에서 멈출 수 있었습니다.

171* 러너는 `core.askPass`를 지우므로 askpass 헬퍼를 사용하는 경우 `GIT_ASKPASS` 환경 변수를 통해 설정하세요.172* 러너는 `core.askPass`를 지우므로 askpass 헬퍼를 사용하는 경우 `GIT_ASKPASS` 환경 변수를 통해 설정하세요.

172 173 

173git 호스트가 자격증명을 거부하거나 구성하지 않은 경우 러너는 몇 번 재시도한 다음 리포지토리 준비에 실패합니다. 세션이 결과를 푸시하는 리포지토리인 경우입니다. 세션이 읽기만 하는 리포지토리의 경우 [문제 해결](#troubleshooting)에서 러너가 대신 건너뛸 때를 다룹니다. 러너는 이러한 설정을 세션의 환경에 전달하지 않습니다.174git 호스트가 자격증명을 거부하거나 구성하지 않은 경우 러너는 몇 번 재시도한 다음 리포지토리 준비에 실패합니다. 세션이 결과를 푸시하는 리포지토리인 경우입니다. 세션이 읽기만 하는 리포지토리의 경우 [문제 해결](#troubleshooting)에서 러너가 대신 건너뛸 때를 다룹니다. 러너는 이러한 설정을 세션의 환경에 전달하지 않습니다.


287* **`jq`**: `--jq`가 작동하도록 하려면 이미지에 `jq`를 설치하세요288* **`jq`**: `--jq`가 작동하도록 하려면 이미지에 `jq`를 설치하세요

288* **[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ko/env-vars)**: 세션 환경에서 이를 설정하면 Claude Code는 내장 `gh`를 제공하지 않으며 세션에는 `gh`가 없습니다289* **[`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](https://code.claude.com/docs/ko/env-vars)**: 세션 환경에서 이를 설정하면 Claude Code는 내장 `gh`를 제공하지 않으며 세션에는 `gh`가 없습니다

289 290 

290이미지에 GitHub CLI가 포함되어 있으면 세션은 이를 사용합니다.291#### GitHub CLI를 사용한 GitHub API 액세스

292 

293러너 이미지에 세션이 사용할 GitHub CLI가 포함되어 있다면, [래퍼 스크립트](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#provision-credentials-scoped-to-the-session-creator)에서 세션 작성자를 위해 세션별로 단기, 최소 범위 `GH_TOKEN`을 발급하도록 하세요. Claude Code가 시작될 때의 `PATH`에 `gh`가 있으면 세션은 해당 `gh`를 사용하며 [내장 `gh`](#github-api-access-without-the-github-cli)는 없습니다. 토큰이 있으면 해당 `gh`는 토큰이 부여하는 액세스 권한으로 Anthropic 관리 git을 거치지 않고 GitHub에 도달하므로 [`api.github.com`](#network-requirements)을 허용하세요.

294 

295Anthropic 관리 git을 사용하는 경우 대신 내장 `gh`를 사용하려면 이미지에서 GitHub CLI를 제외하세요.

291 296 

292#### Anthropic 관리 git으로 개인 인증 기관 신뢰297#### Anthropic 관리 git으로 개인 인증 기관 신뢰

293 298 


343 348 

344호스트 다시 쓰기가 먼저 실행되므로 둘 다 필요한 경우 `--git-ssh-rewrite`에 내부 호스트 이름을 나열하세요. 체크아웃을 완전히 제어하려면 [`checkout` 수명 주기 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#checkout)을 사용하세요.349호스트 다시 쓰기가 먼저 실행되므로 둘 다 필요한 경우 `--git-ssh-rewrite`에 내부 호스트 이름을 나열하세요. 체크아웃을 완전히 제어하려면 [`checkout` 수명 주기 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#checkout)을 사용하세요.

345 350 

351### GitHub 외부 저장소에서 세션 시작

352 

353GitHub 이외의 git 호스트에 있는 저장소에서 세션을 실행하려면 해당 저장소의 체크아웃 안에서 터미널로 세션을 시작하세요. 먼저 러너의 git 자격 증명, 네트워크 및 git 프록시, 저장소 주소, 브랜치를 확인하세요:

354 

355* **Git 자격 증명 및 네트워크**: 러너가 클론하는 주소인 `https://<host>/<owner>/<name>`에 대해 [프롬프트 없이 작동](#git-must-work-without-a-prompt)하는 [자격 증명을 제공](#ship-git-config-in-your-image)하고, [네트워크 요구 사항](#network-requirements)에 나열된 대로 러너가 git 호스트에 도달할 수 있도록 하세요. SSH만 허용하는 git 호스트의 경우 [`--git-ssh-rewrite`](#rewrite-git-urls-for-private-networks)를 참조하세요.

356* **Git 프록시**: 환경의 러너가 Anthropic git 프록시를 사용하는 경우 [끄세요](#turn-the-anthropic-git-proxy-off).

357* **저장소 주소**: 체크아웃의 `origin` 원격을 확인하세요. 호스트는 `git.example.com`과 같은 도메인 이름이어야 하며, 경로는 `<owner>/<name>` 형식이어야 합니다. `group/subgroup/name`과 같은 중첩 경로는 통과하지 못합니다.

358* **브랜치**: 러너가 해당 브랜치를 클론하므로 현재 브랜치를 git 호스트에 푸시하세요.

359 

360체크아웃에서 [CI에서 인증](https://code.claude.com/docs/ko/self-hosted-environments-testing.md#authenticate-from-ci)에 설명된 대로 claude.ai에 로그인한 상태로, [`--environment`](https://code.claude.com/docs/ko/self-hosted-environments-testing#run-the-test-loop)와 환경의 `ccpool_...` ID를 지정하여 `claude -p`를 실행하세요:

361 

362```bash theme={null}

363claude -p "Fix the login bug" --environment ccpool_abc123 --output-format json

364```

365 

366세션이 생성되면 명령은 `{"ok":true`로 시작하는 JSON 한 줄을 출력합니다. `origin` 원격이 조건에 맞지 않으면 명령은 `requires a git source, but no GitHub remote was detected`와 함께 실패합니다.

367 

368세션이 [푸시](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)하는 브랜치는 git 호스트에서 검토하고 병합하세요.

369 

346## 러너 이미지 빌드370## 러너 이미지 빌드

347 371 

348Anthropic은 사전 빌드된 러너 이미지를 게시하지 않습니다. `claude` 바이너리 주위에 자신의 이미지를 빌드하고, 리포지토리가 필요로 하는 모든 도구 체인을 계층화하세요: 언어 런타임, 컴파일러, 패키지 관리자, [MCP](https://code.claude.com/docs/ko/mcp.md) 사이드카.372Anthropic은 사전 빌드된 러너 이미지를 게시하지 않습니다. `claude` 바이너리 주위에 자신의 이미지를 빌드하고, 리포지토리가 필요로 하는 모든 도구 체인을 계층화하세요: 언어 런타임, 컴파일러, 패키지 관리자, [MCP](https://code.claude.com/docs/ko/mcp.md) 사이드카.


617 641 

618### 재시작 전에 실행 중인 턴이 완료되도록 하기642### 재시작 전에 실행 중인 턴이 완료되도록 하기

619 643 

620롤링 재시작 전에 실행 중인 턴이 완료되도록 하려면 `--drain-wait-sec`을 설정하고, 중지 타임아웃을 최소한 그 대기 시간에 80초를 더한 값 이상으로 늘리세요. 기본 대기 시간 `0`에서는 재시작이 아직 실행 중인 턴을 중단하며, 세션은 [푸시되지 않은 작업](#additional-limitations) 없이 다른 러너에서 재개됩니다.644롤링 재시작 전에 실행 중인 턴이 완료되도록 하려면 `--drain-wait-sec`을 설정하고, 중지 타임아웃을 최소한 그 대기 시간에 80초를 더한 값 이상으로 늘리세요. 기본 대기 시간 `0`에서는 재시작이 아직 실행 중인 턴을 중단하며, 세션은 [푸시되지 않은 작업](#resumed-sessions-lose-unpushed-work) 없이 다른 러너에서 재개됩니다.

621 645 

622* **`--drain-wait-sec`**: 완료되도록 하려는 턴과 백그라운드 작업에 걸리는 시간 정도로 설정합니다. 이 값은 최댓값이므로, 턴과 작업이 먼저 완료되면 대기가 일찍 끝납니다.646* **`--drain-wait-sec`**: 완료되도록 하려는 턴과 백그라운드 작업에 걸리는 시간 정도로 설정합니다. 이 값은 최댓값이므로, 턴과 작업이 먼저 완료되면 대기가 일찍 끝납니다.

623* **중지 타임아웃**: Kubernetes에서는 `terminationGracePeriodSeconds`, Docker Compose에서는 `stop_grace_period`입니다. 예를 들어 `--drain-wait-sec 120`을 사용하는 경우 [Kubernetes](#kubernetes) 또는 [Docker Compose](#docker-compose) 레시피의 `90`을 `200`으로 바꾸세요.647* **중지 타임아웃**: Kubernetes에서는 `terminationGracePeriodSeconds`, Docker Compose에서는 `stop_grace_period`입니다. 예를 들어 `--drain-wait-sec 120`을 사용하는 경우 [Kubernetes](#kubernetes) 또는 [Docker Compose](#docker-compose) 레시피의 `90`을 `200`으로 바꾸세요.


735 759 

736유휴 세션을 해제하려면 모든 러너를 [`--release-idle-session-min`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)과 해당 시간(분 단위)으로 시작하세요(예: `--release-idle-session-min 30`). 그러면 러너는 그만큼 오래 유휴 상태로 머무는 세션을, 예약 작업이 시작했든 사람이 시작했든 관계없이 해제합니다. 단, [세션이 남겨 둔 프로세스를 위해 세션을 유지](#keep-an-idle-session-while-its-processes-run)하는 경우는 예외입니다.760유휴 세션을 해제하려면 모든 러너를 [`--release-idle-session-min`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)과 해당 시간(분 단위)으로 시작하세요(예: `--release-idle-session-min 30`). 그러면 러너는 그만큼 오래 유휴 상태로 머무는 세션을, 예약 작업이 시작했든 사람이 시작했든 관계없이 해제합니다. 단, [세션이 남겨 둔 프로세스를 위해 세션을 유지](#keep-an-idle-session-while-its-processes-run)하는 경우는 예외입니다.

737 761 

738* **푸시되지 않은 작업**: 해제된 세션은 다음 메시지에서 재개되지만, 푸시하지 않은 작업은 포함되지 않습니다. 커밋을 보존하려면 [재개된 세션은 푸시되지 않은 작업을 잃음](#additional-limitations)을 참조하세요.762* **푸시되지 않은 작업**: 해제된 세션은 다음 메시지에서 재개되지만, 푸시하지 않은 작업은 포함되지 않습니다. 커밋을 보존하려면 [재개된 세션은 푸시되지 않은 작업을 잃음](#resumed-sessions-lose-unpushed-work)을 참조하세요.

739* **러너 종료**: 마지막 세션을 해제한 러너는 [정상 종료](#when-the-runner-exits)를 시작합니다. [배포 강화하기](#harden-your-deployment)에서 설명한 대로 슈퍼바이저가 새 파일 시스템에서 러너를 다시 시작하도록 하세요.763* **러너 종료**: 마지막 세션을 해제한 러너는 [정상 종료](#when-the-runner-exits)를 시작합니다. [배포 강화하기](#harden-your-deployment)에서 설명한 대로 슈퍼바이저가 새 파일 시스템에서 러너를 다시 시작하도록 하세요.

740* **유휴 상태가 되지 않는 세션**: [일부 세션은 유휴 상태로 간주되지 않으므로](#some-sessions-don’t-count-as-idle) [`--kill-session-after-min`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)도 설정하세요764* **유휴 상태가 되지 않는 세션**: [일부 세션은 유휴 상태로 간주되지 않으므로](#some-sessions-don’t-count-as-idle) [`--kill-session-after-min`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)도 설정하세요

741 765 


811* 턴이 여전히 실행 중이면, 러너는 턴이 완료될 때까지 또는 세션이 다음으로 사용자를 기다릴 때까지 기다린 후 해제합니다.835* 턴이 여전히 실행 중이면, 러너는 턴이 완료될 때까지 또는 세션이 다음으로 사용자를 기다릴 때까지 기다린 후 해제합니다.

812* 유예 기간이 끝났을 때 세션이 여전히 러너에 있으면, 러너는 이를 종료하고 실행 중인 턴의 작업은 손실됩니다. 실행 중인 도구 호출 내에서 요청된 승인을 기다리는 턴은 세션이 기간을 초과하는 한 가지 방법입니다.836* 유예 기간이 끝났을 때 세션이 여전히 러너에 있으면, 러너는 이를 종료하고 실행 중인 턴의 작업은 손실됩니다. 실행 중인 도구 호출 내에서 요청된 승인을 기다리는 턴은 세션이 기간을 초과하는 한 가지 방법입니다.

813 837 

814해제된 세션은 새로운 클론에서 재개되므로 푸시하지 않은 작업은 어느 쪽이든 손실됩니다. [재개된 세션이 푸시되지 않은 작업을 손실함](#additional-limitations)을 참조합니다. v2.1.260 이전에는 러너가 제한에 도달한 모든 세션을 종료했으며, 실행 중인 턴이 완료될 때까지 최대 유예 기간 동안 기다렸습니다.838해제된 세션은 새로운 클론에서 재개되므로 푸시하지 않은 작업은 어느 쪽이든 손실됩니다. [재개된 세션이 푸시되지 않은 작업을 손실함](#resumed-sessions-lose-unpushed-work)을 참조합니다. v2.1.260 이전에는 러너가 제한에 도달한 모든 세션을 종료했으며, 실행 중인 턴이 완료될 때까지 최대 유예 기간 동안 기다렸습니다.

815 839 

816예를 들어 `--kill-session-after-min 480`으로 8시간 동안 가장 긴 예상 세션 위에 플래그를 설정합니다. 유휴 상태가 된 대화에서 슬롯을 해제하려면 대신 `--release-idle-session-min`을 사용합니다.840예를 들어 `--kill-session-after-min 480`으로 8시간 동안 가장 긴 예상 세션 위에 플래그를 설정합니다. 유휴 상태가 된 대화에서 슬롯을 해제하려면 대신 `--release-idle-session-min`을 사용합니다.

817 841 

842### 재개된 세션이 푸시되지 않은 작업을 손실함

843 

844새로운 러너에서 재개되는 세션은 푸시하지 않은 작업을 손실합니다. 해당 러너가 저장소를 시작 브랜치에서 다시 클론하기 때문입니다.

845 

846커밋된 작업을 보존하려면 환경의 모든 러너에 [`--push-outcome-on-release`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)를 설정합니다. 플래그가 있는 러너는 해제하기 전에 세션의 결과 브랜치를 최선의 노력으로 푸시하며, 재개된 세션은 해당 커밋에서 시작됩니다. 플래그가 없는 러너는 세션을 시작 브랜치에서 재개합니다. 푸시에는 [Anthropic 관리 git](#use-the-anthropic-git-proxy)을 사용하는 러너를 포함하여 러너 호스트 자체의 git 자격 증명이 사용됩니다.

847 

848> [!WARNING]

849>

850> 플래그를 설정하기 전에 소스 원격의 `claude/*` refs에 푸시할 수 있는 사람을 제한합니다. 재개 시 러너는 이전에 푸시된 브랜치를 누가 푸시했는지 확인하지 않고 가져옵니다.

851 

852플래그를 설정하더라도 다음 작업은 다른 방법으로 저장합니다:

853 

854* **커밋되지 않은 변경 사항**: 여전히 손실됩니다. [세션이 작업을 푸시하도록 프롬프트 지정](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)을 참조합니다.

855* **[`checkout` 라이프사이클 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#checkout)을 통해 체크아웃된 저장소**: 푸시되지 않습니다. [`post-session` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#post-session)에서 해당 저장소의 스냅샷을 만듭니다.

856* **누군가 보관 또는 삭제하거나, 세션 메뉴에서 러너를 해제한 세션의 커밋**: 플래그의 푸시에 의존할 수 없습니다. 이를 저장하려면 [`post-session` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#post-session)에서 `HEAD`를 복구 브랜치로 푸시합니다. 해당 문서의 예제는 스냅샷 커밋 후에만 푸시하므로, 커밋되지 않은 항목이 없을 때도 푸시하도록 작성합니다.

857 

818### 추가 제한 사항858### 추가 제한 사항

819 859 

820* **재개된 세션이 푸시되지 않은 작업을 손실함**: 새로운 러너는 저장소를 시작 브랜치에서 다시 클론하므로, 세션이 푸시하지 않은 작업은 손실됩니다.

821 * **커밋된 작업을 보존하려면**: 환경의 모든 러너에 [`--push-outcome-on-release`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)를 설정합니다. 플래그가 없는 러너는 세션을 시작 브랜치에서 재개하기 때문입니다. 플래그가 있는 러너는 해제하기 전에 세션의 결과 브랜치를 최선의 노력으로 푸시하며, 재개된 세션은 해당 커밋에서 시작됩니다. 푸시에는 [Anthropic 관리 git](#use-the-anthropic-git-proxy)을 사용하는 러너를 포함하여 러너 호스트 자체의 git 자격 증명이 사용됩니다.

822 * **`checkout` 훅을 사용하는 경우**: [`checkout` 라이프사이클 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#checkout)을 통해 체크아웃된 저장소는 푸시되지 않습니다. 대신 [`post-session` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#post-session)에서 해당 저장소의 스냅샷을 만듭니다.

823 * **플래그를 활성화하기 전에**: 소스 원격의 `claude/*` refs에 푸시할 수 있는 사람을 제한합니다. 재개 시 러너는 이전에 푸시된 브랜치를 누가 푸시했는지 확인하지 않고 가져옵니다.

824 * **커밋되지 않은 변경 사항은 여전히 손실됨**: Claude가 응답을 마쳤을 때 커밋하고 푸시하도록 요청하려면 [세션이 작업을 푸시하도록 프롬프트 지정](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#prompt-sessions-to-push-their-work)을 참조합니다.

825* **러너 손실로 중단된 명령이 다시 실행될 수 있음**: 세션이 다른 러너에서 재개되면, Claude에게는 중단된 도구 호출이 그 결과를 알 수 없다는 내용의 결과와 함께 표시됩니다.860* **러너 손실로 중단된 명령이 다시 실행될 수 있음**: 세션이 다른 러너에서 재개되면, Claude에게는 중단된 도구 호출이 그 결과를 알 수 없다는 내용의 결과와 함께 표시됩니다.

826* **세션 중간에 추가한 저장소는 클론에 실패할 수 있음**: Claude는 HTTPS를 통해 `git clone`으로 저장소를 클론합니다. [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy)가 없는 러너에서는 호스트에서 해당 저장소를 읽을 수 있는 수단이 없으면 git 인증 오류로 클론이 실패합니다. 가능하면 세션을 만들 때 세션에 필요한 모든 저장소를 선택합니다.861* **세션 중간에 추가한 저장소는 클론에 실패할 수 있음**: Claude는 HTTPS를 통해 `git clone`으로 저장소를 클론합니다. [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy)가 없는 러너에서는 호스트에서 해당 저장소를 읽을 수 있는 수단이 없으면 git 인증 오류로 클론이 실패합니다. 가능하면 세션을 만들 때 세션에 필요한 모든 저장소를 선택합니다.

827 * **세션이 재개될 때**: 추가된 저장소에 대해서도 [`checkout` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#checkout)이 실행되며, 이때 [`CLAUDE_RUNNER_REPO_REF`](https://code.claude.com/docs/ko/self-hosted-environments-configuration#checkout)는 비어 있으므로 훅이 이를 처리하도록 작성합니다.862 * **세션이 재개될 때**: 추가된 저장소에 대해서도 [`checkout` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#checkout)이 실행되며, 이때 [`CLAUDE_RUNNER_REPO_REF`](https://code.claude.com/docs/ko/self-hosted-environments-configuration#checkout)는 비어 있으므로 훅이 이를 처리하도록 작성합니다.

828* **일부 커넥터는 자체 호스팅 세션에 나타나지 않음**: claude.ai 설정에서 아직 연결하지 않은 커넥터는 자체 호스팅 세션에 나열되지 않으며, 세션은 연결하라는 메시지를 표시하지 않습니다. 먼저 설정에서 연결한 후 새로운 세션을 시작합니다. 이미 실행 중인 세션에 커넥터를 추가해도 Claude에서 해당 도구를 사용할 수 없습니다. 새로 추가된 커넥터를 선택하려면 새로운 세션을 시작합니다.863* **일부 커넥터는 자체 호스팅 세션에 나타나지 않음**: claude.ai 설정에서 아직 연결하지 않은 커넥터는 자체 호스팅 세션에 나열되지 않으며, 세션은 연결하라는 메시지를 표시하지 않습니다. 먼저 설정에서 연결한 후 새로운 세션을 시작합니다. 이미 실행 중인 세션에 커넥터를 추가해도 Claude에서 해당 도구를 사용할 수 없습니다. 새로 추가된 커넥터를 선택하려면 새로운 세션을 시작합니다.

829* **누군가 세션을 보관 또는 삭제하거나, 세션 메뉴에서 러너를 해제하는 경우**: [`--push-outcome-on-release`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags) 푸시에 의존할 수 없습니다. 이러한 경우 커밋을 저장하려면 [`post-session` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#post-session)에서 `HEAD`를 복구 브랜치로 푸시합니다. 해당 문서의 예제에서 시작하는 경우, 예제는 스냅샷 커밋 후에만 푸시하므로 커밋되지 않은 항목이 없을 때도 푸시하도록 수정합니다.

830 864 

831### 문제 보고865### 문제 보고

832 866 

Details

84 84 

85**7. ID 읽기**85**7. ID 읽기**

86 86 

87생성 사용자의 ID는 `act` 클레임에 있습니다: `act.sub`는 접두사 형식 `user:<id>`의 Anthropic 사용자 ID이고, `act.email`은 생성한 사용 환경이 이메일 주소를 기록한 경우 해당 이메일 주소입니다. Claude Tag 채널 세션을 포함하여 조직의 서비스 ID가 생성한 세션은 대신 `agent:` 주체를 가지므로, ID 클레임이 없는지 테스트하는 대신 `act.sub`에 `user:` 접두사가 있을 때만 세션을 사용자가 생성한 것으로 취급합니다. 전체 구조 및 평면 중복 클레임에 대해서는 [클레임 참조](#claims-reference)를 참고하세요.87생성 사용자의 ID는 `act` 클레임에 있습니다. `act.sub`는 접두사 형식 `user:<id>`의 Anthropic 사용자 ID이고, `act.email`은 생성한 사용 환경이 이메일 주소를 기록한 경우 해당 이메일 주소입니다. 조직의 서비스 ID가 생성한 세션은 대신 `agent:` 주체를 가집니다. ID 클레임이 없는지 테스트하는 대신 `act.sub`에 `user:` 접두사가 있을 때만 세션을 사용자가 생성한 것으로 취급합니다.

88 

89전체 구조 및 평면 중복 클레임에 대해서는 [클레임 참조](#claims-reference)를 참고하세요.

88 90 

89검사는 표준 JWT 라이브러리에 직접 매핑됩니다. 아래 예제는 JWKS 가져오기, 캐싱 및 `kid` 선택을 처리하는 [`jose`](https://www.npmjs.com/package/jose)를 사용하는 Node.js와 [`PyJWT`](https://pyjwt.readthedocs.io/) 및 내장 JWKS 클라이언트를 사용하는 Python에서 전체 시퀀스를 구현합니다.91검사는 표준 JWT 라이브러리에 직접 매핑됩니다. 아래 예제는 JWKS 가져오기, 캐싱 및 `kid` 선택을 처리하는 [`jose`](https://www.npmjs.com/package/jose)를 사용하는 Node.js와 [`PyJWT`](https://pyjwt.readthedocs.io/) 및 내장 JWKS 클라이언트를 사용하는 Python에서 전체 시퀀스를 구현합니다.

90 92 


185 187 

186## 클레임 참조188## 클레임 참조

187 189 

188아래 표는 확인과 관련된 세션 토큰 클레임을 나열합니다. `ccr:*` 네임스페이스 및 `act` 체인에서 ID를 읽습니다. 평면 `account_email`, `organization_uuid` 및 `account_uuid` 클레임은 제거될 수 있는 하위 호환성 중복입니다. 조직의 서비스 ID가 생성한 세션(Claude Tag 채널 세션 포함)은 `act.sub`에서 `agent:` 주제를 가지며 `act.email`, `ccr:account_id`, `account_email` 및 `account_uuid`를 생략합니다. 두 이메일 클레임은 사용자 생성 세션에도 선택 사항입니다: Anthropic은 생성 요청의 자격 증명이 이메일을 가질 때만 세션 생성 시 기록하며, CLI에서 발송된 세션은 둘 다 부족할 수 있으므로 이메일이 아닌 `act.sub` 또는 `ccr:account_id`에서 ID를 키합니다. 토큰은 이 표 이상의 추가 클레임을 가질 수도 있습니다. 인식하지 못하는 클레임을 무시합니다.190ID 정보는 `ccr:*` 네임스페이스와 `act` 체인에서 읽습니다. 평면 구조의 `account_email`, `organization_uuid`, `account_uuid` 클레임은 하위 호환성을 위한 중복 항목이며 제거될 수 있습니다. 조직의 서비스 ID가 생성한 세션은 `act.sub`에 `agent:` 주체를 포함하며 `act.email`, `ccr:account_id`, `account_email`, `account_uuid`를 생략합니다.

191 

192두 이메일 클레임은 사용자가 생성한 세션에서도 선택 사항입니다. Anthropic은 생성 요청의 자격 증명에 이메일이 포함된 경우에만 세션 생성 시점에 이를 기록하며, CLI에서 디스패치된 세션에는 두 클레임이 모두 없을 수 있습니다. 이메일이 아닌 `act.sub` 또는 `ccr:account_id`를 기준으로 ID를 식별하십시오. 토큰에는 이 표에 없는 추가 클레임이 포함될 수도 있으며, 인식하지 못하는 클레임은 무시하십시오. 아래 표는 검증과 관련된 세션 토큰 클레임을 나열합니다.

189 193 

190| 클레임 | 유형 | 설명 |194| 클레임 | 유형 | 설명 |

191| :- | :- | :- |195| :- | :- | :- |

192| `iss` | string | 항상 `ccr`. |196| `iss` | string | 항상 `ccr`입니다. |

193| `sub` | string | `ccr:session:<session_id>`. |197| `sub` | string | `ccr:session:<session_id>`입니다. |

194| `aud` | array of strings | 항상 `anthropic-api`를 포함합니다. 자체 호스팅 환경의 세션의 경우 배열은 `ccpool_...`과 같은 환경 ID도 포함합니다. `anthropic-api`가 아닌 환경 ID를 확인합니다. |198| `aud` | array of strings | 항상 `anthropic-api`를 포함합니다. 자체 호스팅 환경의 세션인 경우 배열에 `ccpool_...`과 같은 환경 ID도 포함됩니다. `anthropic-api`가 아닌 환경 ID를 검증하십시오. |

195| `exp` | number | Unix 타임스탬프로 만료. 4시간 기본 수명, 8시간 최대. |199| `exp` | number | Unix 타임스탬프 형식의 만료 시간입니다. 기본 수명은 4시간이며 최대 8시간입니다. |

196| `iat` | number | Unix 타임스탬프로 발급 시간. |200| `iat` | number | Unix 타임스탬프 형식의 발급 시간입니다. |

197| `jti` | string | 고유 토큰 식별자. |201| `jti` | string | 고유한 토큰 식별자입니다. |

198| `ccr:role` | string | 세션 토큰의 경우 항상 `session_worker`. |202| `ccr:role` | string | 세션 토큰의 경우 항상 `session_worker`입니다. |

199| `ccr:session_id` | string | `cse_...` 형식의 세션 ID. `sub`의 접미사와 동일한 값이며, [`CLAUDE_CODE_REMOTE_SESSION_ID`](https://code.claude.com/docs/ko/self-hosted-environments-configuration#wrapper-scripts)와 동일한 문자열입니다. [라이프사이클 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#lifecycle-hooks)이 받는 `CLAUDE_RUNNER_SESSION_ID`와 대조하려면 `cse_` 접두사를 `session_`으로 바꿉니다. |203| `ccr:session_id` | string | `cse_...` 형식의 세션 ID입니다. `sub`의 접미사와 같은 값이며, [`CLAUDE_CODE_REMOTE_SESSION_ID`](https://code.claude.com/docs/ko/self-hosted-environments-configuration#wrapper-scripts)와 같은 문자열입니다. [라이프사이클 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#lifecycle-hooks)이 받는 `CLAUDE_RUNNER_SESSION_ID`와 대조하려면 `cse_` 접두사를 `session_`으로 바꾸십시오. |

200| `ccr:pool_id` | string | 환경 ID. `aud`에 나타나는 동일한 값. |204| `ccr:pool_id` | string | 환경 ID입니다. `aud`에 나타나는 값과 같습니다. |

201| `ccr:org_id` | string | Anthropic 조직 ID. |205| `ccr:org_id` | string | Anthropic 조직 ID입니다. |

202| `ccr:account_id` | string | 생성 사용자의 Anthropic 계정 ID: `act.sub`의 값에서 `user:` 접두사를 제거한 것, 태그된 `user_...` ID. [spawn-runner 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#the-spawn-runner-hook)의 `CLAUDE_RUNNER_ACCOUNT_ID`가 가지는 동일한 값 및 [`--lock-to-account`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)가 수락하는 것이므로 세 개가 동일한 문자열로 비교됩니다. |206| `ccr:account_id` | string | 생성한 사용자의 Anthropic 계정 ID로, `act.sub`에서 `user:` 접두사를 제외한 값이며 태그가 지정된 `user_...` ID입니다. [spawn-runner 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration.md#the-spawn-runner-hook)의 `CLAUDE_RUNNER_ACCOUNT_ID`가 전달하고 [`--lock-to-account`](https://code.claude.com/docs/ko/self-hosted-environments-reference#runner-cli-flags)가 허용하는 값과 같으므로, 세 값은 동일한 문자열로 비교됩니다. |

203| `account_email` | string | `act.email`의 중복; `act.email`이 없을 때마다 없음. |207| `account_email` | string | `act.email`의 중복 항목이며, `act.email`이 없으면 항상 함께 없습니다. |

204| `organization_uuid` | string | Anthropic 조직 UUID. |208| `organization_uuid` | string | Anthropic 조직 UUID입니다. |

205| `account_uuid` | string | 생성 사용자의 Anthropic 계정 UUID. |209| `account_uuid` | string | 생성한 사용자의 Anthropic 계정 UUID입니다. |

206| `act` | object | [RFC 8693](https://www.rfc-editor.org/rfc/rfc8693) 위임 체인. [`act` 체인](#the-act-chain)을 참고하세요. |210| `act` | object | [RFC 8693](https://www.rfc-editor.org/rfc/rfc8693) 위임 체인입니다. [`act` 체인](#the-act-chain)을 참조하십시오. |

207 211 

208### `act` 체인212### `act` 체인

209 213 

210`act` 클레임은 세션을 생성한 사용자 또는 서비스 ID에서 [환경](https://code.claude.com/docs/ko/self-hosted-environments#key-concepts)의 비밀을 허용한 실행기까지의 전체 위임 경로를 기록하고, 해당 비밀을 생성한 ID를 기록합니다. 생성자는 가장 바깥쪽 행위자이므로 `act.sub`은 직접 식별합니다.214`act` 클레임은 세션을 생성한 사용자 또는 서비스 ID에서 시작하여, 자신의 시크릿으로 러너를 승인한 [환경](https://code.claude.com/docs/ko/self-hosted-environments#key-concepts)까지, 그리고 해당 시크릿을 생성한 ID까지 이어지는 전체 위임 경로를 기록합니다. 생성자가 가장 바깥쪽 행위자이므로 `act.sub`가 생성자를 직접 식별합니다.

211 215 

212| 경로 | 설명 |216| 경로 | 설명 |

213| :- | :- |217| :- | :- |

214| `act.sub` | 생성 사용자의 Anthropic 사용자 ID(형식: `user:<id>`) 또는 조직의 서비스 ID가 세션을 생성했을 때 `agent:<id>`(Claude Tag 채널 세션의 경우). |218| `act.sub` | 생성한 사용자의 Anthropic 사용자 ID로, `user:<id>` 형식이며, 조직의 서비스 ID가 세션을 생성한 경우에는 `agent:<id>` 형식입니다. |

215| `act.email` | 생성 사용자의 이메일 주소(세션 생성 시 기록된 경우). 필수로 요구하지 마세요. `act.sub`에서 키합니다. |219| `act.email` | 세션 생성 시점에 기록된 경우, 생성한 사용자의 이메일 주소입니다. 이 값을 필수로 요구하지 말고 `act.sub`를 기준으로 식별하십시오. |

216| `act.attested_by` | 생성 사용자에 대한 업스트림 ID 제공자의 증명을 위해 예약되어 있습니다. 없을 것으로 예상하고 이에 의존하지 마세요. `act.sub`에서 키합니다. 주소가 필요한 경우 `act.email`이 있을 때 읽습니다. |220| `act.attested_by` | 생성한 사용자에 대한 업스트림 ID 공급자의 증명을 위해 예약되어 있습니다. 이 값은 없는 것으로 간주하고 의존하지 마십시오. `act.sub`를 기준으로 식별하십시오. 주소가 필요한 경우 `act.email`이 있으면 이를 읽으십시오. |

217| `act.act` | 세션을 생성한 실행기. `act.act.sub`는 `ccr:runner:<runner_id>`. |221| `act.act` | 세션을 생성한 러너입니다. `act.act.sub`는 `ccr:runner:<runner_id>`입니다. |

218| `act.act.act` | 환경. `act.act.act.sub`는 `ccr:pool:<pool_id>`. |222| `act.act.act` | 환경입니다. `act.act.act.sub`는 `ccr:pool:<pool_id>`입니다. |

219| `act.act.act.act` | 실행기가 등록한 환경 비밀을 생성한 ID. 체인이 여기서 끝납니다. |223| `act.act.act.act` | 러너가 등록할 때 사용한 환경 시크릿을 생성한 ID입니다. 체인은 여기서 끝납니다. |

220 224 

221## 파생된 자격증명 범위 지정225## 파생된 자격증명 범위 지정

222 226 

Details

48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | 러너 종료를 포함한 모든 세션 종료 시 [`post-session` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#post-session)에 주어지는 시간입니다 |48| `--post-session-hook-timeout-sec <n>` | `SELF_HOSTED_RUNNER_POST_SESSION_HOOK_TIMEOUT_MS` | `60` | 러너 종료를 포함한 모든 세션 종료 시 [`post-session` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#post-session)에 주어지는 시간입니다 |

49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | 설정 안 됨 | 러너가 이그레스 프록시에 연결할 때마다 실행하는 셸 명령으로, 앞뒤 공백을 제거한 stdout을 `Proxy-Authorization` 헤더 값으로 사용합니다. `HTTPS_PROXY` 또는 `HTTP_PROXY`가 필요하며, `--proxy-authorization-file`과 함께 사용할 수 없습니다. [이그레스 프록시에 인증하기](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy)를 참조하십시오. Claude Code v2.1.238 이상이 필요합니다. |49| `--proxy-authorization-command <command>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_COMMAND` | 설정 안 됨 | 러너가 이그레스 프록시에 연결할 때마다 실행하는 셸 명령으로, 앞뒤 공백을 제거한 stdout을 `Proxy-Authorization` 헤더 값으로 사용합니다. `HTTPS_PROXY` 또는 `HTTP_PROXY`가 필요하며, `--proxy-authorization-file`과 함께 사용할 수 없습니다. [이그레스 프록시에 인증하기](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy)를 참조하십시오. Claude Code v2.1.238 이상이 필요합니다. |

50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | 설정 안 됨 | 러너가 이그레스 프록시에 연결할 때마다 읽는 파일로, 앞뒤 공백을 제거한 내용을 `Proxy-Authorization` 헤더 값으로 사용합니다. 다른 프로세스가 제자리에서 교체하는 토큰에 이 플래그를 사용하십시오. `--proxy-authorization-command`와 동일한 요구 사항이 적용되며, 함께 사용할 수 없습니다. [이그레스 프록시에 인증하기](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy)를 참조하십시오. Claude Code v2.1.238 이상이 필요합니다. |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | 설정 안 됨 | 러너가 이그레스 프록시에 연결할 때마다 읽는 파일로, 앞뒤 공백을 제거한 내용을 `Proxy-Authorization` 헤더 값으로 사용합니다. 다른 프로세스가 제자리에서 교체하는 토큰에 이 플래그를 사용하십시오. `--proxy-authorization-command`와 동일한 요구 사항이 적용되며, 함께 사용할 수 없습니다. [이그레스 프록시에 인증하기](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#authenticate-to-an-egress-proxy)를 참조하십시오. Claude Code v2.1.238 이상이 필요합니다. |

51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | 꺼짐 | 드레인이나 유휴 해제처럼 러너 측에서 세션을 종료할 때, 워크스페이스를 삭제하기 전에 추적 중인 결과 브랜치를 `origin`에 push하여 진행 중인 커밋이 재시작 후에도 유지되도록 합니다. 최선의 노력으로 수행되며, 종료 시간에 30초가 추가되고, push된 브랜치에서 재개하려면 git 2.29 이상이 필요합니다. 활성화하기 전에 push 접근을 `claude/*` 참조로 제한하십시오. [재개된 세션은 push되지 않은 작업을 잃음](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#additional-limitations)을 참조하십시오. `checkout` 라이프사이클 훅으로 체크아웃한 저장소는 push되지 않으므로, 대신 [`post-session` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#post-session)에서 스냅샷을 만드십시오. |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | 꺼짐 | 드레인이나 유휴 해제처럼 러너 측에서 세션을 종료할 때, 러너는 워크스페이스를 삭제하기 전에 새 커밋이 있는 기본 세션 브랜치를 `origin`에 push합니다. 최선의 노력으로 수행되며, 종료 시간에 30초가 추가됩니다. 해당 브랜치에서 재개하려면 git 2.29 이상이 필요합니다. push 접근을 `claude/*` 참조로 제한하십시오. [재개된 세션은 push되지 않은 작업을 잃음](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#resumed-sessions-lose-unpushed-work)을 참조하십시오. `checkout` 훅의 저장소는 push되지 않으므로, [`post-session` 훅](https://code.claude.com/docs/ko/self-hosted-environments-configuration#post-session)에서 스냅샷을 만드십시오. |

52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | 턴이 끝나거나 세션이 사용자의 조치를 기다리는 상태에서 N분 동안 활동이 없으면 세션 슬롯을 해제합니다. [일부 세션은 유휴 상태로 간주되지 않으므로](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle) `--kill-session-after-min`과 함께 사용하십시오. 끝난 백그라운드 작업은 최대 [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) 기간 동안 세션을 사용 중 상태로 유지합니다. 해제를 지연하려면 [`--hold-idle-file`](https://code.claude.com/docs/ko/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run)을 설정하십시오. `0`은 비활성화합니다. |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | 턴이 끝나거나 세션이 사용자의 조치를 기다리는 상태에서 N분 동안 활동이 없으면 세션 슬롯을 해제합니다. [일부 세션은 유휴 상태로 간주되지 않으므로](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#some-sessions-don’t-count-as-idle) `--kill-session-after-min`과 함께 사용하십시오. 끝난 백그라운드 작업은 최대 [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings) 기간 동안 세션을 사용 중 상태로 유지합니다. 해제를 지연하려면 [`--hold-idle-file`](https://code.claude.com/docs/ko/self-hosted-environments-deploy#keep-an-idle-session-while-its-processes-run)을 설정하십시오. `0`은 비활성화합니다. |

53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | 꺼짐 | 세션이 이 러너에서 종료되면 결과와 관계없이 `<base-dir>/_sessions/` 아래의 세션별 디렉터리를 제거합니다. 이러한 디렉터리에 무엇이 담기며 남아 있을 때 누가 읽을 수 있는지는 [미리 준비된 체크아웃 재사용하기](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout)에 설명되어 있습니다. 제거는 최선의 노력으로 수행됩니다. 정리가 실행되기 전에 러너가 강제 종료되거나 드레인 기한에 도달하면 세션별 디렉터리가 그대로 남습니다. 플래그를 켜면 실패하거나 중단된 세션의 디버그 로그가 디스크에 보관되지 않습니다. Claude Code v2.1.268 이상이 필요합니다. |53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | 꺼짐 | 세션이 이 러너에서 종료되면 결과와 관계없이 `<base-dir>/_sessions/` 아래의 세션별 디렉터리를 제거합니다. 이러한 디렉터리에 무엇이 담기며 남아 있을 때 누가 읽을 수 있는지는 [미리 준비된 체크아웃 재사용하기](https://code.claude.com/docs/ko/self-hosted-environments-deploy.md#reuse-a-pre-warmed-checkout)에 설명되어 있습니다. 제거는 최선의 노력으로 수행됩니다. 정리가 실행되기 전에 러너가 강제 종료되거나 드레인 기한에 도달하면 세션별 디렉터리가 그대로 남습니다. 플래그를 켜면 실패하거나 중단된 세션의 디버그 로그가 디스크에 보관되지 않습니다. Claude Code v2.1.268 이상이 필요합니다. |

54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | 설정 안 됨 | 알려진 시간에 러너를 종료하는 인프라를 위해, 초 단위의 절대 Unix 타임스탬프에 러너를 은퇴시킵니다. 해제 순서와 여유 시간 설정 방법은 [러너 라이프사이클](https://code.claude.com/docs/ko/self-hosted-environments#runner-lifecycle)에 설명되어 있습니다. 2001년 이전 또는 5138년 이후의 값은 플래그에서는 거부되고 환경 변수에서는 무시됩니다. |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | 설정 안 됨 | 알려진 시간에 러너를 종료하는 인프라를 위해, 초 단위의 절대 Unix 타임스탬프에 러너를 은퇴시킵니다. 해제 순서와 여유 시간 설정 방법은 [러너 라이프사이클](https://code.claude.com/docs/ko/self-hosted-environments#runner-lifecycle)에 설명되어 있습니다. 2001년 이전 또는 5138년 이후의 값은 플래그에서는 거부되고 환경 변수에서는 무시됩니다. |

Details

4846 4846 

4847### `disableDeepLinkRegistration`4847### `disableDeepLinkRegistration`

4848 4848 

4849Claude Code가 운영 체제에 `claude-cli://` 프로토콜 핸들러를 등록하지 않도록 합니다. 이 설정이 없으면 Claude Code는 대화형 세션의 첫 번째 프롬프트를 보낸 후 핸들러를 등록합니다. [딥 링크](https://code.claude.com/docs/ko/deep-links.md)를 사용하면 외부 도구가 미리 채워진 프롬프트로 Claude Code 세션을 열 수 있습니다. 프로토콜 핸들러 등록이 제한되거나 별도로 관리되는 환경에서 이 값을 설정하십시오.4849Claude Code가 운영 체제에 `claude-cli://` 프로토콜 핸들러를 등록하지 않도록 합니다. [딥 링크](https://code.claude.com/docs/ko/deep-links.md)를 사용하면 외부 도구가 미리 채워진 프롬프트로 Claude Code 세션을 열 수 있습니다. 프로토콜 핸들러 등록이 제한되거나 별도로 관리되는 환경에서 이 값을 설정하십시오.

4850 4850 

4851* **범위**: [`Any file`](#scopes)4851* **범위**: [`Any file`](#scopes)

4852* **유형**: 문자열 `"disable"`4852* **유형**: 문자열 `"disable"`


5801 5801 

5802매번 `--chrome`을 전달하지 않고도 모든 대화형 CLI 세션을 [Chrome 통합](https://code.claude.com/docs/ko/chrome.md)이 켜진 상태로 시작합니다. [`claude remote-control`](https://code.claude.com/docs/ko/remote-control)을 실행하면 `bypassPermissions` 모드를 제외하고 시작하는 [프로젝트](https://code.claude.com/docs/ko/claude-projects.md) 스레드의 세션도 이 키를 따릅니다. Claude Code v2.1.287 이상에서는 이 키가 [VS Code 확장](https://code.claude.com/docs/ko/vs-code.md#automate-browser-tasks-with-chrome)의 세션에도 적용됩니다. [Chrome 기본적으로 활성화](https://code.claude.com/docs/ko/chrome.md#enable-chrome-by-default)를 참조하세요.5802매번 `--chrome`을 전달하지 않고도 모든 대화형 CLI 세션을 [Chrome 통합](https://code.claude.com/docs/ko/chrome.md)이 켜진 상태로 시작합니다. [`claude remote-control`](https://code.claude.com/docs/ko/remote-control)을 실행하면 `bypassPermissions` 모드를 제외하고 시작하는 [프로젝트](https://code.claude.com/docs/ko/claude-projects.md) 스레드의 세션도 이 키를 따릅니다. Claude Code v2.1.287 이상에서는 이 키가 [VS Code 확장](https://code.claude.com/docs/ko/vs-code.md#automate-browser-tasks-with-chrome)의 세션에도 적용됩니다. [Chrome 기본적으로 활성화](https://code.claude.com/docs/ko/chrome.md#enable-chrome-by-default)를 참조하세요.

5803 5803 

5804`/chrome`을 실행하고 **기본적으로 활성화됨**을 선택하면 이 키가 설정됩니다. `/config`에 **Chrome에서 Claude 기본적으로 활성화됨**으로 표시됩니다.5804`/chrome`을 실행하고 **기본적으로 활성화됨**을 선택하면 이 키가 설정되며, ["Claude in Chrome extension detected" 대화 상자](https://code.claude.com/docs/ko/chrome.md#answer-the-startup-dialog)에 응답해도 마찬가지로 설정됩니다. `/config`에 **Chrome에서 Claude 기본적으로 활성화됨**으로 표시됩니다.

5805 5805 

5806* **범위**: [`전역 설정`](#scopes)5806* **범위**: [`전역 설정`](#scopes)

5807* **유형**: Boolean5807* **유형**: Boolean

setup.md +9 −5

Details

39 39 

40**macOS, Linux, WSL:**40**macOS, Linux, WSL:**

41 41 

42```bash theme={null}42```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

43curl -fsSL https://claude.ai/install.sh | bash43curl -fsSL https://claude.ai/install.sh | bash

44```44```

45 45 


47 47 

48**Windows PowerShell:**48**Windows PowerShell:**

49 49 

50```powershell theme={null}50```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

51irm https://claude.ai/install.ps1 | iex51irm https://claude.ai/install.ps1 | iex

52```52```

53 53 

54**Windows CMD:**54**Windows CMD:**

55 55 

56```batch theme={null}56```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

57curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd57curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

58```58```

59 59 


71 71 

72**Homebrew**72**Homebrew**

73 73 

74```bash theme={null}74```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

75brew install --cask claude-code75brew install --cask claude-code

76```76```

77 77 


83 83 

84**WinGet**84**WinGet**

85 85 

86```powershell theme={null}86```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}

87winget install Anthropic.ClaudeCode87winget install Anthropic.ClaudeCode

88```88```

89 89 


458 458 

459### npm으로 설치459### npm으로 설치

460 460 

461> [!NOTE]

462>

463> 셸에서 `npm --version`이 `12`로 시작하는 버전을 출력하면 대신 [npm 12 설치 문제 해결](https://code.claude.com/docs/ko/troubleshoot-install.md#fix-an-npm-12-install)을 따르세요. `sudo`로 설치하지 마세요. Claude Code는 자체 업데이트 시 `sudo` 없이 npm을 실행하므로, `sudo`가 필요한 설치는 자동으로 업데이트될 수 없습니다.

464 

461Claude Code를 전역 npm 패키지로 설치할 수도 있습니다. npm 패키지에는 [Node.js 22 이상](https://nodejs.org/en/download)이 필요합니다. 이전 Node.js 버전에서는 npm이 설치 중에 실패하는 대신 `EBADENGINE` 경고를 인쇄합니다. 설치가 완료되고 `claude`는 여전히 실행됩니다. 패키지가 런타임에 Node.js를 사용하지 않는 네이티브 바이너리를 다운로드하기 때문입니다.465Claude Code를 전역 npm 패키지로 설치할 수도 있습니다. npm 패키지에는 [Node.js 22 이상](https://nodejs.org/en/download)이 필요합니다. 이전 Node.js 버전에서는 npm이 설치 중에 실패하는 대신 `EBADENGINE` 경고를 인쇄합니다. 설치가 완료되고 `claude`는 여전히 실행됩니다. 패키지가 런타임에 Node.js를 사용하지 않는 네이티브 바이너리를 다운로드하기 때문입니다.

462 466 

463```bash theme={null}467```bash theme={null}

skills.md +1 −1

Details

404| `allowed-tools` | 아니요 | 이 스킬을 호출하는 턴 중에 Claude가 권한을 요청하지 않고 사용할 수 있는 도구입니다. 다음 메시지를 보낼 때 권한이 해제됩니다. 공백 또는 쉼표로 구분된 문자열 또는 YAML 목록을 허용합니다. [스킬에 대한 도구 사전 승인](#pre-approve-tools-for-a-skill)을 참조하세요. |404| `allowed-tools` | 아니요 | 이 스킬을 호출하는 턴 중에 Claude가 권한을 요청하지 않고 사용할 수 있는 도구입니다. 다음 메시지를 보낼 때 권한이 해제됩니다. 공백 또는 쉼표로 구분된 문자열 또는 YAML 목록을 허용합니다. [스킬에 대한 도구 사전 승인](#pre-approve-tools-for-a-skill)을 참조하세요. |

405| `disallowed-tools` | 아니요 | 이 스킬이 활성화되는 동안 Claude의 사용 가능한 도구 풀에서 제거되는 도구입니다. 백그라운드 루프에서의 `AskUserQuestion`처럼 특정 도구를 호출하지 않아야 하는 자율 스킬에 사용합니다. 공백 또는 쉼표로 구분된 문자열 또는 YAML 목록을 허용합니다. 다음 메시지를 보낼 때 제한이 해제됩니다. 거부 규칙과 마찬가지로 다른 도구가 남아 있는 동안 이 필드는 [`EndConversation`](https://code.claude.com/docs/ko/tools-reference#endconversation-tool-behavior)을 제거할 수 없습니다. |405| `disallowed-tools` | 아니요 | 이 스킬이 활성화되는 동안 Claude의 사용 가능한 도구 풀에서 제거되는 도구입니다. 백그라운드 루프에서의 `AskUserQuestion`처럼 특정 도구를 호출하지 않아야 하는 자율 스킬에 사용합니다. 공백 또는 쉼표로 구분된 문자열 또는 YAML 목록을 허용합니다. 다음 메시지를 보낼 때 제한이 해제됩니다. 거부 규칙과 마찬가지로 다른 도구가 남아 있는 동안 이 필드는 [`EndConversation`](https://code.claude.com/docs/ko/tools-reference#endconversation-tool-behavior)을 제거할 수 없습니다. |

406| `model` | 아니요 | 이 스킬이 활성화될 때 사용할 모델입니다. 재정의는 현재 턴의 나머지 부분에 적용되며 설정에 저장되지 않습니다. 다음 프롬프트를 보낼 때 세션 모델이 재개됩니다. [`/model`](https://code.claude.com/docs/ko/model-config)과 동일한 값을 허용하거나 활성 모델을 유지하려면 `inherit`을 허용합니다. 조직의 [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 허용 목록에서 제외된 값은 사용되지 않으며 세션은 현재 모델을 유지합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서, 그리고 [분류기가 명령을 검토하는 동안 플랜 모드](https://code.claude.com/docs/ko/permission-modes.md#analyze-before-you-edit-with-plan-mode)에서 자동 모드가 지원하지 않는 모델도 사용되지 않으며 세션은 현재 모델을 유지합니다. `context: fork`를 사용하면 값이 [포크된 서브에이전트의 모델](#run-skills-in-a-subagent)을 설정하고 제외된 값은 [서브에이전트 모델 재정의와 동일한 규칙을 따릅니다](https://code.claude.com/docs/ko/model-config.md#restrict-model-selection). |406| `model` | 아니요 | 이 스킬이 활성화될 때 사용할 모델입니다. 재정의는 현재 턴의 나머지 부분에 적용되며 설정에 저장되지 않습니다. 다음 프롬프트를 보낼 때 세션 모델이 재개됩니다. [`/model`](https://code.claude.com/docs/ko/model-config)과 동일한 값을 허용하거나 활성 모델을 유지하려면 `inherit`을 허용합니다. 조직의 [`availableModels`](https://code.claude.com/docs/ko/model-config#restrict-model-selection) 허용 목록에서 제외된 값은 사용되지 않으며 세션은 현재 모델을 유지합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서, 그리고 [분류기가 명령을 검토하는 동안 플랜 모드](https://code.claude.com/docs/ko/permission-modes.md#analyze-before-you-edit-with-plan-mode)에서 자동 모드가 지원하지 않는 모델도 사용되지 않으며 세션은 현재 모델을 유지합니다. `context: fork`를 사용하면 값이 [포크된 서브에이전트의 모델](#run-skills-in-a-subagent)을 설정하고 제외된 값은 [서브에이전트 모델 재정의와 동일한 규칙을 따릅니다](https://code.claude.com/docs/ko/model-config.md#restrict-model-selection). |

407| `effort` | 아니요 | 이 스킬이 활성화될 때의 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)입니다. 세션 effort 수준을 재정의합니다. 생략하면 [effort 결정 순서](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)에 따라 수준이 정해집니다. 옵션: `low`, `medium`, `high`, `xhigh`, `max`. 사용 가능한 수준은 모델에 따라 다릅니다. |407| `effort` | 아니요 | 현재 턴의 나머지 부분에 적용되는 [effort 수준](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)입니다. 세션 effort 수준을 재정의하지만 [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/ko/env-vars#variables) 환경 변수는 재정의하지 않습니다. `context: fork`를 사용하면 값이 대신 포크된 서브에이전트의 effort 수준을 설정합니다. 생략하면 [effort 결정 순서](https://code.claude.com/docs/ko/model-config.md#adjust-effort-level)에 따라 수준이 정해집니다. 옵션: `low`, `medium`, `high`, `xhigh`, `max`. 사용 가능한 수준은 모델에 따라 다릅니다. |

408| `context` | 아니요 | 포크된 서브에이전트 컨텍스트에서 실행하려면 `fork`로 설정합니다. [서브에이전트에서 스킬 실행](#run-skills-in-a-subagent)을 참조하세요. |408| `context` | 아니요 | 포크된 서브에이전트 컨텍스트에서 실행하려면 `fork`로 설정합니다. [서브에이전트에서 스킬 실행](#run-skills-in-a-subagent)을 참조하세요. |

409| `agent` | 아니요 | `context: fork`가 설정되었을 때 사용할 서브에이전트 유형입니다. |409| `agent` | 아니요 | `context: fork`가 설정되었을 때 사용할 서브에이전트 유형입니다. |

410| `background` | 아니요 | `context: fork`에만 적용됩니다. [백그라운드에서 실행](#run-skills-in-a-subagent)하는 대신 스킬을 호출한 턴에서 포크된 서브에이전트의 결과를 기다리려면 `false`로 설정합니다. 기본값: `true`. |410| `background` | 아니요 | `context: fork`에만 적용됩니다. [백그라운드에서 실행](#run-skills-in-a-subagent)하는 대신 스킬을 호출한 턴에서 포크된 서브에이전트의 결과를 기다리려면 `false`로 설정합니다. 기본값: `true`. |

slack.md +1 −1

Details

200 200 

201### Claude Tag 채널의 세션이 시작되지 않음201### Claude Tag 채널의 세션이 시작되지 않음

202 202 

203이 항목은 [Claude Tag](https://claude.com/docs/claude-tag/overview)를 사용하는 워크스페이스에 적용되며, 여기서 Claude는 조직의 공유 ID로 채널에서 작동하며 어떤 멤버의 계정으로도 작동하지 않습니다. [claude.ai/code](https://claude.ai/code)에서 채널의 클라우드 환경을 생성한 경우, 이는 개인 계정에 속하며 Claude는 개인 환경에서 채널 세션을 시작할 수 없습니다. Claude Code는 세션을 즉시 실패하며, 재시도해도 도움이 되지 않습니다.203이 항목은 [Claude Tag](https://claude.com/docs/claude-tag/overview)를 사용하는 워크스페이스에 적용됩니다. [claude.ai/code](https://claude.ai/code)에서 채널의 클라우드 환경을 생성한 경우, 이는 개인 계정에 속하며 Claude는 개인 환경에서 채널 세션을 시작할 수 없습니다. Claude Code는 세션을 즉시 실패하며, 재시도해도 도움이 되지 않습니다.

204 204 

205Owner인 경우 환경이 본인 것이면, [환경 선택기에서 조직과 공유합니다](https://code.claude.com/docs/ko/cloud-environments.md#organization-shared-environments). 그렇지 않으면 Owner가 [관리자 설정](https://claude.ai/admin-settings)의 **Cloud environments** 페이지에서 조직 공유 환경으로 다시 생성합니다.205Owner인 경우 환경이 본인 것이면, [환경 선택기에서 조직과 공유합니다](https://code.claude.com/docs/ko/cloud-environments.md#organization-shared-environments). 그렇지 않으면 Owner가 [관리자 설정](https://claude.ai/admin-settings)의 **Cloud environments** 페이지에서 조직 공유 환경으로 다시 생성합니다.

206 206 

statusline.md +1 −1

Details

188| `context_window.current_usage` | 마지막 API 호출의 토큰 수이며, [컨텍스트 윈도우 필드](#context-window-fields)에 설명되어 있습니다. |188| `context_window.current_usage` | 마지막 API 호출의 토큰 수이며, [컨텍스트 윈도우 필드](#context-window-fields)에 설명되어 있습니다. |

189| `exceeds_200k_tokens` | 가장 최근 API 응답의 총 토큰 수(입력, 캐시 및 출력 토큰 결합)가 200k를 초과하는지 여부입니다. 이는 실제 컨텍스트 윈도우 크기와 관계없이 고정된 임계값입니다. |189| `exceeds_200k_tokens` | 가장 최근 API 응답의 총 토큰 수(입력, 캐시 및 출력 토큰 결합)가 200k를 초과하는지 여부입니다. 이는 실제 컨텍스트 윈도우 크기와 관계없이 고정된 임계값입니다. |

190| `fast_mode` | 세션에 대해 [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md)가 활성화되어 있는지 여부입니다. |190| `fast_mode` | 세션에 대해 [빠른 모드](https://code.claude.com/docs/ko/fast-mode.md)가 활성화되어 있는지 여부입니다. |

191| `effort.level` | 현재 추론 노력(`low`, `medium`, `high`, `xhigh` 또는 `max`)입니다. 세션 중 `/effort` 변경을 포함한 라이브 세션 값을 반영합니다. 현재 모델이 노력 매개변수를 지원하지 않으면 없습니다. |191| `effort.level` | 세션에 설정된 추론 effort 수준(`low`, `medium`, `high`, `xhigh` 또는 `max`)이며, 스킬, 서브에이전트 또는 `ultrathink`가 설정한 수준은 아닙니다. 모델이 지원하지 않는 수준을 설정하면 Claude Code가 대신 실행한 수준이 표시됩니다. 변경한 수준은 [적용이 시작](https://code.claude.com/docs/ko/model-config.md#when-a-new-effort-level-starts)되기 전에도 여기에 표시됩니다. `CLAUDE_CODE_EFFORT_LEVEL`에 수준이 지정된 경우 해당 수준이 표시됩니다. 현재 모델이 effort 매개변수를 지원하지 않으면 없습니다. |

192| `thinking.enabled` | 세션에 대해 확장 사고가 활성화되어 있는지 여부입니다. |192| `thinking.enabled` | 세션에 대해 확장 사고가 활성화되어 있는지 여부입니다. |

193| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | 5시간 또는 7일 속도 제한의 0\~100 백분율입니다. |193| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | 5시간 또는 7일 속도 제한의 0\~100 백분율입니다. |

194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | 5시간 또는 7일 속도 제한 윈도우가 재설정되는 Unix epoch 초입니다. |194| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | 5시간 또는 7일 속도 제한 윈도우가 재설정되는 Unix epoch 초입니다. |

Details

72 72 

73Claude가 작업을 완료하거나 권한 프롬프트에서 일시 중지되었을 때, 사용자가 터미널에서 자리를 비운 것으로 보이면 알림 이벤트가 발생합니다. 각 알림 유형이 발생하는 정확한 시점은 [알림 유형별 발생 시점](https://code.claude.com/docs/ko/hooks.md#notification)을 참조하세요. 이를 터미널 벨 또는 데스크톱 알림으로 표시하면 긴 작업이 실행되는 동안 다른 작업으로 전환할 수 있습니다.73Claude가 작업을 완료하거나 권한 프롬프트에서 일시 중지되었을 때, 사용자가 터미널에서 자리를 비운 것으로 보이면 알림 이벤트가 발생합니다. 각 알림 유형이 발생하는 정확한 시점은 [알림 유형별 발생 시점](https://code.claude.com/docs/ko/hooks.md#notification)을 참조하세요. 이를 터미널 벨 또는 데스크톱 알림으로 표시하면 긴 작업이 실행되는 동안 다른 작업으로 전환할 수 있습니다.

74 74 

75기본적으로 Claude Code는 Ghostty, Kitty, iTerm2에서만 데스크톱 알림을 전송합니다. 다른 터미널에서는 [`preferredNotifChannel`](https://code.claude.com/docs/ko/settings-reference#preferrednotifchannel)을 `"terminal_bell"`로 설정하여 터미널 벨을 울리거나, 사용자 정의 소리나 명령을 위해 [Notification 훅](#play-a-sound-with-a-notification-hook)을 구성하세요. 다음 설정 항목은 터미널 벨을 켭니다:75기본적으로 Claude Code는 일부 터미널에서는 데스크톱 알림을 전송하고, 다른 터미널에서는 벨 문자를 전송하거나 아무것도 전송하지 않습니다:

76 

77* **Ghostty, Kitty, iTerm2**: 데스크톱 알림을 전송하며, iTerm2는 알림 설정을 켠 후에만 이를 표시합니다.

78* **Apple Terminal**: 소리가 나지 않습니다. Claude Code가 맨 앞 Terminal 창의 프로필에서 "Audible bell"이 꺼져 있음을 확인하면 무음 벨 문자를 전송하고, 그렇지 않으면 아무것도 전송하지 않습니다. 해당 프로필의 "Visual bell" 또는 Dock 바운스 옵션이 켜져 있으면 이 벨 문자는 창 깜박임으로 표시되거나, Terminal이 백그라운드에 있는 동안에는 Dock 바운스로 표시됩니다.

79* **기타 터미널**: 아무것도 전송하지 않습니다.

80 

81터미널이나 프로필에 관계없이 Claude Code가 벨 문자를 전송하도록 하려면 [`preferredNotifChannel`](https://code.claude.com/docs/ko/settings-reference#preferrednotifchannel)을 `"terminal_bell"`로 설정하세요. Apple Terminal에서는 소리를 들으려면 **설정 > 프로필 > 고급**에서 **Audible bell**도 켜야 합니다. 다음 설정 항목은 채널을 설정합니다:

76 82 

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

78{84{

Details

995 995 

996### WSL에서 npm 설치 오류996### WSL에서 npm 설치 오류

997 997 

998이러한 문제는 WSL 내에서 `npm install -g`로 Claude Code를 설치한 경우 적용됩니다. [네이티브 설치 프로그램](https://code.claude.com/docs/ko/setup.md)을 사용한 경우 이 섹션을 건너뜁니다.998이러한 문제는 WSL 내에서 `npm install -g`로 Claude Code를 설치한 경우 적용됩니다. [네이티브 설치 프로그램](https://code.claude.com/docs/ko/setup.md)을 사용한 경우 이 섹션을 건너뜁니다. npm 12에서는 [npm 12 설치 수정](#fix-an-npm-12-install)에 설명된 대로 설치합니다.

999 999 

1000**OS 또는 플랫폼 감지 문제.** npm이 설치 중에 플랫폼 불일치를 보고하면 WSL이 Windows `npm`을 선택하고 있을 가능성이 높습니다. 먼저 `npm config set os linux`를 실행한 다음 `npm install -g @anthropic-ai/claude-code --force`로 설치합니다. `sudo`를 사용하지 마세요.1000**OS 또는 플랫폼 감지 문제.** npm이 설치 중에 플랫폼 불일치를 보고하면 WSL이 Windows `npm`을 선택하고 있을 가능성이 높습니다. 먼저 `npm config set os linux`를 실행한 다음 `npm install -g @anthropic-ai/claude-code --force`로 설치합니다. `sudo`를 사용하지 마세요.

1001 1001 


1037 1037 

1038### npm 설치 후 네이티브 바이너리를 찾을 수 없습니다1038### npm 설치 후 네이티브 바이너리를 찾을 수 없습니다

1039 1039 

1040`@anthropic-ai/claude-code` npm 패키지는 `@anthropic-ai/claude-code-darwin-arm64`와 같은 플랫폼별 선택적 의존성으로 네이티브 바이너리를 다운로드합니다. npm은 패키지의 postinstall 스크립트를 실행하여 해당 바이너리를 `claude` 명령으로 제자리에 복사합니다. 실행될 때까지 `claude`는 자리 표시자 스크립트입니다. 다운로드 또는 postinstall 단계 중 하나가 건너뛰어지면 자리 표시자가 제자리에 남아 있으며 macOS 및 Linux에서 `claude`를 실행하면 다음이 출력됩니다.1040`@anthropic-ai/claude-code` npm 패키지는 `@anthropic-ai/claude-code-darwin-arm64`와 같은 플랫폼별 선택적 의존성으로 네이티브 바이너리를 다운로드합니다. `@anthropic-ai/claude-code` 패키지의 postinstall 단계가 실행되어 자리 표시자를 해당 바이너리로 교체하기 전까지 `claude`는 자리 표시자 스크립트입니다. 다운로드 또는 postinstall 단계 중 하나가 건너뛰어지면 자리 표시자가 제자리에 남아 있으며 macOS 및 Linux에서 `claude`를 실행하면 다음이 출력됩니다.

1041 1041 

1042```text theme={null}1042```text theme={null}

1043Error: claude native binary not installed.1043Error: claude native binary not installed.


1056 1056 

1057다음 원인을 확인합니다.1057다음 원인을 확인합니다.

1058 1058 

1059* **npm 12는 기본적으로 postinstall 단계를 건너뜀.** npm 12로 Claude Code를 설치하거나 업데이트하면 npm은 이 단계를 실행하지 않고도 설치를 완료합니다. [npm 12 설치 수정](#fix-an-npm-12-install)을 참조하세요.

1059* **선택적 의존성이 비활성화됨.** npm 설치 명령에서 `--omit=optional`을 제거하고 pnpm에서 `--no-optional`을 제거하고 yarn에서 `--ignore-optional`을 제거하고 `.npmrc`가 `optional=false`를 설정하지 않는지 확인합니다. 그런 다음 다시 설치합니다. 네이티브 바이너리는 선택적 의존성으로만 제공되므로 건너뛰어지면 JavaScript 폴백이 없으며 `install.cjs`를 다시 실행해도 다운로드되지 않은 바이너리를 배치할 수 없습니다.1060* **선택적 의존성이 비활성화됨.** npm 설치 명령에서 `--omit=optional`을 제거하고 pnpm에서 `--no-optional`을 제거하고 yarn에서 `--ignore-optional`을 제거하고 `.npmrc`가 `optional=false`를 설정하지 않는지 확인합니다. 그런 다음 다시 설치합니다. 네이티브 바이너리는 선택적 의존성으로만 제공되므로 건너뛰어지면 JavaScript 폴백이 없으며 `install.cjs`를 다시 실행해도 다운로드되지 않은 바이너리를 배치할 수 없습니다.

1060* **설치 스크립트가 비활성화됨.** `--ignore-scripts` 및 일부 pnpm 구성은 postinstall 단계를 건너뛰지만 여전히 플랫폼 패키지를 다운로드합니다. 메시지가 제안하는 대로 `node node_modules/@anthropic-ai/claude-code/install.cjs`를 실행하거나 플래그 없이 다시 설치합니다. postinstall이 환경에서 실행될 수 없으면 `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs`가 다운로드된 패키지를 찾고 시작하며, 각 시작 시 추가 Node 프로세스의 비용이 발생합니다. 래퍼가 `Could not find native binary package`를 출력하면 플랫폼 패키지가 다운로드되지 않았으므로 먼저 위의 선택적 의존성 원인을 수정합니다.1061* **설치 스크립트가 비활성화됨.** `--ignore-scripts` 및 일부 pnpm 구성은 postinstall 단계를 건너뛰지만 여전히 플랫폼 패키지를 다운로드합니다. 메시지가 제안하는 대로 `node node_modules/@anthropic-ai/claude-code/install.cjs`를 실행하거나 플래그 없이 다시 설치합니다. postinstall이 환경에서 실행될 수 없으면 `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs`가 다운로드된 패키지를 찾고 시작하며, 각 시작 시 추가 Node 프로세스의 비용이 발생합니다. 래퍼가 `Could not find native binary package`를 출력하면 플랫폼 패키지가 다운로드되지 않았으므로 먼저 위의 선택적 의존성 원인을 수정합니다.

1061* **지원되지 않는 플랫폼.** 미리 빌드된 바이너리는 `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64` 및 `win32-arm64`에 대해 게시됩니다. Claude Code는 다른 플랫폼에 대한 바이너리를 제공하지 않습니다. [시스템 요구 사항](https://code.claude.com/docs/ko/setup.md#system-requirements)을 참조하세요. FreeBSD에서 설치 프로그램은 플랫폼을 지원되지 않는 것으로 보고합니다. v2.1.205 이전에는 FreeBSD를 Linux로 취급하고 실행할 수 없는 바이너리를 다운로드했습니다.1062* **지원되지 않는 플랫폼.** 미리 빌드된 바이너리는 `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64` 및 `win32-arm64`에 대해 게시됩니다. Claude Code는 다른 플랫폼에 대한 바이너리를 제공하지 않습니다. [시스템 요구 사항](https://code.claude.com/docs/ko/setup.md#system-requirements)을 참조하세요. FreeBSD에서 설치 프로그램은 플랫폼을 지원되지 않는 것으로 보고합니다. v2.1.205 이전에는 FreeBSD를 Linux로 취급하고 실행할 수 없는 바이너리를 다운로드했습니다.

1062* **회사 npm 미러가 플랫폼 패키지를 누락함.** 레지스트리가 메타 패키지 외에도 8개의 `@anthropic-ai/claude-code-*` 플랫폼 패키지를 모두 미러링하는지 확인합니다.1063* **회사 npm 미러가 플랫폼 패키지를 누락함.** 레지스트리가 메타 패키지 외에도 8개의 `@anthropic-ai/claude-code-*` 플랫폼 패키지를 모두 미러링하는지 확인합니다.

1063 1064 

1065#### npm 12 설치 수정

1066 

1067npm 설치 또는 업데이트 후 `claude`가 `Error: claude native binary not installed.`를 출력하거나 Windows에서 셸이 이를 실행할 수 없으면 `npm --version`을 실행합니다. 버전이 `12`로 시작하면 npm 설정에서 허용하지 않는 한 npm이 바이너리를 제자리에 배치하는 Claude Code의 postinstall 단계를 건너뛴 것입니다. 다른 버전이면 [다른 원인](#native-binary-not-found-after-npm-install)을 확인합니다.

1068 

1069npm 12 설치를 수정하려면 네이티브 설치 프로그램으로 전환하거나 해당 단계를 허용합니다.

1070 

1071* **네이티브 설치 프로그램으로 전환**: [네이티브 설치 프로그램으로 설치](https://code.claude.com/docs/ko/setup.md#install-claude-code)한 다음 [npm 패키지를 제거](https://code.claude.com/docs/ko/setup.md#uninstall-with-npm)합니다. 이후 업데이트는 npm을 사용하지 않으므로 오류가 다시 발생하지 않습니다.

1072* **npm 계속 사용**: 전역 npm 설치의 경우 사용자 npm 설정의 `allow-scripts`에 Claude Code를 추가합니다. 그러면 npm은 이후의 모든 설치 및 업데이트와 `package.json`에 `allowScripts`가 설정되지 않은 프로젝트 설치에서 Claude Code의 설치 스크립트를 실행합니다.

1073 

1074 `~/.claude/local`의 로컬 설치에는 네이티브 설치 프로그램을 사용합니다. `package.json` 스크립트가 `npm install`을 호출하고 이를 pnpm 9, pnpm 10, Yarn 1 또는 이 설정을 해당 스크립트에 전달하는 다른 도구로 실행하는 경우에도 네이티브 설치 프로그램을 사용합니다. npm 12.1 이상에서는 설정이 저장되면 이러한 설치가 `EALLOWSCRIPTS`로 실패할 수 있습니다.

1075 

1076 1. `npm --version`이 12.0.x를 출력했다면 `npm install -g npm@latest` 등으로 npm을 12.1 이상으로 업데이트합니다. 12.0.x에서는 설정이 저장되면 `npx` 도구나 `npm run` 스크립트가 시작하는 프로젝트 설치가 `EALLOWSCRIPTS`로 실패할 수 있습니다.

1077 

1078 2. 다음 명령이 전체 값을 교체하므로 `npm config get allow-scripts`를 실행하여 나열되는 패키지를 기록해 둡니다. `"allow-scripts=@anthropic-ai/claude-code,<package>"`처럼 해당 패키지를 따옴표 안에 포함하여 설정을 저장합니다.

1079 

1080 ```bash theme={null}

1081 npm config set "allow-scripts=@anthropic-ai/claude-code" --location=user

1082 ```

1083 

1084 3. 다시 설치합니다.

1085 

1086 ```bash theme={null}

1087 npm install -g @anthropic-ai/claude-code

1088 ```

1089 

1090 이 단계나 1단계가 `EACCES`로 실패하면 `sudo`로 다시 실행하지 말고 네이티브 설치 프로그램으로 전환합니다. Claude Code는 자체 업데이트 시 `sudo` 없이 npm을 실행하므로 자동 업데이트도 같은 방식으로 실패하게 됩니다.

1091 

1092 4. `claude --version`이 버전 번호를 출력하지 않으면 [다른 원인](#native-binary-not-found-after-npm-install)을 확인합니다.

1093 

1094 되돌리려면 `@anthropic-ai/claude-code`를 제외하고 목록을 다시 설정하거나 `npm config delete allow-scripts --location=user`로 전체 목록을 제거합니다. npm 12에서는 그 후 다음 업데이트 이후 오류가 다시 발생합니다.

1095 

1064### npm 업데이트 또는 재설치 중 `ENOTEMPTY` 오류1096### npm 업데이트 또는 재설치 중 `ENOTEMPTY` 오류

1065 1097 

1066기존 설치에 대해 `npm install -g @anthropic-ai/claude-code`를 실행하면 npm이 이전 패키지 디렉터리를 옆으로 이동하는 동안 실패할 수 있습니다.1098기존 설치에 대해 `npm install -g @anthropic-ai/claude-code`를 실행하면 npm이 이전 패키지 디렉터리를 옆으로 이동하는 동안 실패할 수 있습니다.


1094Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"1126Remove-Item -Recurse -Force "$(npm root -g)/@anthropic-ai/claude-code", "$(npm root -g)/@anthropic-ai/.claude-code-*"

1095```1127```

1096 1128 

1097그런 다음 다시 설치합니다.1129그런 다음 다시 설치합니다. npm 12에서는 [npm 12 설치 수정](#fix-an-npm-12-install)을 따릅니다. 그 외의 경우 다음을 실행합니다.

1098 1130 

1099```bash theme={null}1131```bash theme={null}

1100npm install -g @anthropic-ai/claude-code1132npm install -g @anthropic-ai/claude-code

ultrareview.md +2 −2

Details

133 133 

134## 실행 중인 리뷰 추적134## 실행 중인 리뷰 추적

135 135 

136리뷰는 일반적으로 15\~25분이 소요됩니다. 리뷰는 백그라운드 작업으로 실행되므로 세션에서 계속 작업하거나 다른 명령을 시작할 수 있습니다. [발견 사항을 풀 리퀘스트에 게시](#post-findings-to-the-pull-request)하도록 선택한 경우 리뷰가 완료될 때까지 세션을 열어 두십시오. 세션이 먼저 종료되면 Claude Code는 아무것도 게시하지 않습니다.136리뷰는 일반적으로 5\~15분이 소요됩니다. 리뷰는 백그라운드 작업으로 실행되므로 세션에서 계속 작업하거나 다른 명령을 시작할 수 있습니다. [발견 사항을 풀 리퀘스트에 게시](#post-findings-to-the-pull-request)하도록 선택한 경우 리뷰가 완료될 때까지 세션을 열어 두십시오. 세션이 먼저 종료되면 Claude Code는 아무것도 게시하지 않습니다.

137 137 

138`/tasks`를 사용하여 실행 중이고 완료된 리뷰를 보고, 리뷰의 상세 보기를 열거나, 진행 중인 리뷰를 중지합니다. 리뷰를 중지하면 Claude Code는 클라우드 세션을 보관하고 부분 발견 사항은 반환하지 않습니다.138`/tasks`를 사용하여 실행 중이고 완료된 리뷰를 보고, 리뷰의 상세 보기를 열거나, 진행 중인 리뷰를 중지합니다. 리뷰를 중지하면 Claude Code는 클라우드 세션을 보관하고 부분 발견 사항은 반환하지 않습니다.

139 139 


211| 대상 | 작업 중인 diff, 풀 요청, 브랜치 또는 경로 | 작업 중인 diff 또는 풀 요청 |211| 대상 | 작업 중인 diff, 풀 요청, 브랜치 또는 경로 | 작업 중인 diff 또는 풀 요청 |

212| 실행 | 세션에서 로컬로 | 클라우드 샌드박스에서 |212| 실행 | 세션에서 로컬로 | 클라우드 샌드박스에서 |

213| 깊이 | 노력 인수에 따라 확장 | 독립적 검증이 있는 다중 에이전트 플릿 |213| 깊이 | 노력 인수에 따라 확장 | 독립적 검증이 있는 다중 에이전트 플릿 |

214| 기간 | 몇 초에서 몇 분 | 대략 15\~25분 |214| 기간 | 몇 초에서 몇 분 | 대략 5\~15분 |

215| 비용 | 일반 사용량으로 계산됨 | 무료 실행, 그 후 대략 $5~$25 사용량 크레딧 |215| 비용 | 일반 사용량으로 계산됨 | 무료 실행, 그 후 대략 $5~$25 사용량 크레딧 |

216| 최적 용도 | 반복하는 동안 빠른 피드백 | 실질적인 변경 사항을 병합하기 전에 신뢰도 향상 |216| 최적 용도 | 반복하는 동안 빠른 피드백 | 실질적인 변경 사항을 병합하기 전에 신뢰도 향상 |

217 217