6 6
7> Claude Code가 사용할 수 있는 도구의 완전한 참조로, 권한 요구사항 및 도구별 동작을 포함합니다.7> Claude Code가 사용할 수 있는 도구의 완전한 참조로, 권한 요구사항 및 도구별 동작을 포함합니다.
8 8
9Claude Code는 코드베이스를 이해하고 수정하는 데 도움이 되는 기본 제공 도구 세트에 액세스할 수 있습니다. 도구 이름은 [권한 규칙](/docs/ko/permissions.md#tool-specific-permission-rules), [서브에이전트 도구 목록](/docs/ko/sub-agents.md), 및 [훅 매처](/docs/ko/hooks.md)에서 사용하는 정확한 문자열입니다.9Claude Code는 코드베이스를 이해하고 수정하는 데 도움이 되는 기본 제공 도구 세트에 액세스할 수 있습니다. 도구 이름은 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#tool-specific-permission-rules), [서브에이전트 도구 목록](https://code.claude.com/docs/ko/sub-agents.md), 및 [훅 매처](https://code.claude.com/docs/ko/hooks.md)에서 사용하는 정확한 문자열입니다.
10 10
11Claude가 사용할 수 있는 도구와 먼저 요청할 시기를 제어하려면 설정, [훅](/docs/ko/hooks.md) 또는 [서브에이전트의 도구 목록](/docs/ko/sub-agents.md#supported-frontmatter-fields)에서 [권한 규칙](/docs/ko/permissions.md#tool-specific-permission-rules)을 구성합니다. 도구 이름을 허용하는 각 위치는 [권한 규칙 및 훅으로 도구 구성](#configure-tools-with-permission-rules-and-hooks)을 참조하세요.11Claude가 사용할 수 있는 도구와 먼저 요청할 시기를 제어하려면 설정, [훅](https://code.claude.com/docs/ko/hooks.md) 또는 [서브에이전트의 도구 목록](https://code.claude.com/docs/ko/sub-agents.md#supported-frontmatter-fields)에서 [권한 규칙](https://code.claude.com/docs/ko/permissions.md#tool-specific-permission-rules)을 구성합니다. 도구 이름을 허용하는 각 위치는 [권한 규칙 및 훅으로 도구 구성](#configure-tools-with-permission-rules-and-hooks)을 참조하세요.
12 12
13사용자 정의 도구를 추가하려면 [MCP 서버](/docs/ko/mcp.md)를 연결합니다. 재사용 가능한 프롬프트 기반 워크플로우로 Claude를 확장하려면 [스킬](/docs/ko/skills.md)을 작성합니다. 이는 새 도구 항목을 추가하는 대신 기존 `Skill` 도구를 통해 실행됩니다.13사용자 정의 도구를 추가하려면 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)를 연결합니다. 재사용 가능한 프롬프트 기반 워크플로우로 Claude를 확장하려면 [스킬](https://code.claude.com/docs/ko/skills.md)을 작성합니다. 이는 새 도구 항목을 추가하는 대신 기존 `Skill` 도구를 통해 실행됩니다.
14 14
15> [!NOTE]15> [!NOTE]
16>16>
17> [자동 모드](/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서 분류기가 대부분의 권한 프롬프트를 사용자 대신 결정합니다. `권한 필요` 열은 작업 디렉토리 내의 경로에 대해 [수동 모드](/docs/ko/permission-modes.md)에서 도구가 프롬프트하는지 여부를 보여줍니다. `Read`, `Grep` 및 `Glob`을 포함한 파일 액세스 도구는 아니오로 표시되지만 [작업 디렉토리 및 추가 디렉토리](/docs/ko/permissions.md#working-directories) 외부의 경로에 대해 여전히 프롬프트합니다. `Bash`는 예로 표시되지만 프롬프트 없이 기본 제공 [읽기 전용 명령](/docs/ko/permissions.md#read-only-commands) 세트를 실행합니다.17> [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서 분류기가 대부분의 권한 프롬프트를 사용자 대신 결정합니다. `권한 필요` 열은 작업 디렉토리 내의 경로에 대해 [수동 모드](https://code.claude.com/docs/ko/permission-modes.md)에서 도구가 프롬프트하는지 여부를 보여줍니다. `Read`, `Grep` 및 `Glob`을 포함한 파일 액세스 도구는 아니오로 표시되지만 [작업 디렉토리 및 추가 디렉토리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 경로에 대해 여전히 프롬프트합니다. `Bash`는 예로 표시되지만 프롬프트 없이 기본 제공 [읽기 전용 명령](https://code.claude.com/docs/ko/permissions.md#read-only-commands) 세트를 실행합니다.
18 18
19| 도구 | 설명 | 권한 필요 |19| 도구 | 설명 | 권한 필요 |
20| :- | :- | :- |20| :- | :- | :- |
21| `Agent` | 작업을 처리하기 위해 자체 컨텍스트 윈도우가 있는 [서브에이전트](/docs/ko/sub-agents.md)를 생성합니다. [에이전트 팀](/docs/ko/agent-teams.md)이 활성화된 경우, `name`을 전달하는 호출은 [팀원](/docs/ko/agent-teams.md#how-claude-starts-agent-teams)을 시작할 수 있습니다. [Agent 도구 동작](#agent-tool-behavior)을 참조하세요 | 아니오 |21| `Agent` | 작업을 처리하기 위해 자체 컨텍스트 윈도우가 있는 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)를 생성합니다. [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md)이 활성화된 경우, `name`을 전달하는 호출은 [팀원](https://code.claude.com/docs/ko/agent-teams.md#how-claude-starts-agent-teams)을 시작할 수 있습니다. [Agent 도구 동작](#agent-tool-behavior)을 참조하세요 | 아니오 |
22| `Artifact` | HTML 또는 Markdown 파일을 [아티팩트](/docs/ko/artifacts.md)로 게시합니다. claude.ai의 비공개 대화형 페이지입니다. 공개 링크로 공유하거나 Team 및 Enterprise 플랜에서 조직 내에서 공유할 수 있습니다. 공개 공유는 Owner가 [활성화](/docs/ko/artifacts.md#control-public-sharing)해야 합니다. Pro, Max, Team 또는 Enterprise 플랜이 필요하며 `/login` 인증이 필요합니다. [가용성](/docs/ko/artifacts.md#availability)을 참조하세요 | 예 |22| `Artifact` | HTML 또는 Markdown 파일을 [아티팩트](https://code.claude.com/docs/ko/artifacts.md)로 게시합니다. claude.ai의 비공개 대화형 페이지입니다. 공개 링크로 공유하거나 Team 및 Enterprise 플랜에서는 조직 내에서 공유할 수 있으며, 이 플랜에서는 Owner가 공개 공유를 [활성화](https://code.claude.com/docs/ko/artifacts.md#control-public-sharing)해야 합니다. Pro, Max, Team 또는 Enterprise 플랜이 필요하며 `/login` 인증이 필요합니다. [가용성](https://code.claude.com/docs/ko/artifacts.md#availability)을 참조하세요 | 예 |
23| `AskUserQuestion` | 요구사항을 수집하거나 모호함을 명확히 하기 위해 객관식 질문을 합니다. 질문은 기본적으로 답변할 때까지 열려 있습니다. [AskUserQuestion 도구 동작](#askuserquestion-tool-behavior)을 참조하세요 | 아니오 |23| `AskUserQuestion` | 요구사항을 수집하거나 모호함을 명확히 하기 위해 객관식 질문을 합니다. 질문은 기본적으로 답변할 때까지 열려 있습니다. [AskUserQuestion 도구 동작](#askuserquestion-tool-behavior)을 참조하세요 | 아니오 |
24| `Bash` | 환경에서 셸 명령을 실행합니다. [Bash 도구 동작](#bash-tool-behavior)을 참조하세요 | 예 |24| `Bash` | 환경에서 셸 명령을 실행합니다. [Bash 도구 동작](#bash-tool-behavior)을 참조하세요 | 예 |
25| `CronCreate` | 현재 세션 내에서 반복 또는 일회성 프롬프트를 예약합니다. 작업은 세션 범위이며 만료되지 않은 경우 `--resume` 또는 `--continue`에서 복원됩니다. [세션 범위 예약 작업](/docs/ko/scheduled-tasks.md)을 참조하세요 | 아니오 |25| `CronCreate` | 현재 세션 내에서 반복 또는 일회성 프롬프트를 예약합니다. 작업은 세션 범위이며 만료되지 않은 경우 `--resume` 또는 `--continue`에서 복원됩니다. [세션 범위 예약 작업](https://code.claude.com/docs/ko/scheduled-tasks.md)을 참조하세요 | 아니오 |
26| `CronDelete` | ID로 세션 범위 예약 작업을 취소합니다 | 아니오 |26| `CronDelete` | ID로 세션 범위 예약 작업을 취소합니다 | 아니오 |
27| `CronList` | 모든 세션 범위 예약 작업을 나열합니다 | 아니오 |27| `CronList` | 모든 세션 범위 예약 작업을 나열합니다 | 아니오 |
28| `Edit` | 특정 파일에 대한 대상 편집을 수행합니다. [Edit 도구 동작](#edit-tool-behavior)을 참조하세요 | 예 |28| `Edit` | 특정 파일에 대한 대상 편집을 수행합니다. [Edit 도구 동작](#edit-tool-behavior)을 참조하세요 | 예 |
29| `EndConversation` | 지속적인 학대 입력이 있는 드문 경우 또는 Claude에게 도구를 시연하도록 요청할 때 세션을 종료합니다. [EndConversation 도구 동작](#endconversation-tool-behavior)을 참조하세요 | 아니오 |29| `EndConversation` | 지속적인 학대 입력이 있는 드문 경우 또는 Claude에게 도구를 시연하도록 요청할 때 세션을 종료합니다. [EndConversation 도구 동작](#endconversation-tool-behavior)을 참조하세요 | 아니오 |
30| `EnterPlanMode` | 코딩 전에 접근 방식을 설계하기 위해 계획 모드로 전환합니다 | 아니오 |30| `EnterPlanMode` | 코딩 전에 접근 방식을 설계하기 위해 계획 모드로 전환합니다 | 아니오 |
31| `EnterWorktree` | 격리된 [git worktree](/docs/ko/worktrees.md)를 생성하고 이를 전환합니다. 새 worktree를 생성하는 대신 기존 worktree로 전환하려면 `path`를 전달합니다. 처음 진입할 때 대상은 현재 저장소의 worktree이거나 다중 저장소 작업 공간에서 그 안에 중첩된 저장소의 worktree일 수 있습니다. v2.1.203 이전에는 중첩된 저장소의 worktree가 거부되었습니다. `.claude/worktrees/` 외부의 `path`는 세션의 작업 디렉토리와 쓰기 액세스를 해당 위치로 이동하므로 진입하기 전에 승인을 요청합니다. 새 worktree 생성 및 `.claude/worktrees/` 아래의 경로는 프롬프트하지 않습니다. v2.1.206 이전에는 Claude가 `.claude/worktrees/` 외부의 경로에 프롬프트 없이 진입했습니다. worktree 세션 내에서 또는 [`isolation: worktree`](/docs/ko/sub-agents#supported-frontmatter-fields)와 같은 고정된 작업 디렉토리가 있는 서브에이전트에서는 `path` 형식만 사용 가능하며 대상은 세션의 저장소의 `.claude/worktrees/` 아래에 있어야 합니다 | 예 |31| `EnterWorktree` | 격리된 [git worktree](https://code.claude.com/docs/ko/worktrees.md)를 생성하고 이를 전환합니다. 새 worktree를 생성하는 대신 기존 worktree로 전환하려면 `path`를 전달합니다. 처음 진입할 때 대상은 현재 저장소의 worktree이거나 다중 저장소 작업 공간에서 그 안에 중첩된 저장소의 worktree일 수 있습니다. v2.1.203 이전에는 중첩된 저장소의 worktree가 거부되었습니다. `.claude/worktrees/` 외부의 `path`는 세션의 작업 디렉토리와 쓰기 액세스를 해당 위치로 이동하므로 진입하기 전에 승인을 요청합니다. 새 worktree 생성 및 `.claude/worktrees/` 아래의 경로는 프롬프트하지 않습니다. v2.1.206 이전에는 Claude가 `.claude/worktrees/` 외부의 경로에 프롬프트 없이 진입했습니다. worktree 세션 내에서 또는 [`isolation: worktree`](https://code.claude.com/docs/ko/sub-agents#supported-frontmatter-fields)와 같은 고정된 작업 디렉토리가 있는 서브에이전트에서는 `path` 형식만 사용 가능하며 대상은 세션의 저장소의 `.claude/worktrees/` 아래에 있어야 합니다 | 예 |
32| `ExitPlanMode` | 승인을 위한 계획을 제시하고 계획 모드를 종료합니다 | 예 |32| `ExitPlanMode` | 승인을 위한 계획을 제시하고 계획 모드를 종료합니다 | 예 |
33| `ExitWorktree` | worktree 세션을 종료하고 원래 디렉토리로 돌아갑니다. [`isolation: worktree`](/docs/ko/sub-agents#supported-frontmatter-fields)와 같이 자체 작업 디렉토리에서 이미 실행되는 서브에이전트는 사용할 수 없습니다 | 아니오 |33| `ExitWorktree` | worktree 세션을 종료하고 원래 디렉토리로 돌아갑니다. [`isolation: worktree`](https://code.claude.com/docs/ko/sub-agents#supported-frontmatter-fields)와 같이 자체 작업 디렉토리에서 이미 실행되는 서브에이전트는 사용할 수 없습니다 | 아니오 |
34| `Glob` | 패턴 매칭을 기반으로 파일을 찾습니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Glob 도구 동작](#glob-tool-behavior)을 참조하세요 | 아니오 |34| `Glob` | 패턴 매칭을 기반으로 파일을 찾습니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Glob 도구 동작](#glob-tool-behavior)을 참조하세요 | 아니오 |
35| `Grep` | 파일 내용에서 패턴을 검색합니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Grep 도구 동작](#grep-tool-behavior)을 참조하세요 | 아니오 |35| `Grep` | 파일 내용에서 패턴을 검색합니다. macOS, Linux 및 WSL에서 기본적으로 없습니다. [Grep 도구 동작](#grep-tool-behavior)을 참조하세요 | 아니오 |
36| `ListAgents` | Claude가 `SendMessage`로 메시지를 보낼 수 있는 에이전트를 나열합니다. 세션의 서브에이전트, [에이전트 팀](/docs/ko/agent-teams.md) 팀원, 다른 로컬 Claude Code 세션, 그리고 이 세션이 [Remote Control](/docs/ko/remote-control.md)에 연결되어 있는 동안 [웹의 Claude Code](/docs/ko/claude-code-on-the-web.md) 세션 및 다른 머신의 Remote Control 세션입니다. `/list-agents` 명령을 지원합니다. [크로스 세션 메시징](/docs/ko/cross-session-messaging.md)을 참조하세요. Claude Code v2.1.224 이상이 필요하며 [크로스 세션 메시징이 활성화된](/docs/ko/cross-session-messaging.md#availability) 세션에만 나타납니다. 팀원 행 및 이 세션의 자체 이름을 보여주는 첫 번째 줄은 v2.1.239 이상이 필요합니다 | 아니오 |36| `ListAgents` | Claude가 `SendMessage`로 메시지를 보낼 수 있는 에이전트를 나열합니다. 세션의 서브에이전트, [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원, 다른 로컬 Claude Code 세션, 그리고 이 세션이 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)에 연결되어 있는 동안 [웹의 Claude Code](https://code.claude.com/docs/ko/claude-code-on-the-web.md) 세션 및 다른 머신의 Remote Control 세션입니다. `/list-agents` 명령을 지원합니다. [크로스 세션 메시징](https://code.claude.com/docs/ko/cross-session-messaging.md)을 참조하세요. Claude Code v2.1.224 이상이 필요하며 [크로스 세션 메시징이 활성화된](https://code.claude.com/docs/ko/cross-session-messaging.md#availability) 세션에만 나타납니다. 팀원 행 및 이 세션의 자체 이름을 보여주는 첫 번째 줄은 v2.1.239 이상이 필요합니다 | 아니오 |
37| `ListMcpResourcesTool` | 연결된 [MCP 서버](/docs/ko/mcp.md)에서 노출한 리소스를 나열합니다. [MCP Apps UI 리소스](/docs/ko/mcp.md#reference-mcp-resources)는 제외합니다. 이는 호스트 애플리케이션이 렌더링할 페이지입니다 | 아니오 |37| `ListMcpResourcesTool` | 연결된 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)에서 노출한 리소스를 나열합니다. [MCP Apps UI 리소스](https://code.claude.com/docs/ko/mcp.md#reference-mcp-resources)는 제외합니다. 이는 호스트 애플리케이션이 렌더링할 페이지입니다 | 아니오 |
38| `LSP` | 언어 서버를 통한 코드 인텔리전스: 정의로 이동, 참조 찾기, 유형 오류 및 경고 보고. [LSP 도구 동작](#lsp-tool-behavior)을 참조하세요 | 아니오 |38| `LSP` | 언어 서버를 통한 코드 인텔리전스: 정의로 이동, 참조 찾기, 유형 오류 및 경고 보고. [LSP 도구 동작](#lsp-tool-behavior)을 참조하세요 | 아니오 |
39| `Monitor` | 백그라운드에서 명령을 실행하고 각 출력 줄을 Claude에게 다시 피드하므로 로그 항목, 파일 변경 또는 폴링된 상태에 대화 중에 반응할 수 있습니다. WebSocket을 열고 각 수신 메시지를 이벤트로 처리할 수도 있습니다. [Monitor 도구](#monitor-tool)를 참조하세요 | 예 |39| `Monitor` | 백그라운드에서 명령을 실행하고 각 출력 줄을 Claude에게 다시 피드하므로 로그 항목, 파일 변경 또는 폴링된 상태에 대화 중에 반응할 수 있습니다. WebSocket을 열고 각 수신 메시지를 이벤트로 처리할 수도 있습니다. [Monitor 도구](#monitor-tool)를 참조하세요 | 예 |
40| `NotebookEdit` | Jupyter 노트북 셀을 수정합니다. [NotebookEdit 도구 동작](#notebookedit-tool-behavior)을 참조하세요 | 예 |40| `NotebookEdit` | Jupyter 노트북 셀을 수정합니다. [NotebookEdit 도구 동작](#notebookedit-tool-behavior)을 참조하세요 | 예 |
41| `PowerShell` | PowerShell 명령을 기본적으로 실행합니다. 가용성은 [PowerShell 도구](#powershell-tool)를 참조하세요 | 예 |41| `PowerShell` | PowerShell 명령을 기본적으로 실행합니다. 가용성은 [PowerShell 도구](#powershell-tool)를 참조하세요 | 예 |
42| `PushNotification` | 데스크톱 알림을 보내고 [Remote Control](/docs/ko/remote-control.md)이 연결되어 있을 때 휴대폰 푸시를 보냅니다. 따라서 장시간 실행되는 작업 또는 [세션 범위 예약 작업](/docs/ko/scheduled-tasks.md)이 사용자가 자리를 떠날 때 연락할 수 있습니다. 푸시 배달은 Anthropic 호스팅 인프라를 통해 실행되며, Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 액세스할 수 없습니다 | 아니오 |42| `PushNotification` | 데스크톱 알림을 보내고 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)이 연결되어 있을 때 휴대폰 푸시를 보냅니다. 따라서 장시간 실행되는 작업 또는 [세션 범위 예약 작업](https://code.claude.com/docs/ko/scheduled-tasks.md)이 사용자가 자리를 떠날 때 연락할 수 있습니다. 푸시 배달은 Anthropic 호스팅 인프라를 통해 실행되며, Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서는 액세스할 수 없습니다 | 아니오 |
43| `Read` | 파일의 내용을 읽습니다. [Read 도구 동작](#read-tool-behavior)을 참조하세요 | 아니오 |43| `Read` | 파일의 내용을 읽습니다. [Read 도구 동작](#read-tool-behavior)을 참조하세요 | 아니오 |
44| `ReadMcpResourceTool` | URI로 특정 MCP 리소스를 읽습니다 | 아니오 |44| `ReadMcpResourceTool` | URI로 특정 MCP 리소스를 읽습니다 | 아니오 |
45| `RemoteTrigger` | claude.ai에서 [클라우드 예약 작업](/docs/ko/routines.md)(이전 명칭: 루틴)을 생성, 업데이트, 실행 및 나열합니다. `/schedule` 명령을 지원합니다. [`RemoteTrigger` 입력 참조](/docs/ko/agent-sdk/typescript#remotetrigger)는 모든 작업 및 도구를 제거하는 조직 정책을 문서화합니다. 클라우드 예약 작업은 claude.ai에 있으며 Pro, Max, Team 또는 Enterprise 플랜이 필요합니다. 따라서 이 도구는 Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 액세스할 수 없습니다 | 아니오 |45| `RemoteTrigger` | claude.ai에서 [클라우드 예약 작업](https://code.claude.com/docs/ko/routines.md)(이전 명칭: 루틴)을 생성, 업데이트, 실행 및 나열합니다. `/schedule` 명령을 지원합니다. [`RemoteTrigger` 입력 참조](https://code.claude.com/docs/ko/agent-sdk/typescript#remotetrigger)는 모든 작업 및 도구를 제거하는 조직 정책을 문서화합니다. 클라우드 예약 작업은 claude.ai에 있으며 Pro, Max, Team 또는 Enterprise 플랜이 필요합니다. 따라서 이 도구는 Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 액세스할 수 없습니다 | 아니오 |
46| `ReportFindings` | 코드 리뷰 결과를 구조화된 목록으로 보고합니다. 각 결과마다 파일, 요약 및 실패 시나리오가 있으므로 Claude Code가 텍스트로 인쇄하는 대신 렌더링할 수 있습니다. Claude는 활성 코드 리뷰 지침이 이를 수행하도록 지시할 때 호출합니다. 결과는 `correctness` 또는 `test-coverage`와 같은 선택적 `category` 슬러그를 전달할 수도 있으며, 렌더링된 목록의 파일 위치 옆에 표시됩니다 | 아니오 |46| `ReportFindings` | 코드 리뷰 결과를 구조화된 목록으로 보고합니다. 각 결과마다 파일, 요약 및 실패 시나리오가 있으므로 Claude Code가 텍스트로 인쇄하는 대신 렌더링할 수 있습니다. Claude는 활성 코드 리뷰 지침이 이를 수행하도록 지시할 때 호출합니다. 결과는 `correctness` 또는 `test-coverage`와 같은 선택적 `category` 슬러그를 전달할 수도 있으며, 렌더링된 목록의 파일 위치 옆에 표시됩니다 | 아니오 |
47| `ScheduleWakeup` | [자체 페이스 `/loop`](/docs/ko/scheduled-tasks#let-claude-choose-the-interval)의 다음 반복을 다시 예약합니다. Claude는 각 반복이 끝날 때 이를 호출하여 다음 반복이 실행될 시기를 선택합니다. 1분에서 1시간 사이입니다. 직접 호출하지 않습니다. 루프를 대신 종료하려면 Claude는 `stop: true`로 호출하여 보류 중인 웨이크업을 취소합니다. 보류 중인 웨이크업은 [Stop 훅 입력](/docs/ko/hooks.md#stop-input)의 `session_crons`에 나타납니다 | 아니오 |47| `ScheduleWakeup` | [자체 페이스 `/loop`](https://code.claude.com/docs/ko/scheduled-tasks#let-claude-choose-the-interval)의 다음 반복을 다시 예약합니다. Claude는 각 반복이 끝날 때 이를 호출하여 다음 반복이 실행될 시기를 선택합니다. 1분에서 1시간 사이입니다. 직접 호출하지 않습니다. 루프를 대신 종료하려면 Claude는 `stop: true`로 호출하여 보류 중인 웨이크업을 취소합니다. 보류 중인 웨이크업은 [Stop 훅 입력](https://code.claude.com/docs/ko/hooks.md#stop-input)의 `session_crons`에 나타납니다 | 아니오 |
48| `SendFeedback` | Claude Code에 대한 피드백 보고서를 작성합니다. 제품 문제 또는 세션에서 Claude의 자체 동작을 다룹니다. 검토할 수 있도록 머신에서 대기열에 넣습니다. Claude Code는 초안을 보내도록 선택할 때까지 아무것도 보내지 않습니다. [SendFeedback 도구 동작](#sendfeedback-tool-behavior)을 참조하세요. Claude Code v2.1.238 이상이 필요합니다 | 아니오 |48| `SendFeedback` | Claude Code에 대한 피드백 보고서를 작성합니다. 제품 문제 또는 세션에서 Claude의 자체 동작을 다룹니다. 검토할 수 있도록 머신에서 대기열에 넣습니다. Claude Code는 초안을 보내도록 선택할 때까지 아무것도 보내지 않습니다. [SendFeedback 도구 동작](#sendfeedback-tool-behavior)을 참조하세요. Claude Code v2.1.238 이상이 필요합니다 | 아니오 |
49| `SendMessage` | 다른 에이전트에게 메시지를 보냅니다. [에이전트 팀](/docs/ko/agent-teams.md) 팀원, [에이전트 ID 또는 이름으로 재개하는](/docs/ko/sub-agents.md#resume-subagents) \[서브에이전트], 또는 다른 Claude Code 세션 중 하나입니다. 이 머신 또는 그 이상입니다. 다른 세션으로 메시징하려면 Claude Code v2.1.224 이상이 필요합니다. [크로스 세션 메시징](/docs/ko/cross-session-messaging.md)은 Claude가 도달할 수 있는 세션, [메시지가 도착할 때의 모습](/docs/ko/cross-session-messaging.md#what-a-message-looks-like), 및 [다른 세션이 유휴 상태가 될 때 Claude가 공지를 받는 방법](/docs/ko/cross-session-messaging.md#get-a-notice-when-another-session-goes-idle)을 다룹니다. Claude는 선택적 `summary` 입력을 포함할 수 있습니다. 일반적으로 5-10단어이며, Claude Code는 한 줄 미리보기로 표시합니다. Claude가 [일반 텍스트 메시지](/docs/ko/cross-session-messaging.md#limitations)에서 생략하면 Claude Code는 메시지의 첫 번째 줄을 요약으로 사용합니다. Claude Code는 200자보다 긴 요약을 줄임표로 자릅니다 | 아니오 |49| `SendMessage` | 다른 에이전트에게 메시지를 보냅니다. [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원, [에이전트 ID 또는 이름으로 재개하는](https://code.claude.com/docs/ko/sub-agents.md#resume-subagents) \[서브에이전트], 또는 다른 Claude Code 세션 중 하나입니다. 이 머신 또는 그 이상입니다. 다른 세션으로 메시징하려면 Claude Code v2.1.224 이상이 필요합니다. [크로스 세션 메시징](https://code.claude.com/docs/ko/cross-session-messaging.md)은 Claude가 도달할 수 있는 세션, [메시지가 도착할 때의 모습](https://code.claude.com/docs/ko/cross-session-messaging.md#what-a-message-looks-like), 및 [다른 세션이 유휴 상태가 될 때 Claude가 공지를 받는 방법](https://code.claude.com/docs/ko/cross-session-messaging.md#get-a-notice-when-another-session-goes-idle)을 다룹니다. Claude는 선택적 `summary` 입력을 포함할 수 있습니다. 일반적으로 5-10단어이며, Claude Code는 한 줄 미리보기로 표시합니다. Claude가 [일반 텍스트 메시지](https://code.claude.com/docs/ko/cross-session-messaging.md#limitations)에서 생략하면 Claude Code는 메시지의 첫 번째 줄을 요약으로 사용합니다. Claude Code는 200자보다 긴 요약을 줄임표로 자릅니다 | 아니오 |
50| `SendUserFile` | 세션의 파일을 선택적 캡션과 함께 사용자에게 보냅니다. 생성된 보고서, 다이어그램, 스크린샷 또는 빌드된 아티팩트가 트랜스크립트에서만 언급되는 대신 장치에 도달합니다. 선택적 `display` 입력은 프레젠테이션을 제어합니다. `render`는 파일을 클라이언트에서 인라인으로 열고, `attach`는 다운로드 카드만 표시하며, 설정되지 않으면 클라이언트가 파일 유형으로 결정합니다. [Remote Control](/docs/ko/remote-control.md) 클라이언트가 연결되어 있거나 [클라우드 세션](/docs/ko/claude-code-on-the-web.md)에서 사용 가능합니다. 배달은 Anthropic 호스팅 인프라를 통해 실행되므로 도구는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 사용할 수 없습니다 | 아니오 |50| `SendUserFile` | 세션의 파일을 선택적 캡션과 함께 사용자에게 보냅니다. 생성된 보고서, 다이어그램, 스크린샷 또는 빌드된 아티팩트가 트랜스크립트에서만 언급되는 대신 장치에 도달합니다. 선택적 `display` 입력은 프레젠테이션을 제어합니다. `render`는 파일을 클라이언트에서 인라인으로 열고, `attach`는 다운로드 카드만 표시하며, 설정되지 않으면 클라이언트가 파일 유형으로 결정합니다. [Remote Control](https://code.claude.com/docs/ko/remote-control.md) 클라이언트가 연결되어 있거나 [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)에서 사용 가능합니다. 배달은 Anthropic 호스팅 인프라를 통해 실행되므로 도구는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 사용할 수 없습니다 | 아니오 |
51| `ShareOnboardingGuide` | `ONBOARDING.md`를 업로드하고 팀원이 Claude Code에서 열 수 있는 공유 링크를 반환합니다. 가이드가 작성된 후 `/team-onboarding`에서 호출됩니다. Team 및 Enterprise 플랜의 claude.ai 구독자가 사용할 수 있습니다 | 예 |51| `ShareOnboardingGuide` | `ONBOARDING.md`를 업로드하고 팀원이 Claude Code에서 열 수 있는 공유 링크를 반환합니다. 가이드가 작성된 후 `/team-onboarding`에서 호출됩니다. Team 및 Enterprise 플랜의 claude.ai 구독자가 사용할 수 있습니다 | 예 |
52| `Skill` | 주 대화 내에서 [스킬](/docs/ko/skills.md#control-who-invokes-a-skill)을 실행합니다 | 예 |52| `Skill` | 주 대화 내에서 [스킬](https://code.claude.com/docs/ko/skills.md#control-who-invokes-a-skill)을 실행합니다 | 예 |
53| `SubagentHandback` | 서브에이전트의 최종 보고서를 해당 서브에이전트의 결과를 받는 대화에 전달합니다. [자동 모드](/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서만 제공되며, Agent 도구가 [포크](/docs/ko/sub-agents.md#fork-the-current-conversation) 이외의 로컬에서 실행하는 서브에이전트에만 제공되며, 터미널 CLI, IDE 확장, 클라우드 세션 및 Agent SDK에서 사용 가능합니다. 분류기는 보고서가 전달되기 전에 검토합니다. Claude Code v2.1.271 이상이 필요합니다 | 아니오 |53| `SubagentHandback` | 서브에이전트의 최종 보고서를 해당 서브에이전트의 결과를 받는 대화에 전달합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서만 제공되며, Agent 도구가 [포크](https://code.claude.com/docs/ko/sub-agents.md#fork-the-current-conversation) 이외의 로컬에서 실행하는 서브에이전트에만 제공되며, 터미널 CLI, IDE 확장, 클라우드 세션 및 Agent SDK에서 사용 가능합니다. 분류기는 보고서가 전달되기 전에 검토합니다. Claude Code v2.1.271 이상이 필요합니다 | 아니오 |
54| `TaskCreate` | 작업 목록에 새 작업을 생성합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |54| `TaskCreate` | 작업 목록에 새 작업을 생성합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |
55| `TaskGet` | 특정 작업의 전체 세부 정보를 검색합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |55| `TaskGet` | 특정 작업의 전체 세부 정보를 검색합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |
56| `TaskList` | 현재 상태와 함께 모든 작업을 나열합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |56| `TaskList` | 현재 상태와 함께 모든 작업을 나열합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |
57| `TaskOutput` | v2.1.277에서 제거되었습니다. 이전에는 백그라운드 작업에서 출력을 검색했습니다. 이제 Claude는 대신 `Read`로 백그라운드 작업의 [출력 파일](/docs/ko/interactive-mode.md#how-backgrounding-works)을 읽습니다 | 아니오 |57| `TaskOutput` | v2.1.277에서 제거되었습니다. 이전에는 백그라운드 작업에서 출력을 검색했습니다. 이제 Claude는 대신 `Read`로 백그라운드 작업의 [출력 파일](https://code.claude.com/docs/ko/interactive-mode.md#how-backgrounding-works)을 읽습니다 | 아니오 |
58| `TaskStop` | ID로 실행 중인 백그라운드 작업을 중지합니다. 또한 [에이전트 팀 팀원](/docs/ko/agent-teams.md) 또는 에이전트 ID 또는 이름으로 명명된 백그라운드 에이전트를 허용합니다. ID와 일치하는 작업이 없으면 오류는 다른 에이전트가 생성한 에이전트를 포함하여 실행 중인 백그라운드 에이전트를 ID 및 설명으로 나열합니다 | 아니오 |58| `TaskStop` | ID로 실행 중인 백그라운드 작업을 중지합니다. 또한 [에이전트 팀 팀원](https://code.claude.com/docs/ko/agent-teams.md) 또는 에이전트 ID 또는 이름으로 명명된 백그라운드 에이전트를 허용합니다. ID와 일치하는 작업이 없으면 오류는 다른 에이전트가 생성한 에이전트를 포함하여 실행 중인 백그라운드 에이전트를 ID 및 설명으로 나열합니다 | 아니오 |
59| `TaskUpdate` | 작업 상태, 종속성, 세부 정보를 업데이트하거나 작업을 삭제합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |59| `TaskUpdate` | 작업 상태, 종속성, 세부 정보를 업데이트하거나 작업을 삭제합니다. [작업 도구 가용성](#task-tool-availability) 아래에 나열된 모델에서만 기본적으로 제공되며, 다른 모델에서는 옵트인할 때만 제공됩니다 | 아니오 |
60| `TodoWrite` | 세션 작업 체크리스트를 관리합니다. `TaskCreate`, `TaskGet`, `TaskList` 및 `TaskUpdate`를 선호하여 기본적으로 비활성화됩니다. [작업 추적 도구가 있는 세션](#task-tool-availability)에서 다시 활성화하려면 `CLAUDE_CODE_ENABLE_TASKS=0`을 설정합니다 | 아니오 |60| `TodoWrite` | 세션 작업 체크리스트를 관리합니다. `TaskCreate`, `TaskGet`, `TaskList` 및 `TaskUpdate`를 선호하여 기본적으로 비활성화됩니다. [작업 추적 도구가 있는 세션](#task-tool-availability)에서 다시 활성화하려면 `CLAUDE_CODE_ENABLE_TASKS=0`을 설정합니다 | 아니오 |
61| `ToolSearch` | [도구 검색](/docs/ko/mcp.md#scale-with-mcp-tool-search)이 활성화되어 있을 때 지연된 도구를 검색하고 로드합니다 | 아니오 |61| `ToolSearch` | [도구 검색](https://code.claude.com/docs/ko/mcp.md#scale-with-mcp-tool-search)이 활성화되어 있을 때 지연된 도구를 검색하고 로드합니다 | 아니오 |
62| `WaitForMcpServers` | 백그라운드에서 여전히 연결 중인 하나 이상의 [MCP 서버](/docs/ko/mcp.md)를 기다립니다. 따라서 요청이 세션을 다시 시작하지 않고도 해당 도구를 사용할 수 있습니다. Claude는 필요한 서버가 아직 연결되지 않았을 때 호출합니다. [도구 검색](/docs/ko/mcp.md#scale-with-mcp-tool-search)이 비활성화되어 있을 때만 나타납니다. `ToolSearch`는 활성화되어 있을 때 대기를 처리합니다 | 아니오 |62| `WaitForMcpServers` | 백그라운드에서 여전히 연결 중인 하나 이상의 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)를 기다립니다. 따라서 요청이 세션을 다시 시작하지 않고도 해당 도구를 사용할 수 있습니다. Claude는 필요한 서버가 아직 연결되지 않았을 때 호출합니다. [도구 검색](https://code.claude.com/docs/ko/mcp.md#scale-with-mcp-tool-search)이 비활성화되어 있을 때만 나타납니다. `ToolSearch`는 활성화되어 있을 때 대기를 처리합니다 | 아니오 |
63| `WebFetch` | 지정된 URL에서 콘텐츠를 가져옵니다. [WebFetch 도구 동작](#webfetch-tool-behavior)을 참조하세요 | 예 |63| `WebFetch` | 지정된 URL에서 콘텐츠를 가져옵니다. [WebFetch 도구 동작](#webfetch-tool-behavior)을 참조하세요 | 예 |
64| `WebSearch` | 웹 검색을 수행합니다. [WebSearch 도구 동작](#websearch-tool-behavior)을 참조하세요 | 예 |64| `WebSearch` | 웹 검색을 수행합니다. [WebSearch 도구 동작](#websearch-tool-behavior)을 참조하세요 | 예 |
65| `Workflow` | [동적 워크플로우](/docs/ko/workflows.md)를 실행합니다. 백그라운드에서 많은 서브에이전트를 조율하고 하나의 통합된 결과를 반환하는 스크립트입니다 | 예 |65| `Workflow` | [동적 워크플로우](https://code.claude.com/docs/ko/workflows.md)를 실행합니다. 백그라운드에서 많은 서브에이전트를 조율하고 하나의 통합된 결과를 반환하는 스크립트입니다 | 예 |
66| `Write` | 파일을 생성하거나 덮어씁니다. [Write 도구 동작](#write-tool-behavior)을 참조하세요 | 예 |66| `Write` | 파일을 생성하거나 덮어씁니다. [Write 도구 동작](#write-tool-behavior)을 참조하세요 | 예 |
67 67
68## 권한 규칙 및 훅으로 도구 구성하기68## 권한 규칙 및 훅으로 도구 구성하기
69 69
70대부분의 경우 Claude가 이러한 도구를 사용할 시기를 결정하므로 Claude와 상호작용할 때 도구 이름을 직접 지정할 필요가 없습니다. 권한 및 기타 구성을 정의할 때 도구 이름을 직접 참조합니다:70대부분의 경우 Claude가 이러한 도구를 사용할 시기를 결정하므로 Claude와 상호작용할 때 도구 이름을 직접 지정할 필요가 없습니다. 권한 및 기타 구성을 정의할 때 도구 이름을 직접 참조합니다:
71 71
72* 설정의 [`permissions.allow`](/docs/ko/settings-reference#permissions-allow) 및 [`permissions.deny`](/docs/ko/settings-reference#permissions-deny)와 `/permissions` 인터페이스에서72* 설정의 [`permissions.allow`](https://code.claude.com/docs/ko/settings-reference#permissions-allow) 및 [`permissions.deny`](https://code.claude.com/docs/ko/settings-reference#permissions-deny)와 `/permissions` 인터페이스에서
73* [CLI 플래그](/docs/ko/cli-reference.md)의 `--allowedTools` 및 `--disallowedTools`에서73* [CLI 플래그](https://code.claude.com/docs/ko/cli-reference.md)의 `--allowedTools` 및 `--disallowedTools`에서
74* Agent SDK의 [`allowedTools` 및 `disallowedTools`](/docs/ko/agent-sdk/permissions#allow-and-deny-rules) 옵션에서74* Agent SDK의 [`allowedTools` 및 `disallowedTools`](https://code.claude.com/docs/ko/agent-sdk/permissions#allow-and-deny-rules) 옵션에서
75* [skill의 `allowed-tools`](/docs/ko/skills#frontmatter-reference) frontmatter에서75* [skill의 `allowed-tools`](https://code.claude.com/docs/ko/skills#frontmatter-reference) frontmatter에서
76* hook의 [`if` condition](/docs/ko/hooks-guide#filter-by-tool-name-and-arguments-with-the-if-field)에서76* hook의 [`if` condition](https://code.claude.com/docs/ko/hooks-guide#filter-by-tool-name-and-arguments-with-the-if-field)에서
77 77
78이 모든 항목은 동일한 규칙 형식인 `ToolName(specifier)`을 허용합니다. specifier는 도구에 따라 다르며, 여러 도구가 형식을 공유합니다:78이 모든 항목은 동일한 규칙 형식인 `ToolName(specifier)`을 허용합니다. specifier는 도구에 따라 다르며, 여러 도구가 형식을 공유합니다:
79 79
80| 규칙 형식 | 적용 대상 | 세부 정보 |80| 규칙 형식 | 적용 대상 | 세부 정보 |
81| :- | :- | :- |81| :- | :- | :- |
82| `Bash(npm run *)` | Bash, Monitor | [명령 패턴 매칭](/docs/ko/permissions.md#bash) |82| `Bash(npm run *)` | Bash, Monitor | [명령 패턴 매칭](https://code.claude.com/docs/ko/permissions.md#bash) |
83| `PowerShell(Get-ChildItem *)` | PowerShell | [명령 패턴 매칭](/docs/ko/permissions.md#powershell) |83| `PowerShell(Get-ChildItem *)` | PowerShell | [명령 패턴 매칭](https://code.claude.com/docs/ko/permissions.md#powershell) |
84| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [경로 패턴 매칭](/docs/ko/permissions.md#read-and-edit) |84| `Read(~/secrets/**)` | Read, Grep, Glob, LSP | [경로 패턴 매칭](https://code.claude.com/docs/ko/permissions.md#read-and-edit) |
85| `Edit(/src/**)` | Edit, Write, NotebookEdit | [경로 패턴 매칭](/docs/ko/permissions.md#read-and-edit) |85| `Edit(/src/**)` | Edit, Write, NotebookEdit | [경로 패턴 매칭](https://code.claude.com/docs/ko/permissions.md#read-and-edit) |
86| `Skill(deploy *)` | Skill | [Skill 이름 매칭](/docs/ko/skills.md#restrict-claude%E2%80%99s-skill-access) |86| `Skill(deploy *)` | Skill | [Skill 이름 매칭](https://code.claude.com/docs/ko/skills.md#restrict-claude%E2%80%99s-skill-access) |
87| `Agent(Explore)` | Agent | [Subagent 유형 매칭](/docs/ko/permissions.md#agent-subagents) |87| `Agent(Explore)` | Agent | [Subagent 유형 매칭](https://code.claude.com/docs/ko/permissions.md#agent-subagents) |
88| `WebFetch(domain:example.com)` | WebFetch | [도메인 매칭](/docs/ko/permissions.md#webfetch) |88| `WebFetch(domain:example.com)` | WebFetch | [도메인 매칭](https://code.claude.com/docs/ko/permissions.md#webfetch) |
89| `WebSearch` | WebSearch | specifier 없음; 도구 전체를 허용하거나 거부합니다 |89| `WebSearch` | WebSearch | specifier 없음; 도구 전체를 허용하거나 거부합니다 |
90 90
91여기에 나열되지 않은 도구(예: `ExitPlanMode` 또는 `ShareOnboardingGuide`)는 specifier 없이 도구 이름만 허용합니다.91여기에 나열되지 않은 도구(예: `ExitPlanMode` 또는 `ShareOnboardingGuide`)는 specifier 없이 도구 이름만 허용합니다.
92 92
93`Edit(...)` allow 규칙은 동일한 경로에 대한 읽기 액세스도 부여하므로 일치하는 `Read(...)` 규칙이 필요하지 않습니다. `Read(...)` deny 규칙은 동일한 경로의 Edit 및 Write 도구도 차단하며, 새 파일을 만드는 것도 포함됩니다. 두 도구 모두 Claude가 다시 읽을 수 있어야 하는 콘텐츠를 변경하기 때문입니다. Write 도구의 경우 `Read` deny 체크에는 Claude Code v2.1.228 이상이 필요합니다.93`Edit(...)` allow 규칙은 동일한 경로에 대한 읽기 액세스도 부여하므로 일치하는 `Read(...)` 규칙이 필요하지 않습니다. `Read(...)` deny 규칙은 동일한 경로의 Edit 및 Write 도구도 차단하며, 새 파일을 만드는 것도 포함됩니다. 두 도구 모두 Claude가 다시 읽을 수 있어야 하는 콘텐츠를 변경하기 때문입니다. Write 도구의 경우 `Read` deny 체크에는 Claude Code v2.1.228 이상이 필요합니다.
94 94
95Hook `matcher` 필드는 괄호로 묶인 규칙 형식이 아닌 도구 이름만 사용합니다. 매칭 규칙은 [matcher patterns](/docs/ko/hooks.md#matcher-patterns)을 참조하세요. 각 도구가 hook의 `tool_input`에 전달하는 필드 이름은 [PreToolUse input reference](/docs/ko/hooks.md#pretooluse-input)를 참조하세요.95Hook `matcher` 필드는 괄호로 묶인 규칙 형식이 아닌 도구 이름만 사용합니다. 매칭 규칙은 [matcher patterns](https://code.claude.com/docs/ko/hooks.md#matcher-patterns)을 참조하세요. 각 도구가 hook의 `tool_input`에 전달하는 필드 이름은 [PreToolUse input reference](https://code.claude.com/docs/ko/hooks.md#pretooluse-input)를 참조하세요.
96 96
97## 에이전트 도구 동작97## 에이전트 도구 동작
98 98
99에이전트 도구는 별도의 컨텍스트 윈도우에서 서브에이전트를 생성합니다. 서브에이전트는 자율적으로 작업을 진행한 후 부모 대화에 최종 결과를 반환합니다. 부모는 서브에이전트의 중간 도구 호출이나 출력을 보지 못하고 최종 결과만 봅니다. 동일한 도구로 팀원이나 포크를 시작할 수도 있습니다:99에이전트 도구는 별도의 컨텍스트 윈도우에서 서브에이전트를 생성합니다. 서브에이전트는 자율적으로 작업을 진행한 후 부모 대화에 최종 결과를 반환합니다. 부모는 서브에이전트의 중간 도구 호출이나 출력을 보지 못하고 최종 결과만 봅니다. 동일한 도구로 팀원이나 포크를 시작할 수도 있습니다:
100 100
101* **팀원**: [에이전트 팀](/docs/ko/agent-teams.md)이 활성화된 경우, `name`을 포함하는 호출은 대신 [팀원](/docs/ko/agent-teams.md#how-claude-starts-agent-teams)을 시작할 수 있으며, 팀원은 결과를 반환하는 대신 팀 메시지를 통해 보고합니다101* **팀원**: [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md)이 활성화된 경우, `name`을 포함하는 호출은 대신 [팀원](https://code.claude.com/docs/ko/agent-teams.md#how-claude-starts-agent-teams)을 시작할 수 있으며, 팀원은 결과를 반환하는 대신 팀 메시지를 통해 보고합니다
102* **포크**: [포크 모드](/docs/ko/sub-agents.md#turn-fork-mode-on-or-off)가 켜져 있는 곳에서는 이 도구가 [포크된 서브에이전트](/docs/ko/sub-agents.md#fork-the-current-conversation)를 시작할 수 있으며, 포크된 서브에이전트는 새로 시작하는 대신 전체 부모 대화를 상속합니다102* **포크**: [포크 모드](https://code.claude.com/docs/ko/sub-agents.md#turn-fork-mode-on-or-off)가 켜져 있는 곳에서는 이 도구가 [포크된 서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#fork-the-current-conversation)를 시작할 수 있으며, 포크된 서브에이전트는 새로 시작하는 대신 전체 부모 대화를 상속합니다
103 103
104서브에이전트가 실행하는 턴의 수를 제한하려면 [서브에이전트 정의](/docs/ko/sub-agents.md#supported-frontmatter-fields)에서 `maxTurns`를 설정합니다. 서브에이전트가 제한에 도달하면 Claude Code는 반환된 결과를 부분 출력으로 표시하며, Claude는 [서브에이전트를 재개](/docs/ko/sub-agents.md#resume-subagents)하여 계속할 수 있습니다.104서브에이전트가 실행하는 턴의 수를 제한하려면 [서브에이전트 정의](https://code.claude.com/docs/ko/sub-agents.md#supported-frontmatter-fields)에서 `maxTurns`를 설정합니다. 서브에이전트가 제한에 도달하면 Claude Code는 반환된 결과를 부분 출력으로 표시하며, Claude는 [서브에이전트를 재개](https://code.claude.com/docs/ko/sub-agents.md#resume-subagents)하여 계속할 수 있습니다.
105 105
106포크되지 않은 서브에이전트가 사용할 수 있는 도구는 [서브에이전트 정의](/docs/ko/sub-agents.md)의 `tools` 및 `disallowedTools` 필드에 따라 달라집니다:106포크되지 않은 서브에이전트가 사용할 수 있는 도구는 [서브에이전트 정의](https://code.claude.com/docs/ko/sub-agents.md)의 `tools` 및 `disallowedTools` 필드에 따라 달라집니다:
107 107
108* **두 필드 모두 설정되지 않음**: 서브에이전트는 [서브에이전트에서 사용 가능한 모든 도구](/docs/ko/sub-agents.md#available-tools)를 상속합니다.108* **두 필드 모두 설정되지 않음**: 서브에이전트는 [서브에이전트에서 사용 가능한 모든 도구](https://code.claude.com/docs/ko/sub-agents.md#available-tools)를 상속합니다.
109* **`tools`만 설정됨**: 서브에이전트는 나열된 도구만 가져옵니다.109* **`tools`만 설정됨**: 서브에이전트는 나열된 도구만 가져옵니다.
110* **`disallowedTools`만 설정됨**: 서브에이전트는 나열된 도구를 제외한 모든 부모 도구를 가져옵니다.110* **`disallowedTools`만 설정됨**: 서브에이전트는 나열된 도구를 제외한 모든 부모 도구를 가져옵니다.
111* **둘 다 설정됨**: `disallowedTools`가 우선합니다. 둘 다에 나열된 도구는 제거됩니다.111* **둘 다 설정됨**: `disallowedTools`가 우선합니다. 둘 다에 나열된 도구는 제거됩니다.
112 112
113모든 경우에 해결된 집합은 [서브에이전트에서 사용 가능한 도구](/docs/ko/sub-agents.md#available-tools)로 제한됩니다. 서브에이전트에서 사용할 수 없는 도구는 `tools`에 나열되어 있어도 절대 부여되지 않습니다. `SubagentHandback` 도구 테이블 항목의 조건이 유지되는 경우, Claude Code는 `tools`에서 생략하거나 `disallowedTools`에 나열하더라도 서브에이전트에 해당 도구를 제공합니다.113모든 경우에 해결된 집합은 [서브에이전트에서 사용 가능한 도구](https://code.claude.com/docs/ko/sub-agents.md#available-tools)로 제한됩니다. 서브에이전트에서 사용할 수 없는 도구는 `tools`에 나열되어 있어도 절대 부여되지 않습니다. `SubagentHandback` 도구 테이블 항목의 조건이 유지되는 경우, Claude Code는 `tools`에서 생략하거나 `disallowedTools`에 나열하더라도 서브에이전트에 해당 도구를 제공합니다.
114 114
115서브에이전트의 `tools` 목록의 모든 항목이 사용 가능한 도구와 일치하지 못하면 에이전트 도구는 일반적으로 서브에이전트를 시작하는 대신 항목의 이름을 지정하는 오류를 반환합니다. [에이전트가 0개의 도구로 생성됨](/docs/ko/errors.md#agent-would-be-spawned-with-zero-tools)에서 메시지와 각 항목을 수정하는 방법을 참조하세요.115서브에이전트의 `tools` 목록의 모든 항목이 사용 가능한 도구와 일치하지 못하면 에이전트 도구는 일반적으로 서브에이전트를 시작하는 대신 항목의 이름을 지정하는 오류를 반환합니다. [에이전트가 0개의 도구로 생성됨](https://code.claude.com/docs/ko/errors.md#agent-would-be-spawned-with-zero-tools)에서 메시지와 각 항목을 수정하는 방법을 참조하세요.
116 116
117서브에이전트를 시작하는 것 자체는 권한을 요청하지 않습니다. Claude Code는 서브에이전트의 자체 도구 호출을 실행할 때 권한 규칙에 대해 확인합니다.117서브에이전트를 시작하는 것 자체는 권한을 요청하지 않습니다. Claude Code는 서브에이전트의 자체 도구 호출을 실행할 때 권한 규칙에 대해 확인합니다.
118 118
119서브에이전트의 권한 프롬프트를 보는 위치는 포그라운드 또는 백그라운드에서 실행되는지 여부에 따라 달라집니다. Claude Code는 기본적으로 서브에이전트를 백그라운드에서 실행하며, [포그라운드에서 실행되는 경우](/docs/ko/sub-agents.md#run-subagents-in-foreground-or-background)는 제외합니다.119서브에이전트의 권한 프롬프트를 보는 위치는 포그라운드 또는 백그라운드에서 실행되는지 여부에 따라 달라집니다. Claude Code는 기본적으로 서브에이전트를 백그라운드에서 실행하며, [포그라운드에서 실행되는 경우](https://code.claude.com/docs/ko/sub-agents.md#run-subagents-in-foreground-or-background)는 제외합니다.
120 120
121* **포그라운드 서브에이전트**는 각 도구 호출이 발생하는 순간 주 대화에서 볼 수 있는 동일한 권한 프롬프트를 표시합니다.121* **포그라운드 서브에이전트**는 각 도구 호출이 발생하는 순간 주 대화에서 볼 수 있는 동일한 권한 프롬프트를 표시합니다.
122* **백그라운드 서브에이전트**는 주 세션에서 권한 프롬프트를 표시합니다. 프롬프트는 어느 서브에이전트가 요청하는지 이름을 지정하며, Esc를 누르면 서브에이전트를 중지하지 않고 해당 도구 호출 하나만 거부합니다.122* **백그라운드 서브에이전트**는 주 세션에서 권한 프롬프트를 표시합니다. 프롬프트는 어느 서브에이전트가 요청하는지 이름을 지정하며, Esc를 누르면 서브에이전트를 중지하지 않고 해당 도구 호출 하나만 거부합니다.
123 123
124[서브에이전트가 도달할 수 있는 범위를 제한](/docs/ko/sub-agents.md#control-subagent-capabilities)하려면 먼저 `tools` 필드를 좁혀서(예: Bash를 목록에서 제외) 또는 설정에서 거부 규칙을 설정합니다.124[서브에이전트가 도달할 수 있는 범위를 제한](https://code.claude.com/docs/ko/sub-agents.md#control-subagent-capabilities)하려면 먼저 `tools` 필드를 좁혀서(예: Bash를 목록에서 제외) 또는 설정에서 거부 규칙을 설정합니다.
125 125
126## AskUserQuestion 도구 동작126## AskUserQuestion 도구 동작
127 127
131 131
132### 질문 자동 계속 타임아웃132### 질문 자동 계속 타임아웃
133 133
134질문은 답변할 때까지 열려 있습니다. 답변하지 않은 질문이 결국 닫혀서 Claude가 사용자 없이 계속 진행되도록 하려면, [`askUserQuestionTimeout`](/docs/ko/settings-reference#askuserquestiontimeout) 설정을 `60s`, `5m`, 또는 `10m`으로 설정합니다. 사용자 `settings.json`에서 또는 `/config`의 **Question auto-continue timeout** 행에서 설정할 수 있습니다.134질문은 답변할 때까지 열려 있습니다. 답변하지 않은 질문이 결국 닫혀서 Claude가 사용자 없이 계속 진행되도록 하려면, [`askUserQuestionTimeout`](https://code.claude.com/docs/ko/settings-reference#askuserquestiontimeout) 설정을 `60s`, `5m`, 또는 `10m`으로 설정합니다. 사용자 `settings.json`에서 또는 `/config`의 **Question auto-continue timeout** 행에서 설정할 수 있습니다.
135 135
136질문이 입력 없이 그 시간 동안 유지되면, 대화 상자가 자동으로 닫힙니다. 이미 선택한 옵션을 제출하고 Claude에게 사용자가 키보드에서 떨어져 있을 수 있다고 알려주므로, Claude는 자신의 판단으로 진행하고 나중에 다시 질문할 수 있습니다. 마지막 20초 동안 카운트다운이 표시됩니다. 아무 키나 눌러 타이머를 다시 시작합니다. 터미널이 창에 포커스가 있다고 보고하는 동안에는 타이머가 줄어들지 않습니다.136질문이 입력 없이 그 시간 동안 유지되면, 대화 상자가 자동으로 닫힙니다. 이미 선택한 옵션을 제출하고 Claude에게 사용자가 키보드에서 떨어져 있을 수 있다고 알려주므로, Claude는 자신의 판단으로 진행하고 나중에 다시 질문할 수 있습니다. 마지막 20초 동안 카운트다운이 표시됩니다. 아무 키나 눌러 타이머를 다시 시작합니다. 터미널이 창에 포커스가 있다고 보고하는 동안에는 타이머가 줄어들지 않습니다.
137 137
138Claude가 [백그라운드 세션](/docs/ko/agent-view.md)에서 묻는 질문, [스크린 리더 모드](/docs/ko/accessibility.md)에서 묻는 질문, 또는 세션이 [Remote Control](/docs/ko/remote-control.md)에 연결된 동안 묻는 질문에는 타이머가 시작되지 않습니다. 이러한 질문은 답변할 때까지 대기합니다. 타임아웃은 `AskUserQuestion`의 객관식 질문에만 적용됩니다. 계획 승인을 포함한 권한 프롬프트는 유휴 상태에서 자동으로 해결되지 않습니다.138Claude가 [백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)에서 묻는 질문, [스크린 리더 모드](https://code.claude.com/docs/ko/accessibility.md)에서 묻는 질문, 또는 세션이 [Remote Control](https://code.claude.com/docs/ko/remote-control.md)에 연결된 동안 묻는 질문에는 타이머가 시작되지 않습니다. 이러한 질문은 답변할 때까지 대기합니다. 타임아웃은 `AskUserQuestion`의 객관식 질문에만 적용됩니다. 계획 승인을 포함한 권한 프롬프트는 유휴 상태에서 자동으로 해결되지 않습니다.
139 139
140## Bash 도구 동작140## Bash 도구 동작
141 141
143 143
144### 명령 간에 유지되는 항목144### 명령 간에 유지되는 항목
145 145
146* Claude가 주 세션에서 `cd`를 실행할 때, 새로운 작업 디렉터리는 프로젝트 디렉터리 내에 있거나 `--add-dir`, `/add-dir` 또는 설정의 `additionalDirectories`로 추가한 [추가 작업 디렉터리](/docs/ko/permissions.md#working-directories) 내에 있는 한 이후의 Bash 명령으로 이월됩니다. 이는 나중의 메시지에 응답하여 Claude가 실행하는 명령을 포함합니다.146* Claude가 주 세션에서 `cd`를 실행할 때, 새로운 작업 디렉터리는 프로젝트 디렉터리 내에 있거나 `--add-dir`, `/add-dir` 또는 설정의 `additionalDirectories`로 추가한 [추가 작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 내에 있는 한 이후의 Bash 명령으로 이월됩니다. 이는 나중의 메시지에 응답하여 Claude가 실행하는 명령을 포함합니다.
147 * 서브에이전트 세션은 작업 디렉터리 변경을 절대 이월하지 않습니다.147 * 서브에이전트 세션은 작업 디렉터리 변경을 절대 이월하지 않습니다.
148 * `cd`가 해당 디렉터리 외부로 이동하면, Claude Code는 프로젝트 디렉터리로 재설정하고 도구 결과에 `Shell cwd was reset to <dir>`을 추가합니다.148 * `cd`가 해당 디렉터리 외부로 이동하면, Claude Code는 프로젝트 디렉터리로 재설정하고 도구 결과에 `Shell cwd was reset to <dir>`을 추가합니다.
149 * 모든 Bash 명령이 프로젝트 디렉터리에서 시작하도록 이월을 비활성화하려면 `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`을 설정합니다.149 * 모든 Bash 명령이 프로젝트 디렉터리에서 시작하도록 이월을 비활성화하려면 `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`을 설정합니다.
150* 환경 변수는 유지되지 않습니다. 한 명령의 `export`는 다음 명령에서 사용할 수 없습니다.150* 환경 변수는 유지되지 않습니다. 한 명령의 `export`는 다음 명령에서 사용할 수 없습니다.
151* 셸 시작 파일에 정의된 별칭과 셸 함수를 사용할 수 있습니다. 세션 시작 시, Claude Code는 셸에 따라 `~/.zshrc`, `~/.bashrc` 또는 `~/.profile`을 소싱하고, 결과 별칭, 함수 및 셸 옵션을 캡처한 후 모든 Bash 명령에 적용합니다.151* 셸 시작 파일에 정의된 별칭과 셸 함수를 사용할 수 있습니다. 세션 시작 시, Claude Code는 셸에 따라 `~/.zshrc`, `~/.bashrc` 또는 `~/.profile`을 소싱하고, 결과 별칭, 함수 및 셸 옵션을 캡처한 후 모든 Bash 명령에 적용합니다.
152 152
153Claude Code를 시작하기 전에 virtualenv 또는 conda 환경을 활성화합니다. 환경 변수가 Bash 명령 간에 유지되도록 하려면, Claude Code를 시작하기 전에 [`CLAUDE_ENV_FILE`](/docs/ko/env-vars)을 셸 스크립트로 설정하거나 [SessionStart 훅](/docs/ko/hooks.md#persist-environment-variables)을 사용하여 동적으로 채웁니다.153Claude Code를 시작하기 전에 virtualenv 또는 conda 환경을 활성화합니다. 환경 변수가 Bash 명령 간에 유지되도록 하려면, Claude Code를 시작하기 전에 [`CLAUDE_ENV_FILE`](https://code.claude.com/docs/ko/env-vars)을 셸 스크립트로 설정하거나 [SessionStart 훅](https://code.claude.com/docs/ko/hooks.md#persist-environment-variables)을 사용하여 동적으로 채웁니다.
154 154
155### 타임아웃 및 출력 제한155### 타임아웃 및 출력 제한
156 156
157각 명령은 타임아웃 하에서 실행되며, Claude가 관리합니다. 명령에 기본값보다 더 오래 필요할 때, 해당 호출로 `timeout` 매개변수를 전달합니다. 명령별 타임아웃을 설정하지 않습니다.157각 명령은 타임아웃 하에서 실행되며, Claude가 관리합니다. 명령에 기본값보다 더 오래 필요할 때, 해당 호출로 `timeout` 매개변수를 전달합니다. 명령별 타임아웃을 설정하지 않습니다.
158 158
159두 개의 [환경 변수](/docs/ko/env-vars.md)가 Claude가 포그라운드에서 실행되는 명령에 대해 받는 것을 제어합니다:159두 개의 [환경 변수](https://code.claude.com/docs/ko/env-vars.md)가 Claude가 포그라운드에서 실행되는 명령에 대해 받는 것을 제어합니다:
160 160
161* `BASH_DEFAULT_TIMEOUT_MS` — Claude가 타임아웃을 전달하지 않을 때의 기본값입니다. 기본값은 2분입니다.161* `BASH_DEFAULT_TIMEOUT_MS` — Claude가 타임아웃을 전달하지 않을 때의 기본값입니다. 기본값은 2분입니다.
162* `BASH_MAX_TIMEOUT_MS` — 기본값으로, Claude가 요청하는 것을 제한하는 상한을 설정합니다. 유효한 상한은 둘 중 더 큰 값이며, 기본값은 10분입니다.162* `BASH_MAX_TIMEOUT_MS` — 기본값으로, Claude가 요청하는 것을 제한하는 상한을 설정합니다. 유효한 상한은 둘 중 더 큰 값이며, 기본값은 10분입니다.
174 174
175종료 코드 1로 끝나는 명령은 Claude Code가 해당 명령에 대해 종료 코드 1을 양성 결과로 인식할 때만 Bash 도구에 대한 유효한 결과로 계산됩니다: `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test` 및 `[`, 그리고 `git diff`와 `git grep`. 종료 코드 1이 양성 정보 결과인 경우에도 다른 모든 명령은 실패로 계산됩니다: `pgrep`과 `jq -e`의 일치 항목 없음, `cmp`의 파일 차이.175종료 코드 1로 끝나는 명령은 Claude Code가 해당 명령에 대해 종료 코드 1을 양성 결과로 인식할 때만 Bash 도구에 대한 유효한 결과로 계산됩니다: `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test` 및 `[`, 그리고 `git diff`와 `git grep`. 종료 코드 1이 양성 정보 결과인 경우에도 다른 모든 명령은 실패로 계산됩니다: `pgrep`과 `jq -e`의 일치 항목 없음, `cmp`의 파일 차이.
176 176
177[`BASH_MAX_OUTPUT_LENGTH`](/docs/ko/env-vars)는 Claude Code가 작업 파일에서 명령의 결과로 다시 읽는 출력의 문자 수를 설정합니다. 기본값은 30,000자이며, 최대 150,000자까지입니다. 명령이 정기적으로 해당 창을 초과할 때 이를 높입니다. 예를 들어 자세한 빌드 또는 전체 테스트 스위트 로그입니다. 이를 높이면 읽기 창이 확대되며, 이는 실패한 명령의 발췌가 잘리는 창이기도 합니다. 인라인 상한을 높이지 않습니다. 인라인 상한을 초과하는 유효한 결과는 이 변수와 관계없이 파일 경로와 미리보기로 도착합니다.177[`BASH_MAX_OUTPUT_LENGTH`](https://code.claude.com/docs/ko/env-vars)는 Claude Code가 작업 파일에서 명령의 결과로 다시 읽는 출력의 문자 수를 설정합니다. 기본값은 30,000자이며, 최대 150,000자까지입니다. 명령이 정기적으로 해당 창을 초과할 때 이를 높입니다. 예를 들어 자세한 빌드 또는 전체 테스트 스위트 로그입니다. 이를 높이면 읽기 창이 확대되며, 이는 실패한 명령의 발췌가 잘리는 창이기도 합니다. 인라인 상한을 높이지 않습니다. 인라인 상한을 초과하는 유효한 결과는 이 변수와 관계없이 파일 경로와 미리보기로 도착합니다.
178 178
179유효한 결과의 얼마나 많은 부분을 Claude가 인라인으로 받는지 변경하려면, 대신 [`bashOutputMaxChars`](/docs/ko/settings-reference#bashoutputmaxchars) 설정을 최대 128,000자까지 설정합니다. 인라인 상한과 읽기 창을 함께 크기 조정하며, Claude Code는 `BASH_MAX_OUTPUT_LENGTH`를 무시합니다. Claude Code v2.1.261 이상이 필요합니다.179유효한 결과의 얼마나 많은 부분을 Claude가 인라인으로 받는지 변경하려면, 대신 [`bashOutputMaxChars`](https://code.claude.com/docs/ko/settings-reference#bashoutputmaxchars) 설정을 최대 128,000자까지 설정합니다. 인라인 상한과 읽기 창을 함께 크기 조정하며, Claude Code는 `BASH_MAX_OUTPUT_LENGTH`를 무시합니다. Claude Code v2.1.261 이상이 필요합니다.
180 180
181### 백그라운드 명령181### 백그라운드 명령
182 182
184 184
185#### 백그라운드 명령이 중지될 때185#### 백그라운드 명령이 중지될 때
186 186
187[포그라운드 서브에이전트](/docs/ko/sub-agents.md#run-subagents-in-foreground-or-background)가 시작한 명령은 해당 서브에이전트의 실행이 끝날 때 중지됩니다. 완료되었든, 실패했든, 또는 중단되었든 상관없습니다. 주 대화 또는 백그라운드 서브에이전트가 시작한 명령은 최종 응답 후에도 계속 실행되며, 종료되거나, 중지되거나, [시간 제한](#time-limit-for-background-commands)에 도달할 때까지 계속됩니다.187[포그라운드 서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#run-subagents-in-foreground-or-background)가 시작한 명령은 해당 서브에이전트의 실행이 끝날 때 중지됩니다. 완료되었든, 실패했든, 또는 중단되었든 상관없습니다. 주 대화 또는 백그라운드 서브에이전트가 시작한 명령은 최종 응답 후에도 계속 실행되며, 종료되거나, 중지되거나, [시간 제한](#time-limit-for-background-commands)에 도달할 때까지 계속됩니다.
188 188
189주 대화가 시작한 명령이 아직 실행 중인 동안, `-p` 플래그를 사용한 비대화형 모드의 실행은 해당 명령이 종료되거나 시간 제한에 도달할 때까지 [결과 이후에도 열린 상태로 유지됩니다](/docs/ko/headless.md#background-tasks-at-exit). 백그라운드 서브에이전트가 시작한 명령은 실행이 종료될 때 중지됩니다.189주 대화가 시작한 명령이 아직 실행 중인 동안, `-p` 플래그를 사용한 비대화형 모드의 실행은 해당 명령이 종료되거나 시간 제한에 도달할 때까지 [결과 이후에도 열린 상태로 유지됩니다](https://code.claude.com/docs/ko/headless.md#background-tasks-at-exit). 백그라운드 서브에이전트가 시작한 명령은 실행이 종료될 때 중지됩니다.
190 190
191#### 백그라운드 명령의 시간 제한191#### 백그라운드 명령의 시간 제한
192 192
199* Claude가 백그라운드에서 시작하는 명령은 30분 또는 `run_in_background`로 전달하는 `timeout`을 받으며, 최대 2시간입니다.199* Claude가 백그라운드에서 시작하는 명령은 30분 또는 `run_in_background`로 전달하는 `timeout`을 받으며, 최대 2시간입니다.
200* 포그라운드에서 시작한 후 백그라운드로 이동하는 명령(예: 타임아웃 시)은 이동 시점부터 30분을 받습니다.200* 포그라운드에서 시작한 후 백그라운드로 이동하는 명령(예: 타임아웃 시)은 이동 시점부터 30분을 받습니다.
201 201
202프롬프트를 `--input-format stream-json`이 아닌 텍스트로 전달하는 `-p` 플래그 실행에서는, 실행이 [결과 이후 백그라운드 명령을 기다리기](/docs/ko/headless.md#background-tasks-at-exit) 때문에 두 기본값 모두 30분이 아닌 10분입니다.202프롬프트를 `--input-format stream-json`이 아닌 텍스트로 전달하는 `-p` 플래그 실행에서는, 실행이 [결과 이후 백그라운드 명령을 기다리기](https://code.claude.com/docs/ko/headless.md#background-tasks-at-exit) 때문에 두 기본값 모두 30분이 아닌 10분입니다.
203 203
204백그라운드 명령이 시간 제한에 도달하면, Claude Code는 이를 중지하고 Claude에 이유를 알립니다. Claude는 작업이 여전히 필요하면 더 긴 `timeout`으로 명령을 다시 시작할 수 있습니다. 중지 알림은 `Background command "<description>" was stopped after reaching its background time limit`를 읽습니다.204백그라운드 명령이 시간 제한에 도달하면, Claude Code는 이를 중지하고 Claude에 이유를 알립니다. Claude는 작업이 여전히 필요하면 더 긴 `timeout`으로 명령을 다시 시작할 수 있습니다. 중지 알림은 `Background command "<description>" was stopped after reaching its background time limit`를 읽습니다.
205 205
206#### 백그라운드 명령의 시간 제한 높이기206#### 백그라운드 명령의 시간 제한 높이기
207 207
208두 개의 [환경 변수](/docs/ko/env-vars.md)는 Bash 및 PowerShell 명령 모두에 대해 이러한 제한을 높입니다. 둘 다 밀리초를 사용하며, 어느 것도 제한을 단축할 수 없습니다. 더 낮은 값은 기본값과 2시간 최대값을 그대로 둡니다.208두 개의 [환경 변수](https://code.claude.com/docs/ko/env-vars.md)는 Bash 및 PowerShell 명령 모두에 대해 이러한 제한을 높입니다. 둘 다 밀리초를 사용하며, 어느 것도 제한을 단축할 수 없습니다. 더 낮은 값은 기본값과 2시간 최대값을 그대로 둡니다.
209 209
210* `BASH_DEFAULT_TIMEOUT_MS`를 `1800000` 이상으로 설정하여 30분 기본값을 해당 값으로 바꿉니다. Claude가 `timeout` 없이 시작하는 명령과 이동된 명령 모두에 적용됩니다. 프롬프트를 텍스트로 전달하는 `-p` 실행에서는 `600000`을 초과하는 모든 값이 10분 기본값을 대체합니다.210* `BASH_DEFAULT_TIMEOUT_MS`를 `1800000` 이상으로 설정하여 30분 기본값을 해당 값으로 바꿉니다. Claude가 `timeout` 없이 시작하는 명령과 이동된 명령 모두에 적용됩니다. 프롬프트를 텍스트로 전달하는 `-p` 실행에서는 `600000`을 초과하는 모든 값이 10분 기본값을 대체합니다.
211* `BASH_MAX_TIMEOUT_MS`를 `7200000` 이상으로 설정하여 2시간 최대값을 해당 값으로 높입니다. `BASH_DEFAULT_TIMEOUT_MS`를 `7200000` 이상으로 설정하면 최대값을 동일한 방식으로 높입니다.211* `BASH_MAX_TIMEOUT_MS`를 `7200000` 이상으로 설정하여 2시간 최대값을 해당 값으로 높입니다. `BASH_DEFAULT_TIMEOUT_MS`를 `7200000` 이상으로 설정하면 최대값을 동일한 방식으로 높입니다.
214 214
215포그라운드 명령이 완료되지 않고 타임아웃에 도달하면, Claude Code는 이를 중지하지 않고 백그라운드로 이동합니다. 단, 명령이 `sleep`으로 시작하는 경우는 제외됩니다. 이동된 명령의 [시간 제한](#time-limit-for-background-commands)은 이동 시점부터 계산되며, 포그라운드 서브에이전트의 이동된 명령은 여전히 해당 서브에이전트의 실행이 끝날 때 중지됩니다.215포그라운드 명령이 완료되지 않고 타임아웃에 도달하면, Claude Code는 이를 중지하지 않고 백그라운드로 이동합니다. 단, 명령이 `sleep`으로 시작하는 경우는 제외됩니다. 이동된 명령의 [시간 제한](#time-limit-for-background-commands)은 이동 시점부터 계산되며, 포그라운드 서브에이전트의 이동된 명령은 여전히 해당 서브에이전트의 실행이 끝날 때 중지됩니다.
216 216
217[`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/ko/env-vars#variables)을 설정하거나 [bare 모드](/docs/ko/headless.md#start-faster-with-bare-mode)에서 실행하면 자동 백그라운드 처리 및 나머지 백그라운드 작업 기능이 비활성화되므로, 타임아웃에 도달한 명령은 대신 중지됩니다.217[`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](https://code.claude.com/docs/ko/env-vars#variables)을 설정하거나 [bare 모드](https://code.claude.com/docs/ko/headless.md#start-faster-with-bare-mode)에서 실행하면 자동 백그라운드 처리가 비활성화되므로, 타임아웃에 도달한 명령은 대신 중지됩니다.
218 218
219백그라운드로 이동된 명령의 결과는 발생한 일을 나타냅니다:219백그라운드로 이동된 명령의 결과는 발생한 일을 나타냅니다:
220 220
223 223
224### Linux 및 WSL의 메모리 제한224### Linux 및 WSL의 메모리 제한
225 225
226Linux 및 WSL에서, [`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](/docs/ko/env-vars#variables)을 `4G`와 같은 크기로 설정하여 Bash, PowerShell 및 [Monitor](#monitor-tool) 도구 명령이 사용할 수 있는 메모리를 제한하므로, 하나의 폭주 빌드가 세션의 나머지 부분이 필요한 메모리를 차지할 수 없습니다. Claude Code v2.1.233 이상이 필요합니다. v2.1.246 이전에는 Monitor 도구 명령이 상한 외부에서 실행되었습니다.226Linux 및 WSL에서, [`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](https://code.claude.com/docs/ko/env-vars#variables)을 `4G`와 같은 크기로 설정하여 Bash, PowerShell 및 [Monitor](#monitor-tool) 도구 명령이 사용할 수 있는 메모리를 제한하므로, 하나의 폭주 빌드가 세션의 나머지 부분이 필요한 메모리를 차지할 수 없습니다. Claude Code v2.1.233 이상이 필요합니다. v2.1.246 이전에는 Monitor 도구 명령이 상한 외부에서 실행되었습니다.
227 227
228* 크기를 바이트 수 또는 `K`, `M`, `G` 또는 `T` 접미사가 있는 것으로 작성합니다. 상한을 끄려면 `0`, `off`, `false`, `no` 또는 `none`을 설정합니다. Claude Code는 `4e9`와 같이 크기로 읽을 수 없는 다른 값을 무시합니다.228* 크기를 바이트 수 또는 `K`, `M`, `G` 또는 `T` 접미사가 있는 것으로 작성합니다. 상한을 끄려면 `0`, `off`, `false`, `no` 또는 `none`을 설정합니다. Claude Code는 `4e9`와 같이 크기로 읽을 수 없는 다른 값을 무시합니다.
229* Claude Code는 각 명령에 대해 별도로가 아니라 하나의 상한에 대해 세션의 모든 Bash, PowerShell 및 Monitor 명령을 계산합니다.229* Claude Code는 각 명령에 대해 별도로가 아니라 하나의 상한에 대해 세션의 모든 Bash, PowerShell 및 Monitor 명령을 계산합니다.
231* Claude Code가 시작한 첫 번째 프로세스가 상한을 켜거나, 오프 값 또는 실패한 cgroup 설정으로 인해 꺼진 후, Claude Code는 다시 시작할 때까지 해당 결과를 유지합니다. 변경되거나 제거된 값 또는 고정된 설정을 적용하려면 `claude`를 다시 시작합니다.231* Claude Code가 시작한 첫 번째 프로세스가 상한을 켜거나, 오프 값 또는 실패한 cgroup 설정으로 인해 꺼진 후, Claude Code는 다시 시작할 때까지 해당 결과를 유지합니다. 변경되거나 제거된 값 또는 고정된 설정을 적용하려면 `claude`를 다시 시작합니다.
232* 명령이 상한 아래에 머물 수 없으면, 커널이 명령을 중단하며, 결과의 아무것도 상한을 명명하지 않습니다.232* 명령이 상한 아래에 머물 수 없으면, 커널이 명령을 중단하며, 결과의 아무것도 상한을 명명하지 않습니다.
233 233
234Claude Code는 또한 시작하는 다른 종류의 프로세스를 동일한 제한에 대해 계산할 수 있습니다. [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/ko/env-vars#variables)를 상한에서 제외할 종류의 쉼표로 구분된 목록으로 설정합니다. Claude Code는 목록에 없는 모든 종류에 상한을 적용합니다. 모든 종류를 제한하려면 `none`으로 설정하거나, Bash, PowerShell 및 Monitor 도구 명령만 제한하려면 `all-new`로 설정합니다. Claude Code v2.1.246 이상이 필요합니다. 명명할 수 있는 종류:234Claude Code는 또한 시작하는 다른 종류의 프로세스를 동일한 제한에 대해 계산할 수 있습니다. [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](https://code.claude.com/docs/ko/env-vars#variables)를 상한에서 제외할 종류의 쉼표로 구분된 목록으로 설정합니다. Claude Code는 목록에 없는 모든 종류에 상한을 적용합니다. 모든 종류를 제한하려면 `none`으로 설정하거나, Bash, PowerShell 및 Monitor 도구 명령만 제한하려면 `all-new`로 설정합니다. Claude Code v2.1.246 이상이 필요합니다. 명명할 수 있는 종류:
235 235
236* `mcp`: 로컬 [MCP 서버](/docs/ko/mcp.md)236* `mcp`: 로컬 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)
237* `lsp`: [언어 서버](#lsp-tool-behavior)237* `lsp`: [언어 서버](#lsp-tool-behavior)
238* `hooks`: [훅](/docs/ko/hooks.md) 명령238* `hooks`: [훅](https://code.claude.com/docs/ko/hooks.md) 명령
239* `plugin`: [플러그인](/docs/ko/plugins/overview.md)이 실행하는 명령239* `plugin`: [플러그인](https://code.claude.com/docs/ko/plugins/overview.md)이 실행하는 명령
240* `helper`: Claude Code의 자체 도우미 명령, 예를 들어 `git`240* `helper`: Claude Code의 자체 도우미 명령, 예를 들어 `git`
241* `agent`: 자식 Claude Code 프로세스, 예를 들어 [에이전트 팀원](/docs/ko/agent-teams.md)241* `agent`: 자식 Claude Code 프로세스, 예를 들어 [에이전트 팀원](https://code.claude.com/docs/ko/agent-teams.md)
242 242
243나열하는 것이 무엇이든, 이러한 규칙이 적용됩니다:243나열하는 것이 무엇이든, 이러한 규칙이 적용됩니다:
244 244
250 250
251Edit 도구는 정확한 문자열 교체를 수행합니다. `old_string`과 `new_string`을 받아 첫 번째를 두 번째로 교체합니다. 정규식이나 유사 일치를 사용하지 않습니다.251Edit 도구는 정확한 문자열 교체를 수행합니다. `old_string`과 `new_string`을 받아 첫 번째를 두 번째로 교체합니다. 정규식이나 유사 일치를 사용하지 않습니다.
252 252
253편집을 적용하기 위해 다음 검사를 통과해야 합니다. 그 전에, [`Read` 거부 규칙](/docs/ko/permissions#tool-specific-permission-rules)과 일치하는 경로는 거부되며, 여기에 새 파일을 만드는 것도 포함됩니다.253편집을 적용하기 위해 다음 검사를 통과해야 합니다. 그 전에, [`Read` 거부 규칙](https://code.claude.com/docs/ko/permissions#tool-specific-permission-rules)과 일치하는 경로는 거부되며, 여기에 새 파일을 만드는 것도 포함됩니다.
254 254
255* **편집 전 읽기**: Claude는 편집하기 전에 현재 대화에서 파일을 읽으며, [`PARTIAL view` 공지](#large-files)로 단축된 읽기는 계산되지 않습니다. Claude Opus 4.6, Claude Haiku 4.5 및 이전 모델은 항상 읽기를 요구합니다. 최신 모델은 읽기가 권한 프롬프트를 필요로 하지 않고 Read 도구를 사용할 수 있을 때 읽지 않은 파일을 편집할 수 있습니다.255* **편집 전 읽기**: Claude는 편집하기 전에 현재 대화에서 파일을 읽으며, [`PARTIAL view` 공지](#large-files)로 단축된 읽기는 계산되지 않습니다. Claude Opus 4.6, Claude Haiku 4.5 및 이전 모델은 항상 읽기를 요구합니다. 최신 모델은 읽기가 권한 프롬프트를 필요로 하지 않고 Read 도구를 사용할 수 있을 때 읽지 않은 파일을 편집할 수 있습니다.
256* **일치**: `old_string`은 파일에 정확히 작성된 대로 나타나야 합니다. 공백이나 들여쓰기의 단 한 글자 차이도 일치하지 않기에 충분합니다.256* **일치**: `old_string`은 파일에 정확히 작성된 대로 나타나야 합니다. 공백이나 들여쓰기의 단 한 글자 차이도 일치하지 않기에 충분합니다.
260 260
261Claude는 `cat`이나 `grep` 같은 Bash 명령으로 파일을 본 후에도 별도의 Read 없이 파일을 편집할 수 있습니다. 해당 명령은 `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep`, `rg`이며, 각각 파이프나 리디렉션 없이 단일 파일에 대해 실행되어야 합니다. 일치 항목을 출력하지 않는 검색은 읽기로 간주되지 않으며, 이 목록에 없는 명령도 마찬가지입니다.261Claude는 `cat`이나 `grep` 같은 Bash 명령으로 파일을 본 후에도 별도의 Read 없이 파일을 편집할 수 있습니다. 해당 명령은 `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep`, `rg`이며, 각각 파이프나 리디렉션 없이 단일 파일에 대해 실행되어야 합니다. 일치 항목을 출력하지 않는 검색은 읽기로 간주되지 않으며, 이 목록에 없는 명령도 마찬가지입니다.
262 262
263Claude가 이 방식으로 파일을 볼 때, Claude Code는 해당 파일에 적용되는 [하위 디렉터리 `CLAUDE.md`](/docs/ko/memory#how-claude-md-files-load) 및 [경로 범위 규칙](/docs/ko/memory.md#path-specific-rules)도 로드합니다. [Read 및 Edit 권한 규칙](/docs/ko/permissions.md#read-and-edit)에서 `Read` 및 `Edit` 거부 규칙이 적용되는 Bash 명령을 확인하십시오.263Claude가 이 방식으로 파일을 볼 때, Claude Code는 해당 파일에 적용되는 [하위 디렉터리 `CLAUDE.md`](https://code.claude.com/docs/ko/memory#how-claude-md-files-load) 및 [경로 범위 규칙](https://code.claude.com/docs/ko/memory.md#path-specific-rules)도 로드합니다. [Read 및 Edit 권한 규칙](https://code.claude.com/docs/ko/permissions.md#read-and-edit)에서 `Read` 및 `Edit` 거부 규칙이 적용되는 Bash 명령을 확인하십시오.
264 264
265### UTF-8이 아닌 파일265### UTF-8이 아닌 파일
266 266
267Claude는 유효한 UTF-8이 아닌 파일에 [NotebookEdit](#notebookedit-tool-behavior)를 사용할 수 없습니다. Edit도 마찬가지이며, 파일이 리틀 엔디언 UTF-16 바이트 순서 표시로 시작하는 경우는 예외입니다. Claude가 시도하면 도구는 변경을 거부하고 파일을 그대로 둡니다. 거부되는 파일에는 Windows-1252나 Shift-JIS 같은 레거시 인코딩으로 저장된 비ASCII 텍스트, 바이너리 파일, 잘못된 바이트 시퀀스가 있는 UTF-8이 포함됩니다.267Claude는 유효한 UTF-8이 아닌 파일에 [NotebookEdit](#notebookedit-tool-behavior)를 사용할 수 없습니다. Edit도 마찬가지이며, 파일이 리틀 엔디언 UTF-16 바이트 순서 표시로 시작하는 경우는 예외입니다. Claude가 시도하면 도구는 변경을 거부하고 파일을 그대로 둡니다. 거부되는 파일에는 Windows-1252나 Shift-JIS 같은 레거시 인코딩으로 저장된 비ASCII 텍스트, 바이너리 파일, 잘못된 바이트 시퀀스가 있는 UTF-8이 포함됩니다.
268 268
269도구가 거부하는 이유는 전체 파일을 UTF-8로 다시 저장하면 디코딩할 수 없는 모든 바이트가 대체 문자 `U+FFFD`로 바뀌기 때문입니다. 대신 [Claude가 받는 오류](/docs/ko/errors.md#file-is-not-valid-utf-8)는 파일의 인코딩을 유지하는 셸 명령으로 변경하거나, 먼저 파일을 UTF-8로 변환할지 사용자에게 묻도록 Claude에게 안내합니다.269도구가 거부하는 이유는 전체 파일을 UTF-8로 다시 저장하면 디코딩할 수 없는 모든 바이트가 대체 문자 `U+FFFD`로 바뀌기 때문입니다. 대신 [Claude가 받는 오류](https://code.claude.com/docs/ko/errors.md#file-is-not-valid-utf-8)는 파일의 인코딩을 유지하는 셸 명령으로 변경하거나, 먼저 파일을 UTF-8로 변환할지 사용자에게 묻도록 Claude에게 안내합니다.
270 270
271Claude는 이러한 파일을 Write로 교체할 수는 있지만, 새 콘텐츠에 `U+FFFD`(Read가 디코딩할 수 없는 바이트 대신 Claude에게 표시하는 문자)가 포함된 경우는 예외입니다. 이 보호 장치는 Claude가 읽은 깨진 텍스트를 다시 쓰지 못하도록 막습니다. Write가 파일을 교체하면 새 콘텐츠를 UTF-8로 저장하므로 파일의 원래 인코딩이 손실됩니다.271Claude는 이러한 파일을 Write로 교체할 수는 있지만, 새 콘텐츠에 `U+FFFD`(Read가 디코딩할 수 없는 바이트 대신 Claude에게 표시하는 문자)가 포함된 경우는 예외입니다. 이 보호 장치는 Claude가 읽은 깨진 텍스트를 다시 쓰지 못하도록 막습니다. Write가 파일을 교체하면 새 콘텐츠를 UTF-8로 저장하므로 파일의 원래 인코딩이 손실됩니다.
272 272
281 281
282Claude가 대화형 세션을 종료한 후 세션이 잠깁니다. 새로운 프롬프트와 대부분의 명령은 `Claude ended this conversation. Start a new session (or /clear) to continue.`를 반환하며, `/clear`, `/resume`, `/help`, `/exit`, `/feedback`만 계속 실행됩니다. Claude Code는 세션의 트랜스크립트에 종료를 기록하므로, 종료된 세션을 재개하면 잠금이 복원됩니다. 세션의 기록은 삭제되지 않습니다.282Claude가 대화형 세션을 종료한 후 세션이 잠깁니다. 새로운 프롬프트와 대부분의 명령은 `Claude ended this conversation. Start a new session (or /clear) to continue.`를 반환하며, `/clear`, `/resume`, `/help`, `/exit`, `/feedback`만 계속 실행됩니다. Claude Code는 세션의 트랜스크립트에 종료를 기록하므로, 종료된 세션을 재개하면 잠금이 복원됩니다. 세션의 기록은 삭제되지 않습니다.
283 283
284[비대화형 모드](/docs/ko/headless.md)에서 `-p` 플래그를 사용하여 종료된 세션을 재개하면 오류가 발생하고 코드 1로 종료되므로, 스크립트는 종료된 실행을 성공으로 읽지 않습니다.284[비대화형 모드](https://code.claude.com/docs/ko/headless.md)에서 `-p` 플래그를 사용하여 종료된 세션을 재개하면 오류가 발생하고 코드 1로 종료되므로, 스크립트는 종료된 실행을 성공으로 읽지 않습니다.
285 285
286도구는 권한을 묻지 않으며, [PreToolUse 훅](/docs/ko/hooks.md#pretooluse)은 이에 대해 실행되지 않습니다. 다른 도구가 남아 있는 동안 이를 차단할 수도 없습니다: `EndConversation`을 명명하는 [거부 및 요청 규칙](/docs/ko/permissions.md#tool-specific-permission-rules)은 효과가 없으며, `--disallowedTools`도 `--tools` 목록도 이를 제거할 수 없습니다. 이 예외는 의도적입니다: 도구는 대화를 종료하는 것 외에는 아무것도 하지 않으며, 파일이나 데이터를 읽거나 수정하지 않으며, 이러한 종류의 보안 장치는 적용되는 세션이 이를 끌 수 없을 때만 유지됩니다. 거부 규칙이 다른 모든 도구를 제거하고 `EndConversation`도 일치할 때, `"*"`처럼, Claude Code는 허용 규칙이 `EndConversation`을 명시적으로 명명하지 않는 한 유일한 도구로 남기는 대신 이를 제거합니다. 다른 모든 도구를 제거하지만 `EndConversation`과 일치하지 않는 거부 목록은 이를 제자리에 둡니다.286도구는 권한을 묻지 않으며, [PreToolUse 훅](https://code.claude.com/docs/ko/hooks.md#pretooluse)은 이에 대해 실행되지 않습니다. 다른 도구가 남아 있는 동안 이를 차단할 수도 없습니다: `EndConversation`을 명명하는 [거부 및 요청 규칙](https://code.claude.com/docs/ko/permissions.md#tool-specific-permission-rules)은 효과가 없으며, `--disallowedTools`도 `--tools` 목록도 이를 제거할 수 없습니다. 이 예외는 의도적입니다: 도구는 대화를 종료하는 것 외에는 아무것도 하지 않으며, 파일이나 데이터를 읽거나 수정하지 않으며, 이러한 종류의 보안 장치는 적용되는 세션이 이를 끌 수 없을 때만 유지됩니다. 거부 규칙이 다른 모든 도구를 제거하고 `EndConversation`도 일치할 때, `"*"`처럼, Claude Code는 허용 규칙이 `EndConversation`을 명시적으로 명명하지 않는 한 유일한 도구로 남기는 대신 이를 제거합니다. 다른 모든 도구를 제거하지만 `EndConversation`과 일치하지 않는 거부 목록은 이를 제자리에 둡니다.
287 287
288[서브에이전트](/docs/ko/sub-agents.md)는 절대 도구를 받지 않습니다. 메인 대화의 도구 목록을 공유하는 백그라운드 작업은 이를 보지만, 거기서 호출하면 아무것도 종료되지 않습니다.288[서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)는 절대 도구를 받지 않습니다. 메인 대화의 도구 목록을 공유하는 백그라운드 작업은 이를 보지만, 거기서 호출하면 아무것도 종료되지 않습니다.
289 289
290도구는 다음의 모든 조건이 충족될 때만 나타납니다:290도구는 다음의 모든 조건이 충족될 때만 나타납니다:
291 291
292* **모델**: 세션의 모델이 Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, 또는 이들 중 하나의 최신 버전입니다.292* **모델**: 세션의 모델이 Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, 또는 이들 중 하나의 최신 버전입니다.
293* **표면**: 대화형 터미널 세션, IDE의 통합 터미널에서의 `claude` 세션 포함, 이것이 [JetBrains 플러그인](/docs/ko/jetbrains.md)이 실행되는 방식입니다. 다른 표면은 도구를 포함하지 않습니다:293* **표면**: 대화형 터미널 세션, IDE의 통합 터미널에서의 `claude` 세션 포함, 이것이 [JetBrains 플러그인](https://code.claude.com/docs/ko/jetbrains.md)이 실행되는 방식입니다. 다른 표면은 도구를 포함하지 않습니다:
294 * 비대화형 `-p` 실행294 * 비대화형 `-p` 실행
295 * [Agent SDK](/docs/ko/agent-sdk/overview.md) TypeScript 및 Python 패키지를 통한 세션295 * [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) TypeScript 및 Python 패키지를 통한 세션
296 * [VS Code 확장](/docs/ko/vs-code.md) 패널, 자체 CLI를 번들로 제공합니다296 * [VS Code 확장](https://code.claude.com/docs/ko/vs-code.md) 패널, 자체 CLI를 번들로 제공합니다
297 * [GitHub Actions](/docs/ko/github-actions.md)297 * [GitHub Actions](https://code.claude.com/docs/ko/github-actions.md)
298 * [웹의 Claude Code](/docs/ko/claude-code-on-the-web.md)298 * [웹의 Claude Code](https://code.claude.com/docs/ko/claude-code-on-the-web.md)
299* **시작 모드**: [`--bare`](/docs/ko/headless#start-faster-with-bare-mode) 세션이 아닙니다. Bare 모드는 셸 및 파일 도구만 로드하므로 도구는 거기서 등록되지 않습니다.299* **시작 모드**: [`--bare`](https://code.claude.com/docs/ko/headless#start-faster-with-bare-mode) 세션이 아닙니다. Bare 모드는 셸 및 파일 도구만 로드하므로 도구는 거기서 등록되지 않습니다.
300* **제공자**: [Amazon Bedrock](/docs/ko/amazon-bedrock.md), [Claude Platform on AWS](/docs/ko/claude-platform-on-aws.md), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai.md), [Microsoft Foundry](/docs/ko/microsoft-foundry.md)에서 사용할 수 없으며, [클라우드 게이트웨이](/docs/ko/claude-apps-gateway)를 통해 로그인한 세션에서도 사용할 수 없습니다.300* **제공자**: [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.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)에서 사용할 수 없으며, [클라우드 게이트웨이](https://code.claude.com/docs/ko/claude-apps-gateway)를 통해 로그인한 세션에서도 사용할 수 없습니다.
301 301
302## Glob 도구 동작302## Glob 도구 동작
303 303
305 305
306macOS, Linux 및 WSL에서 다음의 경우에 Glob과 Grep 도구를 다시 얻습니다:306macOS, Linux 및 WSL에서 다음의 경우에 Glob과 Grep 도구를 다시 얻습니다:
307 307
308* 세션을 시작할 때 [`--tools` 또는 `--allowedTools`](/docs/ko/cli-reference#cli-flags)에서 `Glob` 또는 `Grep`을 명명하거나, 동등한 [Agent SDK](/docs/ko/agent-sdk/overview.md) 옵션에서 명명합니다. `--tools`를 사용하면 나열한 도구를 얻고, `--allowedTools`에서 도구 중 하나를 명명하면 둘 다 복원됩니다. 설정 파일의 허용 규칙은 이 효과를 갖지 않습니다.308* 세션을 시작할 때 [`--tools` 또는 `--allowedTools`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에서 `Glob` 또는 `Grep`을 명명하거나, 동등한 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 옵션에서 명명합니다. `--tools`를 사용하면 나열한 도구를 얻고, `--allowedTools`에서 도구 중 하나를 명명하면 둘 다 복원됩니다. 설정 파일의 허용 규칙은 이 효과를 갖지 않습니다.
309* 권한 [거부 규칙](/docs/ko/permissions.md#match-all-uses-of-a-tool), `--disallowedTools` 플래그 또는 [`--restricted`](/docs/ko/cli-reference#cli-flags)가 세션에서 `Bash`를 제거합니다.309* 권한 [거부 규칙](https://code.claude.com/docs/ko/permissions.md#match-all-uses-of-a-tool), `--disallowedTools` 플래그 또는 [`--restricted`](https://code.claude.com/docs/ko/cli-reference#cli-flags)가 세션에서 `Bash`를 제거합니다.
310* [서브에이전트](/docs/ko/sub-agents.md#available-tools)가 `tools` 필드에 `Glob` 또는 `Grep`을 나열하고 `Bash`를 제외합니다. 나열된 도구는 해당 서브에이전트에만 돌아오거나, [`--agent`](/docs/ko/sub-agents#invoke-subagents-explicitly) 또는 `agent` 설정을 통해 주 세션 에이전트로 실행될 때 전체 세션에 돌아옵니다.310* [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md#available-tools)가 `tools` 필드에 `Glob` 또는 `Grep`을 나열하고 `Bash`를 제외합니다. 나열된 도구는 해당 서브에이전트에만 돌아오거나, [`--agent`](https://code.claude.com/docs/ko/sub-agents#invoke-subagents-explicitly) 또는 `agent` 설정을 통해 주 세션 에이전트로 실행될 때 전체 세션에 돌아옵니다.
311 311
312Glob은 재귀적 디렉터리 매칭을 위한 `**`를 포함한 표준 glob 구문을 지원합니다:312Glob은 재귀적 디렉터리 매칭을 위한 `**`를 포함한 표준 glob 구문을 지원합니다:
313 313
319 319
320Glob은 기본적으로 `.gitignore`를 존중하지 않으므로 gitignore된 파일을 추적된 파일과 함께 찾습니다. 이는 gitignore된 파일을 건너뛰는 [Grep](#grep-tool-behavior)과 다릅니다. Glob이 `.gitignore`를 존중하도록 하려면 Claude Code를 시작하기 전에 `CLAUDE_CODE_GLOB_NO_IGNORE=false`를 설정하십시오.320Glob은 기본적으로 `.gitignore`를 존중하지 않으므로 gitignore된 파일을 추적된 파일과 함께 찾습니다. 이는 gitignore된 파일을 건너뛰는 [Grep](#grep-tool-behavior)과 다릅니다. Glob이 `.gitignore`를 존중하도록 하려면 Claude Code를 시작하기 전에 `CLAUDE_CODE_GLOB_NO_IGNORE=false`를 설정하십시오.
321 321
322Claude Code는 검색 디렉터리의 존재 여부를 확인하기 전에 Glob 호출에 대한 권한을 결정합니다. 여전히 [작업 디렉터리](/docs/ko/permissions.md#working-directories) 외부의 누락된 `path`에 대해 읽기 권한 확인을 실행하므로 경로에 대한 권한 프롬프트가 경로가 존재한다는 의미는 아닙니다.322Claude Code는 검색 디렉터리의 존재 여부를 확인하기 전에 Glob 호출에 대한 권한을 결정합니다. 여전히 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 누락된 `path`에 대해 읽기 권한 확인을 실행하므로 경로에 대한 권한 프롬프트가 경로가 존재한다는 의미는 아닙니다.
323 323
324null 바이트를 포함하는 `pattern` 또는 `path` 값은 Claude에 이를 제거하도록 요청하는 오류를 반환합니다.324null 바이트를 포함하는 `pattern` 또는 `path` 값은 Claude에 이를 제거하도록 요청하는 오류를 반환합니다.
325 325
341 341
342Grep은 `.gitignore`를 준수하므로 gitignore된 파일은 건너뜁니다. gitignore된 파일을 검색하려면 Claude가 해당 경로를 직접 전달합니다.342Grep은 `.gitignore`를 준수하므로 gitignore된 파일은 건너뜁니다. gitignore된 파일을 검색하려면 Claude가 해당 경로를 직접 전달합니다.
343 343
344Claude Code는 검색 `path`가 존재하는지 확인하기 전에 Grep 호출에 대한 권한을 결정합니다. 여전히 [작업 디렉터리](/docs/ko/permissions.md#working-directories) 외부의 누락된 `path`에 대해 읽기 권한 확인을 실행하므로 경로에 대한 권한 프롬프트는 경로가 존재한다는 의미가 아닙니다.344Claude Code는 검색 `path`가 존재하는지 확인하기 전에 Grep 호출에 대한 권한을 결정합니다. 여전히 [작업 디렉터리](https://code.claude.com/docs/ko/permissions.md#working-directories) 외부의 누락된 `path`에 대해 읽기 권한 확인을 실행하므로 경로에 대한 권한 프롬프트는 경로가 존재한다는 의미가 아닙니다.
345 345
346## LSP 도구 동작346## LSP 도구 동작
347 347
355* 인터페이스의 구현 찾기355* 인터페이스의 구현 찾기
356* 호출 계층 추적356* 호출 계층 추적
357 357
358Claude Code는 언어에 대한 [코드 인텔리전스 플러그인](/docs/ko/plugins/code-intelligence.md)을 설치할 때까지 도구를 비활성 상태로 유지합니다. [클라우드 세션](/docs/ko/claude-code-on-the-web.md)에서 Claude Code는 플러그인 언어 서버를 시작하지 않으므로 LSP 도구는 그곳에서 비활성 상태로 유지됩니다. Claude Code는 플러그인에서 언어 서버의 구성을 가져오며, 사용자가 서버 바이너리를 직접 설치합니다.358Claude Code는 언어에 대한 [코드 인텔리전스 플러그인](https://code.claude.com/docs/ko/plugins/code-intelligence.md)을 설치할 때까지 도구를 비활성 상태로 유지합니다. [클라우드 세션](https://code.claude.com/docs/ko/claude-code-on-the-web.md)에서 Claude Code는 플러그인 언어 서버를 시작하지 않으므로 LSP 도구는 그곳에서 비활성 상태로 유지됩니다. Claude Code는 플러그인에서 언어 서버의 구성을 가져오며, 사용자가 서버 바이너리를 직접 설치합니다.
359 359
360Claude Code는 언어 서버를 시작할 수 없는 파일에 대한 각 LSP 호출에 대해 오류 결과를 반환합니다.360Claude Code는 언어 서버를 시작할 수 없는 파일에 대한 각 LSP 호출에 대해 오류 결과를 반환합니다.
361 361
373 373
374사용자는 동일한 세션에서 계속 작업하고 Claude는 이벤트가 도착할 때 개입합니다.374사용자는 동일한 세션에서 계속 작업하고 Claude는 이벤트가 도착할 때 개입합니다.
375 375
376Claude가 시작하는 모든 감시에는 기한이 있습니다: 기본값은 5분, 최대 30분이며, `-p`를 사용하여 단일 프롬프트가 주어진 [비대화형](/docs/ko/headless.md) 실행에서는 최대 10분입니다.376Claude가 시작하는 모든 감시에는 기한이 있습니다: 기본값은 5분, 최대 30분이며, `-p`를 사용하여 단일 프롬프트가 주어진 [비대화형](https://code.claude.com/docs/ko/headless.md) 실행에서는 최대 10분입니다.
377 377
378기한에 감시가 종료됩니다. Claude는 한 번의 알림을 받으므로 여전히 필요한 경우 감시를 다시 시작할 수 있습니다.378기한에 감시가 종료됩니다. Claude는 한 번의 알림을 받으므로 여전히 필요한 경우 감시를 다시 시작할 수 있습니다.
379 379
380Claude에게 취소를 요청하거나 세션을 종료하여 모니터를 중지합니다. 모니터를 시작한 [서브에이전트](/docs/ko/sub-agents.md)를 중지하면(예: `/tasks`에서) 해당 모니터도 함께 중지됩니다.380Claude에게 취소를 요청하거나 세션을 종료하여 모니터를 중지합니다. 모니터를 시작한 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)를 중지하면(예: `/tasks`에서) 해당 모니터도 함께 중지됩니다.
381 381
382Monitor가 명령을 실행할 때 [Bash와 동일한 권한 규칙](/docs/ko/permissions.md#tool-specific-permission-rules)을 사용하므로 Bash에 대해 설정한 `allow` 및 `deny` 패턴이 여기에도 적용됩니다. [자동 모드](/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)가 활성화되어 있는 동안 Claude Code는 `Monitor` 자체의 이름을 지정하는 allow 규칙과 [함께 삭제되는 다른 광범위한 allow 규칙](/docs/ko/permission-modes.md#how-the-classifier-evaluates-actions)을 적용하지 않으므로 분류기는 Monitor 명령을 Bash 명령과 동일한 방식으로 검토합니다.382Monitor가 명령을 실행할 때 [Bash와 동일한 권한 규칙](https://code.claude.com/docs/ko/permissions.md#tool-specific-permission-rules)을 사용하므로 Bash에 대해 설정한 `allow` 및 `deny` 패턴이 여기에도 적용됩니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)가 활성화되어 있는 동안 Claude Code는 `Monitor` 자체의 이름을 지정하는 allow 규칙과 [함께 삭제되는 다른 광범위한 allow 규칙](https://code.claude.com/docs/ko/permission-modes.md#how-the-classifier-evaluates-actions)을 적용하지 않으므로 분류기는 Monitor 명령을 Bash 명령과 동일한 방식으로 검토합니다.
383 383
384[WebSocket 소스](#websocket-source)에는 자체 승인 프롬프트가 있으며, 분류기도 자동 모드에서 이를 결정합니다.384[WebSocket 소스](#websocket-source)에는 자체 승인 프롬프트가 있으며, 분류기도 자동 모드에서 이를 결정합니다.
385 385
386이 도구는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 사용할 수 없습니다. `DISABLE_TELEMETRY` 또는 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`이 설정된 경우에도 사용할 수 없습니다. Windows에서는 [Git Bash](/docs/ko/setup.md#set-up-on-windows)가 설치된 경우에만 이 도구를 사용할 수 있습니다.386이 도구는 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry에서 사용할 수 없습니다. `DISABLE_TELEMETRY` 또는 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`이 설정된 경우에도 사용할 수 없습니다. Windows에서는 [Git Bash](https://code.claude.com/docs/ko/setup.md#set-up-on-windows)가 설치된 경우에만 이 도구를 사용할 수 있습니다.
387 387
388플러그인은 Claude에게 시작을 요청하는 대신 플러그인이 활성화될 때 자동으로 시작되는 모니터를 선언할 수 있습니다. [플러그인 모니터](/docs/ko/plugins/components.md#monitors)를 참조하세요.388플러그인은 Claude에게 시작을 요청하는 대신 플러그인이 활성화될 때 자동으로 시작되는 모니터를 선언할 수 있습니다. [플러그인 모니터](https://code.claude.com/docs/ko/plugins/components.md#monitors)를 참조하세요.
389 389
390### WebSocket 소스390### WebSocket 소스
391 391
405 405
406`timeout_ms` 기한은 WebSocket 감시에도 적용됩니다: 감시가 기한에 종료되고 `TaskStop`이 조기에 취소합니다.406`timeout_ms` 기한은 WebSocket 감시에도 적용됩니다: 감시가 기한에 종료되고 `TaskStop`이 조기에 취소합니다.
407 407
408WebSocket을 열면 승인을 요청합니다. [자동 모드](/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서는 분류기가 대신 결정합니다. 프롬프트는 동일한 호스트에 대해 향후 프롬프트를 건너뛸 수 있는 옵션을 제공하지 않습니다.408WebSocket을 열면 승인을 요청합니다. [자동 모드](https://code.claude.com/docs/ko/permission-modes.md#eliminate-prompts-with-auto-mode)에서는 분류기가 대신 결정합니다. 프롬프트는 동일한 호스트에 대해 향후 프롬프트를 건너뛸 수 있는 옵션을 제공하지 않습니다.
409 409
410Claude Code는 프라이빗, 링크-로컬 또는 클라우드 메타데이터 주소를 가리키는 URL을 거부하며, 이는 해당 주소로 확인되는 호스트 이름도 포함합니다. 또한 `sandbox.network.deniedDomains`의 호스트를 거부하고, 관리형 설정에서 [`allowManagedDomainsOnly`](/docs/ko/settings-reference#sandbox-network-allowmanageddomainsonly)가 설정된 경우 관리형 허용 목록 외부의 모든 호스트를 거부합니다.410Claude Code는 프라이빗, 링크-로컬 또는 클라우드 메타데이터 주소를 가리키는 URL을 거부하며, 이는 해당 주소로 확인되는 호스트 이름도 포함합니다. 또한 `sandbox.network.deniedDomains`의 호스트를 거부하고, 관리형 설정에서 [`allowManagedDomainsOnly`](https://code.claude.com/docs/ko/settings-reference#sandbox-network-allowmanageddomainsonly)가 설정된 경우 관리형 허용 목록 외부의 모든 호스트를 거부합니다.
411 411
412## NotebookEdit 도구 동작412## NotebookEdit 도구 동작
413 413
431* **Git Bash가 설치된 Windows**: 도구는 claude.ai 및 Console 계정에서 기본적으로 켜져 있습니다. Amazon Bedrock, Google Cloud의 Agent Platform 및 Microsoft Foundry 세션에서 활성화하려면 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`을 설정하거나, 끄려면 `0`을 설정합니다.431* **Git Bash가 설치된 Windows**: 도구는 claude.ai 및 Console 계정에서 기본적으로 켜져 있습니다. Amazon Bedrock, Google Cloud의 Agent Platform 및 Microsoft Foundry 세션에서 활성화하려면 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`을 설정하거나, 끄려면 `0`을 설정합니다.
432* **Linux, macOS 및 WSL**: 도구는 선택 사항입니다.432* **Linux, macOS 및 WSL**: 도구는 선택 사항입니다.
433 433
434[PreToolUse hooks](/docs/ko/hooks.md#powershell)는 도구의 명령 문자열을 `tool_input.command`에서 수신하며, Bash 도구와 동일한 필드를 가집니다.434[PreToolUse hooks](https://code.claude.com/docs/ko/hooks.md#powershell)는 도구의 명령 문자열을 `tool_input.command`에서 수신하며, Bash 도구와 동일한 필드를 가집니다.
435 435
436셸 명령을 검사하는 hooks에서 `Bash|PowerShell`과 일치시킵니다. [PowerShell hook 입력 섹션](/docs/ko/hooks.md#powershell)은 `Bash`만 일치시키는 것이 충분하지 않은 이유를 설명합니다.436셸 명령을 검사하는 hooks에서 `Bash|PowerShell`과 일치시킵니다. [PowerShell hook 입력 섹션](https://code.claude.com/docs/ko/hooks.md#powershell)은 `Bash`만 일치시키는 것이 충분하지 않은 이유를 설명합니다.
437 437
438### PowerShell 도구 활성화438### PowerShell 도구 활성화
439 439
455 455
456### Bash 거부 규칙은 PowerShell 도구도 끕니다456### Bash 거부 규칙은 PowerShell 도구도 끕니다
457 457
458Git Bash가 설치된 Windows에서 Bash를 거부하면 해당 세션에서 PowerShell 도구도 꺼집니다. 이는 단독 `Bash`뿐 아니라 `Bash(git push *)`와 같은 범위 지정 규칙에도 적용되며, 설정 파일 중 하나 또는 `--disallowedTools`에서 지정된 규칙에도 적용됩니다. Claude Code가 이렇게 하는 이유는 `Bash` 규칙이 [자체 권한 규칙](/docs/ko/permissions.md#powershell)을 가진 PowerShell 도구를 제한하지 않기 때문입니다. PowerShell이 켜진 상태로 남아 있으면 Claude는 규칙이 Bash에서 거부하는 작업을 PowerShell에서 실행할 수 있습니다.458Git Bash가 설치된 Windows에서 Bash를 거부하면 해당 세션에서 PowerShell 도구도 꺼집니다. 이는 단독 `Bash`뿐 아니라 `Bash(git push *)`와 같은 범위 지정 규칙에도 적용되며, 설정 파일 중 하나 또는 `--disallowedTools`에서 지정된 규칙에도 적용됩니다. Claude Code가 이렇게 하는 이유는 `Bash` 규칙이 [자체 권한 규칙](https://code.claude.com/docs/ko/permissions.md#powershell)을 가진 PowerShell 도구를 제한하지 않기 때문입니다. PowerShell이 켜진 상태로 남아 있으면 Claude는 규칙이 Bash에서 거부하는 작업을 PowerShell에서 실행할 수 있습니다.
459 459
460Bash 거부 규칙과 함께 PowerShell 도구를 켜 두려면 다음 중 하나를 수행합니다.460Bash 거부 규칙과 함께 PowerShell 도구를 켜 두려면 다음 중 하나를 수행합니다.
461 461
462* [PowerShell 도구 활성화](#enable-the-powershell-tool)에 표시된 대로 환경 또는 설정 파일의 `env` 블록에서 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`을 설정합니다.462* [PowerShell 도구 활성화](#enable-the-powershell-tool)에 표시된 대로 환경 또는 설정 파일의 `env` 블록에서 `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`을 설정합니다.
463* `PowerShell(git push *)` 거부 규칙과 같은 범위 지정 [`PowerShell` 권한 규칙](/docs/ko/permissions#powershell)을 설정 파일에 추가합니다.463* `PowerShell(git push *)` 거부 규칙과 같은 범위 지정 [`PowerShell` 권한 규칙](https://code.claude.com/docs/ko/permissions#powershell)을 설정 파일에 추가합니다.
464 464
465이 중 하나가 없으면 범위 지정 Bash 거부 규칙은 Bash 도구를 사용 가능한 상태로 두지만, Claude Code는 경고 없이 PowerShell을 끕니다. Bash 도구 전체를 제거하는 규칙은 해당 세션에서 Claude가 사용할 수 있는 셸 도구를 하나도 남기지 않습니다.465이 중 하나가 없으면 범위 지정 Bash 거부 규칙은 Bash 도구를 사용 가능한 상태로 두지만, Claude Code는 경고 없이 PowerShell을 끕니다. Bash 도구 전체를 제거하는 규칙은 해당 세션에서 Claude가 사용할 수 있는 셸 도구를 하나도 남기지 않습니다.
466 466
468 468
469세 가지 추가 설정이 PowerShell이 사용되는 위치를 제어합니다.469세 가지 추가 설정이 PowerShell이 사용되는 위치를 제어합니다.
470 470
471* [`settings.json`](/docs/ko/settings-reference#all-settings)의 `"defaultShell": "powershell"`: 대화형 `!` 명령을 PowerShell을 통해 라우팅합니다. PowerShell 도구가 활성화되어야 합니다.471* [`settings.json`](https://code.claude.com/docs/ko/settings-reference#all-settings)의 `"defaultShell": "powershell"`: 대화형 `!` 명령을 PowerShell을 통해 라우팅합니다. PowerShell 도구가 활성화되어야 합니다.
472* 개별 [command hooks](/docs/ko/hooks.md#command-hook-fields)의 `"shell": "powershell"`: 해당 hook을 PowerShell에서 실행합니다. Hooks는 PowerShell을 직접 생성하므로, `CLAUDE_CODE_USE_POWERSHELL_TOOL`과 관계없이 작동합니다.472* 개별 [command hooks](https://code.claude.com/docs/ko/hooks.md#command-hook-fields)의 `"shell": "powershell"`: 해당 hook을 PowerShell에서 실행합니다. Hooks는 PowerShell을 직접 생성하므로, `CLAUDE_CODE_USE_POWERSHELL_TOOL`과 관계없이 작동합니다.
473* [skill frontmatter](/docs/ko/skills.md#frontmatter-reference)의 `shell: powershell`: `` !`command` `` 블록을 PowerShell에서 실행합니다. PowerShell 도구가 활성화되어야 합니다.473* [skill frontmatter](https://code.claude.com/docs/ko/skills.md#frontmatter-reference)의 `shell: powershell`: `` !`command` `` 블록을 PowerShell에서 실행합니다. PowerShell 도구가 활성화되어야 합니다.
474 474
475PowerShell 명령은 `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` 환경 변수를 포함하여 Bash 명령과 [동일한 주 세션 작업 디렉터리 재설정 동작](#what-persists-between-commands)을 따릅니다.475PowerShell 명령은 `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` 환경 변수를 포함하여 Bash 명령과 [동일한 주 세션 작업 디렉터리 재설정 동작](#what-persists-between-commands)을 따릅니다.
476 476
477PowerShell 명령은 [PowerShell 명령의 지속 변수](/docs/ko/hooks.md#persisted-variables-in-powershell-commands)에 설명된 조건에 따라 훅이 `CLAUDE_ENV_FILE`을 통해 유지하는 변수도 수신합니다. Claude Code v2.1.296 이상이 필요합니다.477PowerShell 명령은 [PowerShell 명령의 지속 변수](https://code.claude.com/docs/ko/hooks.md#persisted-variables-in-powershell-commands)에 설명된 조건에 따라 훅이 `CLAUDE_ENV_FILE`을 통해 유지하는 변수도 수신합니다. Claude Code v2.1.296 이상이 필요합니다.
478 478
479### PowerShell에서 검색 및 `git diff`의 종료 코드 1479### PowerShell에서 검색 및 `git diff`의 종료 코드 1
480 480
481Claude가 PowerShell 도구에서 실행한 `grep` 또는 `rg` 검색이 아무것도 일치하지 않을 때 `Error: Exit code 1`이 표시되더라도 검색이 실패한 것은 아닙니다. 별도로 조치할 필요가 없습니다. 이 오류는 검색이 더 긴 명령의 일부일 때 나타날 수 있습니다. 예를 들어 `rg`가 코드 1로 종료되면 `rg foo | Out-Null`은 오류를 표시하지만 `rg foo`는 표시하지 않습니다.481Claude가 PowerShell 도구에서 실행한 `grep` 또는 `rg` 검색이 아무것도 일치하지 않을 때 `Error: Exit code 1`이 표시되더라도 검색이 실패한 것은 아닙니다. 별도로 조치할 필요가 없습니다. 이 오류는 검색이 더 긴 명령의 일부일 때 나타날 수 있습니다. 예를 들어 `rg`가 코드 1로 종료되면 `rg foo | Out-Null`은 오류를 표시하지만 `rg foo`는 표시하지 않습니다.
482 482
483PowerShell 도구는 `grep`, `rg`, `egrep`, `fgrep`, `findstr`, `git grep` 및 `git diff`의 종료 코드 1을 정상적인 결과로 간주할 수 있습니다. 검색 명령은 일치하는 항목이 없음을 알리기 위해 종료 코드 1을 사용합니다. `git diff`에서 종료 코드 1은 파일이 다르다는 것을 의미합니다. Claude가 실행할 때 오류를 표시하는 명령은 `shell: powershell`이 지정된 스킬에서 [실패한 것으로 간주됩니다](/docs/ko/skills.md#when-an-injected-command-fails).483PowerShell 도구는 `grep`, `rg`, `egrep`, `fgrep`, `findstr`, `git grep` 및 `git diff`의 종료 코드 1을 정상적인 결과로 간주할 수 있습니다. 검색 명령은 일치하는 항목이 없음을 알리기 위해 종료 코드 1을 사용합니다. `git diff`에서 종료 코드 1은 파일이 다르다는 것을 의미합니다. Claude가 실행할 때 오류를 표시하는 명령은 `shell: powershell`이 지정된 스킬에서 [실패한 것으로 간주됩니다](https://code.claude.com/docs/ko/skills.md#when-an-injected-command-fails).
484 484
485### Windows 인코딩 및 종료 코드485### Windows 인코딩 및 종료 코드
486 486
510 510
511 Claude가 큰 이미지에서 세밀한 픽셀 수준의 세부 정보를 놓친 경우, 예를 들어 Bash를 통해 ImageMagick으로 관심 영역을 자른 다음 잘라낸 이미지를 읽도록 요청하십시오.511 Claude가 큰 이미지에서 세밀한 픽셀 수준의 세부 정보를 놓친 경우, 예를 들어 Bash를 통해 ImageMagick으로 관심 영역을 자른 다음 잘라낸 이미지를 읽도록 요청하십시오.
512 512
513 Read는 128 MB보다 큰 이미지 파일을 거부하며, 이미지 크기를 조정하거나 더 작은 사본을 내보낸 다음 그 사본을 읽도록 Claude에게 안내하는 오류를 반환합니다. Claude가 그렇게 하지 않고 오류에서 멈추는 경우 [File is too large to read as an image](/docs/ko/errors.md#file-is-too-large-to-read-as-an-image)를 참조하십시오.513 Read는 128 MB보다 큰 이미지 파일을 거부하며, 이미지 크기를 조정하거나 더 작은 사본을 내보낸 다음 그 사본을 읽도록 Claude에게 안내하는 오류를 반환합니다. Claude가 그렇게 하지 않고 오류에서 멈추는 경우 [File is too large to read as an image](https://code.claude.com/docs/ko/errors.md#file-is-too-large-to-read-as-an-image)를 참조하십시오.
514* **PDF**: Claude는 짧은 `.pdf` 파일을 전체적으로 읽습니다. 10페이지보다 긴 PDF의 경우, `pages` 매개변수(예: `"1-5"`)를 사용하여 범위로 읽으며, 한 번에 최대 20페이지까지 읽습니다. 페이지 범위 읽기는 poppler-utils의 `pdftoppm`으로 페이지를 렌더링하므로, macOS에서는 `brew install poppler`로, Debian 및 Ubuntu에서는 `apt-get install poppler-utils`로 설치하십시오. Windows 및 기타 플랫폼에서는 `pdftoppm`을 `PATH`에 배치하는 poppler 빌드를 설치하십시오. 이것이 없으면 페이지 범위 읽기가 `pdftoppm is not installed` 오류로 실패합니다.514* **PDF**: Claude는 짧은 `.pdf` 파일을 전체적으로 읽습니다. 10페이지보다 긴 PDF의 경우, `pages` 매개변수(예: `"1-5"`)를 사용하여 범위로 읽으며, 한 번에 최대 20페이지까지 읽습니다. 페이지 범위 읽기는 poppler-utils의 `pdftoppm`으로 페이지를 렌더링하므로, macOS에서는 `brew install poppler`로, Debian 및 Ubuntu에서는 `apt-get install poppler-utils`로 설치하십시오. Windows 및 기타 플랫폼에서는 `pdftoppm`을 `PATH`에 배치하는 poppler 빌드를 설치하십시오. 이것이 없으면 페이지 범위 읽기가 `pdftoppm is not installed` 오류로 실패합니다.
515* **Jupyter 노트북**: `.ipynb` 파일은 코드, 마크다운 및 시각화를 포함한 모든 셀과 해당 출력을 반환합니다. 셀의 크기가 256 KB를 초과하거나 [토큰 제한](#large-files)을 초과하는 노트북은 대신 오류를 반환합니다. Claude Code는 100MB를 초과하는 노트북 파일을 읽기를 거부합니다. 오류는 Claude에게 셀 슬라이스와 같은 노트북의 일부를 읽는 방법을 알려주며, 셸 명령을 사용합니다.515* **Jupyter 노트북**: `.ipynb` 파일은 코드, 마크다운 및 시각화를 포함한 모든 셀과 해당 출력을 반환합니다. 셀의 크기가 256 KB를 초과하거나 [토큰 제한](#large-files)을 초과하는 노트북은 대신 오류를 반환합니다. Claude Code는 100MB를 초과하는 노트북 파일을 읽기를 거부합니다. 오류는 Claude에게 셀 슬라이스와 같은 노트북의 일부를 읽는 방법을 알려주며, 셸 명령을 사용합니다.
516 516
517Read는 디렉토리가 아닌 파일만 읽습니다. Claude는 `ls`와 같은 셸 명령을 사용하여 디렉토리 내용을 나열합니다.517Read는 디렉토리가 아닌 파일만 읽습니다. Claude는 `ls`와 같은 셸 명령을 사용하여 디렉토리 내용을 나열합니다.
518 518
519Read는 `.xlsx`, `.parquet`, `.heic`, `.zip`과 같이 바이너리로 취급하는 확장자의 파일을 거부합니다. 거부된 후에도 Claude는 작업을 계속합니다. 오류는 해당 파일 유형에 사용할 수 있는 스킬이 있으면 그 스킬을 제안하고, 없으면 해당 형식을 읽는 셸 명령이나 스크립트를 제안합니다. Read가 거부하는 파일을 [`@`-멘션](/docs/ko/common-workflows#reference-files-and-directories)하면 Claude는 파일의 경로는 받지만 내용은 받지 않습니다.519Read는 `.xlsx`, `.parquet`, `.heic`, `.zip`과 같이 바이너리로 취급하는 확장자의 파일을 거부합니다. 거부된 후에도 Claude는 작업을 계속합니다. 오류는 해당 파일 유형에 사용할 수 있는 스킬이 있으면 그 스킬을 제안하고, 없으면 해당 형식을 읽는 셸 명령이나 스크립트를 제안합니다. Read가 거부하는 파일을 [`@`-멘션](https://code.claude.com/docs/ko/common-workflows#reference-files-and-directories)하면 Claude는 파일의 경로는 받지만 내용은 받지 않습니다.
520 520
521### 대용량 파일521### 대용량 파일
522 522
523Claude는 한 번의 Read 호출로 반환되는 양보다 큰 텍스트 파일도 읽을 수 있습니다. 기본적으로 한 번의 호출은 최대 25,000 토큰 또는 [`CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS`](/docs/ko/env-vars)에 설정한 값까지 반환하며, 256 KB를 초과하는 전체 파일은 거부하므로, Claude는 더 큰 파일을 `offset` 및 `limit`을 사용하여 페이지 단위로 읽습니다. Claude Code v2.1.296 이상에서는 필요한 경우(예: 사용자가 전체 파일을 요청한 경우) `allow_large: true`를 설정하여 전체 파일 또는 긴 줄 범위를 한 번의 호출로 읽을 수 있습니다. 이 읽기는 기본 제한 대신 세션의 [컨텍스트 윈도우](/docs/ko/context-window.md)에 남아 있는 공간을 기준으로 크기가 정해집니다. 이미지, PDF 및 노트북에는 기존 제한이 그대로 적용됩니다.523Claude는 한 번의 Read 호출로 반환되는 양보다 큰 텍스트 파일도 읽을 수 있습니다. 기본적으로 한 번의 호출은 최대 25,000 토큰 또는 [`CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS`](https://code.claude.com/docs/ko/env-vars)에 설정한 값까지 반환하며, 256 KB를 초과하는 전체 파일은 거부하므로, Claude는 더 큰 파일을 `offset` 및 `limit`을 사용하여 페이지 단위로 읽습니다. Claude Code v2.1.296 이상에서는 필요한 경우(예: 사용자가 전체 파일을 요청한 경우) `allow_large: true`를 설정하여 전체 파일 또는 긴 줄 범위를 한 번의 호출로 읽을 수 있습니다. 이 읽기는 기본 제한 대신 세션의 [컨텍스트 윈도우](https://code.claude.com/docs/ko/context-window.md)에 남아 있는 공간을 기준으로 크기가 정해집니다. 이미지, PDF 및 노트북에는 기존 제한이 그대로 적용됩니다.
524 524
525읽기가 기본 제한을 초과할 때 Claude가 받는 내용은 다음과 같습니다:525읽기가 기본 제한을 초과할 때 Claude가 받는 내용은 다음과 같습니다:
526 526
540 540
541Claude가 초안을 대기열에 추가한 후, 프롬프트 위에 초안의 제목이 있는 카드가 표시됩니다. `1`을 눌러 초안을 검토하고, `2`를 두 번 눌러 작성된 대로 전송하거나, `0`을 눌러 해제할 수 있습니다. 해제된 초안은 대기열에 남아 있습니다. 카드를 해제한 후 Claude Code는 Claude가 작성한 피드백을 끌 것인지 묻습니다. 두 번 거절하면 더 이상 묻지 않습니다.541Claude가 초안을 대기열에 추가한 후, 프롬프트 위에 초안의 제목이 있는 카드가 표시됩니다. `1`을 눌러 초안을 검토하고, `2`를 두 번 눌러 작성된 대로 전송하거나, `0`을 눌러 해제할 수 있습니다. 해제된 초안은 대기열에 남아 있습니다. 카드를 해제한 후 Claude Code는 Claude가 작성한 피드백을 끌 것인지 묻습니다. 두 번 거절하면 더 이상 묻지 않습니다.
542 542
543기본적으로 한 세션에서 최대 3개의 카드가 표시됩니다. Anthropic은 릴리스 없이 서버에서 이 제한을 조정할 수 있습니다. 제한 이후 및 [`feedbackDrafts`](/docs/ko/settings-reference#feedbackdrafts)를 `quiet`으로 설정할 때마다, 프롬프트 바닥글에 대기 중인 초안의 개수만 표시됩니다.543기본적으로 한 세션에서 최대 3개의 카드가 표시됩니다. Anthropic은 릴리스 없이 서버에서 이 제한을 조정할 수 있습니다. 제한 이후 및 [`feedbackDrafts`](https://code.claude.com/docs/ko/settings-reference#feedbackdrafts)를 `quiet`으로 설정할 때마다, 프롬프트 바닥글에 대기 중인 초안의 개수만 표시됩니다.
544 544
545### 초안 검토 및 편집545### 초안 검토 및 편집
546 546
554 554
555### 초안 전송555### 초안 전송
556 556
557초안을 전송하면 Claude Code는 `/feedback` 보고서와 동일한 방식으로 제출하며, 동일한 [보존](/docs/ko/data-usage.md#feedback-using-the-%2Ffeedback-command)을 사용하고 머신에서 초안을 삭제합니다. 카드에서 전송하면 `✓ Sent`가 표시됩니다. 대기열에서 전송하면 영수증 ID와 함께 닫힙니다.557초안을 전송하면 Claude Code는 `/feedback` 보고서와 동일한 방식으로 제출하며, 동일한 [보존](https://code.claude.com/docs/ko/data-usage.md#feedback-using-the-%2Ffeedback-command)을 사용하고 머신에서 초안을 삭제합니다. 카드에서 전송하면 `✓ Sent`가 표시됩니다. 대기열에서 전송하면 영수증 ID와 함께 닫힙니다.
558 558
559보고서에는 다음이 포함됩니다:559보고서에는 다음이 포함됩니다:
560 560
565 565
566Claude Code는 전사본을 찾을 수 있도록 로컬 초안에 작업 디렉토리를 유지하며, 디렉토리를 전송하지 않습니다.566Claude Code는 전사본을 찾을 수 있도록 로컬 초안에 작업 디렉토리를 유지하며, 디렉토리를 전송하지 않습니다.
567 567
568[Zero Data Retention이 적용된 조직](/docs/ko/zero-data-retention.md#features-disabled-under-zdr)과 [HIPAA 구성](/docs/ko/hipaa-setup.md)이 적용된 조직에서는 Claude Code가 세션에서 SendFeedback 도구를 제외합니다. Zero Data Retention이 적용된 조직의 세션에서 여전히 도구를 제공하는 경우, 초안은 머신에 남아 있으며 전송은 `Feedback collection is not available for organizations with custom data retention policies.` 오류로 실패합니다.568[Zero Data Retention이 적용된 조직](https://code.claude.com/docs/ko/zero-data-retention.md#features-disabled-under-zdr)과 [HIPAA 구성](https://code.claude.com/docs/ko/hipaa-setup.md)이 적용된 조직에서는 Claude Code가 세션에서 SendFeedback 도구를 제외합니다. Zero Data Retention이 적용된 조직의 세션에서 여전히 도구를 제공하는 경우, 초안은 머신에 남아 있으며 전송은 `Feedback collection is not available for organizations with custom data retention policies.` 오류로 실패합니다.
569 569
570### 초안 삭제 또는 유지570### 초안 삭제 또는 유지
571 571
572초안을 삭제하면 Claude Code는 머신에서 초안을 삭제합니다. 대기열에 남겨둔 초안은 30일 후 또는 더 짧을 때 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)가 지난 후 만료됩니다. 대기열은 모든 세션에서 10개의 초안을 보유하며, Claude가 11번째 초안을 대기열에 추가하면 Claude Code는 가장 오래된 초안을 삭제합니다. 세션의 초안이 여전히 대기열에 있을 때 `/exit`을 실행하면 Claude Code는 종료하기 전에 초안을 검토할 것인지 삭제할 것인지 묻습니다.572초안을 삭제하면 Claude Code는 머신에서 초안을 삭제합니다. 대기열에 남겨둔 초안은 30일 후 또는 더 짧을 때 [`cleanupPeriodDays`](https://code.claude.com/docs/ko/settings-reference#cleanupperioddays)가 지난 후 만료됩니다. 대기열은 모든 세션에서 10개의 초안을 보유하며, Claude가 11번째 초안을 대기열에 추가하면 Claude Code는 가장 오래된 초안을 삭제합니다. 세션의 초안이 여전히 대기열에 있을 때 `/exit`을 실행하면 Claude Code는 종료하기 전에 초안을 검토할 것인지 삭제할 것인지 묻습니다.
573 573
574### Claude가 작성한 피드백 끄기574### Claude가 작성한 피드백 끄기
575 575
576`/config`에서 **Claude가 작성한 피드백**을 `off`로 설정하면 [`feedbackDrafts`](/docs/ko/settings-reference#feedbackdrafts) 설정이 작성되거나, 한 세션 동안 [`CLAUDE_CODE_SEND_FEEDBACK=0`](/docs/ko/env-vars)을 설정합니다. 둘 중 하나를 사용하면 Claude는 초안을 대기열에 추가할 수 없습니다. 카드 없이 초안 작성을 계속하려면 `feedbackDrafts`를 `quiet`으로 설정합니다. 관리자는 [관리 설정](/docs/ko/managed-settings.md)에서 `feedbackDrafts`를 설정할 수 있으며, 이는 사용자의 설정보다 우선합니다.576`/config`에서 **Claude가 작성한 피드백**을 `off`로 설정하면 [`feedbackDrafts`](https://code.claude.com/docs/ko/settings-reference#feedbackdrafts) 설정이 작성되거나, 한 세션 동안 [`CLAUDE_CODE_SEND_FEEDBACK=0`](https://code.claude.com/docs/ko/env-vars)을 설정합니다. 둘 중 하나를 사용하면 Claude는 초안을 대기열에 추가할 수 없습니다. 카드 없이 초안 작성을 계속하려면 `feedbackDrafts`를 `quiet`으로 설정합니다. 관리자는 [관리 설정](https://code.claude.com/docs/ko/managed-settings.md)에서 `feedbackDrafts`를 설정할 수 있으며, 이는 사용자의 설정보다 우선합니다.
577 577
578### Claude가 작성한 피드백이 없는 세션578### Claude가 작성한 피드백이 없는 세션
579 579
580Claude Code는 Claude API를 사용하는 머신의 대화형 터미널 세션에 도구를 포함합니다. 다음에서는 도구를 제외합니다:580Claude Code는 Claude API를 사용하는 머신의 대화형 터미널 세션에 도구를 포함합니다. 다음에서는 도구를 제외합니다:
581 581
582* 대기열을 검토할 화면이 없는 비대화형 `-p` 실행 및 [Agent SDK](/docs/ko/agent-sdk/overview.md) 세션582* 대기열을 검토할 화면이 없는 비대화형 `-p` 실행 및 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md) 세션
583* 머신의 대기열에 쓸 수 없는 [Claude Code on the web](/docs/ko/claude-code-on-the-web.md)과 같은 클라우드 세션583* 머신의 대기열에 쓸 수 없는 [Claude Code on the web](https://code.claude.com/docs/ko/claude-code-on-the-web.md)과 같은 클라우드 세션
584* [Amazon Bedrock](/docs/ko/amazon-bedrock.md), [Claude Platform on AWS](/docs/ko/claude-platform-on-aws.md), [Google Cloud의 Agent Platform](/docs/ko/google-vertex-ai.md) 또는 [Microsoft Foundry](/docs/ko/microsoft-foundry.md)의 세션584* [Amazon Bedrock](https://code.claude.com/docs/ko/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/ko/claude-platform-on-aws.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)의 세션
585* [`CLAUDE_CODE_SEND_FEEDBACK=0`](/docs/ko/env-vars) 또는 [`DISABLE_FEEDBACK_COMMAND=1`](/docs/ko/env-vars)을 설정하거나, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`을 비어 있지 않은 값으로 설정하거나, [기능 플래그 가져오기](/docs/ko/env-vars.md#features-that-need-feature-flag-fetching)를 끈 세션585* [`CLAUDE_CODE_SEND_FEEDBACK=0`](https://code.claude.com/docs/ko/env-vars) 또는 [`DISABLE_FEEDBACK_COMMAND=1`](https://code.claude.com/docs/ko/env-vars)을 설정하거나, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`을 비어 있지 않은 값으로 설정하거나, [기능 플래그 가져오기](https://code.claude.com/docs/ko/env-vars.md#features-that-need-feature-flag-fetching)를 끈 세션
586* 제품 피드백을 끈 조직, [Zero Data Retention이 적용된 조직](/docs/ko/zero-data-retention.md#features-disabled-under-zdr), [HIPAA 구성](/docs/ko/hipaa-setup.md)이 적용된 조직586* 제품 피드백을 끈 조직, [Zero Data Retention이 적용된 조직](https://code.claude.com/docs/ko/zero-data-retention.md#features-disabled-under-zdr), [HIPAA 구성](https://code.claude.com/docs/ko/hipaa-setup.md)이 적용된 조직
587 587
588## Task 도구 가용성588## Task 도구 가용성
589 589
590작업 추적 도구인 `TaskCreate`, `TaskGet`, `TaskUpdate`, `TaskList`, `TodoWrite`는 기본적으로 Opus 4.7, Sonnet 4.6, Haiku 4.5 및 그 이전 모델에서만 사용 가능합니다. 도구를 사용할 수 있는 곳이면 네 가지 Task 도구를 얻거나, [`CLAUDE_CODE_ENABLE_TASKS=0`](/docs/ko/env-vars)을 설정할 때 대신 `TodoWrite`를 얻습니다.590작업 추적 도구인 `TaskCreate`, `TaskGet`, `TaskUpdate`, `TaskList`, `TodoWrite`는 기본적으로 Opus 4.7, Sonnet 4.6, Haiku 4.5 및 그 이전 모델에서만 사용 가능합니다. 도구를 사용할 수 있는 곳이면 네 가지 Task 도구를 얻거나, [`CLAUDE_CODE_ENABLE_TASKS=0`](https://code.claude.com/docs/ko/env-vars)을 설정할 때 대신 `TodoWrite`를 얻습니다.
591 591
592다른 모든 모델에서는 Claude Code가 사용자가 명시적으로 선택하지 않는 한 도구를 제공하지 않습니다. 이는 Claude Code가 인식하지 못하는 모델 ID(예: [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 제공되는 사용자 정의 모델 이름)에도 동일하게 적용됩니다. 최신 모델에서는 Claude가 작성된 체크리스트 없이 다단계 작업을 추적하며, 도구의 정의와 알림은 컨텍스트를 차지합니다. 도구가 없으면 Claude는 작업 중에 [작업 목록](/docs/ko/interactive-mode.md#task-list)에 아무것도 추가하지 않습니다.592다른 모든 모델에서는 Claude Code가 사용자가 명시적으로 선택하지 않는 한 도구를 제공하지 않습니다. 이는 Claude Code가 인식하지 못하는 모델 ID(예: [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 통해 제공되는 사용자 정의 모델 이름)에도 동일하게 적용됩니다. 최신 모델에서는 Claude가 작성된 체크리스트 없이 다단계 작업을 추적하며, 도구의 정의와 알림은 컨텍스트를 차지합니다. 도구가 없으면 Claude는 작업 중에 [작업 목록](https://code.claude.com/docs/ko/interactive-mode.md#task-list)에 아무것도 추가하지 않습니다.
593 593
594기본적으로 이러한 도구가 없는 모델에서 이 도구들을 사용하려면 다음 중 하나를 수행하십시오:594기본적으로 이러한 도구가 없는 모델에서 이 도구들을 사용하려면 다음 중 하나를 수행하십시오:
595 595
596* Claude Code를 시작하기 전에 [`CLAUDE_CODE_ENABLE_TODO_TOOLS=1`](/docs/ko/env-vars)을 내보내십시오. 예를 들어 `CLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude`. Claude Code는 그러면 모든 모델과 모든 제공자에서 동일한 도구를 제공합니다596* Claude Code를 시작하기 전에 [`CLAUDE_CODE_ENABLE_TODO_TOOLS=1`](https://code.claude.com/docs/ko/env-vars)을 내보내십시오. 예를 들어 `CLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude`. Claude Code는 그러면 모든 모델과 모든 제공자에서 동일한 도구를 제공합니다
597* [`--allowedTools`](/docs/ko/cli-reference#cli-flags)에서 도구 중 하나의 이름을 지정하십시오. 예를 들어 `claude --allowedTools TaskCreate`597* [`--allowedTools`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에서 도구 중 하나의 이름을 지정하십시오. 예를 들어 `claude --allowedTools TaskCreate`
598* [`--tools`](/docs/ko/cli-reference#cli-flags)에 도구를 나열하십시오. 이는 세션의 기본 제공 도구를 명시된 도구로만 제한합니다. 사용하는 다른 기본 제공 도구와 함께 원하는 도구를 포함하십시오598* [`--tools`](https://code.claude.com/docs/ko/cli-reference#cli-flags)에 도구를 나열하십시오. 이는 세션의 기본 제공 도구를 명시된 도구로만 제한합니다. 사용하는 다른 기본 제공 도구와 함께 원하는 도구를 포함하십시오
599* Agent SDK에서 [`allowedTools` 및 `tools` 옵션](/docs/ko/agent-sdk/todo-tracking#model-availability)은 두 플래그와 동일한 방식으로 작동합니다599* Agent SDK에서 [`allowedTools` 및 `tools` 옵션](https://code.claude.com/docs/ko/agent-sdk/todo-tracking#model-availability)은 두 플래그와 동일한 방식으로 작동합니다
600 600
601[백그라운드 세션](/docs/ko/agent-view.md)과 [웹의 Claude Code](/docs/ko/claude-code-on-the-web.md)에서는 Claude Code가 나열 여부와 관계없이 모든 모델에서 동일한 도구를 제공합니다.601[백그라운드 세션](https://code.claude.com/docs/ko/agent-view.md)과 [웹의 Claude Code](https://code.claude.com/docs/ko/claude-code-on-the-web.md)에서는 Claude Code가 나열 여부와 관계없이 모든 모델에서 동일한 도구를 제공합니다.
602
603Claude Code는 세션에 도구가 있을 때만 서브에이전트에 도구를 제공하며, 서브에이전트가 다른 모델을 실행하더라도 마찬가지입니다. 프로세스 내 [에이전트 팀](/docs/ko/agent-teams.md) 팀원은 세션을 동일한 방식으로 따르지만, [분할 창](/docs/ko/agent-teams.md#choose-a-display-mode)에 있는 팀원은 별도의 Claude Code 프로세스로 실행되므로 자체 모델이 결정합니다. Task 도구가 없으면 에이전트는 [공유 작업 목록](/docs/ko/agent-teams.md#assign-and-claim-tasks) 대신 메시지를 통해 팀과 조율합니다.
604 602
605여기에 설명된 기본 집합은 Claude Code v2.1.268 이상에 적용됩니다.603여기에 설명된 기본 집합은 Claude Code v2.1.268 이상에 적용됩니다.
606 604
605### 서브에이전트 및 에이전트 팀의 작업 추적 도구
606
607서브에이전트는 어떤 모델을 실행하든 사용자의 세션에 작업 추적 도구가 있을 때만 해당 도구를 갖습니다. 프로세스 내 [에이전트 팀](https://code.claude.com/docs/ko/agent-teams.md) 팀원은 사용자의 세션에 작업 추적 도구가 있을 때 해당 도구를 갖습니다. [분할 창](https://code.claude.com/docs/ko/agent-teams.md#choose-a-display-mode) 팀원은 별도의 Claude Code 프로세스로, `--allowedTools`가 아니라 사용자의 `--tools` 목록과 거부 규칙을 [상속](https://code.claude.com/docs/ko/agent-teams.md#permissions)하므로 설정한 내용을 확인하십시오:
608
609* **`--tools` 목록이나 거부 규칙이 없고, 팀원에 대해 `CLAUDE_CODE_ENABLE_TODO_TOOLS`가 설정되지 않은 경우**: 팀원은 자체 모델이 기본적으로 갖는 작업 추적 도구를 갖습니다.
610* **셸에서 `CLAUDE_CODE_ENABLE_TODO_TOOLS`를 내보낸 경우**: Claude Code는 팀원에게 고정된 환경 변수 집합을 전달하며, 여기에는 사용자가 내보낸 변수가 포함되지 않습니다. 팀원에게도 이를 설정하려면 셸에서 `claude --settings '{"env":{"CLAUDE_CODE_ENABLE_TODO_TOOLS":"1"}}'`를 실행하여 세션을 시작하십시오. 팀원은 사용자의 [`--settings`](https://code.claude.com/docs/ko/settings#change-a-setting-for-one-session) 값도 전달받습니다.
611* **`--tools`에 작업 추적 도구가 지정된 경우**: 팀원은 모든 모델에서 해당 도구를 갖습니다.
612* **작업 추적 도구가 `--tools`에 없거나 거부 규칙에 지정된 경우**: 팀원은 해당 도구를 갖지 않습니다.
613
614Task 도구가 없으면 에이전트는 [공유 작업 목록](https://code.claude.com/docs/ko/agent-teams.md#assign-and-claim-tasks) 대신 메시지를 통해 팀과 조율합니다.
615
607## WebFetch 도구 동작616## WebFetch 도구 동작
608 617
609WebFetch는 URL과 추출할 내용을 설명하는 프롬프트를 받습니다. 페이지를 가져오고, 서버가 HTML을 반환할 때 응답을 Markdown으로 변환합니다. 대부분의 가져오기에서는 이후 별도의 모델 호출로 프롬프트를 콘텐츠에 대해 실행하며, Claude는 원본 페이지가 아닌 해당 호출의 결과를 받습니다. 변환 단계는 구성할 수 없습니다.618WebFetch는 URL과 추출할 내용을 설명하는 프롬프트를 받습니다. 페이지를 가져오고, 서버가 HTML을 반환할 때 응답을 Markdown으로 변환합니다. 대부분의 가져오기에서는 이후 별도의 모델 호출로 프롬프트를 콘텐츠에 대해 실행하며, Claude는 원본 페이지가 아닌 해당 호출의 결과를 받습니다. 변환 단계는 구성할 수 없습니다.
612 621
613몇 가지 동작이 Claude가 받는 응답을 형성합니다:622몇 가지 동작이 Claude가 받는 응답을 형성합니다:
614 623
615* WebFetch는 요청을 하기 전에 `localhost` 및 점이 없는 다른 호스트명(예: 베어 인트라넷 이름)을 거부합니다. [반환되는 오류](/docs/ko/errors.md#webfetch-cannot-fetch-localhost)는 Claude에 Bash를 통해 `curl`로 로컬 서버에 도달하도록 지시합니다.624* WebFetch는 요청을 하기 전에 `localhost` 및 점이 없는 다른 호스트명(예: 베어 인트라넷 이름)을 거부합니다. [반환되는 오류](https://code.claude.com/docs/ko/errors.md#webfetch-cannot-fetch-localhost)는 Claude에 Bash를 통해 `curl`로 로컬 서버에 도달하도록 지시합니다.
616* HTTP URL은 자동으로 HTTPS로 업그레이드됩니다.625* HTTP URL은 자동으로 HTTPS로 업그레이드됩니다.
617* WebFetch는 호출당 페이지 콘텐츠를 최대 100,000자까지 읽습니다. Claude Code v2.1.290 이상에서는 더 긴 페이지에 대한 결과가 읽지 않은 분량을 Claude에 알려 주므로, Claude가 다음 부분을 가져올 수 있습니다.626* WebFetch는 호출당 페이지 콘텐츠를 최대 100,000자까지 읽습니다. Claude Code v2.1.290 이상에서는 더 긴 페이지에 대한 결과가 읽지 않은 분량을 Claude에 알려 주므로, Claude가 다음 부분을 가져올 수 있습니다.
618* WebFetch는 기본적으로 각 응답을 15분 동안 캐시하므로, 동일한 URL의 반복된 가져오기가 빠르게 반환됩니다. Claude Code v2.1.233 이상에서는 [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ko/env-vars#variables)를 설정하여 WebFetch가 각 응답을 유지하는 기간을 변경할 수 있습니다.627* WebFetch는 기본적으로 각 응답을 15분 동안 캐시하므로, 동일한 URL의 반복된 가져오기가 빠르게 반환됩니다. Claude Code v2.1.233 이상에서는 [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](https://code.claude.com/docs/ko/env-vars#variables)를 설정하여 WebFetch가 각 응답을 유지하는 기간을 변경할 수 있습니다.
619* 5분 이내에 다운로드를 완료하지 못한 페이지(WebFetch가 따라가는 모든 리디렉션 포함)는 마감 오류로 실패합니다. Claude Code v2.1.268 이상에서는 [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/ko/env-vars#variables)를 설정하여 제한을 변경하거나, `0`으로 설정하여 제거할 수 있습니다.628* 5분 이내에 다운로드를 완료하지 못한 페이지(WebFetch가 따라가는 모든 리디렉션 포함)는 마감 오류로 실패합니다. Claude Code v2.1.268 이상에서는 [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](https://code.claude.com/docs/ko/env-vars#variables)를 설정하여 제한을 변경하거나, `0`으로 설정하여 제거할 수 있습니다.
620* URL이 다른 호스트로 리디렉션될 때, WebFetch는 원본 URL과 리디렉션 대상을 이름으로 지정하는 텍스트 결과를 반환하고 따라가지 않습니다. 그러면 Claude는 두 번째 WebFetch 호출로 새 URL을 가져옵니다.629* URL이 다른 호스트로 리디렉션될 때, WebFetch는 원본 URL과 리디렉션 대상을 이름으로 지정하는 텍스트 결과를 반환하고 따라가지 않습니다. 그러면 Claude는 두 번째 WebFetch 호출로 새 URL을 가져옵니다.
621* 추출 단계가 과부하 API에 도달하면, Claude Code는 백오프로 재시도합니다. 여전히 실패하는 가져오기는 오류 결과를 반환합니다.630* 추출 단계가 과부하 API에 도달하면, Claude Code는 백오프로 재시도합니다. 여전히 실패하는 가져오기는 오류 결과를 반환합니다.
622 631
623Manual 및 `acceptEdits` [권한 모드](/docs/ko/permission-modes.md)에서, WebFetch는 가져오기 전에 프롬프트를 표시합니다. 단, [권한 규칙](/docs/ko/permissions.md#manage-permissions)이 이미 허용하거나 거부하는 도메인과 프롬프트 없이 가져오는 사전 승인된 문서 도메인의 기본 제공 집합은 제외됩니다. 규칙이 허용하는 것이 무엇이든, 가져오기는 먼저 [WebFetch 도메인 안전 검사](/docs/ko/data-usage.md#webfetch-domain-safety-check)를 통과합니다. 해당 섹션에서는 검사가 전송하는 내용과 이를 건너뛰는 설정을 다룹니다. 프롬프트는 세 가지 옵션을 제공합니다:632Manual 및 `acceptEdits` [권한 모드](https://code.claude.com/docs/ko/permission-modes.md)에서, WebFetch는 가져오기 전에 프롬프트를 표시합니다. 단, [권한 규칙](https://code.claude.com/docs/ko/permissions.md#manage-permissions)이 이미 허용하거나 거부하는 도메인과 프롬프트 없이 가져오는 사전 승인된 문서 도메인의 기본 제공 집합은 제외됩니다. 규칙이 허용하는 것이 무엇이든, 가져오기는 먼저 [WebFetch 도메인 안전 검사](https://code.claude.com/docs/ko/data-usage.md#webfetch-domain-safety-check)를 통과합니다. 해당 섹션에서는 검사가 전송하는 내용과 이를 건너뛰는 설정을 다룹니다. 프롬프트는 세 가지 옵션을 제공합니다:
624 633
625* **Yes**: 이 가져오기만 승인합니다. 다음 WebFetch 호출은 동일한 도메인이더라도 다시 프롬프트를 표시합니다.634* **Yes**: 이 가져오기만 승인합니다. 다음 WebFetch 호출은 동일한 도메인이더라도 다시 프롬프트를 표시합니다.
626* **Yes, and don't ask again for `<domain>`**: 가져오기를 승인하고 해당 도메인에 대한 `WebFetch(domain:...)` 허용 규칙을 해당 저장소의 `.claude/settings.local.json`에 저장합니다. [저장된 승인이 지속되는 방식](/docs/ko/permissions.md#permission-system)을 참조하십시오. 조직이 [`allowManagedPermissionRulesOnly`](/docs/ko/permissions#managed-only-settings)를 설정하면, Claude Code는 이 옵션을 숨깁니다.635* **Yes, and don't ask again for `<domain>`**: 가져오기를 승인하고 해당 도메인에 대한 `WebFetch(domain:...)` 허용 규칙을 해당 저장소의 `.claude/settings.local.json`에 저장합니다. [저장된 승인이 지속되는 방식](https://code.claude.com/docs/ko/permissions.md#permission-system)을 참조하십시오. 조직이 [`allowManagedPermissionRulesOnly`](https://code.claude.com/docs/ko/permissions#managed-only-settings)를 설정하면, Claude Code는 이 옵션을 숨깁니다.
627* **No, and tell Claude what to do differently**: 가져오기를 거부합니다.636* **No, and tell Claude what to do differently**: 가져오기를 거부합니다.
628 637
629프롬프트 없이 미리 도메인을 허용하려면, `WebFetch(domain:example.com)`과 같은 허용 규칙을 추가하십시오. `WebFetch(domain:*)`는 모든 도메인을 허용합니다. `auto` 및 `bypassPermissions` [권한 모드](/docs/ko/permissions.md#permission-modes)는 명시적 `ask` 규칙이 일치하는 도메인을 제외하고 프롬프트를 건너뜁니다.638프롬프트 없이 미리 도메인을 허용하려면, `WebFetch(domain:example.com)`과 같은 허용 규칙을 추가하십시오. `WebFetch(domain:*)`는 모든 도메인을 허용합니다. `auto` 및 `bypassPermissions` [권한 모드](https://code.claude.com/docs/ko/permissions.md#permission-modes)는 명시적 `ask` 규칙이 일치하는 도메인을 제외하고 프롬프트를 건너뜁니다.
630 639
631`deny`, `ask` 또는 `allow`의 명시적 `WebFetch(domain:...)` 규칙은 사전 승인된 집합보다 우선하므로, 사전 승인된 도메인을 차단하거나 이에 대한 프롬프트를 요구할 수 있습니다.640`deny`, `ask` 또는 `allow`의 명시적 `WebFetch(domain:...)` 규칙은 사전 승인된 집합보다 우선하므로, 사전 승인된 도메인을 차단하거나 이에 대한 프롬프트를 요구할 수 있습니다.
632 641
633URL이 claude.ai [아티팩트](/docs/ko/artifacts.md) 링크인 경우, Claude Code는 아티팩트 자체를 읽기 위한 승인을 요청할 수도 있습니다. 승인을 요청하는 경우에 대해서는 [공유받은 아티팩트 읽기](/docs/ko/artifacts.md#read-an-artifact-shared-with-you)를 참조하십시오.642URL이 claude.ai [아티팩트](https://code.claude.com/docs/ko/artifacts.md) 링크인 경우, Claude Code는 아티팩트 자체를 읽기 위한 승인을 요청할 수도 있습니다. 승인을 요청하는 경우에 대해서는 [공유받은 아티팩트 읽기](https://code.claude.com/docs/ko/artifacts.md#read-an-artifact-shared-with-you)를 참조하십시오.
634 643
635WebFetch는 `Claude-User`로 시작하는 `User-Agent` 헤더와 콘텐츠 협상을 지원하는 서버가 Markdown을 직접 반환할 수 있도록 HTML보다 Markdown을 선호하는 `Accept` 헤더를 설정합니다.644WebFetch는 `Claude-User`로 시작하는 `User-Agent` 헤더와 콘텐츠 협상을 지원하는 서버가 Markdown을 직접 반환할 수 있도록 HTML보다 Markdown을 선호하는 `Accept` 헤더를 설정합니다.
636 645
637샌드박스된 명령은 WebFetch의 사전 승인된 문서 도메인의 기본 제공 집합을 상속하지 않습니다. 샌드박스된 명령이 프롬프트 없이 도메인에 도달하도록 하려면, 도메인을 [`allowedDomains`](/docs/ko/settings-reference#sandbox-network-alloweddomains)에 추가하거나 `WebFetch(domain:...)` 규칙으로 허용하십시오. [샌드박스도 이를 준수합니다](/docs/ko/sandboxing.md#network-isolation). WebFetch는 반대로 샌드박스 허용 목록을 읽지 않으므로, 샌드박스 또는 조직 네트워크 허용 목록에 도메인을 추가해도 WebFetch가 이에 대해 프롬프트를 표시하는 것을 중단하지 않습니다.646샌드박스된 명령은 WebFetch의 사전 승인된 문서 도메인의 기본 제공 집합을 상속하지 않습니다. 샌드박스된 명령이 프롬프트 없이 도메인에 도달하도록 하려면, 도메인을 [`allowedDomains`](https://code.claude.com/docs/ko/settings-reference#sandbox-network-alloweddomains)에 추가하거나 `WebFetch(domain:...)` 규칙으로 허용하십시오. [샌드박스도 이를 준수합니다](https://code.claude.com/docs/ko/sandboxing.md#network-isolation). WebFetch는 반대로 샌드박스 허용 목록을 읽지 않으므로, 샌드박스 또는 조직 네트워크 허용 목록에 도메인을 추가해도 WebFetch가 이에 대해 프롬프트를 표시하는 것을 중단하지 않습니다.
638 647
639### WebFetch 가용성648### WebFetch 가용성
640 649
641Claude Code v2.1.285 이상에서는 [`CLAUDE_CODE_DISABLE_WEB_FETCH`](/docs/ko/env-vars#variables)를 `1`로 설정하여 WebFetch를 끌 수 있습니다.650Claude Code v2.1.285 이상에서는 [`CLAUDE_CODE_DISABLE_WEB_FETCH`](https://code.claude.com/docs/ko/env-vars#variables)를 `1`로 설정하여 WebFetch를 끌 수 있습니다.
642 651
643Team 또는 Enterprise claude.ai 계정으로 로그인하고 [LLM 게이트웨이](/docs/ko/llm-gateway)를 통해 연결하지 않으면, WebFetch는 또한 조직의 정책에 따라 달라집니다. Claude Code는 세션이 시작될 때 `api.anthropic.com`에서 이 정책을 요청합니다. 다른 앱이 제공한 claude.ai 토큰 아래에서 실행되는 것과 같이 Claude Code가 계획을 결정할 수 없는 세션도 마찬가지입니다.652Team 또는 Enterprise claude.ai 계정으로 로그인하고 [LLM 게이트웨이](https://code.claude.com/docs/ko/llm-gateway)를 통해 연결하지 않으면, WebFetch는 또한 조직의 정책에 따라 달라집니다. Claude Code는 세션이 시작될 때 `api.anthropic.com`에서 이 정책을 요청합니다. 다른 앱이 제공한 claude.ai 토큰 아래에서 실행되는 것과 같이 Claude Code가 계획을 결정할 수 없는 세션도 마찬가지입니다.
644 653
645WebFetch가 세션에서 누락된 경우, 세션에서 `/status`를 실행하십시오. `Organization policy` 줄이 정책이 로드되지 않았으며 웹 가져오기를 기다리는 기능 중 하나로 이름을 지정하면, Claude Code는 조직이 이를 허용하는지 확인할 때까지 WebFetch를 보류합니다. 세션 외부에서 `claude doctor`는 자체 요청을 하고 동일한 줄을 인쇄합니다. WebFetch를 허용하는 정책이 로드되면, 도구는 재시작 없이 반환됩니다.654WebFetch가 세션에서 누락된 경우, 세션에서 `/status`를 실행하십시오. `Organization policy` 줄이 정책이 로드되지 않았으며 웹 가져오기를 기다리는 기능 중 하나로 이름을 지정하면, Claude Code는 조직이 이를 허용하는지 확인할 때까지 WebFetch를 보류합니다. 세션 외부에서 `claude doctor`는 자체 요청을 하고 동일한 줄을 인쇄합니다. WebFetch를 허용하는 정책이 로드되면, 도구는 재시작 없이 반환됩니다.
646 655
654 663
655WebSearch 권한 규칙은 지정자를 사용하지 않습니다. `allow` 또는 `deny`의 단순한 `WebSearch` 항목이 유일한 형식입니다.664WebSearch 권한 규칙은 지정자를 사용하지 않습니다. `allow` 또는 `deny`의 단순한 `WebSearch` 항목이 유일한 형식입니다.
656 665
657검색 백엔드는 구성할 수 없습니다. 다른 공급자로 검색하려면 검색 도구를 노출하는 [MCP 서버](/docs/ko/mcp.md)를 추가합니다.666검색 백엔드는 구성할 수 없습니다. 다른 공급자로 검색하려면 검색 도구를 노출하는 [MCP 서버](https://code.claude.com/docs/ko/mcp.md)를 추가합니다.
658 667
659> [!NOTE]668> [!NOTE]
660>669>
661> WebSearch는 Claude API, [AWS의 Claude Platform](/docs/ko/claude-platform-on-aws.md), Microsoft Foundry에서 사용할 수 있습니다. Google Cloud의 Agent Platform에서는 Opus 4, Sonnet 4, Haiku 4.5 및 이후 모델에서 작동합니다. Amazon Bedrock은 서버 측 웹 검색 도구를 노출하지 않습니다.670> WebSearch는 Claude API, [AWS의 Claude Platform](https://code.claude.com/docs/ko/claude-platform-on-aws.md), Microsoft Foundry에서 사용할 수 있습니다. Google Cloud의 Agent Platform에서는 Opus 4, Sonnet 4, Haiku 4.5 및 이후 모델에서 작동합니다. Amazon Bedrock은 서버 측 웹 검색 도구를 노출하지 않습니다.
662 671
663### 세션 검색 제한672### 세션 검색 제한
664 673
665대화형 터미널 세션에는 200개의 WebSearch 호출 제한이 있습니다. 주 대화와 병렬 연구 팬아웃 같은 [서브에이전트](/docs/ko/sub-agents.md)에서 수행한 검색은 동일한 제한에 합산됩니다.674대화형 터미널 세션에는 200개의 WebSearch 호출 제한이 있습니다. 주 대화와 병렬 연구 팬아웃 같은 [서브에이전트](https://code.claude.com/docs/ko/sub-agents.md)에서 수행한 검색은 동일한 제한에 합산됩니다.
666 675
667세션이 제한에 도달한 동안에는 검색이 대화에 아무것도 하지 않은 호출로 표시됩니다. Claude는 이미 수집한 정보로 계속 진행하고, 답변에서 그 사실을 밝히며, 더 많은 검색이 필요한 경우 사용자에게 제한을 높이도록 요청하라는 알림을 받습니다.676세션이 제한에 도달한 동안에는 검색이 대화에 아무것도 하지 않은 호출로 표시됩니다. Claude는 이미 수집한 정보로 계속 진행하고, 답변에서 그 사실을 밝히며, 더 많은 검색이 필요한 경우 사용자에게 제한을 높이도록 요청하라는 알림을 받습니다.
668 677
669더 많은 검색을 하려면 상한을 높이거나, 제한이 다시 채워질 때까지 기다리거나, 새 대화를 시작합니다:678더 많은 검색을 하려면 상한을 높이거나, 제한이 다시 채워질 때까지 기다리거나, 새 대화를 시작합니다:
670 679
671* **상한 높이기**: [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/ko/env-vars#variables) 환경 변수를 `500`과 같은 양의 정수로 설정합니다. 상한은 높일 수 있지만 끌 수는 없습니다.680* **상한 높이기**: [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](https://code.claude.com/docs/ko/env-vars#variables) 환경 변수를 `500`과 같은 양의 정수로 설정합니다. 상한은 높일 수 있지만 끌 수는 없습니다.
672* **다시 채워질 때까지 기다리기**: Claude Code v2.1.290 이상에서는 대화형 터미널 세션의 제한이 시간당 약 100회 호출씩 다시 채워집니다. 속도를 변경하려면 [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/ko/env-vars#variables)를 `50`과 같은 시간당 호출 수로 설정합니다.681* **다시 채워질 때까지 기다리기**: Claude Code v2.1.290 이상에서는 대화형 터미널 세션의 제한이 시간당 약 100회 호출씩 다시 채워집니다. 속도를 변경하려면 [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](https://code.claude.com/docs/ko/env-vars#variables)를 `50`과 같은 시간당 호출 수로 설정합니다.
673* **새 대화 시작하기**: Claude Code 프롬프트에서 [`/clear`](/docs/ko/commands#all-commands)를 실행해도 개수가 재설정됩니다. 실행 중인 워크플로와 같이 여전히 서브에이전트를 생성할 수 있는 작업이 초기화 후에도 남아 있으면 개수가 대신 이월됩니다.682* **새 대화 시작하기**: Claude Code 프롬프트에서 [`/clear`](https://code.claude.com/docs/ko/commands#all-commands)를 실행해도 개수가 재설정됩니다. 실행 중인 워크플로와 같이 여전히 서브에이전트를 생성할 수 있는 작업이 초기화 후에도 남아 있으면 개수가 대신 이월됩니다.
674 683
675`-p`를 사용하는 [비대화형 모드](/docs/ko/headless.md)와 [Agent SDK](/docs/ko/agent-sdk/overview.md)에서는 제한이 세션 단위가 아니라 턴 단위로 적용됩니다. 턴은 사용자가 메시지를 보낸 시점부터 Claude가 응답을 마칠 때까지 지속됩니다. 그 이후 다음 메시지를 보내거나 새 `claude -p` 실행을 시작하면 제한이 재설정되며, [`--continue` 또는 `--resume`](/docs/ko/headless#continue-conversations)을 사용하는 경우에도 마찬가지입니다. 더 많은 검색이 필요하면 [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/ko/env-vars#variables)을 높이거나 [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/ko/env-vars#variables)로 재충전 속도를 설정합니다.684`-p`를 사용하는 [비대화형 모드](https://code.claude.com/docs/ko/headless.md)와 [Agent SDK](https://code.claude.com/docs/ko/agent-sdk/overview.md)에서는 제한이 세션 단위가 아니라 턴 단위로 적용됩니다. 턴은 사용자가 메시지를 보낸 시점부터 Claude가 응답을 마칠 때까지 지속됩니다. 그 이후 다음 메시지를 보내거나 새 `claude -p` 실행을 시작하면 제한이 재설정되며, [`--continue` 또는 `--resume`](https://code.claude.com/docs/ko/headless#continue-conversations)을 사용하는 경우에도 마찬가지입니다. 더 많은 검색이 필요하면 [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](https://code.claude.com/docs/ko/env-vars#variables)을 높이거나 [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](https://code.claude.com/docs/ko/env-vars#variables)로 재충전 속도를 설정합니다.
676 685
677## Write 도구 동작686## Write 도구 동작
678 687
702 711
703> [!NOTE]712> [!NOTE]
704>713>
705> [advisor tool](/docs/ko/advisor.md)은 Claude Code가 구현하는 도구가 아니라 API가 실행하는 [server tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool)입니다. 권한 규칙이나 hook 매처에서 참조할 수 있는 이름이 없습니다.714> [advisor tool](https://code.claude.com/docs/ko/advisor.md)은 Claude Code가 구현하는 도구가 아니라 API가 실행하는 [server tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool)입니다. 권한 규칙이나 hook 매처에서 참조할 수 있는 이름이 없습니다.
706 715
707## 참고 항목716## 참고 항목
708 717
709* [MCP 서버](/docs/ko/mcp.md): 외부 서버를 연결하여 사용자 정의 도구 추가718* [MCP 서버](https://code.claude.com/docs/ko/mcp.md): 외부 서버를 연결하여 사용자 정의 도구 추가
710* [권한](/docs/ko/permissions.md): 권한 시스템, 규칙 구문, 도구별 패턴719* [권한](https://code.claude.com/docs/ko/permissions.md): 권한 시스템, 규칙 구문, 도구별 패턴
711* [Subagents](/docs/ko/sub-agents.md): subagent에 대한 도구 접근 구성720* [Subagents](https://code.claude.com/docs/ko/sub-agents.md): subagent에 대한 도구 접근 구성
712* [Hooks](/docs/ko/hooks-guide.md): 도구 실행 전후에 사용자 정의 명령 실행721* [Hooks](https://code.claude.com/docs/ko/hooks-guide.md): 도구 실행 전후에 사용자 정의 명령 실행