SpyBara
Go Premium

Documentation 2026-10-15 23:58 UTC to 2026-10-16 22:59 UTC

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

agent-sdk/hooks.md +75 −71

Details

9훅은 도구가 호출되거나 세션이 시작되거나 실행이 중지되는 등 에이전트 이벤트에 응답하여 코드를 실행하는 콜백 함수입니다. 훅을 사용하면 다음을 수행할 수 있습니다.9훅은 도구가 호출되거나 세션이 시작되거나 실행이 중지되는 등 에이전트 이벤트에 응답하여 코드를 실행하는 콜백 함수입니다. 훅을 사용하면 다음을 수행할 수 있습니다.

10 10 

11* **위험한 작업 차단** 실행 전에 파괴적인 셸 명령이나 무단 파일 액세스 같은 위험한 작업을 차단합니다11* **위험한 작업 차단** 실행 전에 파괴적인 셸 명령이나 무단 파일 액세스 같은 위험한 작업을 차단합니다

12* **로깅 및 감사** 규정 준수, 디버깅 또는 분석을 위해 모든 도구 호출을 기록합니다12* **로깅 및 감사** 규정 준수, 디버깅 또는 분석을 위해 도구 호출을 기록합니다

13* **입력 및 출력 변환** 데이터를 정제하거나 자격 증명을 주입하거나 파일 경로를 리디렉션합니다13* **입력 및 출력 변환** 데이터를 정제하거나 자격 증명을 주입하거나 파일 경로를 리디렉션합니다

14* **인간 승인 요구** 데이터베이스 쓰기 또는 API 호출 같은 민감한 작업에 대해 승인을 요구합니다14* **인간 승인 요구** 데이터베이스 쓰기 또는 API 호출 같은 민감한 작업에 대해 승인을 요구합니다

15* **세션 수명 주기 추적** 상태를 관리하거나 리소스를 정리하거나 알림을 보냅니다15* **세션 수명 주기 추적** 상태를 관리하거나 리소스를 정리하거나 알림을 보냅니다


40 </Step>40 </Step>

41</Steps>41</Steps>

42 42 

43다음 예제는 이러한 단계를 함께 보여줍니다. `PreToolUse` 훅(단계 1)을 `"Write|Edit"` 매처(단계 3)로 등록하므로 콜백은 파일 쓰기 도구에만 발생합니다. 트리거되면 콜백은 도구의 입력(단계 4)을 받고 파일 경로가 `.env` 파일을 대상으로 하는지 확인한 후 `permissionDecision: "deny"`를 반환하여 작업을 차단합니다(단계 5):43다음 예제는 `PreToolUse` 훅(단계 1)을 `"Write|Edit"` matcher(단계 3)로 등록하므로 콜백은 Write 및 Edit 도구에 대해 발생합니다. 트리거되면 콜백은 도구의 입력(단계 4)을 받고 파일 경로가 `.env` 파일을 대상으로 하는지 확인한 후 `permissionDecision: "deny"`를 반환하여 작업을 차단합니다(단계 5):

44 44 

45<CodeGroup>45<CodeGroup>

46 ```python Python theme={null}46 ```python Python theme={null}


61 file_name = file_path.split("/")[-1]61 file_name = file_path.split("/")[-1]

62 62 

63 # .env 파일을 대상으로 하는 경우 작업을 차단합니다63 # .env 파일을 대상으로 하는 경우 작업을 차단합니다

64 if file_name == ".env":64 if file_name.lower() == ".env":

65 return {65 return {

66 "hookSpecificOutput": {66 "hookSpecificOutput": {

67 "hookEventName": input_data["hook_event_name"],67 "hookEventName": input_data["hook_event_name"],


108 const fileName = filePath?.split("/").pop();108 const fileName = filePath?.split("/").pop();

109 109 

110 // .env 파일을 대상으로 하는 경우 작업을 차단합니다110 // .env 파일을 대상으로 하는 경우 작업을 차단합니다

111 if (fileName === ".env") {111 if (fileName?.toLowerCase() === ".env") {

112 return {112 return {

113 hookSpecificOutput: {113 hookSpecificOutput: {

114 hookEventName: preInput.hook_event_name,114 hookEventName: preInput.hook_event_name,


140 ```140 ```

141</CodeGroup>141</CodeGroup>

142 142 

143두 스크립트 중 어느 것을 실행하든 Claude가 `.env` 파일을 생성하려고 시도하고 훅이 도구 호출을 거부합니다.143이 훅은 `file_path`가 대소문자에 관계없이 `/.env`로 끝나는 Write 또는 Edit 호출을 거부합니다. Windows에서는 `file_path`가 `C:\project\.env`와 같이 백슬래시를 사용하므로, 이 훅은 `C:\project\.env`에 대한 Write 또는 Edit 호출을 허용합니다.

144 

145<Warning>

146 `Write|Edit` matcher는 이 훅을 Write 및 Edit 도구로 제한합니다. Claude가 Bash 명령으로 `.env`를 작성하면 훅이 실행되지 않습니다. [샌드박스가 실행되는](/docs/ko/sandboxing) 환경에서 파일에 대한 Bash 쓰기를 차단하려면 [Python](/docs/ko/agent-sdk/python#sandbox-configuration) 또는 [TypeScript](/docs/ko/agent-sdk/typescript#sandbox-configuration)의 샌드박스 구성을 참조하세요.

147</Warning>

144 148 

145<h2 id="available-hooks">149<h2 id="available-hooks">

146 사용 가능한 훅150 사용 가능한 훅


151| 훅 이벤트 | Python SDK | TypeScript SDK | 트리거되는 조건 | 사용 사례 예 |155| 훅 이벤트 | Python SDK | TypeScript SDK | 트리거되는 조건 | 사용 사례 예 |

152| - | - | - | - | - |156| - | - | - | - | - |

153| `PreToolUse` | 예 | 예 | 도구 호출 요청(차단 또는 수정 가능) | 위험한 셸 명령 차단 |157| `PreToolUse` | 예 | 예 | 도구 호출 요청(차단 또는 수정 가능) | 위험한 셸 명령 차단 |

154| `PostToolUse` | 예 | 예 | 도구 실행 결과 | 모든 파일 변경 사항을 감사 추적에 기록 |158| `PostToolUse` | 예 | 예 | 도구 실행 결과 | 파일 변경 사항을 감사 추적에 기록 |

155| `PostToolUseFailure` | 예 | 예 | 도구 실행 실패 | 도구 오류 처리 또는 기록 |159| `PostToolUseFailure` | 예 | 예 | 도구 실행 실패 | 도구 오류 처리 또는 기록 |

156| `PostToolBatch` | 아니오 | 예 | 전체 도구 호출 배치가 해결되며, 다음 모델 호출 전에 배치당 한 번 | 전체 배치에 대해 한 번 규칙 주입 |160| `PostToolBatch` | 아니오 | 예 | 전체 도구 호출 배치가 해결되며, 다음 모델 호출 전에 배치당 한 번 | 전체 배치에 대해 한 번 규칙 주입 |

157| [`UserPromptSubmit`](/docs/ko/hooks#userpromptsubmit) | 예 | 예 | Claude Code가 스스로 시작하는 턴을 포함하여 프롬프트가 제출됨 | 프롬프트에 추가 컨텍스트 주입 |161| [`UserPromptSubmit`](/docs/ko/hooks#userpromptsubmit) | 예 | 예 | Claude Code가 스스로 시작하는 턴을 포함하여 프롬프트가 제출됨 | 프롬프트에 추가 컨텍스트 주입 |


235| `hooks` | `HookCallback[]` | - | 필수입니다. 패턴이 일치할 때 실행할 콜백 함수의 배열 |239| `hooks` | `HookCallback[]` | - | 필수입니다. 패턴이 일치할 때 실행할 콜백 함수의 배열 |

236| `timeout` | `number` | `undefined` | 초 단위의 타임아웃입니다. 생략하면 Claude Code는 [이벤트의 기본 타임아웃](#hook-timeout)을 적용합니다. SDK 콜백은 `command` 훅 기본값을 따릅니다. |240| `timeout` | `number` | `undefined` | 초 단위의 타임아웃입니다. 생략하면 Claude Code는 [이벤트의 기본 타임아웃](#hook-timeout)을 적용합니다. SDK 콜백은 `command` 훅 기본값을 따릅니다. |

237 241 

238가능할 때마다 `matcher` 패턴을 사용하여 특정 도구를 대상으로 합니다. `'Bash'` 매처는 Bash 명령에만 실행되지만 패턴을 생략하면 콜백이 이벤트의 모든 발생에 대해 실행됩니다. 의도적으로 생략하여 세션이 수행하는 모든 도구 호출을 기록합니다.242가능할 때마다 `matcher` 패턴을 사용하여 특정 도구를 대상으로 합니다. `'Bash'` 매처는 Bash 명령에만 실행되지만 패턴을 생략하면 콜백이 이벤트의 모든 발생에 대해 실행됩니다.

239 243 

240<h3 id="callback-functions">244<h3 id="callback-functions">

241 콜백 함수245 콜백 함수


268변경 없이 작업을 허용하려면 `{}`를 반환합니다. SDK 콜백 훅은 [Claude Code 셸 명령 훅](/docs/ko/hooks#json-output)과 동일한 JSON 출력 형식을 사용하며, 이는 모든 필드와 이벤트별 옵션을 문서화합니다. SDK 타입 정의는 [TypeScript](/docs/ko/agent-sdk/typescript#synchookjsonoutput) 및 [Python](/docs/ko/agent-sdk/python#synchookjsonoutput) SDK 참조를 참조하세요.272변경 없이 작업을 허용하려면 `{}`를 반환합니다. SDK 콜백 훅은 [Claude Code 셸 명령 훅](/docs/ko/hooks#json-output)과 동일한 JSON 출력 형식을 사용하며, 이는 모든 필드와 이벤트별 옵션을 문서화합니다. SDK 타입 정의는 [TypeScript](/docs/ko/agent-sdk/typescript#synchookjsonoutput) 및 [Python](/docs/ko/agent-sdk/python#synchookjsonoutput) SDK 참조를 참조하세요.

269 273 

270<Note>274<Note>

271 여러 훅 또는 권한 규칙이 적용되는 경우 `deny`는 `defer`보다 우선하고, `defer`는 `ask`보다 우선하고, `ask`는 `allow`보다 우선합니다. 훅이 `deny`를 반환하면 다른 훅에 관계없이 작업이 차단됩니다.275 여러 `PreToolUse` 훅이 서로 다른 [결정](/docs/ko/hooks#pretooluse-decision-control)을 반환하는 경우 `deny`는 `defer`보다 우선하고, `defer`는 `ask`보다 우선하고, `ask`는 `allow`보다 우선합니다.

272</Note>276</Note>

273 277 

274<h4 id="asynchronous-output">278<h4 id="asynchronous-output">


307 예제311 예제

308</h2>312</h2>

309 313 

310이 섹션의 여러 예제는 콜백 함수만 보여줍니다. 실행하려면 [훅 구성](#configure-hooks)에 표시된 대로 옵션의 `hooks` 필드에서 일치하는 이벤트 아래에 콜백을 등록합니다.314이 섹션의 여러 예제는 콜백 함수만 보여 줍니다. 예제를 실행하려면 [훅 구성](#configure-hooks)에 나온 것처럼 옵션의 `hooks` 필드에서 해당 이벤트 아래에 콜백을 등록합니다.

311 315 

312<h3 id="modify-tool-input">316<h3 id="modify-tool-input">

313 도구 입력 수정317 도구 입력 수정

314</h3>318</h3>

315 319 

316이 예제는 Write 도구 호출을 가로채고 `file_path` 인수를 다시 작성하여 `/sandbox`를 앞에 붙여 모든 파일 쓰기를 샌드박스 디렉토리로 리디렉션합니다. 콜백은 수정된 경로와 함께 `updatedInput`을 반환하고 `permissionDecision: 'allow'`를 반환하여 다시 작성된 작업을 자동 승인합니다:320이 예제는 Write 도구 호출을 가로채 `file_path` 인수 앞에 `/sandbox`를 붙이도록 다시 작성합니다. 콜백은 수정된 경로가 담긴 `updatedInput`과 함께, 다시 작성된 작업을 자동 승인하는 `permissionDecision: 'allow'`를 반환합니다.

317 321 

318<CodeGroup>322<CodeGroup>

319 ```python Python theme={null}323 ```python Python theme={null}


361</CodeGroup>365</CodeGroup>

362 366 

363<Note>367<Note>

364 `updatedInput`을 `permissionDecision: 'allow'`와 함께 사용하여 수정된 입력을 자동 승인하거나, `permissionDecision: 'ask'`와 함께 사용하여 사용자에게 표시합니다. `permissionDecision`을 생략하면 수정된 입력이 여전히 적용되고 일반 권한 평가를 통해 흐릅니다. `'defer'`를 사용하면 `updatedInput`은 무시됩니다. 항상 원본 `tool_input`을 변경하지 않고 새 객체를 반환합니다.368 수정된 입력을 자동 승인하려면 `updatedInput`을 `permissionDecision: 'allow'`와 함께 사용하고, 사용자에게 보여 주려면 `permissionDecision: 'ask'`와 함께 사용합니다. `permissionDecision`을 생략해도 수정된 입력은 그대로 적용되며 일반적인 권한 평가를 거칩니다. `'defer'`를 사용하면 `updatedInput`은 무시됩니다. 원래의 `tool_input`을 변경하지 말고 항상 새 객체를 반환하십시오.

365</Note>369</Note>

366 370 

367리디렉션을 확인하려면 접두사를 `./sandbox` 또는 `/tmp/sandbox`와 같이 쓸 수 있는 경로로 설정합니다(macOS는 루트 수준의 `/sandbox` 디렉토리 생성을 허용하지 않음). 그런 다음 에이전트에 파일을 쓰도록 요청합니다. 메시지 스트림의 Write 도구 결과는 Claude가 요청한 경로가 아닌 샌드박스 접두사가 있는 경로를 표시합니다.371리디렉션을 확인하려면 접두사를 `./sandbox`나 `/tmp/sandbox`처럼 쓰기 가능한 경로로 설정한 다음(macOS에서는 루트 수준의 `/sandbox` 디렉터리를 만들 수 없습니다) 에이전트에게 파일을 작성하도록 요청합니다. 메시지 스트림의 Write 도구 결과에는 Claude가 요청한 경로가 아니라 샌드박스 접두사가 붙은 경로가 표시됩니다.

368 372 

369<h3 id="add-context-and-block-a-tool">373<h3 id="add-context-and-block-a-tool">

370 컨텍스트 추가 및 도구 차단374 컨텍스트 추가 및 도구 차단

371</h3>375</h3>

372 376 

373이 예제는 `/etc` 디렉토리에 쓰려는 시도를 차단하고 모델과 사용자 모두에게 이유를 설명합니다:377이 예제는 `file_path`가 `/etc`로 시작하는 도구 호출을 거부하고, 그 이유를 모델과 사용자 모두에게 설명합니다.

374 378 

375* `permissionDecision: 'deny'`는 도구 호출을 중지합니다.379* `permissionDecision: 'deny'`는 도구 호출을 중단합니다.

376* `permissionDecisionReason`은 모델에 이유를 알려주므로 재시도를 피합니다.380* `permissionDecisionReason`은 모델에게 이유를 알려 줍니다.

377* `systemMessage`는 사용자에게 발생한 상황을 보여줍니다.381* `systemMessage`는 사용자에게 무슨 일이 있었는지 보여 줍니다.

378 382 

379<CodeGroup>383<CodeGroup>

380 ```python Python theme={null}384 ```python Python theme={null}


383 387 

384 if file_path.startswith("/etc"):388 if file_path.startswith("/etc"):

385 return {389 return {

386 # 최상위 필드: 사용자에게 표시되는 메시지390 # Top-level field: message shown to the user

387 "systemMessage": "Remember: system directories like /etc are protected.",391 "systemMessage": "Remember: system directories like /etc are protected.",

388 # hookSpecificOutput: 작업을 차단합니다392 # hookSpecificOutput: block the operation

389 "hookSpecificOutput": {393 "hookSpecificOutput": {

390 "hookEventName": input_data["hook_event_name"],394 "hookEventName": input_data["hook_event_name"],

391 "permissionDecision": "deny",395 "permissionDecision": "deny",


403 407 

404 if (filePath?.startsWith("/etc")) {408 if (filePath?.startsWith("/etc")) {

405 return {409 return {

406 // 최상위 필드: 사용자에게 표시되는 메시지410 // Top-level field: message shown to the user

407 systemMessage: "Remember: system directories like /etc are protected.",411 systemMessage: "Remember: system directories like /etc are protected.",

408 // hookSpecificOutput: 작업을 차단합니다412 // hookSpecificOutput: block the operation

409 hookSpecificOutput: {413 hookSpecificOutput: {

410 hookEventName: preInput.hook_event_name,414 hookEventName: preInput.hook_event_name,

411 permissionDecision: "deny",415 permissionDecision: "deny",


418 ```422 ```

419</CodeGroup>423</CodeGroup>

420 424 

421차단을 확인하려면 `PreToolUse`에서 콜백을 `Write|Edit` 매처로 등록하고 에이전트에 `/etc` 아래에 파일을 생성하도록 요청합니다. 메시지 스트림의 Write 도구 결과에는 `Writing to /etc is not allowed`가 포함되며 파일이 생성되지 않습니다.425차단을 확인하려면 `Write|Edit` matcher와 함께 `PreToolUse` 아래에 콜백을 등록하고 에이전트에게 `/etc` 아래에 파일을 만들도록 요청합니다. 메시지 스트림의 Write 도구 결과에 `Writing to /etc is not allowed`가 포함되며, 파일은 생성되지 않습니다.

422 426 

423<h3 id="auto-approve-specific-tools">427<h3 id="auto-approve-specific-tools">

424 특정 도구 자동 승인428 특정 도구 자동 승인

425</h3>429</h3>

426 430 

427기본적으로 에이전트는 특정 도구를 사용하기 전에 권한을 요청할 수 있습니다. 이 예제는 `permissionDecision: 'allow'`를 반환하여 읽기 전용 파일 시스템 도구(Read, Glob, Grep)를 자동 승인하여 [네트워크 경로](/docs/ko/permissions#network-paths)에서의 읽기를 제외하고 사용자 확인 없이 실행되도록 하면서 다른 모든 도구는 일반 권한 확인을 받습니다:431기본적으로 에이전트는 특정 도구를 사용하기 전에 권한 확인을 요청할 수 있습니다. 이 예제는 `permissionDecision: 'allow'`를 반환하여 읽기 전용 파일 시스템 도구(Read, Glob, Grep)를 자동 승인합니다. 이를 통해 [네트워크 경로](/docs/ko/permissions#network-paths)에서의 읽기를 제외하고는 사용자 확인 없이 이 도구들을 실행할 수 있으며, 다른 모든 도구는 일반적인 권한 검사를 그대로 거칩니다.

428 432 

429<CodeGroup>433<CodeGroup>

430 ```python Python theme={null}434 ```python Python theme={null}


468 여러 훅 등록472 여러 훅 등록

469</h3>473</h3>

470 474 

471이벤트가 발생하면 일치하는 모든 훅이 병렬로 실행됩니다. 권한 결정의 경우 가장 제한적인 결과가 우선합니다. 단일 `deny`는 다른 훅이 반환하는 것에 관계없이 도구 호출을 차단합니다. 완료 순서가 비결정적이므로 다른 훅이 먼저 실행되었다고 가정하지 않고 각 훅이 독립적으로 작동하도록 작성합니다.475이벤트가 발생하면 일치하는 훅이 병렬로 실행됩니다. 권한 결정의 경우 가장 제한적인 결과가 적용됩니다. 하나의 훅이 `deny`를 반환하면 도구 호출이 차단됩니다. 완료 순서는 비결정적이므로, 다른 훅이 먼저 실행되었다고 가정하지 말고 각 훅이 독립적으로 동작하도록 작성하십시오.

472 476 

473아래 예제는 모든 도구 호출에 대해 세 가지 독립적인 확인을 등록합니다. 예제의 훅 이름(예: Python의 `audit_logger` 또는 TypeScript의 `auditLogger`)은 사용자가 정의하는 콜백을 나타냅니다:477아래 예제는 각각 [matcher를 생략한](/docs/ko/hooks#matcher-patterns) 세 개의 독립적인 검사를 등록합니다. 여기에 나오는 Python의 `audit_logger`나 TypeScript의 `auditLogger` 같은 훅 이름은 사용자가 정의하는 콜백을 나타냅니다.

474 478 

475<CodeGroup>479<CodeGroup>

476 ```python Python theme={null}480 ```python Python theme={null}


499</CodeGroup>503</CodeGroup>

500 504 

501<h3 id="filter-with-multi-tool-matchers">505<h3 id="filter-with-multi-tool-matchers">

502 다중 도구 매처로 필터링506 다중 도구 matcher로 필터링

503</h3>507</h3>

504 508 

505다중 도구 매처를 사용하여 관련 도구 간에 하나의 콜백을 공유합니다. 이 예제는 서로 다른 범위의 세 가지 매처를 등록하며, 예제의 각 훅 이름은 사용자가 정의하는 콜백을 나타냅니다:509다중 도구 matcher를 사용하면 관련 도구들 사이에서 하나의 콜백을 공유할 수 있습니다. 이 예제는 범위가 서로 다른 세 개의 matcher를 등록하며, 여기에 나오는 각 훅 이름은 사용자가 정의하는 콜백을 나타냅니다.

506 510 

507* 파이프로 구분된 정확한 목록(`Write|Edit|NotebookEdit`)은 파일 수정 도구에만 `file_security_hook`을 트리거합니다.511* 파이프로 구분된 정확한 목록(`Write|Edit|NotebookEdit`)은 Write, Edit, NotebookEdit 도구에 대해 `file_security_hook`을 트리거합니다.

508* 정규식(`^mcp__`)은 이름이 `mcp__`로 시작하는 모든 MCP 도구에 대해 `mcp_audit_hook`을 트리거합니다.512* 정규식(`^mcp__`)은 이름이 `mcp__`로 시작하는 모든 MCP 도구에 대해 `mcp_audit_hook`을 트리거합니다.

509* 생략된 매처는 이름에 관계없이 모든 도구 호출에 대해 `global_logger`를 트리거합니다.513* matcher를 생략하면 도구 이름으로 필터링하지 않고 `global_logger`를 트리거합니다.

510 514 

511<CodeGroup>515<CodeGroup>

512 ```python Python theme={null}516 ```python Python theme={null}

513 options = ClaudeAgentOptions(517 options = ClaudeAgentOptions(

514 hooks={518 hooks={

515 "PreToolUse": [519 "PreToolUse": [

516 # 파일 수정 도구 일치520 # Match file modification tools

517 HookMatcher(matcher="Write|Edit|NotebookEdit", hooks=[file_security_hook]),521 HookMatcher(matcher="Write|Edit|NotebookEdit", hooks=[file_security_hook]),

518 # 모든 MCP 도구 일치522 # Match all MCP tools

519 HookMatcher(matcher="^mcp__", hooks=[mcp_audit_hook]),523 HookMatcher(matcher="^mcp__", hooks=[mcp_audit_hook]),

520 # 모든 것 일치(매처 없음)524 # Match everything (no matcher)

521 HookMatcher(hooks=[global_logger]),525 HookMatcher(hooks=[global_logger]),

522 ]526 ]

523 }527 }


528 const options = {532 const options = {

529 hooks: {533 hooks: {

530 PreToolUse: [534 PreToolUse: [

531 // 파일 수정 도구 일치535 // Match file modification tools

532 { matcher: "Write|Edit|NotebookEdit", hooks: [fileSecurityHook] },536 { matcher: "Write|Edit|NotebookEdit", hooks: [fileSecurityHook] },

533 537 

534 // 모든 MCP 도구 일치538 // Match all MCP tools

535 { matcher: "^mcp__", hooks: [mcpAuditHook] },539 { matcher: "^mcp__", hooks: [mcpAuditHook] },

536 540 

537 // 모든 것 일치(매처 없음)541 // Match everything (no matcher)

538 { hooks: [globalLogger] }542 { hooks: [globalLogger] }

539 ]543 ]

540 }544 }


546 서브에이전트 활동 추적550 서브에이전트 활동 추적

547</h3>551</h3>

548 552 

549`SubagentStop` 훅을 사용하여 서브에이전트가 작업을 완료할 때를 모니터링합니다. [TypeScript](/docs/ko/agent-sdk/typescript#hookinput) 및 [Python](/docs/ko/agent-sdk/python#hookinput) SDK 참조에서 전체 입력 타입을 참조하세요. 이 예제는 서브에이전트가 완료될 때마다 요약을 기록합니다:553`SubagentStop` 훅을 사용하여 서브에이전트가 작업을 마치는 시점을 모니터링합니다. 전체 입력 타입은 [TypeScript](/docs/ko/agent-sdk/typescript#hookinput) 및 [Python](/docs/ko/agent-sdk/python#hookinput) SDK 레퍼런스를 참조하십시오. 이 예제는 서브에이전트가 완료될 때마다 요약을 로그에 기록합니다.

550 554 

551<CodeGroup>555<CodeGroup>

552 ```python Python theme={null}556 ```python Python theme={null}

553 async def subagent_tracker(input_data, tool_use_id, context):557 async def subagent_tracker(input_data, tool_use_id, context):

554 # 서브에이전트가 완료될 때 세부 정보를 기록합니다558 # Log subagent details when it finishes

555 print(f"[SUBAGENT] Completed: {input_data['agent_id']}")559 print(f"[SUBAGENT] Completed: {input_data['agent_id']}")

556 print(f" Transcript: {input_data['agent_transcript_path']}")560 print(f" Transcript: {input_data['agent_transcript_path']}")

557 print(f" Tool use ID: {tool_use_id}")561 print(f" Tool use ID: {tool_use_id}")


568 import { HookCallback, SubagentStopHookInput } from "@anthropic-ai/claude-agent-sdk";572 import { HookCallback, SubagentStopHookInput } from "@anthropic-ai/claude-agent-sdk";

569 573 

570 const subagentTracker: HookCallback = async (input, toolUseID, { signal }) => {574 const subagentTracker: HookCallback = async (input, toolUseID, { signal }) => {

571 // SubagentStopHookInput으로 캐스팅하여 서브에이전트별 필드에 액세스합니다575 // Cast to SubagentStopHookInput to access subagent-specific fields

572 const subInput = input as SubagentStopHookInput;576 const subInput = input as SubagentStopHookInput;

573 577 

574 // 서브에이전트가 완료될 때 세부 정보를 기록합니다578 // Log subagent details when it finishes

575 console.log(`[SUBAGENT] Completed: ${subInput.agent_id}`);579 console.log(`[SUBAGENT] Completed: ${subInput.agent_id}`);

576 console.log(` Transcript: ${subInput.agent_transcript_path}`);580 console.log(` Transcript: ${subInput.agent_transcript_path}`);

577 console.log(` Tool use ID: ${toolUseID}`);581 console.log(` Tool use ID: ${toolUseID}`);


587 ```591 ```

588</CodeGroup>592</CodeGroup>

589 593 

590훅이 발생하는지 확인하려면 콜백을 등록하고 에이전트에 현재 디렉토리의 파일을 나열하는 등 작은 작업을 서브에이전트에 위임하도록 요청합니다. 서브에이전트가 완료되면 콜백은 서브에이전트의 ID와 트랜스크립트 경로와 함께 `[SUBAGENT] Completed:` 줄을 출력합니다.594훅이 실행되는지 확인하려면 콜백을 등록하고 에이전트에게 현재 디렉터리의 파일 나열과 같은 작은 작업을 서브에이전트에 위임하도록 요청합니다. 서브에이전트가 완료되면 콜백이 서브에이전트의 ID와 트랜스크립트 경로가 담긴 `[SUBAGENT] Completed:` 줄을 출력합니다.

591 595 

592<h3 id="make-http-requests-from-hooks">596<h3 id="make-http-requests-from-hooks">

593 훅에서 HTTP 요청 만들기597 훅에서 HTTP 요청 보내기

594</h3>598</h3>

595 599 

596훅은 HTTP 요청 같은 비동기 작업을 수행할 수 있습니다. 훅 내에서 오류를 포착하고 전파하지 않습니다.600훅은 HTTP 요청과 같은 비동기 작업을 수행할 수 있습니다. 오류가 전파되도록 두지 말고 훅 내부에서 오류를 포착하십시오.

597 601 

598이 예제는 각 도구가 완료된 후 웹훅을 전송하여 어떤 도구가 실행되었는지와 언제 실행되었는지를 기록합니다. 훅은 실패한 웹훅이 에이전트를 중단하지 않도록 오류를 포착합니다:602이 예제는 각 도구가 완료된 후 웹훅을 전송하여 어떤 도구가 언제 실행되었는지 로그에 기록합니다. 훅은 실패한 웹훅에서 발생한 오류를 포착합니다.

599 603 

600<CodeGroup>604<CodeGroup>

601 ```python Python theme={null}605 ```python Python theme={null}


606 610 

607 611 

608 def _send_webhook(tool_name):612 def _send_webhook(tool_name):

609 """도구 사용 데이터를 외부 웹훅에 POST하는 동기 헬퍼입니다."""613 """Synchronous helper that POSTs tool usage data to an external webhook."""

610 data = json.dumps(614 data = json.dumps(

611 {615 {

612 "tool": tool_name,616 "tool": tool_name,


623 627 

624 628 

625 async def webhook_notifier(input_data, tool_use_id, context):629 async def webhook_notifier(input_data, tool_use_id, context):

626 # 도구가 완료된 후(PostToolUse)에만 발생하고, 전에는 아닙니다630 # Only fire after a tool completes (PostToolUse), not before

627 if input_data["hook_event_name"] != "PostToolUse":631 if input_data["hook_event_name"] != "PostToolUse":

628 return {}632 return {}

629 633 

630 try:634 try:

631 # 이벤트 루프를 차단하지 않도록 스레드에서 차단 HTTP 호출을 실행합니다635 # Run the blocking HTTP call in a thread to avoid blocking the event loop

632 await asyncio.to_thread(_send_webhook, input_data["tool_name"])636 await asyncio.to_thread(_send_webhook, input_data["tool_name"])

633 except Exception as e:637 except Exception as e:

634 # 오류를 기록하지만 발생시키지 않습니다638 # Log the error but don't raise

635 print(f"Webhook request failed: {e}")639 print(f"Webhook request failed: {e}")

636 640 

637 return {}641 return {}


641 import { query, HookCallback, PostToolUseHookInput } from "@anthropic-ai/claude-agent-sdk";645 import { query, HookCallback, PostToolUseHookInput } from "@anthropic-ai/claude-agent-sdk";

642 646 

643 const webhookNotifier: HookCallback = async (input, toolUseID, { signal }) => {647 const webhookNotifier: HookCallback = async (input, toolUseID, { signal }) => {

644 // 도구가 완료된 후(PostToolUse)에만 발생하고, 전에는 아닙니다648 // Only fire after a tool completes (PostToolUse), not before

645 if (input.hook_event_name !== "PostToolUse") return {};649 if (input.hook_event_name !== "PostToolUse") return {};

646 650 

647 try {651 try {


652 tool: (input as PostToolUseHookInput).tool_name,656 tool: (input as PostToolUseHookInput).tool_name,

653 timestamp: new Date().toISOString()657 timestamp: new Date().toISOString()

654 }),658 }),

655 // 훅이 타임아웃되면 요청이 취소되도록 신호를 전달합니다659 // Pass signal so the request cancels if the hook times out

656 signal660 signal

657 });661 });

658 } catch (error) {662 } catch (error) {

659 // 다른 오류와 별도로 취소를 처리합니다663 // Handle cancellation separately from other errors

660 if (error instanceof Error && error.name === "AbortError") {664 if (error instanceof Error && error.name === "AbortError") {

661 console.log("Webhook request cancelled");665 console.log("Webhook request cancelled");

662 }666 }

663 // 다시 발생시키지 않습니다667 // Don't re-throw

664 }668 }

665 669 

666 return {};670 return {};

667 };671 };

668 672 

669 // PostToolUse 훅으로 등록합니다673 // Register as a PostToolUse hook

670 for await (const message of query({674 for await (const message of query({

671 prompt: "Refactor the auth module",675 prompt: "Refactor the auth module",

672 options: {676 options: {


680 ```684 ```

681</CodeGroup>685</CodeGroup>

682 686 

683웹훅이 발생하는지 확인하려면 웹훅 URL을 감시할 수 있는 엔드포인트로 지정하고 도구를 사용하는 프롬프트를 전송합니다. 훅은 각 도구가 완료된 후 도구 이름과 타임스탬프가 포함된 POST를 전송합니다.687훅이 실행되는지 확인하려면 웹훅 URL을 모니터링할 수 있는 엔드포인트로 지정하고 도구를 사용하는 프롬프트를 보냅니다. 각 도구가 완료된 후 훅이 도구 이름과 타임스탬프가 담긴 POST 요청을 보냅니다.

684 688 

685<h3 id="forward-notifications-to-slack">689<h3 id="forward-notifications-to-slack">

686 Slack으로 알림 전달690 Slack으로 알림 전달

687</h3>691</h3>

688 692 

689`Notification` 훅을 사용하여 에이전트에서 시스템 알림을 받고 외부 서비스로 전달합니다. SDK 세션에서 Claude Code는 다음 알림 유형에 대해 이 훅을 실행합니다:693`Notification` 훅을 사용하여 에이전트로부터 시스템 알림을 받고 외부 서비스로 전달합니다. SDK 세션에서 Claude Code는 다음 알림 유형에 대해 이 훅을 실행합니다.

690 694 

691* [`permission_prompt`](/docs/ko/hooks#notification) 권한 요청이 [`canUseTool` 콜백](/docs/ko/agent-sdk/user-input)에서 약 6초 동안 대기한 후. TypeScript Agent SDK v0.3.233 이상 또는 Python Agent SDK v0.2.139 이상이 필요합니다695* [`permission_prompt`](/docs/ko/hooks#notification): 권한 요청이 [`canUseTool` 콜백](/docs/ko/agent-sdk/user-input)에서 약 6초 동안 대기한 경우. TypeScript Agent SDK v0.3.233 이상 또는 Python Agent SDK v0.2.139 이상이 필요합니다

692* `elicitation_complete` 및 `elicitation_response` 사용자 프롬프트 유도 흐름의 경우696* `elicitation_complete` 및 `elicitation_response`: 사용자 프롬프트 elicitation 흐름용

693 697 

694Claude Code는 `idle_prompt`, `auth_success`, `elicitation_dialog` 같은 다른 유형을 SDK 세션이 실행하지 않는 대화형 UI에서 내보냅니다.698`idle_prompt`, `auth_success`, `elicitation_dialog`와 같은 다른 유형은 Claude Code가 SDK 세션에서 실행되지 않는 대화형 UI에서 발생시킵니다.

695 699 

696각 알림에는 인간이 읽을 수 있는 설명이 있는 `message` 필드와 선택적으로 `title`이 포함됩니다.700각 알림에는 사람이 읽을 수 있는 설명이 담긴 `message` 필드가 포함되며, 선택적으로 `title`이 포함됩니다.

697 701 

698이 예제는 모든 알림을 Slack 채널로 전달합니다. [Slack 수신 웹훅 URL](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/)이 필요하며, 이는 Slack 작업 공간에 앱을 추가하고 수신 웹훅을 활성화하여 생성합니다:702이 예제는 모든 알림을 Slack 채널로 전달합니다. [Slack incoming webhook URL](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/)이 필요하며, 이 URL은 Slack 워크스페이스에 앱을 추가하고 incoming webhook을 활성화하여 생성합니다.

699 703 

700<CodeGroup>704<CodeGroup>

701 ```python Python theme={null}705 ```python Python theme={null}


707 711 

708 712 

709 def _send_slack_notification(message):713 def _send_slack_notification(message):

710 """수신 웹훅을 통해 Slack에 메시지를 보내는 동기 헬퍼입니다."""714 """Synchronous helper that sends a message to Slack via incoming webhook."""

711 data = json.dumps({"text": f"Agent status: {message}"}).encode()715 data = json.dumps({"text": f"Agent status: {message}"}).encode()

712 req = urllib.request.Request(716 req = urllib.request.Request(

713 "https://hooks.slack.com/services/YOUR/WEBHOOK/URL",717 "https://hooks.slack.com/services/YOUR/WEBHOOK/URL",


720 724 

721 async def notification_handler(input_data, tool_use_id, context):725 async def notification_handler(input_data, tool_use_id, context):

722 try:726 try:

723 # 이벤트 루프를 차단하지 않도록 스레드에서 차단 HTTP 호출을 실행합니다727 # Run the blocking HTTP call in a thread to avoid blocking the event loop

724 await asyncio.to_thread(_send_slack_notification, input_data.get("message", ""))728 await asyncio.to_thread(_send_slack_notification, input_data.get("message", ""))

725 except Exception as e:729 except Exception as e:

726 print(f"Failed to send notification: {e}")730 print(f"Failed to send notification: {e}")

727 731 

728 # 빈 객체를 반환합니다. 알림 훅은 에이전트 동작을 수정하지 않습니다732 # Return empty object. Notification hooks don't modify agent behavior

729 return {}733 return {}

730 734 

731 735 

732 async def main():736 async def main():

733 options = ClaudeAgentOptions(737 options = ClaudeAgentOptions(

734 hooks={738 hooks={

735 # 알림 이벤트에 대한 훅을 등록합니다(매처 필요 없음)739 # Register the hook for Notification events (no matcher needed)

736 "Notification": [HookMatcher(hooks=[notification_handler])],740 "Notification": [HookMatcher(hooks=[notification_handler])],

737 },741 },

738 )742 )


749 ```typescript TypeScript theme={null}753 ```typescript TypeScript theme={null}

750 import { query, HookCallback, NotificationHookInput } from "@anthropic-ai/claude-agent-sdk";754 import { query, HookCallback, NotificationHookInput } from "@anthropic-ai/claude-agent-sdk";

751 755 

752 // Slack으로 알림을 보내는 훅 콜백을 정의합니다756 // Define a hook callback that sends notifications to Slack

753 const notificationHandler: HookCallback = async (input, toolUseID, { signal }) => {757 const notificationHandler: HookCallback = async (input, toolUseID, { signal }) => {

754 // NotificationHookInput으로 캐스팅하여 메시지 필드에 액세스합니다758 // Cast to NotificationHookInput to access the message field

755 const notification = input as NotificationHookInput;759 const notification = input as NotificationHookInput;

756 760 

757 try {761 try {

758 // 알림 메시지를 Slack 수신 웹훅에 POST합니다762 // POST the notification message to a Slack incoming webhook

759 await fetch("https://hooks.slack.com/services/YOUR/WEBHOOK/URL", {763 await fetch("https://hooks.slack.com/services/YOUR/WEBHOOK/URL", {

760 method: "POST",764 method: "POST",

761 headers: { "Content-Type": "application/json" },765 headers: { "Content-Type": "application/json" },

762 body: JSON.stringify({766 body: JSON.stringify({

763 text: `Agent status: ${notification.message}`767 text: `Agent status: ${notification.message}`

764 }),768 }),

765 // 훅이 타임아웃되면 요청이 취소되도록 신호를 전달합니다769 // Pass signal so the request cancels if the hook times out

766 signal770 signal

767 });771 });

768 } catch (error) {772 } catch (error) {


773 }777 }

774 }778 }

775 779 

776 // 빈 객체를 반환합니다. 알림 훅은 에이전트 동작을 수정하지 않습니다780 // Return empty object. Notification hooks don't modify agent behavior

777 return {};781 return {};

778 };782 };

779 783 

780 // 알림 이벤트에 대한 훅을 등록합니다(매처 필요 없음)784 // Register the hook for Notification events (no matcher needed)

781 for await (const message of query({785 for await (const message of query({

782 prompt: "Analyze this codebase",786 prompt: "Analyze this codebase",

783 options: {787 options: {


791 ```795 ```

792</CodeGroup>796</CodeGroup>

793 797 

794`Notification` 이벤트가 발생하면 훅은 알림의 `message`를 `Agent status:` 접두사와 함께 웹훅이 대상으로 하는 채널에 게시합니다.798`Notification` 이벤트가 발생하면 훅은 알림의 `message` 앞에 `Agent status:`를 붙여 웹훅이 대상으로 하는 채널에 게시합니다.

795 799 

796<h2 id="fix-common-issues">800<h2 id="fix-common-issues">

797 일반적인 문제 해결801 일반적인 문제 해결


832 836 

833콜백이 타임아웃을 초과하면 Claude Code는 이를 취소하고 출력을 버리며, 세션은 중단되지 않고 계속됩니다. 다음에 일어나는 일은 이벤트에 따라 다릅니다:837콜백이 타임아웃을 초과하면 Claude Code는 이를 취소하고 출력을 버리며, 세션은 중단되지 않고 계속됩니다. 다음에 일어나는 일은 이벤트에 따라 다릅니다:

834 838 

835* `PreToolUse`: Claude Code는 도구 호출을 실행하지 않으며, Claude는 훅이 타임아웃 전에 응답하지 않았다는 도구 결과를 받고 턴이 계속됩니다. 다른 `PreToolUse` 훅이 명시적 거부를 반환한 경우 Claude는 타임아웃 오류 대신 그 거부를 받습니다. v2.1.210 이전에는 Claude Code가 타임아웃을 Claude에 사용자 거부로 보고했으며, 이는 무인 세션을 중지하고 입력을 기다리게 했습니다.839* `PreToolUse`: Claude Code는 도구 호출을 차단합니다. 그 대신 Claude는 훅이 타임아웃 전에 응답하지 않았다는 도구 결과를 받고 턴이 계속됩니다. v2.1.210 이전에는 Claude Code가 타임아웃을 Claude에 사용자 거부로 보고했으며, 이는 무인 세션을 중지하고 입력을 기다리게 했습니다.

836* `PostToolUse` 및 `PostToolUseFailure`: Claude Code는 도구 결과를 유지하고 턴이 계속됩니다.840* `PostToolUse` 및 `PostToolUseFailure`: Claude Code는 도구 결과를 유지하고 턴이 계속됩니다.

837* `UserPromptSubmit` 및 [`UserPromptExpansion`](/docs/ko/hooks#userpromptexpansion): Claude Code는 훅과 타임아웃을 명시하는 메시지로 프롬프트를 차단하고 세션은 계속됩니다. 이러한 이벤트의 콜백이 정책 게이트로 작동할 수 있으므로 Claude Code는 타임아웃된 프롬프트를 검사 없이 통과시키지 않습니다. v2.1.208 이전에는 Claude Code가 이러한 이벤트의 콜백 타임아웃 시 `error_during_execution`으로 쿼리를 종료했습니다.841* `UserPromptSubmit` 및 [`UserPromptExpansion`](/docs/ko/hooks#userpromptexpansion): Claude Code는 훅과 타임아웃을 명시하는 메시지로 프롬프트를 차단하고 세션은 계속됩니다. v2.1.208 이전에는 Claude Code가 이러한 이벤트의 콜백 타임아웃 시 `error_during_execution`으로 쿼리를 종료했습니다.

838* `Stop` 및 `SubagentStop`: 타임아웃된 콜백은 결정을 반환하지 않은 것으로 계산됩니다. 에이전트 또는 서브에이전트는 해당 콜백이 이를 허용한 것처럼 중지되며, 이벤트의 다른 훅의 결정은 여전히 적용됩니다. Claude Code v2.1.273 이전에는 타임아웃된 `Stop` 또는 `SubagentStop` 콜백이 실패한 훅 실행으로 계산되었으며, Claude Code는 이벤트의 다른 훅의 결정을 버렸습니다.842* `Stop` 및 `SubagentStop`: 타임아웃된 콜백은 결정을 반환하지 않은 것으로 계산됩니다. 에이전트 또는 서브에이전트는 해당 콜백이 이를 허용한 것처럼 중지되며, 이벤트의 다른 훅의 결정은 여전히 적용됩니다. Claude Code v2.1.273 이전에는 타임아웃된 `Stop` 또는 `SubagentStop` 콜백이 실패한 훅 실행으로 계산되었으며, Claude Code는 이벤트의 다른 훅의 결정을 버렸습니다.

839* `SessionStart`: 타임아웃된 콜백은 출력을 반환하지 않은 것으로 계산되며, 세션은 다른 `SessionStart` 훅의 출력으로 계속됩니다.843* `SessionStart`: 타임아웃된 콜백은 출력을 반환하지 않은 것으로 계산되며, 세션은 다른 `SessionStart` 훅의 출력으로 계속됩니다.

840* `PreModelSwitch`: Claude Code는 모델 전환을 차단합니다. 응답하지 않는 훅은 전환을 승인하지 않았습니다.844* `PreModelSwitch`: Claude Code는 모델 전환을 차단합니다. 응답하지 않는 훅은 전환을 승인하지 않았습니다.

Details

3881<Note>3881<Note>

3882 샌드박스는 플랫폼 지원에 따라 달라지며, Linux에서는 `bubblewrap` 및 `socat`과 같은 도구가 필요합니다. 기본적으로 `enabled`가 `True`이지만 샌드박스를 시작할 수 없을 때, 명령은 stderr에 경고와 함께 샌드박스되지 않은 상태로 실행됩니다. 이 기본값은 `failIfUnavailable`이 `true`로 기본 설정되는 TypeScript SDK와 다릅니다.3882 샌드박스는 플랫폼 지원에 따라 달라지며, Linux에서는 `bubblewrap` 및 `socat`과 같은 도구가 필요합니다. 기본적으로 `enabled`가 `True`이지만 샌드박스를 시작할 수 없을 때, 명령은 stderr에 경고와 함께 샌드박스되지 않은 상태로 실행됩니다. 이 기본값은 `failIfUnavailable`이 `true`로 기본 설정되는 TypeScript SDK와 다릅니다.

3883 3883 

3884 대신 중지하려면 샌드박스 설정에서 `"failIfUnavailable": True`를 설정하십시오. 이 키는 아직 `SandboxSettings`에 선언되지 않았지만, SDK는 이를 Claude Code로 전달하며, Claude Code는 이를 준수합니다. 그러면 `query()`는 `subtype="error_during_execution"`과 `errors`의 이유를 포함한 `ResultMessage`를 보고합니다. 이것이 단일 샷 `query()` 호출이므로, SDK는 해당 오류 결과를 생성한 후 발생시키므로, 루프를 try 블록으로 감싸서 이를 지나 계속 진행하십시오. [결과 처리](/docs/ko/agent-sdk/agent-loop#handle-the-result)에서 오류 계약을 참조하십시오.3884 대신 중지하려면 샌드박스 설정에서 `"failIfUnavailable": True`를 설정하십시오. SDK는 선언된 `SandboxSettings` 필드와 함께 `failIfUnavailable`을 Claude Code로 전달합니다. 그러면 `query()`는 `subtype="error_during_execution"`과 `errors`의 이유를 포함한 `ResultMessage`를 보고합니다. 이것이 단일 샷 `query()` 호출이므로, SDK는 해당 오류 결과를 생성한 후 발생시키므로, 루프를 try 블록으로 감싸서 이를 지나 계속 진행하십시오. [결과 처리](/docs/ko/agent-sdk/agent-loop#handle-the-result)에서 오류 계약을 참조하십시오.

3885</Note>3885</Note>

3886 3886 

3887샌드박스된 명령이 파일에 쓰지 못하도록 하려면, 샌드박스 설정의 [`denyWrite`](/docs/ko/settings-reference#sandbox-filesystem-denywrite) 아래에 해당 파일의 절대 경로를 나열하십시오(예: `"filesystem": {"denyWrite": ["/home/user/project/.env"]}`). SDK는 선언된 `SandboxSettings` 필드와 함께 `filesystem`을 Claude Code로 전달합니다. 샌드박스가 시작되면 나열된 각 경로에 대한 쓰기를 차단합니다. `.env` 또는 `./.env`를 나열하면, 샌드박스된 명령은 세션의 작업 디렉터리에 있는 `.env` 파일에 쓸 수 있습니다.

3888 

3887<h4 id="example-usage">3889<h4 id="example-usage">

3888 사용 예제3890 사용 예제

3889</h4>3891</h4>

Details

557[Claude Code Skills 가이드](/docs/ko/skills)는 심층적인 작성을 다룹니다. 해당 지침은 SDK 세션에 적용됩니다. 다음 섹션부터 시작하십시오:557[Claude Code Skills 가이드](/docs/ko/skills)는 심층적인 작성을 다룹니다. 해당 지침은 SDK 세션에 적용됩니다. 다음 섹션부터 시작하십시오:

558 558 

559* [Frontmatter 참조](/docs/ko/skills#frontmatter-reference): 지원되는 모든 필드559* [Frontmatter 참조](/docs/ko/skills#frontmatter-reference): 지원되는 모든 필드

560* [Skills에 인수 전달하기](/docs/ko/skills#pass-arguments-to-skills): `$ARGUMENTS`, `$0`, `$1` 및 Skill 스택. [전체 대체 테이블](/docs/ko/skills#available-string-substitutions)은 명명된 인수 및 `${CLAUDE_*}` 변수를 추가합니다560* [스킬에 인수 전달하기](/docs/ko/skills#pass-arguments-to-skills): `$ARGUMENTS`, `$0`, `$1`. [전체 대체 테이블](/docs/ko/skills#available-string-substitutions)은 명명된 인수 및 `${CLAUDE_*}` 변수를 추가합니다

561* [동적 컨텍스트 주입하기](/docs/ko/skills#inject-dynamic-context): Claude가 Skill 콘텐츠를 보기 전에 실행되는 `` !`command` `` 라인561* [동적 컨텍스트 주입하기](/docs/ko/skills#inject-dynamic-context): Claude가 Skill 콘텐츠를 보기 전에 실행되는 `` !`command` `` 라인

562* [Skills가 로드되는 위치 선택하기](/docs/ko/skills#where-skills-live): 모든 Skill 위치, 플러그인 네임스페이싱 및 두 개가 이름을 공유할 때 어느 것이 실행되는지562* [Skills가 로드되는 위치 선택하기](/docs/ko/skills#where-skills-live): 모든 Skill 위치, 플러그인 네임스페이싱 및 두 개가 이름을 공유할 때 어느 것이 실행되는지

563 563 

Details

6366| 속성 | 타입 | 기본값 | 설명 |6366| 속성 | 타입 | 기본값 | 설명 |

6367| :- | :- | :- | :- |6367| :- | :- | :- | :- |

6368| `allowWrite` | `string[]` | `[]` | 쓰기 액세스를 허용할 파일 경로 패턴 |6368| `allowWrite` | `string[]` | `[]` | 쓰기 액세스를 허용할 파일 경로 패턴 |

6369| `denyWrite` | `string[]` | `[]` | 쓰기 액세스를 거부할 파일 경로 패턴 |6369| `denyWrite` | `string[]` | `[]` | 쓰기 액세스를 거부할 파일 경로 패턴입니다. 세션의 작업 디렉터리에 있는 파일에 대한 샌드박스된 쓰기를 차단하려면 해당 파일의 절대 경로를 나열합니다. `.env` 또는 `./.env`를 나열하면 샌드박스된 명령이 세션의 작업 디렉터리에 있는 `.env` 파일에 쓸 수 있습니다 |

6370| `denyRead` | `string[]` | `[]` | 읽기 액세스를 거부할 파일 경로 패턴 |6370| `denyRead` | `string[]` | `[]` | 읽기 액세스를 거부할 파일 경로 패턴 |

6371 6371 

6372<h3 id="permissions-fallback-for-unsandboxed-commands">6372<h3 id="permissions-fallback-for-unsandboxed-commands">

agent-teams.md +4 −4

Details

231 231 

232리더는 종료 요청을 보냅니다. 팀원은 승인하여 우아하게 종료하거나 설명과 함께 거부할 수 있습니다.232리더는 종료 요청을 보냅니다. 팀원은 승인하여 우아하게 종료하거나 설명과 함께 거부할 수 있습니다.

233 233 

234팀의 공유 디렉토리는 세션이 끝날 때 자동으로 정리되므로, 별도의 정리 단계가 없습니다. 어떤 디렉토리가 제거되고 어떤 디렉토리가 재개된 세션을 위해 유지되는지는 [아키텍처](#architecture)를 참조합니다.234팀의 공유 디렉토리는 세션이 끝날 때 자동으로 정리되므로, 별도의 정리 단계가 없습니다. 어떤 디렉토리가 제거되고 어떤 디렉토리가 디스크에 유지되는지는 [아키텍처](#architecture)를 참조합니다.

235 235 

236<h3 id="enforce-quality-gates-with-hooks">236<h3 id="enforce-quality-gates-with-hooks">

237 hooks로 품질 게이트 적용237 hooks로 품질 게이트 적용


278 278 

279팀과 작업은 세션 파생 이름으로 로컬에 저장됩니다. 이름은 `session-` 뒤에 세션 ID의 처음 8자가 붙습니다:279팀과 작업은 세션 파생 이름으로 로컬에 저장됩니다. 이름은 `session-` 뒤에 세션 ID의 처음 8자가 붙습니다:

280 280 

281* **팀 구성**: `~/.claude/teams/{team-name}/config.json`281* **팀 구성**: `~/.claude/teams/{team-name}/config.json`. Claude Code는 세션이 끝날 때 팀 구성 디렉토리를 제거합니다.

282* **작업 목록**: `~/.claude/tasks/{team-name}/`282* **작업 목록**: `~/.claude/tasks/{team-name}/`. 이 디렉토리는 세션이 끝난 후에도 디스크에 남아 있습니다. [Claude Code가 이를 보관하는 기간](/docs/ko/claude-directory#cleaned-up-automatically)을 변경하려면 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)를 설정합니다.

283 283 

284Claude Code는 세션 시작 시 이 둘을 자동으로 생성하고 팀원들이 참여하거나, 유휴 상태가 되거나, 떠날 때 업데이트합니다. 팀 구성 디렉토리는 세션이 끝날 때 제거됩니다. 작업 목록 디렉토리는 로컬에 유지되며 절대 업로드되지 않으므로, 재개된 세션은 작업을 유지합니다. 보존은 세션 트랜스크립트에 대해 이미 제어하는 것과 동일한 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays)에 의해 관리되며, [보존 정리 규칙](/docs/ko/claude-directory#cleaned-up-automatically)을 따릅니다.284Claude Code는 세션 시작 시 이 둘을 자동으로 생성하고 팀원들이 참여하거나, 유휴 상태가 되거나, 떠날 때 업데이트합니다.

285 285 

286팀 구성은 세션 ID 및 tmux 창 ID와 같은 런타임 상태를 보유하므로, 수동으로 편집하거나 사전 작성하지 마십시오: 다음 상태 업데이트에서 변경 사항이 덮어씌워집니다.286팀 구성은 세션 ID 및 tmux 창 ID와 같은 런타임 상태를 보유하므로, 수동으로 편집하거나 사전 작성하지 마십시오: 다음 상태 업데이트에서 변경 사항이 덮어씌워집니다.

287 287 

agent-view.md +1 −1

Details

325 325 

326두 번째 누름은 예를 들어 [백그라운드 서비스가 응답하지 않아](#agent-view-says-the-background-service-did-not-respond) 중지 시도가 실패할 때도 세션을 삭제합니다: 확인은 2초 더 활성 상태로 유지되고, 삭제는 세션의 프로세스를 직접 종료합니다. 삭제하지 않고 확인을 닫으려면 `Esc`를 누릅니다.326두 번째 누름은 예를 들어 [백그라운드 서비스가 응답하지 않아](#agent-view-says-the-background-service-did-not-respond) 중지 시도가 실패할 때도 세션을 삭제합니다: 확인은 2초 더 활성 상태로 유지되고, 삭제는 세션의 프로세스를 직접 종료합니다. 삭제하지 않고 확인을 닫으려면 `Esc`를 누릅니다.

327 327 

328[세션 삭제가 제거하는 것](#what-deleting-a-session-removes)에서 다루는 유지되는 경우를 제외하고, 삭제하면 세션이 목록에서 제거되고, Claude가 생성한 worktree는 삭제 방법과 worktree가 보유한 내용에 따라 제거, 유지 또는 제자리에 남겨집니다. 대화 트랜스크립트는 항상 로컬 머신에 남아 있으며 `claude --resume`을 통해 사용할 수 있습니다.328[세션 삭제가 제거하는 것](#what-deleting-a-session-removes)에서 다루는 유지되는 경우를 제외하고, 삭제하면 세션이 목록에서 제거되고, Claude가 생성한 worktree는 삭제 방법과 worktree가 보유한 내용에 따라 제거, 유지 또는 제자리에 남겨집니다. 대화 트랜스크립트는 로컬 머신에 남아 있으며 `claude --resume`을 통해 사용할 수 있습니다.

329 329 

330Claude Code v2.1.212 이상에서 세션을 다시 가져오려면 디스패치 입력에 `/resume`을 입력합니다. 피커가 열리며 에이전트 뷰를 연 저장소의 과거 세션이 최신순으로 표시되며, 목록에서 삭제한 세션을 포함합니다. 이미 행이 있는 세션은 나열되지 않습니다. `↑`/`↓`는 선택을 이동하고, `Enter`는 선택된 세션을 백그라운드 세션으로 재개하여 목록에 행으로 다시 추가하고, `Esc`는 피커를 닫습니다.330Claude Code v2.1.212 이상에서 세션을 다시 가져오려면 디스패치 입력에 `/resume`을 입력합니다. 피커가 열리며 에이전트 뷰를 연 저장소의 과거 세션이 최신순으로 표시되며, 목록에서 삭제한 세션을 포함합니다. 이미 행이 있는 세션은 나열되지 않습니다. `↑`/`↓`는 선택을 이동하고, `Enter`는 선택된 세션을 백그라운드 세션으로 재개하여 목록에 행으로 다시 추가하고, `Esc`는 피커를 닫습니다.

331 331 

Details

12We're changing auto mode to no longer charge for classifier requests in Claude Code. However, this session isn't eligible.12We're changing auto mode to no longer charge for classifier requests in Claude Code. However, this session isn't eligible.

13```13```

14 14 

15프롬프트에서 Claude Code는 이러한 방식으로 검사할 첫 번째 작업을 답변할 때까지 보류합니다. 아무것도 손상되지 않습니다: 자동 모드는 계속 작동하며, 분류기 요청은 이전과 같이 청구됩니다. 가장 일반적인 원인은 Claude Code와 API 사이의 LLM 게이트웨이 또는 프록시이며, Claude Code가 하나를 식별할 수 있을 때 공지는 이를 명시합니다. **Enter**를 눌러 계속하거나, [세션을 적합하게 만들기](#make-the-session-eligible)를 참조하여 새 세션에서 나타나지 않도록 합니다.15프롬프트에서 Claude Code는 이러한 방식으로 검사할 첫 번째 작업을 답변할 때까지 보류합니다. 자동 모드는 계속 작동하며, 분류기 요청은 이전과 같이 청구됩니다.

16 

17가장 일반적인 원인은 Claude Code와 API 사이의 LLM 게이트웨이 또는 프록시이며, Claude Code가 하나를 식별할 수 있을 때 공지는 이를 명시합니다. **Enter**를 눌러 계속하거나, [세션을 적합하게 만들기](#make-the-session-eligible)를 참조하여 새 세션에서 나타나지 않도록 합니다.

16 18 

17<h2 id="respond-to-the-notice">19<h2 id="respond-to-the-notice">

18 공지에 응답하기20 공지에 응답하기

channels.md +23 −23

Details

45 설치가 실패하면 Claude Code가 보고하는 메시지와 일치시킵니다:45 설치가 실패하면 Claude Code가 보고하는 메시지와 일치시킵니다:

46 46 

47 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 다시 시도합니다.47 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 다시 시도합니다.

48 * 플러그인이 [마켓플레이스에서 찾을 수 없음](/docs/ko/plugins/install#install-a-plugin): 플러그인 이름을 확인합니다.48 * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: 로컬에 있는 마켓플레이스 카탈로그 사본이 오래되었을 수 있습니다. `/plugin marketplace update claude-plugins-official`로 새로 고친 다음 설치를 다시 시도합니다. 재시도 후에도 같은 메시지가 출력되면 [마켓플레이스에서 플러그인을 찾을 수 없음](/docs/ko/plugins/troubleshooting#plugin-not-found-in-marketplace)을 참조하세요.

49 49 

50 설치에서 설치 범위를 요청할 때 사용자 범위 옵션을 선택하여 플러그인이 모든 프로젝트에서 사용 가능하도록 합니다. 설치 요약을 확인합니다. `Run /reload-plugins to apply.`를 보고하면 [플러그인 변경 사항을 다시 시작하지 않고 적용](/docs/ko/plugins/cli-reference#reload-plugins)을 참조하여 플러그인의 구성 명령을 사용 가능하게 합니다.50 설치에서 설치 범위를 요청할 때 사용자 범위 옵션을 선택하여 플러그인이 모든 프로젝트에서 사용 가능하도록 합니다. 설치 요약을 확인합니다. `Run /reload-plugins to apply.`를 보고하면 [플러그인 변경 사항을 다시 시작하지 않고 적용](/docs/ko/plugins/cli-reference#reload-plugins)을 참조하여 플러그인의 구성 명령을 사용 가능하게 합니다.

51 </Step>51 </Step>


123 설치가 실패하면 Claude Code가 보고하는 메시지와 일치시킵니다:123 설치가 실패하면 Claude Code가 보고하는 메시지와 일치시킵니다:

124 124 

125 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 다시 시도합니다.125 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 다시 시도합니다.

126 * 플러그인이 [마켓플레이스에서 찾을 수 없음](/docs/ko/plugins/install#install-a-plugin): 플러그인 이름을 확인합니다.126 * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: 로컬에 있는 마켓플레이스 카탈로그 사본이 오래되었을 수 있습니다. `/plugin marketplace update claude-plugins-official`로 새로 고친 다음 설치를 다시 시도합니다. 재시도 후에도 같은 메시지가 출력되면 [마켓플레이스에서 플러그인을 찾을 수 없음](/docs/ko/plugins/troubleshooting#plugin-not-found-in-marketplace)을 참조하세요.

127 127 

128 설치에서 설치 범위를 요청할 때 사용자 범위 옵션을 선택하여 플러그인이 모든 프로젝트에서 사용 가능하도록 합니다. 설치 요약을 확인합니다. `Run /reload-plugins to apply.`를 보고하면 [플러그인 변경 사항을 다시 시작하지 않고 적용](/docs/ko/plugins/cli-reference#reload-plugins)을 참조하여 플러그인의 구성 명령을 사용 가능하게 합니다.128 설치에서 설치 범위를 요청할 때 사용자 범위 옵션을 선택하여 플러그인이 모든 프로젝트에서 사용 가능하도록 합니다. 설치 요약을 확인합니다. `Run /reload-plugins to apply.`를 보고하면 [플러그인 변경 사항을 다시 시작하지 않고 적용](/docs/ko/plugins/cli-reference#reload-plugins)을 참조하여 플러그인의 구성 명령을 사용 가능하게 합니다.

129 </Step>129 </Step>


188 설치가 실패하면 Claude Code가 보고하는 메시지와 일치시킵니다:188 설치가 실패하면 Claude Code가 보고하는 메시지와 일치시킵니다:

189 189 

190 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 다시 시도합니다.190 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 다시 시도합니다.

191 * 플러그인이 [마켓플레이스에서 찾을 수 없음](/docs/ko/plugins/install#install-a-plugin): 플러그인 이름을 확인합니다.191 * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: 로컬에 있는 마켓플레이스 카탈로그 사본이 오래되었을 수 있습니다. `/plugin marketplace update claude-plugins-official`로 새로 고친 다음 설치를 다시 시도합니다. 재시도 후에도 같은 메시지가 출력되면 [마켓플레이스에서 플러그인을 찾을 수 없음](/docs/ko/plugins/troubleshooting#plugin-not-found-in-marketplace)을 참조하세요.

192 192 

193 설치에서 설치 범위를 요청할 때 사용자 범위 옵션을 선택하여 플러그인이 모든 프로젝트에서 사용 가능하도록 합니다.193 설치에서 설치 범위를 요청할 때 사용자 범위 옵션을 선택하여 플러그인이 모든 프로젝트에서 사용 가능하도록 합니다.

194 194 


226 빠른 시작226 빠른 시작

227</h2>227</h2>

228 228 

229Fakechat은 localhost에서 채팅 UI를 실행하는 공식적으로 지원되는 데모 채널이며 인증할 것도 없고 구성할 외부 서비스도 없습니다.229Fakechat은 공식적으로 지원되는 데모 채널로, localhost에서 채팅 UI를 실행하며 인증할 항목이나 구성할 외부 서비스가 없습니다.

230 230 

231fakechat을 설치하고 활성화한 후 브라우저에서 입력하면 메시지가 Claude Code 세션에 도착합니다. Claude가 회신하면 회신이 브라우저로 돌아옵니다. fakechat 인터페이스를 테스트한 후 [Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram), [Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord) 또는 [iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage)를 시도해 보세요.231fakechat을 설치하고 활성화하면 브라우저에 입력한 메시지가 Claude Code 세션에 도착합니다. Claude가 응답하면 그 응답이 다시 브라우저에 표시됩니다. fakechat 인터페이스를 테스트한 후에는 [Telegram](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram), [Discord](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord) 또는 [iMessage](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage)를 사용해 보십시오.

232 232 

233fakechat 데모를 시도하려면 다음이 필요합니다:233fakechat 데모를 사용해 보려면 다음이 필요합니다.

234 234 

235* Claude Code [설치 및 인증](/docs/ko/quickstart#step-1-install-claude-code): claude.ai 계정 또는 Claude Console API 키 사용235* claude.ai 계정 또는 Claude Console API 키로 [설치 및 인증](/docs/ko/quickstart#step-1-install-claude-code)된 Claude Code

236* [Bun](https://bun.sh) 설치됨. 사전 구축된 채널 플러그인은 Bun 스크립트입니다. `bun --version`으로 확인하세요. 실패하면 [Bun 설치](https://bun.sh/docs/installation)하세요.236* [Bun](https://bun.sh) 설치. 사전 빌드된 채널 플러그인은 Bun 스크립트입니다. `bun --version`으로 확인하고, 실패하면 [Bun을 설치](https://bun.sh/docs/installation)하십시오.

237* **Team, Enterprise 또는 관리 Console 조직**: 조직 관리자가 관리 설정에서 [채널을 활성화](#enterprise-controls)해야 합니다.237* **Team, Enterprise 또는 관리형 Console 조직**: 관리자가 관리형 설정에서 [채널을 활성화](#enterprise-controls)해야 합니다

238 238 

239<Steps>239<Steps>

240 <Step title="fakechat 채널 플러그인 설치">240 <Step title="fakechat 채널 플러그인 설치">

241 터미널에서 `claude`를 실행하여 Claude Code를 시작한 다음 프롬프트에 설치 명령을 입력합니다:241 터미널에서 `claude`를 실행하여 Claude Code를 시작한 다음, 프롬프트에 설치 명령을 입력합니다.

242 242 

243 ```text theme={null}243 ```text theme={null}

244 /plugin install fakechat@claude-plugins-official244 /plugin install fakechat@claude-plugins-official

245 ```245 ```

246 246 

247 설치가 실패하면 Claude Code가 보고하는 메시지와 일치시킵니다:247 설치에 실패하면 Claude Code가 보고하는 메시지에 맞게 조치합니다.

248 248 

249 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 다시 시도합니다.249 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 재시도합니다.

250 * 플러그인이 [마켓플레이스에서 찾을 수 없음](/docs/ko/plugins/install#install-a-plugin): 플러그인 이름을 확인합니다.250 * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: 마켓플레이스 카탈로그의 로컬 사본이 오래되었을 수 있습니다. `/plugin marketplace update claude-plugins-official`로 새로 고친 다음 설치를 재시도합니다. 재시도 후에도 같은 메시지가 출력되면 [Plugin not found in marketplace](/docs/ko/plugins/troubleshooting#plugin-not-found-in-marketplace)를 참조하십시오.

251 251 

252 설치에서 설치 범위를 요청할 때 사용자 범위 옵션을 선택하여 플러그인이 모든 프로젝트에서 사용 가능하도록 합니다.252 설치 과정에서 설치 범위를 묻는 경우, 모든 프로젝트에서 플러그인을 사용할 수 있도록 사용자 범위 옵션을 선택합니다.

253 253 

254 설치 요약에서 `Run /reload-plugins to apply.`를 보고하면 다음 단계에서 다시 시작할 때 플러그인을 선택하므로 여기서는 조치할 필요가 없습니다.254 설치 요약에 `Run /reload-plugins to apply.`가 표시되더라도 여기서는 조치할 필요가 없습니다. 다음 단계에서 재시작하면 플러그인이 로드되기 때문입니다.

255 </Step>255 </Step>

256 256 

257 <Step title="채널이 활성화된 상태로 다시 시작">257 <Step title="채널을 활성화하여 재시작">

258 Claude Code를 종료한 다음 `--channels`로 다시 시작하고 설치한 fakechat 플러그인을 전달합니다:258 Claude Code를 종료한 다음, `--channels`와 함께 설치한 fakechat 플러그인을 전달하여 재시작합니다.

259 259 

260 ```bash theme={null}260 ```bash theme={null}

261 claude --channels plugin:fakechat@claude-plugins-official261 claude --channels plugin:fakechat@claude-plugins-official

262 ```262 ```

263 263 

264 fakechat 서버가 자동으로 시작됩니다. 시작 화면에는 `plugin:fakechat@claude-plugins-official`의 메시지가 이 세션에 직접 주입된다는 채널 공지가 표시됩니다. 플러그인이 설치되지 않았거나 승인된 허용 목록에 없으면 문제를 명시하는 경고 줄이 해당 공지 아래에 나타납니다.264 fakechat 서버가 자동으로 시작됩니다. 시작 화면에는 `plugin:fakechat@claude-plugins-official`의 메시지가 이 세션에 직접 주입된다는 채널 안내가 표시됩니다. 플러그인이 설치되지 않았거나 승인된 허용 목록에 없으면, 해당 안내 아래에 문제를 명시한 경고 줄이 나타납니다.

265 265 

266 <Tip>266 <Tip>

267 `--channels`에 여러 플러그인을 공백으로 구분하여 전달할 수 있습니다.267 `--channels`에 여러 플러그인을 공백으로 구분하여 전달할 수 있습니다.

268 </Tip>268 </Tip>

269 </Step>269 </Step>

270 270 

271 <Step title="메시지 푸시">271 <Step title="메시지 보내기">

272 [http://localhost:8787](http://localhost:8787)에서 fakechat UI를 열고 메시지를 입력합니다:272 [http://localhost:8787](http://localhost:8787)에서 fakechat UI를 열고 메시지를 입력합니다.

273 273 

274 ```text theme={null}274 ```text theme={null}

275 what's in my working directory?275 what's in my working directory?

276 ```276 ```

277 277 

278 메시지가 Claude Code 세션에 도착합니다. 터미널에는 `← fakechat · web: what's in my working directory?`와 같은 인바운드 채널 줄로 표시되며, 모델은 플러그인의 범위가 지정된 서버 이름을 사용하여 `<channel source="plugin:fakechat:fakechat">` 이벤트로 수신합니다. Claude가 읽고 작업을 수행한 다음 fakechat의 `reply` 도구를 호출합니다. Claude Code가 첫 번째 회신에 대한 권한을 요청하면 승인합니다. 답변이 채팅 UI에 나타납니다.278 메시지가 Claude Code 세션에 도착합니다. 터미널에는 `← fakechat · web: what's in my working directory?`와 같은 수신 채널 줄로 표시되며, 모델은 플러그인의 범위가 지정된 서버 이름을 사용하는 `<channel source="plugin:fakechat:fakechat">` 이벤트로 이를 수신합니다. Claude는 메시지를 읽고 작업을 수행한 뒤 fakechat의 `reply` 도구를 호출합니다. Claude Code가 첫 번째 응답에 대한 권한을 요청하면 승인하십시오. 답변이 채팅 UI에 표시됩니다.

279 </Step>279 </Step>

280</Steps>280</Steps>

281 281 

282Claude가 터미널에서 멀리 있을 때 권한 프롬프트에 도달하면 세션이 응답할 때까지 일시 중지됩니다. [권한 릴레이 기능](/docs/ko/channels-reference#relay-permission-prompts)을 선언하는 채널 서버는 이러한 프롬프트를 사용자에게 전달하여 원격으로 승인하거나 거부할 수 있습니다. 무인 사용의 경우 [`--dangerously-skip-permissions`](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)는 대부분의 프롬프트를 우회하지만 신뢰하는 환경에서만 사용하세요. 그렇더라도 [actions no 모드 자동 승인](/docs/ko/permission-modes#actions-no-mode-auto-approves)은 여전히 적용됩니다.282사용자가 터미널을 비운 사이 Claude가 권한 프롬프트를 만나면, 사용자가 응답할 때까지 세션이 일시 중지됩니다. [권한 릴레이 기능](/docs/ko/channels-reference#relay-permission-prompts)을 선언한 채널 서버는 이러한 프롬프트를 사용자에게 전달하여 원격으로 승인하거나 거부할 수 있게 합니다. 무인 사용의 경우 [`--dangerously-skip-permissions`](/docs/ko/permission-modes#skip-all-checks-with-bypasspermissions-mode)를 사용하면 대부분의 프롬프트를 건너뛸 수 있지만, 신뢰할 수 있는 환경에서만 사용하십시오. 그렇더라도 [어떤 모드에서도 자동 승인되지 않는 작업](/docs/ko/permission-modes#actions-no-mode-auto-approves)은 여전히 적용됩니다.

283 283 

284비대화형 모드에서 `-p`로 채널을 실행할 때 여러 선택지 질문 및 계획 모드 승인과 같이 터미널 입력이 필요한 도구는 비활성화되므로 세션이 입력을 기다리며 멈추지 않습니다.284`-p`를 사용하여 비대화형 모드로 채널을 실행하면, 객관식 질문이나 플랜 모드 승인처럼 터미널 입력이 필요한 도구는 비활성화되므로 세션이 입력을 기다리며 멈추는 일이 없습니다.

285 285 

286<h2 id="security">286<h2 id="security">

287 보안287 보안

Details

290 note: commandsNote,290 note: commandsNote,

291 when: <>User types <C>/command-name</C></>,291 when: <>User types <C>/command-name</C></>,

292 description: <>A file at <C>commands/deploy.md</C> creates <C>/deploy</C> the same way a skill at <C>skills/deploy/SKILL.md</C> does, and both can be auto-invoked by Claude. Skills use a directory with SKILL.md, letting you bundle reference docs, templates, or scripts alongside the prompt.</>,292 description: <>A file at <C>commands/deploy.md</C> creates <C>/deploy</C> the same way a skill at <C>skills/deploy/SKILL.md</C> does, and both can be auto-invoked by Claude. Skills use a directory with SKILL.md, letting you bundle reference docs, templates, or scripts alongside the prompt.</>,

293 tips: [<>Use <C>$ARGUMENTS</C> in the file to accept parameters: <C>/fix-issue 123</C></>, 'If a skill and command share a name, the skill takes precedence', 'New commands should usually be skills instead; commands remain supported'],293 tips: [<>Use <C>$ARGUMENTS</C> in the file to accept parameters: <C>/fix-issue 123</C></>, 'If a skill and command share a name, the skill takes precedence', 'New commands should usually be skills instead; command files still work'],

294 docsLink: '/en/skills',294 docsLink: '/en/skills',

295 children: [{295 children: [{

296 id: 'cmd-example',296 id: 'cmd-example',

Details

48 48 

49명령은 플러그인의 세부 정보를 열며, 여기서 [설치 범위](/docs/ko/plugins/install#install-a-plugin)를 선택하여 설치를 시작합니다.49명령은 플러그인의 세부 정보를 열며, 여기서 [설치 범위](/docs/ko/plugins/install#install-a-plugin)를 선택하여 설치를 시작합니다.

50 50 

51설치가 실패하면 Claude Code가 보고하는 메시지에 따라 수정 방법이 달라집니다:51설치가 실패하면 Claude Code가 보고하는 메시지에 맞는 방법을 따르세요:

52 52 

53* `Marketplace "claude-plugins-official" not found`를 보고하면 `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 후 설치를 다시 시도하세요.53* `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 후 설치를 다시 시도하세요.

54* [마켓플레이스에서 플러그인을 찾을 수 없다](/docs/ko/plugins/install#install-a-plugin)고 보고하면 플러그인 이름에 오타가 없는지 확인하세요.54* `Plugin "claude-security" not found in marketplace "claude-plugins-official"`: 로컬에 있는 마켓플레이스 카탈로그 사본이 오래되었을 수 있습니다. `/plugin marketplace update claude-plugins-official`로 카탈로그를 새로 고친 후 설치를 다시 시도하세요. 재시도 시에도 같은 메시지가 출력되면 [Plugin not found in marketplace](/docs/ko/plugins/troubleshooting#plugin-not-found-in-marketplace)를 참조하세요.

55 55 

56설치 요약을 확인하세요. `Run /reload-plugins to apply.`를 보고하면 [재시작 없이 플러그인 변경 사항 적용](/docs/ko/plugins/cli-reference#reload-plugins)을 참조하여 현재 세션에서 플러그인을 활성화하세요.56설치 요약을 확인하세요. `Run /reload-plugins to apply.`를 보고하면 [재시작 없이 플러그인 변경 사항 적용](/docs/ko/plugins/cli-reference#reload-plugins)을 참조하여 현재 세션에서 플러그인을 활성화하세요.

57 57 

Details

118effort 수준과 플래그 뒤에서 Claude Code는 줄의 나머지 부분을 리뷰 대상으로 읽습니다. `ultra` 인수는 이 해석 방식을 변경합니다.118effort 수준과 플래그 뒤에서 Claude Code는 줄의 나머지 부분을 리뷰 대상으로 읽습니다. `ultra` 인수는 이 해석 방식을 변경합니다.

119 119 

120* **`ultra` 사용 시**: Claude Code는 단일 단어를 기본 브랜치 또는 PR 번호로 읽습니다. 브랜치나 PR을 지정하지 않는 더 긴 텍스트는 [리뷰에 첨부되는 메모](/docs/ko/ultrareview#pass-a-request-in-plain-words)가 됩니다. `/code-review ultra check my auth changes`는 현재 브랜치를 리뷰하며, Claude는 발견 사항을 메모와 연관 지어 설명합니다.120* **`ultra` 사용 시**: Claude Code는 단일 단어를 기본 브랜치 또는 PR 번호로 읽습니다. 브랜치나 PR을 지정하지 않는 더 긴 텍스트는 [리뷰에 첨부되는 메모](/docs/ko/ultrareview#pass-a-request-in-plain-words)가 됩니다. `/code-review ultra check my auth changes`는 현재 브랜치를 리뷰하며, Claude는 발견 사항을 메모와 연관 지어 설명합니다.

121* **`ultra` 미사용 시**: 남은 모든 내용은 다른 명령 이름으로 시작하더라도 리뷰 대상이 됩니다. `/code-review /fix-issue 123`은 `/fix-issue`를 두 번째 [스택 스킬](/docs/ko/skills#pass-arguments-to-skills)로 로드하는 대신 `/fix-issue 123`을 대상 텍스트로 하여 리뷰합니다. v2.1.218 이전에는 `/code-review` 뒤에 스택된 명령이 자체 스킬로 확장되었습니다.121* **`ultra` 미사용 시**: 남은 모든 내용은 다른 명령 이름으로 시작하더라도 리뷰 대상이 됩니다. `/code-review /fix-issue 123`은 `/fix-issue`를 두 번째 [스택 스킬](/docs/ko/skills#stack-several-skills-in-one-message)로 로드하는 대신 `/fix-issue 123`을 대상 텍스트로 하여 리뷰합니다. v2.1.218 이전에는 `/code-review` 뒤에 스택된 명령이 자체 스킬로 확장되었습니다.

122 122 

123<h2 id="run-in-the-foreground">123<h2 id="run-in-the-foreground">

124 포그라운드에서 실행124 포그라운드에서 실행

commands.md +1 −1

Details

10 10 

11`/`를 입력하면 사용 가능한 명령을 볼 수 있으며, `/` 뒤에 글자를 입력하면 목록을 필터링할 수 있습니다. [명령 메뉴가 입력 내용과 일치하는 항목을 찾는 방식](#how-the-command-menu-matches-what-you-type)에서는 강조 표시, 오타 처리, 그리고 Claude Code가 전체 이름을 입력하기 전까지 메뉴에서 숨기는 몇 가지 명령에 대해 설명합니다.11`/`를 입력하면 사용 가능한 명령을 볼 수 있으며, `/` 뒤에 글자를 입력하면 목록을 필터링할 수 있습니다. [명령 메뉴가 입력 내용과 일치하는 항목을 찾는 방식](#how-the-command-menu-matches-what-you-type)에서는 강조 표시, 오타 처리, 그리고 Claude Code가 전체 이름을 입력하기 전까지 메뉴에서 숨기는 몇 가지 명령에 대해 설명합니다.

12 12 

13명령은 메시지의 시작 부분에 있을 때만 인식됩니다. 명령 이름 뒤에 오는 텍스트는 해당 명령의 인수가 됩니다. [스킬](/docs/ko/skills#pass-arguments-to-skills)은 예외입니다. `/skill-a /skill-b do XYZ`처럼 스킬 호출 뒤에 다른 스킬이 이어지면, 시작 부분에 지정된 스킬을 로드하고 뒤따르는 텍스트를 각 스킬에 인수로 전달합니다. 최대 6개의 스킬을 연결할 수 있습니다.13명령은 메시지의 시작 부분에 있을 때만 인식됩니다. 명령 이름 뒤에 오는 텍스트는 해당 명령의 인수가 됩니다. 터미널 프롬프트에서는 하나의 메시지를 여러 [스킬](/docs/ko/skills#stack-several-skills-in-one-message)로 시작할 수 있습니다. `/skill-a /skill-b do XYZ`를 입력하면 두 스킬을 모두 로드하고 뒤따르는 텍스트를 각 스킬에 인수로 전달합니다. 최대 6개의 스킬을 연결할 수 있습니다.

14 14 

15Claude가 응답하는 중에 명령을 보내면 Claude Code는 해당 명령을 대기열에 추가하고 현재 턴이 끝난 후 실행합니다. `/status`, `/tasks`, `/usage`와 같은 일부 명령은 응답을 중단하지 않고 즉시 실행됩니다. [전체 화면 렌더링](/docs/ko/fullscreen)에서는 `/theme`, `/help`와 같은 대화 상자 명령도 즉시 열립니다. v2.1.234 이전에는 Claude Code가 이러한 대화 상자를 턴이 끝날 때까지 대기열에 보관했습니다.15Claude가 응답하는 중에 명령을 보내면 Claude Code는 해당 명령을 대기열에 추가하고 현재 턴이 끝난 후 실행합니다. `/status`, `/tasks`, `/usage`와 같은 일부 명령은 응답을 중단하지 않고 즉시 실행됩니다. [전체 화면 렌더링](/docs/ko/fullscreen)에서는 `/theme`, `/help`와 같은 대화 상자 명령도 즉시 열립니다. v2.1.234 이전에는 Claude Code가 이러한 대화 상자를 턴이 끝날 때까지 대기열에 보관했습니다.

16 16 

desktop.md +10 −9

Details

1137</Warning>1137</Warning>

1138 1138 

1139* **절전 또는 네트워크 끊김 후**: 프로세스가 [여전히 실행 중](#limits-while-desktop-is-disconnected)이고 Desktop이 프롬프트 없이 로그인할 수 있으면 실행 중인 작업을 되찾을 수 있습니다. 그렇지 않으면 [메시지를 보내세요](#reconnect-after-sleep-or-a-network-loss).1139* **절전 또는 네트워크 끊김 후**: 프로세스가 [여전히 실행 중](#limits-while-desktop-is-disconnected)이고 Desktop이 프롬프트 없이 로그인할 수 있으면 실행 중인 작업을 되찾을 수 있습니다. 그렇지 않으면 [메시지를 보내세요](#reconnect-after-sleep-or-a-network-loss).

1140* **종료 후, macOS 또는 Linux의 Desktop과 Claude 계정을 사용하는 경우**: Desktop이 [프로세스에 다시 합류](#reopen-a-session-after-you-quit-desktop)할 수 있으면 실행 중인 작업을 되찾을 수 있습니다. 그렇지 않으면 작업이 중지됩니다. 계속 중지된 상태라면 메시지를 보내세요.1140* **종료 후**: 작업은 계속 실행되지만, Desktop이 해당 프로세스에 다시 연결할 수 없으면 세션이 다시 열릴 때 작업을 잃습니다. 종료하기 전에 [Desktop이 다시 연결할 수 있는 경우](#reopen-a-session-after-you-quit-desktop)를 확인합니다. 작업을 잃었다면 메시지를 보내 계속합니다.

1141* **종료 후, Windows의 Desktop 또는 [타사 제공업체](/docs/ko/third-party-integrations)를 사용하는 경우**: 세션이 열릴 때 Desktop이 프로세스를 종료하므로 실행 중인 작업을 잃게 됩니다. 계속하려면 메시지를 보내세요.

1142 1141 

1143돌아왔을 때 작업이 완료되지 않았다면 Desktop이 다시 연결할 수 없다는 안내, 인증 오류 또는 대기 중인 요청이 있는지 확인하세요:1142돌아왔을 때 작업이 완료되지 않았다면 Desktop이 다시 연결할 수 없다는 안내, 인증 오류 또는 대기 중인 요청이 있는지 확인하세요:

1144 1143 


1154</h5>1153</h5>

1155 1154 

1156* **먼저 업데이트**: 긴 작업을 시작하기 전에 Desktop을 업데이트하세요. macOS와 Windows에서 Desktop은 다운로드한 업데이트를 설치하기 위해 자동으로 재시작할 수 있습니다. 이 재시작은 Claude가 SSH 작업을 수행하는 동안 대기합니다. Claude 계정을 사용하는 macOS에서는 기본적으로 업데이트가 72시간 동안 대기한 후에는 재시작이 그대로 진행될 수 있습니다.1155* **먼저 업데이트**: 긴 작업을 시작하기 전에 Desktop을 업데이트하세요. macOS와 Windows에서 Desktop은 다운로드한 업데이트를 설치하기 위해 자동으로 재시작할 수 있습니다. 이 재시작은 Claude가 SSH 작업을 수행하는 동안 대기합니다. Claude 계정을 사용하는 macOS에서는 기본적으로 업데이트가 72시간 동안 대기한 후에는 재시작이 그대로 진행될 수 있습니다.

1157* **Desktop을 종료하지 않기**: Desktop이 Windows에서 실행되거나 타사 제공업체를 사용하는 경우 긴 작업이 실행되는 동안 열어 두세요. 종료한 후에는 세션이 열릴 때 Desktop이 [실행 중인 작업을 종료](#reopen-a-session-after-you-quit-desktop)합니다. 열어 두더라도 [사용자를 기다리는](#handle-requests-that-arrive-while-you-are-away) 요청은 보호되지 않습니다.1156* **Windows에서, 또는 서드파티 제공업체로 v2.42304.0 이전 버전을 사용하는 경우 종료하지 않기**: 이 경우 종료하면 실행 중인 작업을 잃으므로, 작업 중에는 Desktop을 열어 둡니다. 그 외의 경우에는 종료하기 전에 [다시 가져올 수 있는 것](#reopen-a-session-after-you-quit-desktop)을 확인합니다.

1158* **요청 줄이기**: [작업이 사용자를 기다리는 빈도를 줄이는](#handle-requests-that-arrive-while-you-are-away) 권한 모드, 규칙 또는 훅을 선택하세요1157* **요청 줄이기**: [작업이 사용자를 기다리는 빈도를 줄이는](#handle-requests-that-arrive-while-you-are-away) 권한 모드, 규칙 또는 훅을 선택하세요

1159* **점프 호스트 확인**: 점프 호스트가 휴대폰 푸시와 같은 로그인을 요구하는 경우 프롬프트 없이 작동하는 로그인으로 전환하세요. 그렇지 않으면 Desktop이 다시 연결을 시도할 때마다 푸시를 다시 보낼 수 있습니다.1158* **점프 호스트 확인**: 점프 호스트가 휴대폰 푸시와 같은 로그인을 요구하는 경우 프롬프트 없이 작동하는 로그인으로 전환하세요. 그렇지 않으면 Desktop이 다시 연결을 시도할 때마다 푸시를 다시 보낼 수 있습니다.

1160* **원격 머신 테스트**: 짧은 작업을 시작하고, 작업이 아직 실행 중일 때 Desktop을 종료한 다음, 작업이 완료되었어야 할 시점이 충분히 지난 후 세션을 다시 엽니다. 작업이 완료되지 않았고 세션에 인증 오류가 표시되지 않으면 원격 머신에서 [작업을 종료시킬 수 있는 요인](#limits-while-desktop-is-disconnected)을 확인하세요.1159* **원격 머신 테스트**: 짧은 작업을 시작하고, 작업이 아직 실행 중일 때 Desktop을 종료한 다음, 작업이 완료되었어야 할 시점이 충분히 지난 후 세션을 다시 엽니다. 작업이 완료되지 않았고 세션에 인증 오류가 표시되지 않으면 원격 머신에서 [작업을 종료시킬 수 있는 요인](#limits-while-desktop-is-disconnected)을 확인하세요.


1206 1205 

1207Desktop 연결이 끊긴 동안 Claude가 승인을 필요로 하거나 질문을 하면 Claude는 원격 머신에서 대기합니다. 대기 자체에는 시간 제한이 없습니다. Desktop이 프로세스에 다시 합류하면 요청을 표시합니다. 대신 Desktop이 새 프로세스를 시작하면 요청을 잃게 됩니다.1206Desktop 연결이 끊긴 동안 Claude가 승인을 필요로 하거나 질문을 하면 Claude는 원격 머신에서 대기합니다. 대기 자체에는 시간 제한이 없습니다. Desktop이 프로세스에 다시 합류하면 요청을 표시합니다. 대신 Desktop이 새 프로세스를 시작하면 요청을 잃게 됩니다.

1208 1207 

1209작업이 사용자를 기다리는 동안 Desktop은 업데이트 설치 등을 위해 자동으로 재시작할 수 있습니다. Desktop이 Windows에서 실행되거나 타사 제공업체를 사용하는 경우 재시작 후 요청을 잃게 됩니다.1208돌아왔을 때 대기 중이던 요청이 사라졌다면, 한 가지 원인은 업데이트 설치 등을 위해 Desktop이 자동으로 다시 시작된 것입니다. 재시작 후에도 요청이 유지되는 것은 Desktop이 프로세스에 다시 연결할 수 있는 경우뿐이므로, 작업을 실행 상태로 두기 전에 [Desktop이 다시 연결할 수 있는 경우](#reopen-a-session-after-you-quit-desktop)를 확인합니다.

1210 1209 

1211요청을 잃은 경우 메시지를 보내 계속하세요.1210요청을 잃은 경우 메시지를 보내 계속하세요.

1212 1211 


1238 - **점프 호스트, 푸시가 계속 옴**: Windows의 Desktop처럼 아무도 응답하지 않는다는 것을 Desktop이 알 수 없는 경우, 다시 합류할 프로세스가 있는 동안에는 해당 프로세스가 여전히 실행 중인지와 관계없이 계속 시도합니다. 시도할 때마다 푸시를 다시 받을 수 있습니다. 시도를 끝내려면 Desktop을 종료하세요. 단, 이로 인해 [실행 중인 작업을 잃을 수 있습니다](#reopen-a-session-after-you-quit-desktop).1237 - **점프 호스트, 푸시가 계속 옴**: Windows의 Desktop처럼 아무도 응답하지 않는다는 것을 Desktop이 알 수 없는 경우, 다시 합류할 프로세스가 있는 동안에는 해당 프로세스가 여전히 실행 중인지와 관계없이 계속 시도합니다. 시도할 때마다 푸시를 다시 받을 수 있습니다. 시도를 끝내려면 Desktop을 종료하세요. 단, 이로 인해 [실행 중인 작업을 잃을 수 있습니다](#reopen-a-session-after-you-quit-desktop).

1239 - **긴 중단**: Desktop은 약 5분마다 한 번 시도하도록 속도를 늦춥니다. 더 빨리 다시 연결하려면 세션에서 재시도하거나 메시지를 보내세요. 메시지는 Desktop이 연결되면 전달됩니다.1238 - **긴 중단**: Desktop은 약 5분마다 한 번 시도하도록 속도를 늦춥니다. 더 빨리 다시 연결하려면 세션에서 재시도하거나 메시지를 보내세요. 메시지는 Desktop이 연결되면 전달됩니다.

1240 - **누락된 출력**: Desktop 연결이 끊긴 동안 도우미는 각 세션의 가장 최근 Claude Code 출력을 16 MiB 버퍼에 보관하고 오래된 출력은 삭제합니다. Desktop이 다시 연결된 후 세션에 `Loading recent output from <host>…`가 표시될 수 있습니다. Desktop이 모든 출력을 불러올 수 없으면 `Some output produced while you were disconnected may be missing here.` 행이 표시됩니다. 이 행은 작업이 중지되었다는 의미가 아닙니다.1239 - **누락된 출력**: Desktop 연결이 끊긴 동안 도우미는 각 세션의 가장 최근 Claude Code 출력을 16 MiB 버퍼에 보관하고 오래된 출력은 삭제합니다. Desktop이 다시 연결된 후 세션에 `Loading recent output from <host>…`가 표시될 수 있습니다. Desktop이 모든 출력을 불러올 수 없으면 `Some output produced while you were disconnected may be missing here.` 행이 표시됩니다. 이 행은 작업이 중지되었다는 의미가 아닙니다.

1241 - **사라진 프로세스**: Desktop이 다시 연결될 때 프로세스가 사라졌다면, Desktop은 대화의 저장된 기록에서 새 프로세스를 시작하고 Claude에게 작업을 계속하도록 지시할 수 있습니다. 프로세스가 계속 종료되거나 Desktop이 타사 제공업체를 사용하는 경우 Desktop은 작업을 자동으로 계속하지 않습니다. 메시지를 보내 계속하세요.1240 - **프로세스 사라짐**: 원격 머신이 다시 시작되는 경우처럼 Desktop 연결이 끊긴 동안 프로세스가 끝난 것입니다. 그러면 Desktop은 대화의 저장된 기록에서 새 프로세스를 시작하고 Claude에게 작업을 계속하도록 지시할 수 있습니다. 작업이 계속 중지된 상태이면 메시지를 보냅니다. 서드파티 제공업체를 사용하는 경우 Claude Desktop v2.42304.0 이상으로 업데이트합니다. 이전 버전은 작업을 자동으로 계속하지 않기 때문입니다.

1242</Accordion>1241</Accordion>

1243 1242 

1244<a id="reopen-a-session-after-you-quit-desktop" />1243<a id="reopen-a-session-after-you-quit-desktop" />


1247 Desktop 종료 후 세션 다시 열기1246 Desktop 종료 후 세션 다시 열기

1248</h5>1247</h5>

1249 1248 

1250Desktop을 종료한 후에도 작업은 완료되거나, 사용자의 입력이 필요하거나, [제한](#limits-while-desktop-is-disconnected) 중 하나에 도달할 때까지 원격 머신에서 계속 실행됩니다.1249Desktop을 종료한 후에도 작업은 원격 머신에서 계속 실행되지만, Desktop이 해당 프로세스에 다시 연결할 수 없으면 세션이 다시 열릴 때 중지됩니다. Desktop이 닫혀 있는 동안 작업은 완료되거나, 사용자의 응답이 필요하거나, [제한](#limits-while-desktop-is-disconnected) 중 하나에 도달할 때까지 실행됩니다.

1251 1250 

1252* **macOS 또는 Linux의 Desktop, Claude 계정 사용**: Desktop을 시작하고 세션을 엽니다. Desktop이 프로세스에 다시 합류할 수 있으면 실행 중인 작업을 되찾을 수 있습니다. 예를 들어 일부 Desktop 업데이트 후나 조직이 관리형 설정을 변경한 후에는 항상 다시 합류할 수 있는 것은 아닙니다.1251* **Windows의 Desktop**: Desktop은 종료 후 다시 연결하지 않으므로 실행 중인 작업을 다시 가져올 수 없습니다. Desktop이 시작될 때 세션이 열릴 수 있으므로, 작업이 완료되었을 것으로 예상될 때만 Desktop을 다시 시작합니다.

1253* **macOS 또는 Linux에서 Desktop이 다시 합류할 수 없는 경우**: Desktop은 프로세스를 종료하고 대화의 저장된 기록에서 새 프로세스를 시작합니다. 실행 중인 작업은 중지되고, 대기 중이던 승인이나 질문도 잃게 됩니다. 업데이트 후에는 Desktop이 Claude에게 계속하도록 지시할 수 있습니다. 작업이 계속 중지된 상태라면 메시지를 보내세요.1252* **서드파티 제공업체, 이전 버전에서 시작한 작업**: v2.42304.0 이전 Desktop 버전에서 작업을 시작한 경우 macOS나 Linux에서도 작업을 다시 가져올 수 없습니다. 작업이 완료되었을 것으로 예상될 때만 Desktop을 다시 시작합니다.

1254* **Windows의 Desktop, 또는 모든 플랫폼에서 타사 제공업체 사용**: 작업이 완료되었을 것으로 예상될 때만 Desktop을 다시 시작하세요. Desktop은 종료 후 절대 다시 합류하지 않으므로 실행 중인 작업을 되찾을 수 없습니다. 세션이 열릴 때 프로세스를 종료하며, 이는 Desktop이 시작될 때 발생할 수 있습니다. 메시지를 보내 계속하세요.1253* **그 외 작업, macOS 또는 Linux의 Desktop**: Desktop을 시작하고 세션을 열면, Desktop이 다시 연결되는 경우 작업이 계속됩니다. 일부 Desktop 업데이트 후처럼 항상 다시 연결할 수 있는 것은 아니므로 [긴 작업 전에 업데이트](#prepare-a-long-task)합니다.

1254 

1255Desktop이 다시 연결할 수 없으면 대기 중이던 승인이나 질문도 잃습니다. 작업이 자동으로 계속되지 않으면 메시지를 보내세요. 그러면 Claude가 대화의 저장된 기록에서 이어서 진행합니다.

1255 1256 

1256타사 배포의 경우 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)를 참조하세요.1257타사 배포의 경우 [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions)를 참조하세요.

1257 1258 

Details

186 | - | - | - |186 | - | - | - |

187 | **실행** | 셸 명령, HTTP 요청, MCP 도구 호출, LLM 프롬프트 또는 subagent | Claude가 읽고 따르는 지침 |187 | **실행** | 셸 명령, HTTP 요청, MCP 도구 호출, LLM 프롬프트 또는 subagent | Claude가 읽고 따르는 지침 |

188 | **트리거** | [라이프사이클 이벤트](/docs/ko/hooks#hook-events) 예: `PostToolUse` 또는 `SessionStart` | `/<name>`을 입력하거나, Claude가 설명을 작업과 일치시킬 때 |188 | **트리거** | [라이프사이클 이벤트](/docs/ko/hooks#hook-events) 예: `PostToolUse` 또는 `SessionStart` | `/<name>`을 입력하거나, Claude가 설명을 작업과 일치시킬 때 |

189 | **결정론** | 항상 이벤트에서 실행됩니다. 트리거가 보장됩니다 | Claude가 지침을 해석합니다. 결과는 다를 수 있습니다 |189 | **결정론** | Claude의 판단 없이 해당 이벤트에서 실행됩니다 | Claude가 지침을 해석합니다. 결과는 다를 수 있습니다 |

190 | **컨텍스트 비용** | Hook이 출력을 반환하지 않으면 0 | 설명은 매 세션마다 로드됩니다. 전체 콘텐츠는 사용할 때 로드됩니다 |190 | **컨텍스트 비용** | Hook이 출력을 반환하지 않으면 0 | 설명은 매 세션마다 로드됩니다. 전체 콘텐츠는 사용할 때 로드됩니다 |

191 | **최적 용도** | 편집 후 린팅, 안전하지 않은 명령 차단, 로깅, 알림 | 추론이 필요한 워크플로우, 참고 자료, 다단계 작업 |191 | **최적 용도** | 편집 후 린팅, 안전하지 않은 명령 차단, 로깅, 알림 | 추론이 필요한 워크플로우, 참고 자료, 다단계 작업 |

192 192 

hooks.md +1 −1

Details

1832 1832 

1833[PreToolUse 결정 제어](#pretooluse-decision-control)를 사용해 도구 호출을 허용, 거부, 확인 요청 또는 지연할 수 있습니다.1833[PreToolUse 결정 제어](#pretooluse-decision-control)를 사용해 도구 호출을 허용, 거부, 확인 요청 또는 지연할 수 있습니다.

1834 1834 

1835`PreToolUse`의 [Agent SDK 콜백 훅](/docs/ko/agent-sdk/hooks)이 타임아웃을 초과하면 도구 호출이 차단되고, Claude는 타임아웃을 명시한 오류 결과를 받습니다. 다른 훅이 반환한 명시적 거부는 여전히 우선합니다.1835`PreToolUse`의 [Agent SDK 콜백 훅](/docs/ko/agent-sdk/hooks)이 타임아웃을 초과하면 도구 호출을 차단하며, Claude는 타임아웃을 명시한 오류 결과를 받습니다.

1836 1836 

1837<h4 id="pretooluse-input">1837<h4 id="pretooluse-input">

1838 PreToolUse 입력1838 PreToolUse 입력

Details

213설치가 실패하면 Claude Code가 보고하는 메시지와 일치하는지 확인합니다:213설치가 실패하면 Claude Code가 보고하는 메시지와 일치하는지 확인합니다:

214 214 

215* `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 후 설치를 다시 시도합니다.215* `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 후 설치를 다시 시도합니다.

216* 플러그인이 [마켓플레이스에서 찾을 수 없음](/docs/ko/plugins/install#install-a-plugin): 플러그인 이름을 확인합니다.216* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: 로컬에 있는 마켓플레이스 카탈로그 사본이 오래되었을 수 있습니다. `/plugin marketplace update claude-plugins-official`로 카탈로그를 새로 고친 후 설치를 다시 시도합니다. 재시도 시에도 같은 메시지가 출력되면 [Plugin not found in marketplace](/docs/ko/plugins/troubleshooting#plugin-not-found-in-marketplace)를 참조하세요.

217 217 

218본인만 설치하는 대신 저장소의 모든 사람을 위해 플러그인을 활성화하려면, [`enabledPlugins` 프로젝트 설정](/docs/ko/settings-reference#plugin-settings)에 추가합니다.218본인만 설치하는 대신 저장소의 모든 사람을 위해 플러그인을 활성화하려면, [`enabledPlugins` 프로젝트 설정](/docs/ko/settings-reference#plugin-settings)에 추가합니다.

219 219 

mcp.md +1 −1

Details

50 설치가 실패하면 Claude Code가 보고하는 메시지와 일치하는지 확인하세요:50 설치가 실패하면 Claude Code가 보고하는 메시지와 일치하는지 확인하세요:

51 51 

52 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 다시 시도하세요.52 * `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 다음 설치를 다시 시도하세요.

53 * 플러그인이 [마켓플레이스에서 찾을 수 없음](/docs/ko/plugins/install#install-a-plugin): 플러그인 이름을 확인하세요.53 * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: 로컬에 있는 마켓플레이스 카탈로그 사본이 오래되었을 수 있습니다. `/plugin marketplace update claude-plugins-official`로 카탈로그를 새로 고친 다음 설치를 다시 시도하세요. 재시도 후에도 같은 메시지가 출력되면 [Plugin not found in marketplace](/docs/ko/plugins/troubleshooting#plugin-not-found-in-marketplace)를 참조하세요.

54 54 

55 설치 요약에서 `Run /reload-plugins to apply.`를 보고하면 Claude Code가 해당 리로드를 실행합니다. 리로드에서 다음 메시지가 대화를 다시 읽을 것이라고 경고하면 `/reload-plugins --force`를 실행하세요.55 설치 요약에서 `Run /reload-plugins to apply.`를 보고하면 Claude Code가 해당 리로드를 실행합니다. 리로드에서 다음 메시지가 대화를 다시 읽을 것이라고 경고하면 `/reload-plugins --force`를 실행하세요.

56 </Step>56 </Step>

Details

772**속성**:772**속성**:

773 773 

774* 모든 [표준 속성](#standard-attributes)774* 모든 [표준 속성](#standard-attributes)

775* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`). `"input"` 유형은 프롬프트 캐시에서 읽거나 캐시에 쓴 토큰을 제외하며, 이러한 토큰은 `"cacheRead"` 및 `"cacheCreation"`으로 집계됩니다775* `type`: (`"input"`, `"output"`, `"cacheRead"`, `"cacheCreation"`). `"input"` 유형은 프롬프트 캐시에서 읽거나 프롬프트 캐시에 쓴 토큰을 제외하며, 해당 토큰은 `"cacheRead"` 및 `"cacheCreation"`으로 집계됩니다. `"cacheCreation"` 유형은 5분 및 1시간 [캐시 수명](/docs/ko/prompt-caching#cache-lifetime)의 캐시 쓰기를 합산하여 집계합니다.

776* `model`: 모델 식별자 (예: "claude-sonnet-5")776* `model`: 모델 식별자 (예: "claude-sonnet-5")

777* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"`, 또는 `"auxiliary"` 중 하나777* `query_source`: 요청을 발급한 하위 시스템의 범주. `"main"`, `"subagent"`, 또는 `"auxiliary"` 중 하나

778* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외의 경우 없음778* `speed`: 요청이 빠른 모드를 사용했을 때 `"fast"`. 그 외의 경우 없음

permissions.md +0 −2

Details

749이러한 검사는 여전히 적용됩니다:749이러한 검사는 여전히 적용됩니다:

750 750 

751* `Bash(git push *)`와 같은 콘텐츠 범위 ask 규칙은 여전히 프롬프트를 강제합니다751* `Bash(git push *)`와 같은 콘텐츠 범위 ask 규칙은 여전히 프롬프트를 강제합니다

752* 명시적 deny 규칙은 여전히 적용됩니다

753* [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 또는 `rmdir` 명령은 여전히 일반 권한 흐름을 거칩니다

754* [자동 허용 모드](/docs/ko/sandboxing#auto-allow-mode)에서 설명하는 것처럼 다른 샌드박스된 명령도 일반 권한 흐름을 거칠 수 있습니다752* [자동 허용 모드](/docs/ko/sandboxing#auto-allow-mode)에서 설명하는 것처럼 다른 샌드박스된 명령도 일반 권한 흐름을 거칠 수 있습니다

755 753 

756제외된 명령과 같이 샌드박스에서 실행되지 않는 명령은 bare `Bash` ask 규칙을 일반적으로 따릅니다. 이 동작을 변경하려면 [샌드박스 모드](/docs/ko/sandboxing#sandbox-modes)를 참조하십시오.754제외된 명령과 같이 샌드박스에서 실행되지 않는 명령은 bare `Bash` ask 규칙을 일반적으로 따릅니다. 이 동작을 변경하려면 [샌드박스 모드](/docs/ko/sandboxing#sandbox-modes)를 참조하십시오.

Details

78 78 

79mod는 기존 제어를 대체하지 않습니다.79mod는 기존 제어를 대체하지 않습니다.

80 80 

81* **설정 훅은 계속 작동합니다.** 설정 파일과 플러그인의 `hooks/hooks.json`에 있는 command, HTTP, prompt, agent 훅은 mod와 함께 이전과 같이 실행됩니다. 이들 중 deprecated된 것은 없습니다.81* **설정 훅은 계속 작동합니다.** 설정 파일과 플러그인의 `hooks/hooks.json`에 있는 command, HTTP, prompt, agent 훅은 mod와 함께 이전과 같이 실행됩니다.

82* **가드가 로드된 환경에서는 deny 규칙이 우선합니다.** [`allowModsToOverrideDenyRules`](#set-options-on-the-built-in-guard)를 설정하지 않는 한, 사용자의 mod는 `deny` 규칙이 거부하는 호출을 승인할 수 없습니다.82* **가드가 로드된 환경에서는 deny 규칙이 우선합니다.** [`allowModsToOverrideDenyRules`](#set-options-on-the-built-in-guard)를 설정하지 않는 한, 사용자의 mod는 `deny` 규칙이 거부하는 호출을 승인할 수 없습니다.

83* **관리형 훅이 먼저 실행됩니다.** 관리형 설정의 `PreToolUse` 훅은 어떤 mod보다도 먼저 도구 호출을 확인하며, 그 차단은 최종적입니다. 이후 mod가 호출을 다시 작성하면 관리형 훅이 다시 작성된 호출에 대해 다시 실행되므로 차단은 여전히 적용됩니다. 다른 설정 파일과 플러그인의 `PreToolUse` 훅은 마지막 mod 이후에 실행되므로, 도구를 실행하는 대신 자체 결과를 반환하는 mod는 해당 훅이 실행되지 않도록 합니다. [mod 실행 순서](/docs/ko/plugins/mods/events#the-order-mods-run-in)를 참조하십시오.83* **관리형 훅이 먼저 실행됩니다.** 관리형 설정의 `PreToolUse` 훅은 어떤 mod보다도 먼저 도구 호출을 확인하며, 그 차단은 최종적입니다. 이후 mod가 호출을 다시 작성하면 관리형 훅이 다시 작성된 호출에 대해 다시 실행되므로 차단은 여전히 적용됩니다. 다른 설정 파일과 플러그인의 `PreToolUse` 훅은 마지막 mod 이후에 실행되므로, 도구를 실행하는 대신 자체 결과를 반환하는 mod는 해당 훅이 실행되지 않도록 합니다. [mod 실행 순서](/docs/ko/plugins/mods/events#the-order-mods-run-in)를 참조하십시오.

84* **네트워크 정책은 `$.http.fetch`에 적용됩니다.**84* **네트워크 정책은 `$.http.fetch`에 적용됩니다.**

Details

455 455 

456| 요소 | 그리는 내용 | 사용 위치 |456| 요소 | 그리는 내용 | 사용 위치 |

457| :- | :- | :- |457| :- | :- | :- |

458| `Box` | flex 컨테이너입니다. `flexDirection`, `columnGap`, `padding`, [`borderStyle`](/docs/ko/plugins/mods/reference#box-border-styles), `width` 같은 레이아웃 prop을 받습니다. | 모든 곳 |458| `Box` | flex 컨테이너입니다. `flexDirection`, [`borderStyle`](/docs/ko/plugins/mods/reference#box-border-styles), `width` 같은 레이아웃 prop을 받습니다. `columnGap`, `padding` 같은 간격 prop은 숫자 또는 `'xs'`부터 `'xl'`까지의 [단계 이름](/docs/ko/plugins/mods/reference#box-spacing-steps)을 받습니다. | 모든 곳 |

459| `Text` | 스타일이 적용된 텍스트입니다. `color`, `bold`, `dimColor`, `italic`, `wrap`을 받습니다. `color`는 테마 키 또는 `'red'` 같은 색상입니다. `wrap`은 `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'`, `'truncate-end'` 중 하나입니다. | 모든 곳 |459| `Text` | 스타일이 적용된 텍스트입니다. `color`, `bold`, `dimColor`, `italic`, `wrap`과 [`weight`](/docs/ko/plugins/mods/reference#text-typography) 같은 기타 prop을 받습니다. `color`는 테마 키 또는 `'red'` 같은 색상입니다. `wrap`은 `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'`, `'truncate-end'` 중 하나입니다. | 모든 곳 |

460| `Button` | `onPress`를 호출하는 컨트롤 | 모든 곳 |460| `Button` | `onPress`를 호출하는 컨트롤 | 모든 곳 |

461| `Link`, `Code`, `Markdown` | `href`와 선택적 `label`을 갖는 링크, 코드 블록, 그리고 Claude의 응답과 같은 방식으로 서식이 지정된 텍스트입니다. `Markdown`은 내용을 `children`이 아닌 `text` prop으로 받으며, `onLinkPress`를 전달할 때는 `key`가 필요합니다. | 모든 곳 |461| `Link`, `Code`, `Markdown` | `href`와 선택적 `label`을 갖는 링크, 코드 블록, 그리고 Claude의 응답과 같은 방식으로 서식이 지정된 텍스트입니다. `Markdown`은 내용을 `children`이 아닌 `text` prop으로 받으며, `onLinkPress`를 전달할 때는 `key`가 필요합니다. | 모든 곳 |

462| `Input`, `Select` | 텍스트 필드와 드롭다운 | 터미널, Desktop, VS Code |462| `Input`, `Select` | 텍스트 필드와 드롭다운 | 터미널, Desktop, VS Code |

Details

293 293 

294| 요소 | 주요 prop | 터미널 | 데스크톱 | VS Code |294| 요소 | 주요 prop | 터미널 | 데스크톱 | VS Code |

295| :- | :- | :-: | :-: | :-: |295| :- | :- | :-: | :-: | :-: |

296| [`Box`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `key`, flex 레이아웃, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ | ✓ |296| [`Box`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `key`, flex 레이아웃, [`gap`, `padding`, `margin`](#box-spacing-steps), `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ | ✓ |

297| [`Text`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ | ✓ |297| [`Text`](/docs/ko/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, [`bold`](#text-bold), `italic`, `underline`, `dimColor`, `inverse`, `wrap`, [`size`, `weight`, `mono`, `tabular`](#text-typography) | ✓ | ✓ | ✓ |

298| [`Button`](/docs/ko/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ | ✓ |298| [`Button`](/docs/ko/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ | ✓ |

299| [`Link`](/docs/ko/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. [제한 사항](#limits)을 참조하십시오. | ✓ | ✓ | ✓ |299| [`Link`](/docs/ko/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. [제한 사항](#limits)을 참조하십시오. | ✓ | ✓ | ✓ |

300| [`Code`](/docs/ko/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ | ✓ |300| [`Code`](/docs/ko/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ | ✓ |


311VS Code 확장은 일부 요소 prop을 무시하고, 해당 prop을 생략한 것처럼 요소를 그립니다.311VS Code 확장은 일부 요소 prop을 무시하고, 해당 prop을 생략한 것처럼 요소를 그립니다.

312 312 

313* **`Box`**: `position` 및 `hover`313* **`Box`**: `position` 및 `hover`

314* **`Text`**: `size`, `mono`, `tabular`

314* **`Button`**: `hotkey`, `plain`, `autoFocus`, `action`. 따라서 VS Code에서는 버튼을 클릭하거나, 버튼에 포커스가 있을 때 Enter를 눌러 버튼을 누릅니다315* **`Button`**: `hotkey`, `plain`, `autoFocus`, `action`. 따라서 VS Code에서는 버튼을 클릭하거나, 버튼에 포커스가 있을 때 Enter를 눌러 버튼을 누릅니다

315* **`Code`**: `language`, `path`, `startLine`, `format`, `wrap`. 따라서 코드는 색상이나 줄 번호 없이 그려지며, `format: 'diff'` 블록은 diff의 원시 텍스트를 표시합니다316* **`Code`**: `language`, `path`, `startLine`, `format`, `wrap`. 따라서 코드는 색상이나 줄 번호 없이 그려지며, `format: 'diff'` 블록은 diff의 원시 텍스트를 표시합니다

316* **`Input` 및 `Select`**: `autoFocus`317* **`Input` 및 `Select`**: `autoFocus`


336 337 

337`borderStyle`에 `'rounded'`처럼 그 밖의 이름을 지정한 `Box`는 테두리 없이 그려집니다.338`borderStyle`에 `'rounded'`처럼 그 밖의 이름을 지정한 `Box`는 테두리 없이 그려집니다.

338 339 

340<h3 id="box-spacing-steps">

341 `Box` 간격 단계

342</h3>

343 

344`Box` 간격 prop은 `gap`, `columnGap`, `rowGap`, `padding`, `margin`, 그리고 `paddingX`, `marginTop`처럼 `padding`과 `margin`의 한쪽 면 및 한 축 형태입니다. 각 prop은 `gap: 1`처럼 터미널 셀 수를 받거나, `gap: 'md'`처럼 단계 이름을 받습니다. 터미널과 VS Code 확장에서 각 단계는 다음 셀 수에 해당합니다.

345 

346| 단계 | 가로 셀 수 | 세로 셀 수 |

347| :- | :- | :- |

348| `'xs'` | 1 | 0 |

349| `'sm'` | 1 | 0 |

350| `'md'` | 2 | 1 |

351| `'lg'` | 3 | 1 |

352| `'xl'` | 4 | 2 |

353 

354`gap`, `padding` 또는 `margin`을 단계로 설정하면 해당 단계가 가로와 세로에 동시에 적용됩니다. 예를 들어 터미널과 VS Code 확장에서 `padding: 'md'`는 양옆 각각 두 셀, 위아래 각각 한 행입니다.

355 

356단계 이름을 사용하려면 Claude Code v2.1.299 이상이 필요합니다. 이전 릴리스에서는 단계 이름을 사용하는 트리 대신 Claude Code가 [사이트의 자체 버전을 그립니다](/docs/ko/plugins/mods/interface#build-a-tree-from-elements).

357 

358<h3 id="text-typography">

359 `Text` 타이포그래피 prop

360</h3>

361 

362`Text`에 `size`, `weight`, `mono` 또는 `tabular`를 설정하면 트리를 그리는 앱에 텍스트 크기, 굵기, 고정폭 서체 또는 너비가 동일한 숫자를 요청할 수 있습니다. prop에 의존하기 전에 터미널과 VS Code 확장이 해당 prop을 어떻게 처리하는지 확인하십시오. 앱이 설정한 prop을 무시하더라도 트리는 여전히 그려지며, 텍스트는 해당 prop을 생략한 것처럼 표시됩니다.

363 

364| Prop | 값 | 터미널에서 | VS Code 확장에서 |

365| :- | :- | :- | :- |

366| `size` | `'caption'`, `'footnote'`, `'body'`, `'heading'` 또는 `'title'` | 무시됨: 터미널에는 텍스트 크기가 하나뿐입니다 | 무시됨 |

367| `weight` | `'regular'`, `'medium'`, `'semibold'` 또는 `'bold'` | `semibold`와 `bold`는 굵은 텍스트로 그려집니다 | `semibold`와 `bold`는 굵은 텍스트로 그려집니다 |

368| `mono` | 앱의 고정폭 서체를 요청하려면 `true` | 무시됨: 터미널은 항상 고정폭입니다 | 무시되므로 텍스트는 확장 자체의 서체를 유지합니다 |

369| `tabular` | 제자리에서 업데이트되는 숫자나 숫자 열이 정렬된 상태를 유지하도록 너비가 동일한 숫자를 요청하려면 `true` | 무시됨: 터미널의 숫자는 이미 한 셀 너비입니다 | 무시됨 |

370 

371이 네 가지 prop을 사용하려면 Claude Code v2.1.299 이상이 필요합니다. 이전 릴리스에서는 `size`, `weight`, `mono` 또는 `tabular`를 설정한 트리 대신 Claude Code가 [사이트의 자체 버전을 그립니다](/docs/ko/plugins/mods/interface#build-a-tree-from-elements).

372 

373<h4 id="text-bold">

374 `bold`를 `weight`로 대체하기

375</h4>

376 

377`Text`의 `bold`는 `weight`로 대체되어 deprecated되었지만 여전히 작동합니다. `weight`가 없는 `Text`에서 이를 대체하려면 `bold: true`를 `weight: 'semibold'`로 변경하십시오. Claude Code v2.1.299 이상에서 동일한 결과를 얻을 수 있습니다.

378 

379v2.1.299 이전 릴리스에서는 `weight`를 설정한 트리가 그려지지 않으며, 대신 Claude Code가 [사이트의 자체 버전을 그립니다](/docs/ko/plugins/mods/interface#build-a-tree-from-elements). `Text`에 `bold`와 `weight`를 모두 설정하면 `bold`는 효과가 없습니다.

380 

339<h2 id="limits">381<h2 id="limits">

340 제한382 제한

341</h2>383</h2>

Details

235 235 

236mod는 로드되었지만 해당 pane, band, toast 또는 컨트롤이 예상대로 동작하지 않습니다.236mod는 로드되었지만 해당 pane, band, toast 또는 컨트롤이 예상대로 동작하지 않습니다.

237 237 

238<h3 id="another-mods-band-shows-and-yours-doesnt">

239 다른 mod의 band는 표시되지만 사용자의 mod band는 표시되지 않음

240</h3>

241 

242프롬프트 위에는 band가 하나만 있으며 모든 mod가 이를 공유합니다. [사용자의 mod보다 먼저](/docs/ko/plugins/mods/events#the-order-mods-run-in) 실행되는 mod가 `next(e)`의 결과를 포함하지 않은 트리를 반환하면 사용자의 band를 대체합니다. 두 band를 모두 표시하려면 해당 mod의 훅을 변경하거나 작성자에게 변경을 요청합니다.

243 

244* **뒤에 오는 band 유지**: [그릴 위치 선택](/docs/ko/plugins/mods/interface#pick-where-to-draw)의 Band above the prompt 탭처럼, `await next(e)`의 결과를 트리 안 `Box`의 자식 중 하나로 넣습니다

245* **트리를 유효하게 유지**: 해당 `Box` 또는 이를 감싸는 어떤 `Box`에도 `width`, `height`, `minWidth`, `minHeight`, `position`, `top`, `left`, `right`, `bottom`, `display`, `overflow` prop을 지정하지 않습니다

246 

247해당 mod를 찾으려면 [디버그 로그를 작성](#read-the-debug-log)하고 로그에서 `answered ui.render without next()`를 검색합니다. `other-mod (user) answered ui.render without next()` 같은 줄은 `next(e)`를 호출하지 않고 트리를 반환한 mod를 나타냅니다. 이 줄은 [렌더링 지점](/docs/ko/plugins/mods/reference#render-sites)을 명시하지 않으므로 pane 전용 mod도 나타날 수 있습니다. `next(e)`를 호출한 뒤 그 결과를 버리는 mod에 대해서는 줄이 기록되지 않으므로, 사용자의 mod보다 앞선 훅도 확인합니다.

248 

249변경 후에는 mod 중 하나라도 유효성 검사를 통과하지 못하는 트리를 반환하면 band에 아무것도 표시되지 않습니다. 이유를 확인하려면 `--plugin-dir` 세션의 트랜스크립트에서 `ui.render (AbovePrompt) refused:` 줄을 찾거나 디버그 로그에서 `does not validate`를 검색합니다. band에 여러 mod가 있으면 어느 줄에도 mod 이름이 표시되지 않으므로 각 mod의 트리를 확인합니다.

250 

238<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">251<h3 id="a-pane-or-band-is-empty-or-shows-claude-code’s-usual-content">

239 pane 또는 band가 비어 있거나 Claude Code의 일반 콘텐츠를 표시함252 pane 또는 band가 비어 있거나 Claude Code의 일반 콘텐츠를 표시함

240</h3>253</h3>

sandboxing.md +2 −2

Details

199 199 

200auto-allow 모드에서도 다음은 계속 적용됩니다.200auto-allow 모드에서도 다음은 계속 적용됩니다.

201 201 

202* 명시적 [거부 규칙](/docs/ko/permissions)은 항상 준수됩니다202* [`Bash` 거부 규칙이 일치하는 형식](/docs/ko/permissions#bash-rule-limits)의 명령은 여전히 차단됩니다

203* [중요 경로](/docs/ko/permission-modes#critical-paths)를 대상으로 하는 `rm` 또는 `rmdir` 명령은 여전히 일반 권한 흐름을 거칩니다203* [중요 경로](/docs/ko/permission-modes#which-paths-are-critical)를 대상으로 하는 것으로 인식된 `rm` 또는 `rmdir` 명령은 여전히 일반 권한 흐름을 거칩니다

204* `Bash(git push *)` 같은 내용 범위 [ask 규칙](/docs/ko/permissions)은 샌드박스 처리된 명령에도 여전히 확인을 요청합니다204* `Bash(git push *)` 같은 내용 범위 [ask 규칙](/docs/ko/permissions)은 샌드박스 처리된 명령에도 여전히 확인을 요청합니다

205* 단순 `Bash` ask 규칙 또는 이와 동일한 `Bash(*)` 형식은 샌드박스에서 실행되는 명령에는 건너뛰지만, 샌드박스 밖에서 실행되는 명령에는 여전히 적용됩니다. [플랜 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)에서는 이 규칙을 건너뛰지 않으며, 읽기 전용 명령을 포함해 샌드박스 처리된 명령에도 확인을 요청합니다205* 단순 `Bash` ask 규칙 또는 이와 동일한 `Bash(*)` 형식은 샌드박스에서 실행되는 명령에는 건너뛰지만, 샌드박스 밖에서 실행되는 명령에는 여전히 적용됩니다. [플랜 모드](/docs/ko/permission-modes#analyze-before-you-edit-with-plan-mode)에서는 이 규칙을 건너뛰지 않으며, 읽기 전용 명령을 포함해 샌드박스 처리된 명령에도 확인을 요청합니다

206* [Monitor 도구](/docs/ko/tools-reference#monitor-tool) 명령은 샌드박스에서 실행되기는 하지만 자동으로 승인되지 않습니다. 확인 요청을 건너뛰려면 `Bash(npm run *)`처럼 명령과 일치하는 [allow 규칙](/docs/ko/permissions#bash)을 추가합니다206* [Monitor 도구](/docs/ko/tools-reference#monitor-tool) 명령은 샌드박스에서 실행되기는 하지만 자동으로 승인되지 않습니다. 확인 요청을 건너뛰려면 `Bash(npm run *)`처럼 명령과 일치하는 [allow 규칙](/docs/ko/permissions#bash)을 추가합니다

security.md +1 −1

Details

112 IDE 보안112 IDE 보안

113</h2>113</h2>

114 114 

115IDE에서 Claude Code를 실행하는 방법에 대한 자세한 내용은 [VS Code 보안 및 개인정보 보호](/docs/ko/vs-code#security-and-privacy)를 참조하십시오.115IDE에서 Claude Code를 실행하는 방법에 대한 자세한 내용은 [기본 제공 IDE MCP 서버](/docs/ko/vs-code#the-built-in-ide-mcp-server)를 참조하십시오.

116 116 

117<h2 id="cloud-execution-security">117<h2 id="cloud-execution-security">

118 클라우드 실행 보안118 클라우드 실행 보안

Details

42설치가 실패하면 Claude Code가 보고하는 메시지와 일치시킵니다:42설치가 실패하면 Claude Code가 보고하는 메시지와 일치시킵니다:

43 43 

44* `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 후 설치를 다시 시도합니다.44* `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 후 설치를 다시 시도합니다.

45* 플러그인이 [마켓플레이스에서 찾을 수 없음](/docs/ko/plugins/install#install-a-plugin): 플러그인 이름을 확인합니다.45* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: 로컬에 있는 마켓플레이스 카탈로그 사본이 오래되었을 수 있습니다. `/plugin marketplace update claude-plugins-official`로 새로 고친 후 설치를 재시도합니다. 재시도 시 동일한 메시지가 출력되면 [마켓플레이스에서 플러그인을 찾을 수 없음](/docs/ko/plugins/troubleshooting#plugin-not-found-in-marketplace)을 참조하세요.

46 46 

47설치 요약을 확인합니다. `Run /reload-plugins to apply.`를 보고하면 [재시작 없이 플러그인 변경 사항 적용](/docs/ko/plugins/cli-reference#reload-plugins)을 참조하여 현재 세션에서 플러그인을 활성화합니다.47설치 요약을 확인합니다. `Run /reload-plugins to apply.`를 보고하면 [재시작 없이 플러그인 변경 사항 적용](/docs/ko/plugins/cli-reference#reload-plugins)을 참조하여 현재 세션에서 플러그인을 활성화합니다.

48 48 

skills.md +9 −5

Details

718 718 

719인수와 함께 스킬을 호출했지만 스킬의 콘텐츠에서 인수를 받는 플레이스홀더가 없으면 Claude Code는 `ARGUMENTS: <your input>`을 스킬 콘텐츠 끝에 추가하므로 Claude는 여전히 입력한 내용을 봅니다. 플레이스홀더는 `$ARGUMENTS`, `$1`과 같은 인덱싱된 형식 또는 명명된 인수입니다. 위치에 인수가 없는 인덱싱된 플레이스홀더는 리터럴 텍스트로 유지되며 인수를 받은 것으로 계산되지 않습니다. 명명된 플레이스홀더는 위치에 인수가 없어도 계산됩니다. 빈 문자열로 확장되기 때문입니다.719인수와 함께 스킬을 호출했지만 스킬의 콘텐츠에서 인수를 받는 플레이스홀더가 없으면 Claude Code는 `ARGUMENTS: <your input>`을 스킬 콘텐츠 끝에 추가하므로 Claude는 여전히 입력한 내용을 봅니다. 플레이스홀더는 `$ARGUMENTS`, `$1`과 같은 인덱싱된 형식 또는 명명된 인수입니다. 위치에 인수가 없는 인덱싱된 플레이스홀더는 리터럴 텍스트로 유지되며 인수를 받은 것으로 계산되지 않습니다. 명명된 플레이스홀더는 위치에 인수가 없어도 계산됩니다. 빈 문자열로 확장되기 때문입니다.

720 720 

721한 메시지의 시작 부분에 여러 스킬을 스택할 수도 있습니다. `/write-tests /fix-issue 123`을 입력하면 두 스킬이 모두 로드되고 후행 텍스트 `123`이 각각에 `$ARGUMENTS`로 전달됩니다.

722 

723Claude Code는 첫 번째 스킬과 그 뒤에 스택된 최대 5개를 확장합니다. 확장은 인라인 사용자 호출 가능 스킬이 아닌 첫 번째 토큰에서 중지되므로 [포크된 서브에이전트](#run-skills-in-a-subagent)로 실행되는 스킬(예: [`/code-review`](/docs/ko/code-review-local)) 또는 인수 자체가 슬래시 명령으로 시작할 수 있는 스킬(예: `/loop`)도 거기서 끝납니다. 해당 토큰 및 그 뒤의 모든 것이 확장된 모든 스킬의 인수 텍스트가 됩니다. v2.1.218부터 `/code-review`는 포크된 서브에이전트로 실행됩니다. 이전 버전에서는 인라인으로 실행되고 스택되었습니다.

724 

725위치별로 개별 인수에 액세스하려면 `$ARGUMENTS[N]` 또는 더 짧은 `$N`을 사용합니다.721위치별로 개별 인수에 액세스하려면 `$ARGUMENTS[N]` 또는 더 짧은 `$N`을 사용합니다.

726 722 

727```yaml theme={null}723```yaml theme={null}


746Preserve all existing behavior and tests.742Preserve all existing behavior and tests.

747```743```

748 744 

745<h4 id="stack-several-skills-in-one-message">

746 한 메시지에 여러 스킬 스택

747</h4>

748 

749터미널의 Claude Code 프롬프트에 입력할 때는 한 메시지의 시작 부분에 여러 스킬을 스택할 수 있습니다. Agent SDK 또는 `claude -p`를 통해서는 Claude Code가 첫 번째 스킬만 로드하고 줄의 나머지 부분을 해당 스킬의 인수로 사용합니다. 터미널 프롬프트에서 `/write-tests /fix-issue 123`을 입력하면 두 스킬이 모두 로드되고 후행 텍스트 `123`이 각각에 `$ARGUMENTS`로 전달됩니다.

750 

751Claude Code는 첫 번째 스킬과 그 뒤에 스택된 최대 5개를 확장합니다. 확장은 인라인 사용자 호출 가능 스킬이 아닌 첫 번째 토큰에서 중지됩니다. [`/code-review`](/docs/ko/code-review-local)처럼 [포크된 서브에이전트](#run-skills-in-a-subagent)로 실행되는 스킬이나 `/loop`처럼 인수가 다른 명령으로 시작할 수 있는 스킬을 스택하면 확장은 거기서 끝납니다. 해당 토큰 및 그 뒤의 모든 것이 확장된 모든 스킬의 인수 텍스트가 됩니다.

752 

749<h2 id="advanced-patterns">753<h2 id="advanced-patterns">

750 고급 패턴754 고급 패턴

751</h2>755</h2>


1044설치가 실패하면 Claude Code가 보고한 메시지와 일치시킵니다:1048설치가 실패하면 Claude Code가 보고한 메시지와 일치시킵니다:

1045 1049 

1046* `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 후 설치를 다시 시도합니다.1050* `Marketplace "claude-plugins-official" not found`: `/plugin marketplace add anthropics/claude-plugins-official`로 마켓플레이스를 추가한 후 설치를 다시 시도합니다.

1047* 플러그인이 [마켓플레이스에서 찾을 수 없음](/docs/ko/plugins/install#install-a-plugin): 플러그인 이름을 확인합니다.1051* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: 로컬에 있는 마켓플레이스 카탈로그 사본이 오래되었을 수 있습니다. `/plugin marketplace update claude-plugins-official`로 카탈로그를 새로 고친 후 설치를 다시 시도합니다. 재시도 시에도 동일한 메시지가 출력되면 [Plugin not found in marketplace](/docs/ko/plugins/troubleshooting#plugin-not-found-in-marketplace)를 참조합니다.

1048 1052 

1049설치 요약에서 `Run /reload-plugins to apply.`를 보고하면 Claude Code가 해당 재로드를 실행합니다. 재로드 시 다음 메시지가 대화를 다시 읽을 것이라는 경고가 표시되면 `/reload-plugins --force`를 실행하여 현재 세션에서 플러그인의 스킬을 사용할 수 있게 합니다. 그런 다음 Claude에게 기존 스킬을 평가하도록 요청합니다. 예를 들어 `evaluate my summarize-changes skill with skill-creator`입니다. 플러그인은 테스트 케이스 작성을 안내하고 루프를 실행합니다:1053설치 요약에서 `Run /reload-plugins to apply.`를 보고하면 Claude Code가 해당 재로드를 실행합니다. 재로드 시 다음 메시지가 대화를 다시 읽을 것이라는 경고가 표시되면 `/reload-plugins --force`를 실행하여 현재 세션에서 플러그인의 스킬을 사용할 수 있게 합니다. 그런 다음 Claude에게 기존 스킬을 평가하도록 요청합니다. 예를 들어 `evaluate my summarize-changes skill with skill-creator`입니다. 플러그인은 테스트 케이스 작성을 안내하고 루프를 실행합니다:

1050 1054 

Details

281 전체 화면 모드281 전체 화면 모드

282 </h4>282 </h4>

283 283 

284 Claude Code는 기본 및 전체 화면 렌더러 모두에서 `userMessageBackground`, `bashMessageBackgroundColor` 및 `memoryBackgroundColor`를 칠합니다. [전체 화면 렌더링 모드](/docs/ko/fullscreen)에서만 `userMessageBackgroundHover` 및 `selectionBg`를 사용합니다.284 Claude Code는 [전체 화면 렌더링 모드](/docs/ko/fullscreen)에서만 `userMessageBackgroundHover`, `selectionBg` 및 `composerSidebarBackground`를 사용합니다. `userMessageBackground`, `bashMessageBackgroundColor` 및 `memoryBackgroundColor`는 기본 및 전체 화면 렌더러 모두에서 칠합니다.

285 285 

286 | 토큰 | 제어 대상 |286 | 토큰 | 제어 대상 |

287 | :- | :- |287 | :- | :- |


290 | `bashMessageBackgroundColor` | 트랜스크립트의 `!` 셸 명령 항목 뒤 배경 |290 | `bashMessageBackgroundColor` | 트랜스크립트의 `!` 셸 명령 항목 뒤 배경 |

291 | `memoryBackgroundColor` | 트랜스크립트의 `#` 메모리 항목 뒤 배경 |291 | `memoryBackgroundColor` | 트랜스크립트의 `#` 메모리 항목 뒤 배경 |

292 | `selectionBg` | 마우스로 선택한 텍스트의 배경 |292 | `selectionBg` | 마우스로 선택한 텍스트의 배경 |

293 | `composerSidebarBackground` | [diff 패널](/docs/ko/fullscreen#watch-your-changes-in-the-diff-panel)이나 [mod의 창](/docs/ko/plugins/mods/interface)과 같이 대화 옆에 있는 패널의 배경 |

293 294 

294 <h4 id="usage-meter-and-speaker-labels">295 <h4 id="usage-meter-and-speaker-labels">

295 사용량 미터 및 스피커 레이블296 사용량 미터 및 스피커 레이블

vs-code.md +544 −479

Details

10 10 

11VS Code 확장 프로그램은 Claude Code를 위한 기본 그래픽 인터페이스를 제공하며, IDE에 직접 통합됩니다. 이것이 VS Code에서 Claude Code를 사용하는 권장 방법입니다.11VS Code 확장 프로그램은 Claude Code를 위한 기본 그래픽 인터페이스를 제공하며, IDE에 직접 통합됩니다. 이것이 VS Code에서 Claude Code를 사용하는 권장 방법입니다.

12 12 

13확장 프로그램을 사용하면 Claude의 계획을 수락하기 전에 검토하고 편집할 수 있으며, 편집이 이루어질 때 자동으로 수락하고, 선택 항목에서 특정 줄 범위가 있는 파일을 @-멘션으로 표시하고, 대화 기록에 액세스하고, 별도의 탭이나 창에서 여러 대화를 열 수 있습니다.13확장 프로그램을 사용하면 다음을 수행할 수 있습니다.

14 

15* Claude의 계획을 수락하기 전에 검토하고 편집

16* 편집이 이루어질 때 자동으로 수락

17* 선택 항목에서 특정 줄 범위가 있는 파일을 @-멘션

18* 대화 기록에 액세스

19* 별도의 탭이나 창에서 여러 대화 열기

14 20 

15<h2 id="prerequisites">21<h2 id="prerequisites">

16 필수 조건22 필수 조건


29 확장 프로그램 설치35 확장 프로그램 설치

30</h2>36</h2>

31 37 

32IDE에 대한 링크를 클릭하여 직접 설치합니다:38사용 중인 IDE의 링크를 클릭하여 바로 설치합니다:

33 39 

34* [VS Code용 설치](vscode:extension/anthropic.claude-code)40* [VS Code용 설치](vscode:extension/anthropic.claude-code)

35* [Cursor용 설치](cursor:extension/anthropic.claude-code)41* [Cursor용 설치](cursor:extension/anthropic.claude-code)

36 42 

37또는 VS Code에서 `Cmd+Shift+X`(Mac) 또는 `Ctrl+Shift+X`(Windows/Linux)를 눌러 확장 프로그램 보기를 열고, "Claude Code"를 검색한 후 **설치**를 클릭합니다.43또는 VS Code에서 `Cmd+Shift+X`(Mac) 또는 `Ctrl+Shift+X`(Windows/Linux)를 눌러 Extensions 보기를 열고, "Claude Code"를 검색한 다음 **Install**을 클릭합니다.

38 44 

39확장 프로그램의 버전 번호는 함께 번들된 Claude Code 버전입니다. 예를 들어 Claude Code v2.1.286 이상이 필요한 기능을 사용하려면 확장 프로그램 버전 2.1.286 이상이 필요하며, 이 버전은 확장 프로그램 보기에서 확인할 수 있습니다.45확장 프로그램의 버전 번호는 확장 프로그램에 번들로 포함된 Claude Code 버전입니다. 예를 들어 Claude Code v2.1.286 이상이 필요한 기능을 사용하려면 확장 프로그램 버전 2.1.286 이상이 필요하며, 이 버전은 Extensions 보기에서 확인할 수 있습니다.

40 46 

41확장 프로그램은 Devin Desktop 또는 Kiro와 같은 다른 VS Code 포크에도 설치됩니다. 편집기의 확장 프로그램 보기에서 "Claude Code"를 검색하거나 [Open VSX 레지스트리](https://open-vsx.org/extension/Anthropic/claude-code)에서 설치합니다. 편집기에서 확장 프로그램을 설치할 수 없는 경우 [CLI](/docs/ko/quickstart)를 설치하고 통합 터미널에서 `claude`를 실행합니다. CLI는 모든 터미널에서 작동합니다.47Claude Code는 다른 편집기와 컨테이너에서도 실행됩니다:

42 48 

43dev 컨테이너 내에서 Claude Code를 실행하려면 [개발 컨테이너](/docs/ko/devcontainer)를 참조하세요.49* **기타 VS Code 포크**: 확장 프로그램은 Devin Desktop이나 Kiro 같은 포크에도 설치됩니다. 편집기의 Extensions 보기에서 "Claude Code"를 검색하거나 [Open VSX 레지스트리](https://open-vsx.org/extension/Anthropic/claude-code)에서 설치합니다.

50* **확장 프로그램을 설치할 수 없는 편집기**: 대신 [CLI를 설치](/docs/ko/quickstart)하고 편집기의 통합 터미널에서 `claude`를 실행합니다. CLI는 모든 터미널에서 작동합니다.

51* **개발 컨테이너**: 개발 컨테이너 내부에서 Claude Code를 실행하려면 [개발 컨테이너](/docs/ko/devcontainer)를 참조하세요.

44 52 

45<Note>설치 후 확장 프로그램이 나타나지 않으면 VS Code를 다시 시작하거나 명령 팔레트에서 "Developer: Reload Window"를 실행합니다.</Note>53<Note>설치 후 확장 프로그램이 나타나지 않으면 VS Code를 다시 시작하거나 Command Palette에서 "Developer: Reload Window"를 실행합니다.</Note>

46 54 

47<h2 id="get-started">55<h2 id="get-started">

48 시작하기56 시작하기

49</h2>57</h2>

50 58 

51설치 후 VS Code 인터페이스를 통해 Claude Code를 사용할 수 있습니다.59설치가 완료되면 VS Code 인터페이스를 통해 Claude Code를 사용할 수 있습니다.

52 60 

53<Steps>61<Steps>

54 <Step title="Claude Code 패널 열기">62 <Step title="Claude Code 패널 열기">

55 VS Code 전체에서 Spark 아이콘은 Claude Code를 나타냅니다. <img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/vs-code-spark-icon.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=3ca45e00deadec8c8f4b4f807da94505" alt="Spark icon" style={{display: "inline", height: "0.85em", verticalAlign: "middle"}} width="16" height="16" data-path="images/vs-code-spark-icon.svg" />63 VS Code 전반에서 Spark 아이콘은 Claude Code를 나타냅니다: <img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/vs-code-spark-icon.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=3ca45e00deadec8c8f4b4f807da94505" alt="Spark 아이콘" style={{display: "inline", height: "0.85em", verticalAlign: "middle"}} width="16" height="16" data-path="images/vs-code-spark-icon.svg" />

56 64 

57 Claude를 여는 가장 빠른 방법은 **편집기 도구 모음**(편집기의 오른쪽 상단 모서리)에서 Spark 아이콘을 클릭하는 것입니다. 파일을 열었을 때만 아이콘이 나타납니다.65 Claude를 가장 빠르게 여는 방법은 **Editor Toolbar**(에디터 오른쪽 상단 모서리)에서 Spark 아이콘을 클릭하는 것입니다. 이 아이콘은 파일이 열려 있을 때만 표시됩니다.

58 66 

59 <img src="https://mintcdn.com/claude-code/mfM-EyoZGnQv8JTc/images/vs-code-editor-icon.png?fit=max&auto=format&n=mfM-EyoZGnQv8JTc&q=85&s=eb4540325d94664c51776dbbfec4cf02" alt="편집기 도구 모음에서 Spark 아이콘을 보여주는 VS Code 편집기" width="2796" height="734" data-path="images/vs-code-editor-icon.png" />67 <img src="https://mintcdn.com/claude-code/mfM-EyoZGnQv8JTc/images/vs-code-editor-icon.png?fit=max&auto=format&n=mfM-EyoZGnQv8JTc&q=85&s=eb4540325d94664c51776dbbfec4cf02" alt="Editor Toolbar에 Spark 아이콘이 표시된 VS Code 에디터" width="2796" height="734" data-path="images/vs-code-editor-icon.png" />

60 68 

61 Claude Code를 여는 다른 방법:69 Claude Code를 여는 다른 방법은 다음과 같습니다.

62 70 

63 * **활동 표시줄**: 왼쪽 사이드바의 Spark 아이콘을 클릭하여 세션 목록을 엽니다. 세션을 클릭하여 [선호하는 위치](#extension-settings)에서 열거나 새 세션을 시작합니다. 이 아이콘은 항상 활동 표시줄에 표시됩니다.71 * **Activity Bar**: 왼쪽 사이드바에서 Spark 아이콘을 클릭하면 세션 목록이 열립니다. 세션을 클릭하면 [선호하는 위치](#extension-settings)에서 열리며, 새 세션을 시작할 수도 있습니다. 이 아이콘은 Activity Bar에 항상 표시됩니다.

64 * **명령 팔레트**: `Cmd+Shift+P`(Mac) 또는 `Ctrl+Shift+P`(Windows/Linux)를 누르고 "Claude Code"를 입력한 후 "새 탭에서 열기"와 같은 옵션을 선택합니다.72 * **Command Palette**: `Cmd+Shift+P`(Mac) 또는 `Ctrl+Shift+P`(Windows/Linux)를 누르고 "Claude Code"를 입력한 다음 "Open in New Tab"과 같은 옵션을 선택합니다.

65 * **상태 표시줄**: 창의 오른쪽 아래 모서리에서 **✻ Claude Code**를 클릭합니다. 파일을 열지 않았을 때도 작동합니다.73 * **Status Bar**: 창 오른쪽 하단 모서리의 **✻ Claude Code**를 클릭합니다. 파일이 열려 있지 않아도 작동합니다.

66 74 

67 Claude 패널을 드래그하여 VS Code의 어느 곳으로든 재배치할 수 있습니다. 자세한 내용은 [워크플로우 사용자 정의](#customize-your-workflow)를 참조하십시오.75 Claude 패널을 드래그하여 VS Code 내 원하는 위치로 옮길 수 있습니다. 자세한 내용은 [워크플로 사용자 지정](#customize-your-workflow)을 참조하세요.

68 </Step>76 </Step>

69 77 

70 <Step title="로그인">78 <Step title="로그인">

71 처음 패널을 열면 로그인 화면이 나타납니다. **로그인**을 클릭하고 브라우저에서 인증을 완료합니다.79 패널을 처음 열면 로그인 화면이 나타납니다. **Sign in**을 클릭하고 브라우저에서 인증을 완료합니다.

72 80 

73 나중에 **로그인하지 않음 · /login을 실행하십시오**가 표시되면 확장 프로그램이 자동으로 로그인 화면을 다시 엽니다. 표시되지 않으면 명령 팔레트에서 **개발자: 창 다시 로드**를 사용하여 창을 다시 로드합니다.81 이후 **Not logged in · Please run /login**이 표시되면 확장 프로그램이 자동으로 로그인 화면을 다시 엽니다. 로그인 화면이 나타나지 않으면 Command Palette에서 **Developer: Reload Window**로 창을 다시 로드합니다.

74 82 

75 셸에 `ANTHROPIC_API_KEY`가 설정되어 있지만 여전히 로그인 프롬프트가 표시되면 VS Code가 셸 환경을 상속하지 못했을 수 있습니다. 터미널에서 `code .`로 VS Code를 시작하여 환경 변수를 상속하거나 대신 Claude 계정으로 로그인합니다.83 셸에 `ANTHROPIC_API_KEY`를 설정했는데도 로그인 프롬프트가 표시된다면 VS Code가 셸 환경을 상속하지 못했을 수 있습니다. 환경 변수를 상속하도록 터미널에서 `code .`로 VS Code를 실행하거나, 대신 Claude 계정으로 로그인합니다.

76 84 

77 로그인한 후 **Claude Code 배우기** 체크리스트가 나타납니다. **보여주기**를 클릭하여 각 항목을 진행하거나 X로 닫습니다. 나중에 다시 열려면 VS Code 설정의 확장 프로그램 → Claude Code에서 **온보딩 숨기기**를 선택 해제합니다.85 로그인하면 **Learn Claude Code** 체크리스트가 나타납니다. **Show me**를 클릭하여 각 항목을 진행하거나 X를 눌러 닫을 수 있습니다. 나중에 다시 열려면 VS Code 설정의 **Extensions > Claude Code**에서 **Hide Onboarding**의 체크를 해제합니다.

78 </Step>86 </Step>

79 87 

80 <Step title="프롬프트 전송">88 <Step title="프롬프트 보내기">

81 코드나 파일을 도와달라고 Claude에 요청합니다. 작동 방식 설명, 문제 디버깅 또는 변경 사항 만들기 등이 있습니다.89 무언가의 작동 방식 설명, 문제 디버깅, 변경 작업 등 코드나 파일과 관련된 도움을 Claude에게 요청합니다.

82 90 

83 <Tip>Claude는 자동으로 선택한 텍스트를 봅니다. `Option+K`(Mac) / `Alt+K`(Windows/Linux)를 눌러 프롬프트에 @-멘션 참조(예: `@file.ts#5-10`)를 삽입할 수도 있습니다.</Tip>91 <Tip>Claude는 선택한 텍스트를 자동으로 인식합니다. `Option+K`(Mac) / `Alt+K`(Windows/Linux)를 누르면 @-멘션 참조(예: `@file.ts#5-10`)도 프롬프트에 삽입됩니다.</Tip>

84 92 

85 파일의 특정 줄에 대해 묻는 예시입니다.93 다음은 파일의 특정 줄에 대해 질문하는 예시입니다.

86 94 

87 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-send-prompt.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=ede3ed8d8d5f940e01c5de636d009cfd" alt="Python 파일에서 2-3줄이 선택되고 Claude Code 패널에 @-멘션 참조가 있는 해당 줄에 대한 질문이 표시되는 VS Code 편집기" width="3288" height="1876" data-path="images/vs-code-send-prompt.png" />95 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-send-prompt.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=ede3ed8d8d5f940e01c5de636d009cfd" alt="Python 파일에서 2-3번째 줄이 선택된 VS Code 에디터와, 해당 줄에 대한 질문을 @-멘션 참조와 함께 보여주는 Claude Code 패널" width="3288" height="1876" data-path="images/vs-code-send-prompt.png" />

88 </Step>96 </Step>

89 97 

90 <Step title="변경 사항 검토">98 <Step title="변경 사항 검토">

91 표시되는 내용은 프롬프트 상자 아래에 표시된 [권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)에 따라 다릅니다.99 <span id="security-considerations" />

100 

101 <span id="security-and-privacy" />

102 

103 프롬프트 상자 하단에 표시된 [권한 모드](/docs/ko/permission-modes#which-mode-a-session-starts-in)를 확인합니다.

92 104 

93 * 자동 또는 자동 편집 모드에서 Claude는 묻지 않고 작업 공간의 대부분 파일을 편집합니다.105 * Auto 또는 Edit automatically 모드에서는 Claude가 확인 없이 워크스페이스의 [대부분의 파일](/docs/ko/permission-modes#protected-paths)을 편집합니다.

94 * 수동 모드에서 Claude가 파일을 편집하려고 하면 원본과 제안된 변경 사항의 나란히 비교를 표시한 후 권한을 요청합니다. 수락, 거부 또는 Claude에 대신 수행할 작업을 알릴 수 있습니다. 수락하기 전에 diff 보기에서 제안된 콘텐츠를 직접 편집하면 Claude는 사용자가 수정했다는 것을 알려지므로 파일이 원래 제안과 일치한다고 가정하지 않습니다.106 * Manual 모드에서는 Claude가 파일을 편집하려 할 때 원본과 제안된 변경 사항을 나란히 비교하여 보여준 다음 권한을 요청합니다. 수락하거나 거부할 수 있으며, 대신 무엇을 해야 할지 Claude에게 지시할 수도 있습니다. 수락하기 전에 diff 보기에서 제안된 내용을 직접 편집하면, Claude는 사용자가 내용을 수정했다는 사실을 전달받으므로 파일이 원래 제안과 일치한다고 가정하지 않습니다.

95 107 

96 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-edits.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=e005f9b41c541c5c7c59c082f7c4841c" alt="Claude의 제안된 변경 사항의 diff를 보여주고 편집을 수행할지 여부를 묻는 권한 프롬프트가 있는 VS Code" width="3292" height="1876" data-path="images/vs-code-edits.png" />108 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-edits.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=e005f9b41c541c5c7c59c082f7c4841c" alt="편집 여부를 묻는 권한 프롬프트와 함께 Claude가 제안한 변경 사항의 diff를 보여주는 VS Code" width="3292" height="1876" data-path="images/vs-code-edits.png" />

97 109 

98 제안된 편집을 한 번에 하나씩 검토하려면 diff의 각 변경 사항 아래에 있는 **이 변경 사항 수락** 및 **이 변경 사항 거부** 버튼을 사용합니다. 변경 사항을 거부하면 제안된 콘텐츠에서 되돌려집니다. 수락하면 검토됨으로 표시됩니다. 전체 파일을 수락하거나 거부하면 여전히 검토가 완료됩니다. 100개 이상의 변경 사항이 있는 diff는 변경별 버튼 없이 열리므로 전체 파일로 검토합니다. 변경별 검토에는 Claude Code v2.1.275 이상이 필요합니다.110 제안된 편집을 변경 하나씩 검토하려면 diff의 각 변경 아래에 있는 **Accept this change** 및 **Reject this change** 버튼을 사용합니다. 변경을 거부하면 제안된 내용에서 해당 변경이 되돌려지고, 수락하면 검토 완료로 표시됩니다. 변경별 검토에는 Claude Code v2.1.275 이상이 필요합니다.

99 111 

100 동일한 작업은 편집기의 컨텍스트 메뉴와 명령 팔레트에서 **Claude Code: 커서에서 변경 사항 수락** 및 **Claude Code: 커서에서 변경 사항 거부**로 사용할 수 있습니다.112 파일 전체를 수락하거나 거부해도 검토가 완료됩니다. 변경이 100개를 초과하는 diff는 변경별 버튼 없이 열리므로 파일 전체 단위로 검토합니다.

113 

114 동일한 작업은 에디터의 컨텍스트 메뉴에서 커서 위치에 대해 수행할 수 있으며, Command Palette에서도 **Claude Code: Accept Change at Cursor** 및 **Claude Code: Reject Change at Cursor**로 사용할 수 있습니다.

101 </Step>115 </Step>

102</Steps>116</Steps>

103 117 

104Claude Code로 할 수 있는 작업에 대한 더 많은 아이디어는 [일반적인 워크플로우](/docs/ko/common-workflows)를 참조하십시오.118Claude Code로 할 수 있는 작업에 대한 더 많은 아이디어는 [일반적인 워크플로](/docs/ko/common-workflows)를 참조하세요.

105 119 

106<Tip>120<Tip>

107 명령 팔레트에서 "Claude Code: 열기 둘러보기"를 실행하여 기본 사항에 대한 안내 투어를 받습니다.121 기본 사항을 안내받으려면 Command Palette에서 "Claude Code: Open Walkthrough"를 실행하세요.

108</Tip>122</Tip>

109 123 

110<h2 id="use-the-prompt-box">124<h2 id="use-the-prompt-box">

111 프롬프트 상자 사용125 프롬프트 상자 사용하기

112</h2>126</h2>

113 127 

114프롬프트 상자는 여러 기능을 지원합니다:128프롬프트 상자는 여러 기능을 지원합니다.

115 129 

116* **권한 모드**: 프롬프트 상자 하단의 모드 표시기를 클릭하여 권한 모드를 전환합니다. Claude Code v2.1.283 이상에서는 Auto가 기본 시작 권한 모드이며, 이전 버전에서는 Pro, Max, Team 플랜에서만 사용 가능합니다. [확장 프로그램이 시작 권한 모드를 선택하는 방법](/docs/ko/permission-modes#switch-permission-modes)과 표시기가 제공하는 모든 권한 모드를 참조하세요.130* **권한 모드**: 프롬프트 상자 하단의 모드 표시기를 클릭하여 권한 모드를 전환합니다. Claude Code v2.1.283 이상에서는 Auto가 기본 제공 시작 권한 모드이며, 이전 버전에서는 Pro, Max, Team 플랜에서만 그렇습니다. 이를 바꾸는 요인과 표시기가 제공하는 모든 권한 모드는 [확장 프로그램이 시작 권한 모드를 선택하는 방식](/docs/ko/permission-modes#switch-permission-modes)을 참조하세요.

117 * **Auto**: 분류기가 사용자에게 묻는 대신 대부분의 작업을 검토합니다. [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)에서 검토하고 차단하는 항목을 참조하세요.131 * **Auto**: 사용자에게 묻는 대신 분류기가 대부분의 작업을 검토합니다. 검토 및 차단 대상은 [자동 모드](/docs/ko/permission-modes#eliminate-prompts-with-auto-mode)를 참조하세요.

118 * **Manual**: Claude가 파일 편집 및 대부분의 셸 명령 전에 권한을 요청합니다.132 * **Manual**: Claude가 파일 편집 및 대부분의 셸 명령 전에 권한을 요청합니다.

119 * **Plan**: Claude가 수행할 작업을 설명하고 변경 작업을 시작하기 전에 승인을 기다립니다. VS Code는 자동으로 계획을 전체 Markdown 문서로 열어서 Claude가 시작하기 전에 피드백을 제공하기 위해 인라인 주석을 추가할 수 있습니다.133 * **Plan**: Claude가 수행할 작업을 설명하고 변경하기 전에 승인을 기다립니다. VS Code는 플랜을 전체 Markdown 문서로 자동으로 열며, Claude가 작업을 시작하기 전에 인라인 댓글을 추가하여 피드백을 제공할 수 있습니다.

120 134 

121 프롬프트 상자에 `/plan`을 입력할 수도 있습니다. Claude Code v2.1.280 이상이 필요합니다.135 프롬프트 상자에 `/plan`을 입력할 수도 있습니다. Claude Code v2.1.280 이상이 필요합니다.

122 136 

123 * `/plan`: 계획 모드로 전환합니다. 이미 계획 모드에 있으면 현재 계획을 대신 표시합니다.137 * `/plan`: 플랜 모드로 전환합니다. 이미 플랜 모드인 경우 현재 플랜을 대신 보여줍니다.

124 * `/plan`과 함께 작업(예: `/plan fix the auth bug`)을 입력합니다: 계획 모드로 전환하고 해당 작업 계획을 시작합니다.138 * `/plan fix the auth bug`처럼 작업과 함께 입력한 `/plan`: 플랜 모드로 전환하고 해당 작업의 계획을 시작합니다.

125 * `/plan open`: 이미 계획 모드에 있을 때 편집기에서 계획 파일을 엽니다.139 * `/plan open`: 이미 플랜 모드인 경우 편집기에서 플랜 파일을 엽니다.

126 * **Edit automatically**: Claude가 묻지 않고 편집합니다.140 * **Edit automatically**: Claude가 묻지 않고 편집합니다.

127* **모델**: 명령 메뉴에서 \*\*Switch model…\*\*을 선택하여 세션 중간에 모델을 변경합니다. 프롬프트 상자 하단의 모델 이름을 클릭하여 동일한 선택기를 열 수도 있습니다. Claude Code v2.1.284 이상에서는 프롬프트 상자에 `/model`만 입력해도 선택기가 열립니다.141* **모델**: 명령 메뉴에서 \*\*Switch model…\*\*을 선택하여 세션 중에 모델을 변경합니다. 프롬프트 상자 하단의 모델 이름을 클릭하여 같은 선택기를 열 수도 있습니다. Claude Code v2.1.284 이상에서는 프롬프트 상자에 `/model`만 입력해도 선택기가 열립니다.

142 

143 현재 모델이 [effort 수준](/docs/ko/model-config#adjust-effort-level)을 지원하는 경우 선택기에 **Effort** 행도 표시되며, 모델 이름 버튼에 선택된 수준이 표시됩니다. `max` 이외의 수준을 선택하면 Claude Code는 이를 현재 모델의 기본값으로 사용자 설정의 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 아래에 저장합니다. `max`는 현재 세션에만 적용됩니다. 모델 이름 버튼과 **Effort** 행에는 Claude Code v2.1.257 이상이 필요합니다.

128 144 

129 현재 모델이 [노력 수준](/docs/ko/model-config#adjust-effort-level)을 지원하는 경우 선택기에 **Effort** 행도 표시되며 모델 이름 버튼은 선택된 수준을 표시합니다. `max` 이외의 수준을 선택하면 Claude Code는 사용자 설정의 [`modelSettings`](/docs/ko/settings-reference#modelsettings) 아래에서 현재 모델에 대한 기본값으로 저장합니다. `max`는 현재 세션에만 적용됩니다. 모델 이름 버튼과 **Effort** 행에는 Claude Code v2.1.257 이상이 필요합니다.145 [동적 워크플로](/docs/ko/workflows)가 활성화되어 있고 현재 모델이 이를 지원하면 **Effort** 행 아래에 **Ultracode** 스위치가 나타납니다. 이를 켜면 Claude가 이 세션의 각 실질적인 작업에 대해 선택된 effort 수준으로 [워크플로](/docs/ko/workflows#let-claude-decide-with-ultracode)를 계획합니다. 켜져 있는 동안 모델 이름 버튼에는 수준 뒤에 `· Ultracode`가 표시됩니다. 이 스위치에는 Claude Code v2.1.284 이상이 필요합니다.

146* **명령 메뉴**: `/`를 클릭하거나 입력하여 명령 메뉴를 엽니다. 파일 첨부, 모델 전환, 확장 사고 켜기/끄기 등의 옵션이 있습니다.

130 147 

131 [동적 워크플로우](/docs/ko/workflows)가 활성화되고 현재 모델이 이를 지원하는 경우 **Effort** 행 아래에 **Ultracode** 스위치가 나타납니다. 이를 켜서 Claude가 이 세션의 각 실질적인 작업에 대해 선택된 노력 수준에서 [워크플로우](/docs/ko/workflows#let-claude-decide-with-ultracode)를 계획하도록 합니다. 켜져 있는 동안 모델 이름 버튼은 수준 뒤에 `· Ultracode`를 표시합니다. 스위치에는 Claude Code v2.1.284 이상이 필요합니다.148 Customize 섹션에는 MCP 서버, 명령, 출력 스타일, 훅, 메모리, 지침, 권한, 플러그인 같은 항목이 포함됩니다. 터미널 아이콘이 있는 항목은 통합 터미널에서 열립니다.

132* **명령 메뉴**: `/`를 클릭하거나 `/`를 입력하여 명령 메뉴를 엽니다. 옵션에는 파일 첨부, 모델 전환, 확장 사고 토글이 포함됩니다.

133 149 

134 Customize 섹션은 MCP 서버, 명령, 출력 스타일, hooks, 메모리, 지시사항, 권한 및 플러그인과 같은 항목을 포함합니다. 터미널 아이콘이 있는 항목은 통합 터미널에서 열립니다.150 * `/usage`나 [`/remote-control`](/docs/ko/remote-control) 같은 명령을 찾아보려면 Customize 섹션에서 **Slash commands**를 선택합니다. 필터 상자와 함께 명령 목록이 대화 상자에 표시됩니다. 하나를 선택하면 실행됩니다. 프롬프트 상자에 `/`를 입력하면 여전히 인라인으로 명령이 제안됩니다. Claude Code v2.1.257 이상이 필요합니다.

135 151 

136 * slash 명령 `/usage` 또는 [`/remote-control`](/docs/ko/remote-control)과 같은 명령을 찾아보려면 Customize 섹션에서 **Slash commands**를 선택합니다. 대화 상자에 필터 상자가 있는 목록이 표시됩니다. 하나를 선택하여 실행합니다. 프롬프트 상자에서 `/`를 입력하면 여전히 명령을 인라인으로 제안합니다. Claude Code v2.1.257 이상이 필요합니다.152 `/skills`를 입력해도 이 대화 상자가 열립니다. 각 [스킬](/docs/ko/skills) 행에는 **On** 또는 **Name only** 같은 [표시 여부](/docs/ko/skills#override-skill-visibility-from-settings)가 나타납니다. 표시 여부를 클릭하여 변경할 수 있지만, 플러그인 스킬처럼 **locked**로 표시된 행은 제외됩니다. `/skills` 단축 명령과 표시 여부 컨트롤에는 Claude Code v2.1.280 이상이 필요합니다.

153 * Customize 섹션에서 **Output styles**를 선택하여 사용자 지정 스타일을 포함한 [출력 스타일](/docs/ko/output-styles)을 선택합니다. Claude Code v2.1.257 이상이 필요합니다.

137 154 

138 또한 `/skills`를 입력하면 이 대화 상자가 열립니다. 각 [skill](/docs/ko/skills) 행은 **On** 또는 **Name only**와 같은 [가시성](/docs/ko/skills#override-skill-visibility-from-settings)을 표시합니다. 플러그인 skills와 같이 **locked**로 표시된 행을 제외하고 가시성을 클릭하여 변경합니다. `/skills` 바로가기 및 가시성 컨트롤에는 Claude Code v2.1.280 이상이 필요합니다.155 대신 사용자 지정 스타일을 만들려면 **Output styles** 메뉴에서 **Build a custom style**을 선택합니다. Claude Code가 프로젝트 또는 사용자 수준에서 [스타일 파일](/docs/ko/output-styles#create-a-custom-output-style)을 대신 작성합니다. Claude Code v2.1.261 이상이 필요합니다.

139 * Customize 섹션에서 **Output styles**를 선택하여 사용자 정의 스타일을 포함한 [출력 스타일](/docs/ko/output-styles)을 선택합니다. Claude Code v2.1.257 이상이 필요합니다.156 * Customize 섹션에서 **Hooks**를 선택하면 세션에 로드된 [훅](/docs/ko/hooks)을 이벤트별로 그룹화하여 볼 수 있습니다. 사용자, 프로젝트, 로컬 설정 파일에 저장된 훅을 추가, 편집, 제거할 수 있습니다. 관리형 설정이나 플러그인 같은 다른 소스의 훅은 읽기 전용입니다. Claude Code v2.1.269 이상이 필요합니다.

157 * Customize 섹션에서 **Permissions**를 선택하면 세션의 [권한 규칙](/docs/ko/permissions)을 Allow, Ask, Deny로 그룹화하여 볼 수 있습니다. 사용자, 프로젝트 또는 로컬 설정에 규칙을 추가하고 그곳에 저장된 규칙을 제거할 수 있습니다. 관리형 설정이나 이 세션에만 적용되는 승인 같은 다른 소스의 규칙은 읽기 전용입니다. Claude Code v2.1.269 이상이 필요합니다.

158 * Customize 섹션에서 **Memory**를 선택하여 [자동 메모리](/docs/ko/memory#auto-memory)를 켜거나 끕니다. 켜져 있는 동안 Claude가 저장한 메모리를 찾아보고, 메모리가 저장된 폴더를 파일 관리자에서 열 수도 있습니다. Claude Code v2.1.274 이상이 필요합니다.

140 159 

141 대신 사용자 정의 스타일을 만들려면 **Output styles** 메뉴에서 **Build a custom style**을 선택합니다. Claude Code는 프로젝트 또는 사용자 수준에서 [스타일 파일](/docs/ko/output-styles#create-a-custom-output-style)을 작성합니다. Claude Code v2.1.261 이상이 필요합니다.160 저장된 메모리를 클릭하면 대화 상자에서 읽을 수 있으며, 그곳에서 텍스트를 편집하거나 메모리를 삭제하거나 편집기에서 파일을 열 수 있습니다. 대화 상자에서 메모리를 보고, 편집하고, 삭제하려면 Claude Code v2.1.275 이상이 필요합니다.

142 * Customize 섹션에서 **Hooks**를 선택하여 세션에 로드된 [hooks](/docs/ko/hooks)을 이벤트별로 그룹화하여 봅니다. 사용자, 프로젝트 및 로컬 설정 파일에 저장된 hooks를 추가, 편집 또는 제거할 수 있습니다. 관리되는 설정 또는 플러그인과 같은 다른 소스의 hooks는 읽기 전용입니다. Claude Code v2.1.269 이상이 필요합니다.161 * Customize 섹션에서 **Instructions**를 선택하여 Claude가 읽는 [CLAUDE.md 파일](/docs/ko/memory#claude-md-files)을 편집합니다. 파일을 선택하면 편집기에서 열립니다. 파일이 아직 없으면 Claude Code가 먼저 생성합니다. Claude Code v2.1.274 이상이 필요합니다.

143 * Customize 섹션에서 **Permissions**를 선택하여 세션의 [권한 규칙](/docs/ko/permissions)을 Allow, Ask, Deny로 그룹화하여 봅니다. 사용자, 프로젝트 또는 로컬 설정에 규칙을 추가하고 거기에 저장된 규칙을 제거할 수 있습니다. 관리되는 설정 또는 이 세션에만 적용되는 승인과 같은 다른 소스의 규칙은 읽기 전용입니다. Claude Code v2.1.269 이상이 필요합니다.162 * Customize 섹션에서 **Status**를 선택하거나 `/status`를 입력하여 세션의 Claude Code 버전, 계정, 모델, MCP 서버 세부 정보를 확인합니다. Claude Code v2.1.280 이상이 필요합니다.

144 * Customize 섹션에서 **Memory**를 선택하여 [auto memory](/docs/ko/memory#auto-memory)를 켜거나 끕니다. 켜져 있는 동안 Claude가 저장한 메모리를 찾아보고 파일 관리자에서 이들을 저장하는 폴더를 표시할 수도 있습니다. Claude Code v2.1.274 이상이 필요합니다.163 * Customize 섹션에서 **Sandbox**를 선택하거나 `/sandbox`를 입력하여 Claude의 Bash 명령이 [샌드박스에서](/docs/ko/sandboxing) 실행되는지 확인합니다. 그곳에서 샌드박스 모드를 전환하고 [제외 명령](/docs/ko/settings-reference#sandbox-excludedcommands)을 추가할 수 있습니다. Claude Code v2.1.280 이상이 필요합니다.

164 * Customize 섹션에서 **Claude in Chrome**을 선택하거나 `/chrome`을 입력하여 [Claude in Chrome](/docs/ko/chrome) 연결을 확인하고 관리합니다. 두 방법 모두 claude.ai 계정으로 로그인해야 합니다. Claude Code v2.1.280 이상이 필요합니다.

165 * Context 섹션에서 **Export conversation**을 선택하거나 `/export`를 입력하여 대화를 일반 텍스트로 복사하거나 파일로 저장합니다. `/export notes.txt`처럼 파일 이름을 추가하면 대화 상자를 건너뛰고 파일을 저장할 위치를 선택할 수 있습니다. Claude Code v2.1.280 이상이 필요합니다.

166 * Settings 섹션에는 **Enable Remote Control for all sessions**가 포함되어 있으며, 이는 [`remoteControlAtStartup`](/docs/ko/settings-reference#remotecontrolatstartup)을 설정하여 [새 대화형 세션이 Remote Control에 자동으로 연결되는지](/docs/ko/remote-control#enable-remote-control-for-all-sessions) 여부를 제어합니다. Claude Code v2.1.203 이상이 필요합니다.

145 167 

146 저장된 메모리를 클릭하여 대화 상자에서 읽고, 텍스트를 편집하거나, 메모리를 삭제하거나, 편집기에서 파일을 열 수 있습니다. 대화 상자에서 메모리를 보거나, 편집하거나, 삭제하려면 Claude Code v2.1.275 이상이 필요합니다.168 VS Code 창에서 토글을 켜거나 끄면 변경 사항은 이후에 시작하는 세션에만 국한되지 않습니다. 해당 VS Code 창에 이미 열려 있는 세션에도 적용됩니다. 끄면 열려 있는 세션의 연결이 해제됩니다. Claude Code v2.1.261 이상에서는 다른 VS Code 창에 열려 있는 세션에도 변경 사항이 적용됩니다.

147 * Customize 섹션에서 **Instructions**를 선택하여 Claude가 읽는 [CLAUDE.md 파일](/docs/ko/memory#claude-md-files)을 편집합니다. 파일을 선택하여 편집기에서 엽니다. 파일이 아직 없으면 Claude Code가 먼저 생성합니다. Claude Code v2.1.274 이상이 필요합니다.169 * Settings 섹션에는 **Focus view**도 포함되어 있으며, 이는 도구 호출, 도구 결과, 사고를 확장 가능한 행 뒤에 숨기고 사용자의 프롬프트와 Claude의 응답만 남깁니다. 그곳에서 켜고 끄거나, `Ctrl+Option+F`(Mac) / `Ctrl+Alt+F`(Windows/Linux)를 누르거나, 명령 팔레트에서 **Claude Code: Toggle Focus view**를 사용합니다. 변경 사항은 열려 있는 모든 세션에 적용되며 세션 간에 유지됩니다. Claude Code v2.1.221 이상이 필요합니다.

148 * Customize 섹션에서 **Status**를 선택하거나 `/status`를 입력하여 세션의 Claude Code 버전, 계정, 모델 및 MCP 서버 세부 정보를 확인합니다. Claude Code v2.1.280 이상이 필요합니다.

149 * Customize 섹션에서 **Sandbox**를 선택하거나 `/sandbox`를 입력하여 Claude의 Bash 명령이 [샌드박스](/docs/ko/sandboxing)에서 실행되는지 확인합니다. 샌드박스 모드를 전환하고 [제외된 명령](/docs/ko/settings-reference#sandbox-excludedcommands)을 추가할 수 있습니다. Claude Code v2.1.280 이상이 필요합니다.

150 * Customize 섹션에서 **Claude in Chrome**을 선택하거나 `/chrome`을 입력하여 [Claude in Chrome](/docs/ko/chrome) 연결을 확인하고 관리합니다. 둘 다 claude.ai 계정으로 로그인해야 합니다. Claude Code v2.1.280 이상이 필요합니다.

151 * Context 섹션에서 **Export conversation**을 선택하거나 `/export`를 입력하여 대화를 일반 텍스트로 복사하거나 파일에 저장합니다. `/export notes.txt`와 같은 파일 이름을 추가하여 대화 상자를 건너뛰고 파일을 저장할 위치를 선택합니다. Claude Code v2.1.280 이상이 필요합니다.

152 * Settings 섹션에는 **Enable Remote Control for all sessions**이 포함되어 있으며, 이는 [`remoteControlAtStartup`](/docs/ko/settings-reference#remotecontrolatstartup)을 설정하여 [새 대화형 세션이 Remote Control에 자동으로 연결되는지](/docs/ko/remote-control#enable-remote-control-for-all-sessions) 제어합니다. Claude Code v2.1.203 이상이 필요합니다.

153 170 

154 VS Code 창에서 토글을 켜거나 끌 때 변경 사항은 그 이후에 시작하는 세션뿐만 아니라 해당 VS Code 창에서 이미 열려 있는 세션에 적용됩니다. 토글을 끄면 열려 있는 세션이 연결 해제됩니다. Claude Code v2.1.261 이상에서는 변경 사항이 다른 VS Code 창에서 열려 있는 세션에도 도달합니다.171 Claude의 최신 할 일 목록은 계속 표시되며, Claude의 대기 중인 질문이 묻고 있는 텍스트도 마찬가지입니다. 이 기능에는 Claude Code v2.1.225 이상이 필요합니다. Claude가 [서브에이전트](/docs/ko/sub-agents)를 실행하는 동안, 최신 활동이 담긴 실시간 진행 상황 행이 해당 서브에이전트를 시작한 도구 호출 그룹 아래에 나타납니다. 이 기능에는 Claude Code v2.1.269 이상이 필요합니다.

155 * Settings 섹션에는 또한 **Focus view**가 포함되어 있으며, 이는 도구 호출, 도구 결과 및 사고를 확장 가능한 행 뒤에 숨기고 프롬프트와 Claude의 응답을 남깁니다. 여기서 토글하거나, `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux)를 사용하거나, Command Palette에서 **Claude Code: Toggle Focus view**를 사용하여 토글합니다. 변경 사항은 모든 열려 있는 세션에 적용되고 세션 전체에서 유지됩니다. Claude Code v2.1.221 이상이 필요합니다.172 * Anthropic 계정에서 로그아웃하려면 Settings 섹션에서 **Sign out**을 선택하거나 `/logout`을 입력합니다. [서드파티 제공업체](#use-third-party-providers)에서는 메뉴가 둘 다 제공하지 않습니다. Claude Code v2.1.277 이상이 필요합니다.

173 * 버그를 신고하려면 메뉴 하단의 **Report a problem**을 클릭하거나, 보고서를 미리 채우는 선택적 설명과 함께 `/bug` 또는 `/feedback`을 입력합니다. 보고서를 제출할 때 퍼스트 파티 연결에서 Anthropic에 로그인되어 있으면 Claude Code가 이를 Anthropic에 전송합니다. Claude Code v2.1.229 이상이 필요합니다.

156 174 

157 Claude의 최신 할 일 목록은 계속 표시되며, Claude가 묻는 보류 중인 질문의 텍스트도 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. Claude가 [subagents](/docs/ko/sub-agents)를 실행하는 동안 최신 활동이 있는 라이브 진행 행이 이들을 시작한 도구 호출 그룹 아래에 나타납니다. Claude Code v2.1.269 이상이 필요합니다.175 서드파티 제공업체에서 또는 Anthropic 자격 증명 없이 사용하는 경우에는 아무것도 전송되지 않습니다. 작성하기 전에 대화 상자에 그렇게 안내됩니다. 제출하면 알려진 API 키와 토큰 패턴이 삭제된 상태로 보고서가 [`~/.claude/feedback-bundles/` 아래의 로컬 아카이브](/docs/ko/data-usage#telemetry-services)로 저장됩니다. 보고서를 컴퓨터에 저장하려면 Claude Code v2.1.284 이상이 필요합니다.

158 * Anthropic 계정에서 로그아웃하려면 Settings 섹션에서 **Sign out**을 선택하거나 `/logout`을 입력합니다. [타사 공급자](#use-third-party-providers)에서는 메뉴가 둘 다 제공하지 않습니다. Claude Code v2.1.277 이상이 필요합니다.

159 * 버그를 보고하려면 메뉴 하단의 **Report a problem**을 클릭하거나 `/bug` 또는 `/feedback`을 입력하고 선택적으로 보고서를 미리 채우는 설명을 입력합니다. 보고서를 제출하고 1차 연결에서 Anthropic에 로그인한 경우 Claude Code는 이를 Anthropic에 보냅니다. Claude Code v2.1.229 이상이 필요합니다.

160 176 

161 타사 공급자에서 또는 Anthropic 자격 증명 없이 아무것도 전송되지 않습니다. 대화 상자는 작성하기 전에 그렇게 말합니다. 보고서를 제출하면 알려진 API 키 및 토큰 패턴이 수정된 상태로 [로컬 아카이브 `~/.claude/feedback-bundles/` 아래에](/docs/ko/data-usage#telemetry-services) 저장됩니다. 해당 파일을 Anthropic 계정 담당자에게 보내거나 지원 요청에 첨부합니다. 확인에서 파일 이름을 지정하고 **Show folder** 버튼을 포함합니다. 컴퓨터에 보고서를 저장하려면 Claude Code v2.1.284 이상이 필요합니다.177 보고서가 저장되면 확인 메시지에 파일 이름이 표시되고 **Show folder** 버튼이 포함됩니다. 해당 파일을 Anthropic 계정 담당자에게 보내거나 지원 요청에 첨부합니다.

162 178 

163 조직의 정책이 제품 피드백을 끄면 **Report a problem**이 메뉴에 나타나지 않으며, `/bug` 및 `/feedback`은 보고서를 열지 않고 `Feedback is turned off by your organization's policy or this environment's settings.` 공지를 표시합니다. Claude Code v2.1.284 이상에서는 `DISABLE_FEEDBACK_COMMAND` 또는 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 환경 변수를 설정하면 피드백도 꺼지고 보고서를 열면 해당 공지가 표시됩니다.179 조직의 정책이 제품 피드백을 끈 경우 **Report a problem**이 메뉴에 나타나지 않으며, `/bug`와 `/feedback`은 보고서를 여는 대신 `Feedback is turned off by your organization's policy or this environment's settings.` 알림을 표시합니다. Claude Code v2.1.284 이상에서는 `DISABLE_FEEDBACK_COMMAND` 또는 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` 환경 변수를 설정한 경우에도 피드백이 꺼지며, 보고서를 열면 대신 해당 알림이 표시됩니다.

164* **Side questions**: 질문 앞에 `/btw`를 입력하여 [대화에 추가하지 않고](/docs/ko/interactive-mode#side-questions-with-%2Fbtw) 세션에 대해 질문합니다. 답변은 채팅 옆의 패널에서 열리며, 여기서 후속 질문을 할 수 있습니다. 스레드는 창 다시 로드를 유지합니다. Claude Code는 최신 20개 교환을 유지하고 Claude Code가 [안전하게 보존 기간을 결정](/docs/ko/claude-directory#cleaned-up-automatically)할 수 있는 한 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) 일정에 따라 저장된 스레드를 만료합니다. 스레드를 지우려면 패널의 휴지통 아이콘을 클릭합니다. Claude Code v2.1.227 이상이 필요합니다.180* **곁가지 질문**: `/btw` 뒤에 질문을 입력하여 [대화에 추가하지 않고](/docs/ko/interactive-mode#side-questions-with-%2Fbtw) 세션에 대해 질문합니다. 답변은 채팅 옆 패널에 열리며, 그곳에서 후속 질문을 할 수 있습니다. Claude Code v2.1.227 이상이 필요합니다.

165* **응답 복사**: 응답 위에 마우스를 올리고 **Copy response**를 클릭하여 클립보드에 복사하거나 `/copy`를 입력하여 최신 응답을 복사합니다. `/copy 2`는 두 번째 마지막 응답을 복사합니다. Claude Code v2.1.277 이상이 필요합니다.181 

182 스레드는 창을 다시 로드해도 유지됩니다. Claude Code는 최신 20개의 주고받은 내용을 보관하며, Claude Code가 [보존 기간을 안전하게 결정할 수 있는](/docs/ko/claude-directory#cleaned-up-automatically) 한 [`cleanupPeriodDays`](/docs/ko/settings-reference#cleanupperioddays) 일정에 따라 저장된 스레드를 만료시킵니다. 스레드를 지우려면 패널의 휴지통 아이콘을 클릭합니다.

183* **응답 복사**: 응답 위에 마우스를 올리고 **Copy response**를 클릭하여 클립보드에 복사하거나, `/copy`를 입력하여 최신 응답을 복사합니다. `/copy 2`는 끝에서 두 번째 응답을 복사합니다. Claude Code v2.1.277 이상이 필요합니다.

166* **북마크**: 응답 위에 마우스를 올리고 **Bookmark response**를 클릭하여 저장하거나, 저장된 응답에서 **Remove bookmark**를 클릭하여 제거합니다.184* **북마크**: 응답 위에 마우스를 올리고 **Bookmark response**를 클릭하여 저장하거나, 저장된 응답에서 **Remove bookmark**를 클릭하여 제거합니다.

167 185 

168 저장된 응답을 검토하려면 Bookmarks 패널을 엽니다. Claude Code 패널 상단의 북마크 아이콘을 클릭하거나, 명령 메뉴의 Context 섹션에서 **Bookmarks**를 선택하거나, `/bookmarks`를 입력합니다. Claude Code v2.1.286 이상이 필요합니다.186 저장된 응답을 검토하려면 Bookmarks 패널을 엽니다. Claude Code 패널 상단의 북마크 아이콘을 클릭하거나, 명령 메뉴의 Context 섹션에서 **Bookmarks**를 선택하거나, `/bookmarks`를 입력하면 됩니다. Claude Code v2.1.286 이상이 필요합니다.

169* **Claude가 보낸 파일**: 세션이 [Remote Control](/docs/ko/remote-control#start-a-remote-control-session)에 연결되어 있고 Claude가 [`SendUserFile` 도구](/docs/ko/tools-reference)로 파일을 보내면 대화에 **Sent report.md, chart.png**와 같은 행이 표시됩니다. 파일 이름을 클릭하면 편집기에서 열립니다.187* **Claude가 보내는 파일**: 세션이 [Remote Control](/docs/ko/remote-control#start-a-remote-control-session)에 연결되어 있고 Claude가 [`SendUserFile` 도구](/docs/ko/tools-reference)로 파일을 보내면, 대화에 **Sent report.md, chart.png** 같은 행이 표시됩니다. 파일 이름을 클릭하면 편집기에서 열립니다.

170* **Context indicator**: 프롬프트 상자는 Claude의 컨텍스트 윈도우를 얼마나 사용하고 있는지 보여줍니다. Claude는 필요할 때 자동으로 압축하거나 `/compact`를 수동으로 실행할 수 있습니다.188* **컨텍스트 표시기**: 프롬프트 상자에 Claude의 컨텍스트 윈도우를 얼마나 사용하고 있는지 표시됩니다. Claude는 필요할 때 자동으로 압축하며, `/compact`를 수동으로 실행할 수도 있습니다.

171* **Prompt cache clock**: 컨텍스트 표시기 옆의 시계 아이콘은 대화의 [prompt cache](/docs/ko/prompt-caching)가 만료되기 전에 남은 시간을 추정합니다. 캐시의 5분 또는 1시간 [수명](/docs/ko/prompt-caching#cache-lifetime)에서 카운트다운되며, 캐시를 사용하는 각 응답은 카운트다운을 다시 시작합니다. 압축과 별개로 [캐시를 무효화하는 작업](/docs/ko/prompt-caching#actions-that-invalidate-the-cache)은 시계를 재설정하지 않으므로 모델을 전환한 후에도 남은 시간을 표시할 수 있습니다.189* **프롬프트 캐시 시계**: 컨텍스트 표시기 옆의 시계 아이콘은 대화의 [프롬프트 캐시](/docs/ko/prompt-caching)가 만료되기까지 남은 시간을 추정합니다. 캐시의 5분 또는 1시간 [수명](/docs/ko/prompt-caching#cache-lifetime)부터 카운트다운하며, 캐시를 사용하는 각 응답마다 카운트다운이 다시 시작됩니다. 압축을 제외하면 [캐시를 무효화하는 작업](/docs/ko/prompt-caching#actions-that-invalidate-the-cache)은 시계를 재설정하지 않으므로, 모델을 전환한 후에도 남은 시간(분)이 계속 표시될 수 있습니다.

172 * 카운트다운이 끝날 때까지 아이콘은 **12m**과 같이 남은 분을 표시합니다.190 * 카운트다운이 끝나기 전까지 아이콘에는 **12m**처럼 남은 시간(분)이 표시됩니다.

173 * 카운트다운이 끝나면 분이 사라지고 아이콘이 빨간색 또는 테마의 오류 색상으로 변하며 다음 응답까지 유지됩니다. 캐시가 만료되었을 가능성이 높으므로 캐시가 다시 빌드되는 동안 다음 메시지에 대한 응답이 더 느리고 비용이 더 많이 들 것으로 예상합니다. 5분 수명이 메시지 사이에 계속 끝나면 [TTL을 직접 선택](/docs/ko/prompt-caching#choose-the-ttl-yourself)을 참조하세요.191 * 카운트다운이 끝나면 다음 응답까지 분 표시가 사라지고 아이콘이 빨간색 또는 테마의 오류 색상으로 바뀝니다. 캐시가 만료되었을 가능성이 높으므로, 캐시가 다시 구축되는 동안 다음 메시지에 대한 응답은 더 느리고 비용이 더 많이 들 수 있습니다. 메시지 사이에 5분 수명이 계속 만료된다면 [TTL 직접 선택하기](/docs/ko/prompt-caching#choose-the-ttl-yourself)를 참조하세요.

174 * 대화가 [압축](/docs/ko/prompt-caching#compacting-the-conversation)된 직후 아이콘도 다음 응답까지 분 없이 빨간색으로 변합니다. 캐시가 아직 압축된 대화를 포함하지 않기 때문입니다.192 * 대화가 [압축](/docs/ko/prompt-caching#compacting-the-conversation)된 직후에도 캐시가 아직 압축된 대화를 포함하지 않기 때문에, 다음 응답까지 아이콘이 분 표시 없이 빨간색으로 바뀝니다.

175* **Agent map**: 대화에 [subagents](/docs/ko/sub-agents)가 포함되면 프롬프트 상자 하단에 **2 agents**와 같은 에이전트 수가 나타납니다. 점은 서브에이전트가 작동 중인지 또는 권한을 기다리고 있는지 여부를 보여줍니다.193* **에이전트 맵**: 대화에 [서브에이전트](/docs/ko/sub-agents)가 포함되면 프롬프트 상자 하단에 **2 agents** 같은 에이전트 수가 나타납니다. 점은 서브에이전트가 작업 중인지 또는 사용자의 권한을 기다리고 있는지를 보여줍니다.

176 194 

177 에이전트 맵을 열려면 에이전트 수를 클릭합니다. 에이전트 맵은 대화의 서브에이전트를 주 에이전트 아래의 트리로 그리며, 각각 상태, 경과 시간 및 토큰 수를 표시합니다. 서브에이전트를 클릭하여 프롬프트 및 도구 호출을 보거나, 읽기 전용 기록을 열거나, 실행 중일 때 중지합니다. Claude Code v2.1.269 이상이 필요합니다.195 에이전트 수를 클릭하면 에이전트 맵이 열리며, 대화의 서브에이전트가 메인 에이전트 아래 트리로 표시되고 각각 상태, 경과 시간, 토큰 수가 나타납니다. 서브에이전트를 클릭하면 해당 프롬프트와 도구 호출을 보거나, 읽기 전용 트랜스크립트를 열거나, 실행 중에 중지할 수 있습니다. Claude Code v2.1.269 이상이 필요합니다.

178 196 

179 맵은 또한 세션의 다른 [background tasks](/docs/ko/tools-reference#background-commands)(예: background shell 명령 및 [monitors](/docs/ko/tools-reference#monitor-tool))를 에이전트 아래에 나열합니다. 행을 클릭하여 작업의 카드를 열고 거기서 중지합니다.197 맵에는 에이전트 아래에 백그라운드 셸 명령 및 [모니터](/docs/ko/tools-reference#monitor-tool) 같은 세션의 다른 [백그라운드 작업](/docs/ko/tools-reference#background-commands)도 나열됩니다. 행을 클릭하면 작업 카드가 열리며 그곳에서 작업을 중지할 수 있습니다.

180 198 

181 에이전트 수가 표시되지 않는 경우(예: Claude가 background shell을 시작했지만 subagents가 없는 경우) 에이전트 맵을 열려면 프롬프트 상자에 `/tasks`를 입력합니다. 맵의 background tasks 및 입력된 `/tasks`에는 Claude Code v2.1.277 이상이 필요합니다.199 Claude가 서브에이전트 없이 백그라운드 셸만 시작한 경우처럼 에이전트 수가 표시되지 않을 때 맵을 열려면 프롬프트 상자에 `/tasks`를 입력합니다. 맵의 백그라운드 작업과 `/tasks` 입력에는 Claude Code v2.1.277 이상이 필요합니다.

182 200 

183 Claude Code v2.1.286 이상에서는 **Stop**을 클릭하거나 `Esc`를 누르면 현재 턴이 종료됩니다. 백그라운드 에이전트는 완료되거나 맵에서 중지할 때까지 계속 실행됩니다.201 Claude Code v2.1.286 이상에서는 **Stop**을 클릭하거나 `Esc`를 누르면 현재 턴이 종료됩니다. 백그라운드 에이전트는 완료되거나 맵에서 중지할 때까지 계속 실행됩니다.

184* **Extended thinking**: Claude가 복잡한 문제를 추론하는 데 더 많은 시간을 소비할 수 있게 합니다. 명령 메뉴(`/`)를 통해 토글합니다. Claude의 추론은 대화에 축소된 블록으로 나타납니다. 블록을 클릭하여 읽거나 `Ctrl+O`를 눌러 세션의 모든 사고 블록을 확장하거나 축소합니다. 자세한 내용은 [Extended thinking](/docs/ko/model-config#extended-thinking)을 참조하세요.202* **확장 사고**: Claude가 복잡한 문제를 추론하는 데 더 많은 시간을 쓸 수 있게 합니다. 명령 메뉴(`/`)에서 켭니다. Claude의 추론은 대화에 접힌 블록으로 나타납니다. 블록을 클릭하여 읽거나, `Ctrl+O`를 눌러 세션의 모든 사고 블록을 펼치거나 접을 수 있습니다. 자세한 내용은 [확장 사고](/docs/ko/model-config#extended-thinking)를 참조하세요.

185* **Multi-line input**: `Shift+Enter`를 눌러 보내지 않고 새 줄을 추가합니다. 이는 질문 대화의 "Other" 자유 텍스트 입력에서도 작동합니다.203* **여러 줄 입력**: `Shift+Enter`를 누르면 전송하지 않고 새 줄을 추가합니다. 이는 질문 대화 상자의 "Other" 자유 텍스트 입력에서도 작동합니다.

186 204 

187<h3 id="reference-files-and-folders">205<h3 id="reference-files-and-folders">

188 참조 파일 및 폴더206 파일 및 폴더 참조하기

189</h3>207</h3>

190 208 

191@-멘션을 사용하여 특정 파일 또는 폴더에 대한 컨텍스트를 Claude에 제공합니다. `@` 다음에 파일 또는 폴더 이름을 입력하면 Claude가 해당 콘텐츠를 읽고 이에 대해 질문하거나 변경할 수 있습니다. Claude Code는 퍼지 매칭을 지원하므로 부분 이름을 입력하여 필요한 항목을 찾을 수 있습니다:209@-멘션을 사용하여 특정 파일이나 폴더에 대한 컨텍스트를 Claude에 제공합니다. `@` 뒤에 파일 또는 폴더 이름을 입력하면 Claude가 해당 내용을 읽고 이에 대한 질문에 답하거나 변경할 수 있습니다. Claude Code는 퍼지 매칭을 지원하므로 이름의 일부만 입력해도 원하는 항목을 찾을 수 있습니다.

192 210 

193```text wrap theme={null}211```text wrap theme={null}

194Explain the logic in @auth (fuzzy matches auth.js, AuthService.ts, etc.)212Explain the logic in @auth (fuzzy matches auth.js, AuthService.ts, etc.)

195What's in @src/components/ (include a trailing slash for folders)213What's in @src/components/ (include a trailing slash for folders)

196```214```

197 215 

198큰 PDF의 경우 전체 파일 대신 특정 페이지를 읽도록 Claude에 요청할 수 있습니다. 단일 페이지, 1-10페이지와 같은 범위 또는 3페이지 이상과 같은 개방형 범위입니다. 특정 페이지 읽기에는 Claude Code가 실행되는 컴퓨터에 [poppler-utils](/docs/ko/tools-reference#read-tool-behavior)가 필요합니다.216큰 PDF의 경우 전체 파일 대신 특정 페이지를 읽도록 Claude에 요청할 수 있습니다. 단일 페이지, 1-10페이지 같은 범위, 또는 3페이지 이후 같은 끝이 열린 범위를 요청하세요. 특정 페이지를 읽으려면 Claude Code가 실행되는 머신에 [poppler-utils](/docs/ko/tools-reference#read-tool-behavior)가 필요합니다.

217 

218편집기에서 텍스트를 선택하면 Claude가 강조 표시된 코드를 자동으로 볼 수 있습니다. 프롬프트 상자 하단에 선택된 줄 수가 표시됩니다. `Option+K`(Mac) / `Alt+K`(Windows/Linux)를 누르면 `@app.ts#5-10`처럼 파일 경로와 줄 번호가 포함된 @-멘션이 삽입됩니다. Claude가 선택 영역을 받지 않도록 하려면 선택 표시기의 **X**를 클릭하여 제거합니다. 다른 텍스트를 선택하면 표시기가 다시 나타납니다.

199 219 

200편집기에서 텍스트를 선택하면 Claude가 강조 표시된 코드를 자동으로 볼 수 있습니다. 프롬프트 상자 바닥글은 선택된 줄 수를 표시합니다. `Option+K` (Mac) / `Alt+K` (Windows/Linux)를 눌러 파일 경로 및 줄 번호가 있는 @-멘션을 삽입합니다 (예: `@app.ts#5-10`). 선택 표시기의 **X**를 클릭하여 Claude가 선택 항목을 받지 않도록 제거합니다. 다른 텍스트를 선택하면 표시기가 다시 나타납니다.220확장 프로그램은 일부 파일에서 선택한 텍스트를 전달하지 않습니다.

201 221 

202확장 프로그램은 일부 파일에서 선택된 텍스트를 보류합니다. 파일이 작업 영역 내에 있고 `files.exclude` 또는 `search.exclude` 설정과 일치하는 경우 Claude는 최대 파일의 경로를 받고 선택한 텍스트는 받지 않습니다. VS Code의 `search.useIgnoreFiles` 설정과 확장 프로그램의 [`respectGitIgnore` 설정](#extension-settings)이 모두 켜져 있는 한 git이 무시하는 파일에도 동일하게 적용되며, 이는 기본값입니다. 이 필터는 채팅 패널만 포함합니다. Claude Code가 통합 터미널에서 실행될 때 CLI는 파일이 무엇이든 선택한 텍스트를 보내므로 [`Read` deny 규칙](#the-built-in-ide-mcp-server)을 추가하여 파일의 내용이 Claude에 도달하지 않도록 합니다.222* 파일이 워크스페이스 안에 있고 `files.exclude` 또는 `search.exclude` 설정과 일치하면, Claude는 선택한 텍스트가 아닌 최대 파일 경로만 받습니다.

223* VS Code의 `search.useIgnoreFiles` 설정과 확장 프로그램의 [`respectGitIgnore` 설정](#extension-settings)이 모두 켜져 있으면(기본값) git이 무시하는 파일에도 동일하게 적용됩니다.

203 224 

204Claude도 편집기에서 열려 있는 파일을 보며, 아무것도 선택되지 않은 경우에도 프롬프트 상자에 이름이 표시됩니다. 선택한 텍스트만 추가하려면 [Attach Open File 설정](vscode://settings/claudeCode.attachOpenFile)을 끕니다. 설정에는 Claude Code v2.1.271 이상이 필요합니다.225이 필터는 채팅 패널에만 적용됩니다. Claude Code가 통합 터미널에서 실행되면 CLI는 파일에 관계없이 선택한 텍스트를 전송합니다. 그곳에서 파일 내용을 Claude에게서 보호하려면 [`Read` 거부 규칙](#the-built-in-ide-mcp-server)을 추가합니다.

205 226 

206메시지에 이미지 및 파일을 첨부할 수도 있습니다:227Claude는 아무것도 선택하지 않은 경우에도 편집기에 열려 있는 파일을 알 수 있으며, 프롬프트 상자에 그 이름이 표시됩니다. 선택한 텍스트만 추가하려면 [Attach Open File 설정](vscode://settings/claudeCode.attachOpenFile)을 끕니다. 이 설정에는 Claude Code v2.1.271 이상이 필요합니다.

228 

229메시지에 이미지와 파일을 첨부할 수도 있습니다.

207 230 

208* 이미지를 첨부하려면 클립보드에서 프롬프트 상자에 붙여넣습니다.231* 이미지를 첨부하려면 클립보드에서 프롬프트 상자에 붙여넣습니다.

209* 파일을 첨부하려면 프롬프트 상자로 드래그할 때 `Shift`를 누르고 있습니다.232* 파일을 첨부하려면 `Shift`를 누른 상태로 프롬프트 상자에 드래그합니다.

210* 컨텍스트에서 첨부 파일을 제거하려면 X를 클릭합니다.233* 컨텍스트에서 첨부 파일을 제거하려면 첨부 파일의 X를 클릭합니다.

234 

235<h3 id="include-terminal-output-in-prompts">

236 프롬프트에 터미널 출력 포함하기

237</h3>

238 

239`@terminal:name`을 사용하여 프롬프트에서 터미널 출력을 참조합니다. 여기서 `name`은 터미널의 제목입니다. 이렇게 하면 복사하여 붙여넣지 않고도 Claude가 명령 출력, 오류 메시지 또는 로그를 볼 수 있습니다.

211 240 

212<h3 id="paste-text">241<h3 id="paste-text">

213 텍스트 붙여넣기242 텍스트 붙여넣기

214</h3>243</h3>

215 244 

216붙여넣은 텍스트는 프롬프트 상자에 표시된 상태로 유지되며, [터미널](/docs/ko/terminal-config#paste-large-content)에서처럼 자리 표시자로 축소되지 않습니다. Claude Code가 [붙여넣은 텍스트를 표시](/docs/ko/terminal-config#how-claude-treats-pasted-text)하는 세션에서 Claude는 여전히 큰 붙여넣기를 입력한 텍스트가 아닌 붙여넣은 텍스트로 봅니다.245붙여넣은 텍스트는 [터미널에서](/docs/ko/terminal-config#paste-large-content)처럼 자리 표시자로 접히지 않고 프롬프트 상자에 그대로 표시됩니다. Claude Code가 [붙여넣은 텍스트를 표시하는](/docs/ko/terminal-config#how-claude-treats-pasted-text) 세션에서는, Claude가 여전히 큰 붙여넣기를 직접 입력한 것이 아니라 붙여넣은 텍스트로 인식합니다.

217 246 

218Claude Code는 또한 프롬프트 상자에 붙여넣은 텍스트 및 보내는 다른 모든 항목에서 [보이지 않는 Unicode 문자](/docs/ko/interactive-mode#invisible-characters-in-prompts)를 제거합니다:247Claude Code는 프롬프트 상자에 붙여넣은 텍스트와 전송하는 다른 모든 내용에서 [보이지 않는 유니코드 문자](/docs/ko/interactive-mode#invisible-characters-in-prompts)도 제거합니다.

219 248 

220* 붙여넣을 때 `Removed 3 invisible characters from the pasted text`와 같은 공지가 나타나면 텍스트가 해당 문자 없이 들어갔습니다.249* 붙여넣을 때 `Removed 3 invisible characters from the pasted text` 같은 알림이 나타나면, 해당 문자가 제거된 상태로 텍스트가 입력된 것입니다.

221* 보낼 때 제거된 문자에 대한 공지가 나타나면 아무것도 전송되지 않았습니다. 정리된 텍스트가 프롬프트 상자에 다시 있습니다. 다시 보내서 표시된 대로 텍스트를 보냅니다.250* 전송할 때 제거된 문자에 대한 알림이 나타나면 아무것도 전송되지 않은 것입니다. 정리된 텍스트가 프롬프트 상자에 다시 들어가 있습니다. 표시된 텍스트를 보내려면 다시 전송합니다.

222 251 

223<h3 id="latex-math-in-responses">252<h3 id="latex-math-in-responses">

224 응답의 LaTeX 수식253 응답의 LaTeX 수식

225</h3>254</h3>

226 255 

227채팅 패널은 Claude 응답의 LaTeX 수식을 조판된 수식으로 표시합니다. 수식 렌더링에는 Claude Code v2.1.301 이상이 필요합니다. [터미널 모드](#switch-to-terminal-mode)에서는 수식이 조판되지 않습니다. 패널은 디스플레이 수식과 인라인 수식을 모두 조판합니다:256채팅 패널은 Claude 응답의 LaTeX 수식을 조판된 공식으로 표시합니다. 수식 렌더링에는 Claude Code v2.1.301 이상이 필요합니다. [터미널 모드](#switch-to-terminal-mode)에서는 수식이 조판되지 않습니다. 패널은 디스플레이 수식과 인라인 수식을 모두 조판합니다.

228 257 

229* **디스플레이 수식**: 단독으로 한 줄 또는 여러 줄을 차지하는 `$$ … $$` 또는 `\[ … \]` 블록, 그리고 언어가 `math`인 펜스 코드 블록258* **디스플레이 수식**: 한 줄 또는 여러 줄에 단독으로 있는 `$$ … $$` 또는 `\[ … \]` 블록, 그리고 언어가 `math`인 펜스 코드 블록

230* **인라인 수식**: 같은 줄에서 열리고 닫히는 `$…$` 또는 `\(…\)`(예: `$E = mc^2$` 또는 `\(a^2 + b^2 = c^2\)`)259* **인라인 수식**: `$E = mc^2$` 또는 `\(a^2 + b^2 = c^2\)`처럼 같은 줄에서 열리고 닫히는 `$…$` 또는 `\(…\)`

231 260 

232패널은 수식과 같은 문자의 다른 용도를 구별하려고 하므로 `$HOME`, `$5` 같은 가격, `sed 's/\(foo\)/\1/'` 같은 텍스트는 조판되지 않습니다. 코드 스팬 안의 텍스트나 펜스 `math` 블록 이외의 코드 블록 안의 텍스트도 조판되지 않습니다. 조판될 것으로 예상한 수식이 작성된 그대로 표시되면 [수식이 원시 LaTeX로 표시됨](#a-formula-shows-as-raw-latex)을 참조하세요.261패널은 수식을 같은 문자의 다른 용도와 구분하려고 시도하므로, `$HOME`, `$5` 같은 가격, `sed 's/\(foo\)/\1/'` 같은 텍스트는 조판되지 않습니다. 코드 스팬 안의 텍스트나 펜스 `math` 블록 이외의 코드 블록 안의 텍스트도 조판되지 않습니다. 조판될 것으로 예상한 공식이 작성된 그대로 표시되면 [A formula shows as raw LaTeX](#a-formula-shows-as-raw-latex)를 참조하세요.

233 262 

234조판된 수식이 포함된 텍스트를 선택하고 복사하면 그려진 기호 대신 `$…$` 또는 `$$…$$` 구분 기호로 감싼 수식의 TeX 소스를 얻습니다. [**Copy response**](#use-the-prompt-box)와 `/copy`는 TeX 소스를 포함하여 Claude가 작성한 그대로의 응답을 제공합니다.263조판된 공식이 포함된 텍스트를 선택하여 복사하면, 그려진 기호 대신 `$…$` 또는 `$$…$$` 구분 기호로 감싼 공식의 TeX 소스를 얻습니다. [**Copy response**](#use-the-prompt-box)와 `/copy`는 TeX 소스를 포함하여 Claude가 작성한 그대로의 응답을 제공합니다.

235 264 

236<h3 id="resume-past-conversations">265<h3 id="resume-past-conversations">

237 과거 대화 재개266 이전 대화 재개하기

238</h3>267</h3>

239 268 

240Claude Code 패널 상단의 **Session history** 버튼을 클릭하여 대화 기록에 액세스합니다. 키워드로 검색하거나 시간별로 찾아볼 수 있습니다.269Claude Code 패널 상단의 **Session history** 버튼을 클릭하여 대화 기록에 접근합니다. 키워드로 검색하거나 시간별로 찾아볼 수 있습니다.

270 

271대화를 클릭하면 전체 메시지 기록과 함께 재개됩니다. 대화가 현재 창의 다른 탭에 이미 열려 있으면 클릭 시 해당 탭으로 전환됩니다. 처음에 메시지가 비어 있다면 [비어 있는 이유와 표시되는 시점](#a-resumed-conversation-is-blank-at-first)을 참조하세요. 세션 재개에 대한 자세한 내용은 [세션 관리](/docs/ko/sessions)를 참조하세요.

272 

273* **세션 제목**: 새 세션은 첫 메시지를 기반으로 AI가 생성한 제목을 받습니다.

274* **이름 변경 및 보관**: 세션 위에 마우스를 올리면 이러한 작업이 나타납니다. 이름을 변경하여 설명적인 제목을 부여하거나, 보관하여 목록 하단의 **Archived sessions** 그룹으로 이동합니다.

275 

276대화가 터미널의 `claude`나 다른 VS Code 창 같은 다른 Claude Code 프로세스에서 열려 있으면, 프롬프트 상자 대신 다음 알림이 나타납니다.

277 

278```text theme={null}

279This conversation is still open somewhere else. Using it in two places at once can mix up its messages.

280```

241 281 

242모든 대화를 클릭하여 전체 메시지 기록으로 재개합니다. 대화가 현재 창의 다른 탭에서 이미 열려 있으면 클릭하면 해당 탭으로 전환됩니다. 메시지가 처음에 비어 있으면 [비어 있는 이유와 표시되는 시점](#a-resumed-conversation-is-blank-at-first)을 참조하세요. 세션 재개에 대한 자세한 내용은 [Manage sessions](/docs/ko/sessions)를 참조하세요.282여기서 계속하려면 다른 곳에서 대화를 닫은 후 **Open here anyway**를 클릭합니다. 닫지 않고 클릭하면 대화가 두 곳에서 모두 열립니다. [`claudeProcessWrapper`](#extension-settings)가 설정되어 있으면 확장 프로그램은 이 확인을 건너뛰고 대화를 바로 엽니다.

243 283 

244* **Session titles**: 새 세션은 첫 번째 메시지를 기반으로 AI가 생성한 제목을 받습니다.284기본적으로 14일 동안 활동이 없는 세션은 열려 있거나, 읽지 않았거나, [그룹](#organize-sessions-into-groups)에 속해 있지 않은 한 자동으로 **Archived sessions**로 이동합니다. 자동 보관에는 Claude Code v2.1.265 이상이 필요합니다. 기간을 변경하거나 끄려면 [Archive Inactive Sessions 설정](vscode://settings/claudeCode.archiveInactiveSessions)을 열고 일수 또는 **Never**를 선택합니다.

245* **Rename and archive**: 세션 위에 마우스를 올려 이러한 작업을 표시합니다. 설명적인 제목을 지정하도록 이름을 바꾸거나 목록 하단의 **Archived sessions** 그룹으로 이동하도록 보관합니다.

246 285 

247대화가 터미널의 `claude`나 다른 VS Code 창과 같은 다른 Claude Code 프로세스에서 열려 있으면 프롬프트 상자 대신 `This conversation is still open somewhere else. Using it in two places at once can mix up its messages.` 공지가 나타납니다. 여기서 계속하려면 다른 곳에서 대화를 닫은 다음 **Open here anyway**를 클릭합니다. 닫지 않고 클릭하면 대화가 두 곳에서 모두 열립니다. [`claudeProcessWrapper`](#extension-settings)가 설정되어 있으면 확장 프로그램은 이 확인을 건너뛰고 대화를 바로 엽니다.286보관된 세션을 복원하려면 다음과 같이 합니다.

248 287 

249기본적으로 14일 동안 활동이 없는 세션은 자동으로 **Archived sessions**으로 이동합니다. 단, 열려 있거나, 읽지 않은 상태이거나, [그룹](#organize-sessions-into-groups)에 속한 세션은 제외됩니다. 자동 보관에는 Claude Code v2.1.265 이상이 필요합니다. 기간을 변경하거나 끄려면 [Archive Inactive Sessions 설정](vscode://settings/claudeCode.archiveInactiveSessions)을 열고 일 수 또는 **Never**를 선택합니다.288* **세션 하나**: **Archived sessions**를 펼치고 **Unarchive session**을 클릭합니다.

289* **보관된 모든 세션 한꺼번에**: 활동 표시줄의 세션 목록에서 **Archived sessions** 헤더 위에 마우스를 올리고 보관 해제 아이콘을 클릭합니다. Claude Code v2.1.277 이상이 필요합니다.

250 290 

251보관된 세션을 복원하려면 **Archived sessions**을 확장하고 **Unarchive session**을 클릭합니다. 보관된 모든 세션을 한 번에 복원하려면 Activity Bar의 세션 목록에서 **Archived sessions** 헤더 위에 마우스를 올리고 해당 보관 해제 아이콘을 클릭합니다. Claude Code v2.1.277 이상이 필요합니다. v2.1.257 이전에는 작업이 **Delete session**이었으며, 이는 복원할 방법이 없는 세션을 숨겼습니다. 그 후 삭제한 세션은 업그레이드 후 **Archived sessions** 아래에 나타납니다.291v2.1.257 이전에는 이 작업이 **Delete session**이었으며, 복원할 방법 없이 세션을 숨겼습니다. 당시 삭제한 세션은 업그레이드 후 **Archived sessions** 아래에 나타납니다.

252 292 

253재개한 대화가 플랜 모드에서 끝난 경우 Claude Code는 플랜 모드를 복원합니다. Claude Code v2.1.246 이상이 필요합니다. Claude Code는 다음 경우에 복원하지 않습니다:293재개한 대화가 플랜 모드에서 종료되었다면 Claude Code가 플랜 모드를 복원합니다. Claude Code v2.1.246 이상이 필요합니다. 다음 경우에는 Claude Code가 플랜 모드를 복원하지 않습니다.

254 294 

255* 확장 프로그램이 `claudeCode.initialPermissionMode`에서 또는 이전 대화에서 이월되는 선택에서 [시작 권한 모드를 선택](/docs/ko/permission-modes#switch-permission-modes)합니다295* 확장 프로그램이 `claudeCode.initialPermissionMode` 또는 이전 대화에서 이어진 선택으로부터 [시작 권한 모드를 선택하는](/docs/ko/permission-modes#switch-permission-modes) 경우

256* `claudeCode.claudeProcessWrapper`가 구성되어 있습니다296* `claudeCode.claudeProcessWrapper`가 구성되어 있는 경우

257* [거부 규칙](/docs/ko/permissions#manage-permissions)이 [`ExitPlanMode`](/docs/ko/tools-reference) 도구를 제거합니다297* [거부 규칙](/docs/ko/permissions#manage-permissions)이 [`ExitPlanMode`](/docs/ko/tools-reference) 도구를 제거하는 경우

258 298 

259<h3 id="resume-cloud-sessions-from-claude-ai">299<h3 id="resume-cloud-sessions-from-claude-ai">

260 Claude.ai에서 클라우드 세션 재개300 claude.ai의 클라우드 세션 재개하기

261</h3>301</h3>

262 302 

263[웹에서 Claude Code](/docs/ko/claude-code-on-the-web)를 사용하는 경우 VS Code에서 직접 해당 클라우드 세션을 재개할 수 있습니다. 이는 Anthropic Console이 아닌 **Claude.ai Subscription**으로 로그인해야 합니다.303[클라우드 세션](/docs/ko/claude-code-on-the-web)을 실행하는 경우 VS Code에서 바로 재개할 수 있습니다. 이를 위해서는 Anthropic Console이 아닌 **Claude.ai Subscription**으로 로그인해야 합니다.

264 304 

265<Steps>305<Steps>

266 <Step title="Open session history">306 <Step title="세션 기록 열기">

267 Claude Code 패널 상단의 **Session history** 버튼을 클릭합니다.307 Claude Code 패널 상단의 **Session history** 버튼을 클릭합니다.

268 </Step>308 </Step>

269 309 

270 <Step title="Select the Web tab">310 <Step title="Web 탭 선택">

271 대화 상자에 두 개의 탭이 표시됩니다: Local과 Web. **Web**을 클릭하여 claude.ai의 세션을 봅니다.311 대화 상자에 Local과 Web 두 개의 탭이 표시됩니다. **Web**을 클릭하여 claude.ai의 세션을 확인합니다.

272 </Step>312 </Step>

273 313 

274 <Step title="Select a session to resume">314 <Step title="재개할 세션 선택">

275 세션을 찾아보거나 검색합니다. 하나를 클릭하여 대화를 로컬에서 계속합니다.315 세션을 찾아보거나 검색합니다. 하나를 클릭하면 로컬에서 대화를 이어갑니다.

276 </Step>316 </Step>

277</Steps>317</Steps>

278 318 

279<Note>319<Note>

280 폴더를 GitHub 저장소로 열면 Web 탭에 해당 저장소의 세션만 표시됩니다.320 열려 있는 폴더가 GitHub 저장소인 경우, Web 탭에는 해당 저장소의 세션만 표시됩니다.

281 321 

282 클라우드 세션을 재개하면 확장 프로그램이 대화 기록의 복사본을 다운로드합니다. 변경 사항은 claude.ai로 다시 동기화되지 않습니다.322 클라우드 세션을 재개하면 확장 프로그램이 대화 기록의 사본을 다운로드합니다. 변경 사항은 claude.ai로 다시 동기화되지 않습니다.

283</Note>323</Note>

284 324 

285Web 탭은 또한 [Remote Control](/docs/ko/remote-control) 세션을 나열합니다. 열려 있는 폴더에서 실행된 세션을 클릭하면 확장 프로그램이 복사본을 다운로드하는 대신 해당 로컬 대화를 열고, 이미 표시 중인 탭이 있으면 해당 탭에 포커스를 맞춥니다. 확장 프로그램이 다른 Claude 프로세스가 대화를 열어 두었을 가능성을 배제할 수 없으면 대신 다운로드된 복사본을 받습니다.325Web 탭에는 [Remote Control](/docs/ko/remote-control) 세션도 나열됩니다. 열려 있는 폴더에서 실행된 세션을 클릭하면, 확장 프로그램은 사본을 다운로드하는 대신 해당 로컬 대화를 엽니다. 이미 이를 표시하는 탭이 있으면 그 탭에 포커스를 맞춥니다. 다른 Claude 프로세스가 대화를 열고 있을 가능성을 배제할 수 없으면, 대신 다운로드된 사본을 받습니다.

286 326 

287대화의 일부가 다운로드에 실패하면 오류가 나타나고 복사본이 저장되지 않습니다. 세션을 다시 선택하여 다시 시도합니다. 아직 다운로드할 대화가 없는 세션을 선택하면 오류가 대신 계속할 위치를 알려줍니다.327대화의 일부라도 다운로드에 실패하면 오류가 나타나고 사본이 저장되지 않습니다. 재시도하려면 세션을 다시 선택합니다. 아직 다운로드할 대화가 없는 세션을 선택하면, 대신 어디서 이어갈 수 있는지 알려주는 오류가 표시됩니다.

288 328 

289<h3 id="check-account-and-usage">329<h3 id="check-account-and-usage">

290 계정 및 사용량 확인330 계정 및 사용량 확인하기

291</h3>331</h3>

292 332 

293`/usage`를 실행하여 Account & usage 대화를 엽니다. 로그인한 계정을 표시하며, 보고하는 사용량은 로그인에 따라 다릅니다:333`/usage`를 실행하여 Account & usage 대화 상자를 엽니다. 이 대화 상자에는 로그인한 계정과 사용량이 표시됩니다. 사용량 수치는 로그인 방식에 따라 다릅니다.

294 334 

295* **claude.ai plan**: 현재 세션 및 주간과 같은 플랜의 제한에 대한 사용량 막대입니다. 각 막대는 제한이 재설정될 때까지의 시간을 표시합니다.335* **claude.ai 플랜**: 현재 세션 및 주간 같은 플랜 한도에 대한 사용량 막대가 표시됩니다. 각 막대는 한도가 재설정되기까지 남은 시간을 보여줍니다.

296 336 

297 대화는 또한 플랜 제한에 기여하는 항목을 분류합니다. 캐시 미스, 긴 컨텍스트, 서브에이전트 집약적 또는 고도로 병렬 세션과 같이 최근 사용량의 10% 이상을 차지하는 동작에 플래그를 지정하며, 각각 이를 줄이기 위한 팁이 있습니다. Attribution 테이블은 각 skill, subagent, 플러그인 및 MCP 서버에서 얼마나 많은 사용량이 나왔는지 보여줍니다.337 대화 상자는 플랜 한도에 영향을 주는 요인도 분석합니다. 캐시 미스, 긴 컨텍스트, 서브에이전트를 많이 사용하거나 병렬성이 높은 세션처럼 최근 사용량의 10% 이상을 차지하는 동작을 표시합니다. 표시된 각 동작에는 이를 줄이기 위한 팁이 함께 제공됩니다. 기여도 표는 각 스킬, 서브에이전트, 플러그인, MCP 서버에서 발생한 사용량을 보여줍니다.

298 338 

299 Day와 Week 토글을 사용하여 지난 24시간과 지난 7일 사이를 전환합니다. 수치는 대략적이며 이 컴퓨터의 로컬 세션에서 계산되므로 다른 장치 또는 claude.ai의 사용량은 포함되지 않습니다.339 Day 및 Week 토글을 사용하여 지난 24시간과 지난 7일 간에 전환합니다. 수치는 근사치이며 이 머신의 로컬 세션에서 계산되므로, 다른 기기나 claude.ai의 사용량은 포함되지 않습니다.

300* **Other sign-ins**: [타사 공급자](#use-third-party-providers)에서 또는 API 키를 사용하는 경우와 같이 플랜 제한이 로그인에 적용되지 않는 경우 Usage 섹션은 세션 자체의 비용 및 토큰 사용량을 대신 표시합니다. CLI의 `/usage`는 [Session block](/docs/ko/costs#track-your-costs)에서 동일한 합계를 표시합니다. Activity Bar의 세션 목록은 또한 활성 세션의 합계를 **Account & usage** 헤더 아래에 표시합니다. Claude Code v2.1.277 이상이 필요합니다.340* **기타 로그인**: [서드파티 제공업체](#use-third-party-providers)를 사용하거나 API 키를 사용하는 경우처럼 플랜 한도가 로그인에 적용되지 않으면, Usage 섹션에 대신 세션 자체의 비용과 토큰 사용량이 표시됩니다. CLI의 `/usage`는 [Session 블록](/docs/ko/costs#track-your-costs)에 동일한 합계를 표시합니다. 활동 표시줄의 세션 목록도 **Account & usage** 헤더 아래에 활성 세션의 합계를 표시합니다. Claude Code v2.1.277 이상이 필요합니다.

301 341 

302사용량 추적 및 감소에 대한 자세한 내용은 [Track your costs](/docs/ko/costs#track-your-costs)를 참조하세요.342사용량 추적 및 절감에 대한 자세한 내용은 [비용 추적하기](/docs/ko/costs#track-your-costs)를 참조하세요.

343 

344<h3 id="rewind-with-checkpoints">

345 체크포인트로 되감기

346</h3>

347 

348VS Code 확장 프로그램은 체크포인트를 지원합니다. 체크포인트는 Claude의 파일 편집을 추적하고 이전 상태로 되감을 수 있게 합니다. 메시지 위에 마우스를 올리면 되감기 버튼이 나타나며, 세 가지 옵션 중에서 선택할 수 있습니다.

349 

350* **Fork conversation from here**: 모든 코드 변경 사항을 그대로 유지하면서 이 메시지에서 새 대화 분기를 시작합니다

351* **Rewind code to here**: 전체 대화 기록을 유지하면서 파일 변경 사항을 대화의 이 시점으로 되돌립니다

352* **Fork conversation and rewind code**: 새 대화 분기를 시작하고 파일 변경 사항을 이 시점으로 되돌립니다

353 

354체크포인트의 작동 방식과 제한 사항에 대한 자세한 내용은 [체크포인트](/docs/ko/checkpointing)를 참조하세요.

303 355 

304<h2 id="customize-your-workflow">356<h2 id="customize-your-workflow">

305 워크플로우 사용자 정의357 워크플로 사용자 지정

306</h2>358</h2>

307 359 

308Claude 패널의 위치를 변경하고, 여러 대화를 실행하며, 세션 목록을 그룹화하거나 필터링하거나, 터미널 모드로 전환할 수 있습니다.360Claude 패널의 위치를 바꾸거나, 여러 대화를 실행하거나, 세션 목록을 그룹화 또는 필터링하거나, 터미널 모드로 전환할 수 있습니다.

309 361 

310<h3 id="choose-where-claude-lives">362<h3 id="choose-where-claude-lives">

311 Claude가 위치할 곳 선택363 Claude 위치 선택

312</h3>364</h3>

313 365 

314Claude 패널을 드래그하여 VS Code의 어디든지 위치를 변경할 수 있습니다. 패널의 탭이나 제목 표시줄을 잡고 다음 위치로 드래그합니다:366Claude 패널을 드래그하여 VS Code 내 원하는 위치로 옮길 수 있습니다. 패널의 탭이나 제목 표시줄을 잡고 다음 위치로 드래그합니다.

315 367 

316* **보조 사이드바**: 창의 오른쪽입니다. 코드를 작성하는 동안 Claude를 계속 볼 수 있습니다.368* **보조 사이드바**: 창의 오른쪽입니다. 코딩하는 동안 Claude를 계속 표시해 둘 수 있습니다.

317* **기본 사이드바**: Explorer, Search 등의 아이콘이 있는 왼쪽 사이드바입니다.369* **기본 사이드바**: 탐색기, 검색 등의 아이콘이 있는 왼쪽 사이드바입니다.

318* **편집기 영역**: Claude를 파일과 함께 탭으로 엽니다. 부수적인 작업에 유용합니다.370* **편집기 영역**: 파일과 나란히 Claude를 탭으로 엽니다. 부수적인 작업에 유용합니다.

319 371 

320Claude가 새 편집기 그룹에서 탭을 열면, 확장 프로그램이 해당 그룹을 잠금으로써 Claude 탭에 포커스가 있는 동안 열어 놓은 파일이 그 옆이 아닌 다른 그룹으로 이동합니다.372Claude가 새 편집기 그룹에 탭을 열면 확장 프로그램이 해당 그룹을 잠급니다. 이후 Claude 탭에 포커스가 있는 상태에서 여는 파일은 그 옆이 아니라 다른 그룹으로 열립니다.

321 373 

322확장 프로그램이 그룹을 잠금으로부터 방지하려면, [Lock Editor Groups 설정](vscode://settings/claudeCode.lockEditorGroups)을 끕니다. 이미 잠금으로 설정된 그룹은 잠금을 해제할 때까지 잠금 상태로 유지됩니다. 이 설정은 Claude Code v2.1.274 이상이 필요합니다.374확장 프로그램이 그룹을 잠그지 않도록 하려면 [Lock Editor Groups 설정](vscode://settings/claudeCode.lockEditorGroups)을 끕니다. 이미 잠긴 그룹은 잠금을 해제할 때까지 잠긴 상태로 유지됩니다. 이 설정에는 Claude Code v2.1.274 이상이 필요합니다.

323 375 

324<Tip>376<Tip>

325 기본 Claude 세션에는 사이드바를 사용하고 부수적인 작업을 위해 추가 탭을 엽니다. Claude는 선호하는 위치를 기억합니다. Activity Bar 세션 목록 아이콘은 Claude 패널과 별개입니다: 세션 목록은 항상 Activity Bar에 표시되지만, Claude 패널 아이콘은 패널이 왼쪽 사이드바에 도킹되어 있을 때만 표시됩니다.377 주 Claude 세션에는 사이드바를 사용하고 부수적인 작업에는 추가 탭을 여는 것이 좋습니다. Claude는 선호하는 위치를 기억합니다. 활동 표시줄의 세션 목록 아이콘은 Claude 패널과 별개입니다. 세션 목록은 활동 표시줄에 항상 표시되지만, Claude 패널 아이콘은 패널이 왼쪽 사이드바에 도킹된 경우에만 활동 표시줄에 나타납니다.

326</Tip>378</Tip>

327 379 

328<h3 id="continue-conversations-after-a-reload">380<h3 id="continue-conversations-after-a-reload">

329 다시 로드 후 대화 계속381 다시 로드 후 대화 이어가기

330</h3>382</h3>

331 383 

332**Developer: Reload Window**를 실행하거나 VS Code를 다시 시작한 후, 채팅이 대화와 함께 돌아오는지 여부는 채팅이 열려 있던 위치에 따라 달라집니다:384**Developer: Reload Window**를 실행하거나 VS Code를 다시 시작한 후에는 대화가 열려 있던 위치를 확인합니다.

385 

386* **편집기 탭**: 대화가 해당 탭과 함께 다시 열립니다.

387* **사이드바**: 최근 10분 이내에 메시지를 보냈거나 Claude가 응답한 경우 대화가 다시 열립니다. 다시 열리지 않으면 [세션 기록](#resume-past-conversations)에서 대화를 재개합니다.

388 

389다른 Claude Code 프로세스에서 해당 대화가 아직 열려 있으면, 여기서 열기 전에 [세션 기록에서 재개할 때](#resume-past-conversations)와 동일한 **Open here anyway** 알림으로 확인을 요청합니다. 처음에 메시지가 비어 있는 경우 [비어 있는 이유와 표시되는 시점](#a-resumed-conversation-is-blank-at-first)을 참조하세요.

390 

391<h4 id="interrupted-steps-after-a-reload">

392 다시 로드 후 중단된 단계

393</h4>

333 394 

334* **편집기 탭**: 대화가 탭과 함께 돌아옵니다.395다시 로드로 인해 Claude가 단계를 진행하던 중 중단된 경우, 대화가 다시 열리면 Claude가 해당 단계를 이어서 진행하며 채팅에 이어서 진행한다는 알림이 표시됩니다. Claude Code v2.1.274 이상이 필요합니다. 단계가 1시간 이상 전에 중단되었거나 세션이 다른 곳에서 열려 있으면 대화는 유휴 상태로 다시 열립니다.

335* **사이드바**: 지난 10분 이내에 메시지를 보냈거나 Claude가 응답한 경우 대화가 돌아옵니다. 돌아오지 않으면 [세션 기록](#resume-past-conversations)에서 대화를 재개합니다.

336 396 

337다른 Claude Code 프로세스에서 해당 대화가 아직 열려 있으면, 여기에서 열기 전에 [세션 기록에서 재개할 때](#resume-past-conversations)와 동일한 **Open here anyway** 알림으로 확인을 요청합니다. 메시지가 처음에 비어 있는 경우 [비어 있는 이유와 표시되는 시점](#a-resumed-conversation-is-blank-at-first)을 참조하세요.397<h4 id="turn-off-continuation-after-a-reload">

398 다시 로드 후 이어서 진행 끄기

399</h4>

338 400 

339다시 로드가 Claude의 단계 중간에 중단된 경우, 대화가 돌아올 때 Claude가 해당 단계를 계속하며, 채팅의 공지사항이 계속을 표시합니다. Claude Code v2.1.274 이상이 필요합니다. 단계가 1시간 이상 전에 중단되었거나 세션이 다른 곳에서 열려 있으면, 대화가 유휴 상태로 돌아옵니다.401다시 로드 후 Claude가 중단된 단계를 이어서 진행하지 않도록 하려면 [Continue After Reload 설정](vscode://settings/claudeCode.continueAfterReload)을 열고 선택을 해제합니다.

340 402 

341계속을 끄려면, [Continue After Reload 설정](vscode://settings/claudeCode.continueAfterReload)을 열고 선택을 해제합니다. VS Code의 환경이나 [`environmentVariables` 설정](#extension-settings)에서 [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ko/env-vars#variables) 또는 기타 `CLAUDE_CODE_RESUME_` 변수를 설정해도 패널에서는 효과가 없습니다. 확장 프로그램이 패널의 세션을 시작하기 전에 해당 변수를 제거하기 때문입니다.403VS Code 환경이나 [`environmentVariables` 설정](#extension-settings)에서 [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/ko/env-vars#variables) 또는 다른 `CLAUDE_CODE_RESUME_` 변수를 설정해도 패널에서는 아무런 효과가 없습니다. 확장 프로그램이 패널의 세션을 시작하기 전에 해당 변수를 제거하기 때문입니다.

342 404 

343<h4 id="a-conversation-was-not-reopened">405<h4 id="a-conversation-was-not-reopened">

344 대화가 다시 열리지 않음406 대화가 다시 열리지 않은 경우

345</h4>407</h4>

346 408 

347다시 로드한 후 프롬프트 상자 위에 다음과 같은 알림이 있는 새 채팅이 표시되면, 대화의 마지막 두 번의 열기가 완료되지 않았기 때문에 패널이 대화를 닫힌 상태로 둔 것입니다:409다시 로드 후 프롬프트 상자 위에 다음과 같은 알림이 있는 새 채팅이 표시되면, 대화의 마지막 두 번의 열기가 완료되지 않아 패널이 대화를 닫힌 상태로 둔 것입니다.

348 410 

349```text theme={null}411```text theme={null}

350“Fix the login bug” was not reopened. It did not finish opening the last 2 times, and opening it again may stop Claude Code from responding here.412“Fix the login bug” was not reopened. It did not finish opening the last 2 times, and opening it again may stop Claude Code from responding here.

351```413```

352 414 

353대화를 로드하는 동안 패널이 충돌하거나 응답을 멈추는 경우, 또는 대화가 열린 후 약 3초 이내에 창을 다시 로드하거나 닫는 경우 열기가 완료되지 않습니다. 손실되는 것은 없습니다: 대화는 변경되지 않으며 [세션 기록](#resume-past-conversations)에 그대로 남아 있습니다.415대화를 로드하는 중에 패널이 충돌하거나 응답을 멈춘 경우, 또는 대화가 열린 후 약 3초 이내에 창을 다시 로드하거나 닫은 경우 열기가 완료되지 않습니다. 대화 자체는 변경되지 않으며 [세션 기록](#resume-past-conversations)에 그대로 남아 있습니다.

354 416 

355* **그래도 열려면**: **Open it anyway**를 클릭하거나 세션 기록에서 대화를 선택합니다. 대화가 열리고 패널이 계속 작동하면, 이후 다시 로드할 때 평소처럼 대화가 돌아옵니다. 패널이 다시 응답을 멈추면 창을 다시 로드하여 알림이 있는 새 채팅으로 돌아갑니다.417* **그래도 열려면**: **Open it anyway**를 클릭하거나 세션 기록에서 대화를 선택합니다. 대화가 열리고 패널이 계속 정상적으로 작동하면, 이후 다시 로드할 때 평소처럼 대화가 다시 열립니다. 패널이 다시 응답을 멈추면 창을 다시 로드하여 알림이 있는 새 채팅으로 돌아갑니다.

356* **닫힌 상태로 두려면**: 새 채팅에서 계속 작업합니다. 프롬프트를 보내면 알림이 사라집니다.418* **닫힌 상태로 두려면**: 새 채팅에서 계속 작업합니다. 프롬프트를 보내면 알림이 사라집니다.

357 419 

358<h3 id="run-multiple-conversations">420<h3 id="run-multiple-conversations">

359 여러 대화 실행421 여러 대화 실행

360</h3>422</h3>

361 423 

362Command Palette에서 **Open in New Tab** 또는 **Open in New Window**를 사용하여 추가 대화를 시작합니다. 각 대화는 자체 기록과 컨텍스트를 유지하므로 여러 작업을 병렬로 작업할 수 있습니다.424명령 팔레트에서 **Open in New Tab** 또는 **Open in New Window**를 사용하여 추가 대화를 시작합니다. 각 대화는 자체 기록과 컨텍스트를 유지하므로 서로 다른 작업을 병렬로 진행할 수 있습니다.

363 425 

364탭을 사용할 때, spark 아이콘의 작은 색상 점은 상태를 나타냅니다: 파란색은 권한 요청이 대기 중임을 의미하고, 주황색은 Claude가 탭이 숨겨진 동안 완료되었음을 의미합니다.426탭을 사용할 때는 스파크 아이콘의 작은 색상 점이 상태를 나타냅니다. 파란색은 권한 요청이 대기 중임을, 주황색은 탭이 숨겨져 있는 동안 Claude가 작업을 완료했음을 의미합니다.

365 427 

366<h3 id="organize-sessions-into-groups">428<h3 id="organize-sessions-into-groups">

367 세션을 그룹으로 구성429 세션을 그룹으로 정리

368</h3>430</h3>

369 431 

370Activity Bar의 세션 목록에서, 관련 세션을 명명된 축소 가능한 그룹으로 수집할 수 있습니다. Claude Code v2.1.229 이상이 필요합니다.432활동 표시줄의 세션 목록에서 관련 세션을 이름이 지정된 접을 수 있는 그룹으로 모을 수 있습니다. Claude Code v2.1.229 이상이 필요합니다.

371 433 

372* **세션을 그룹화하거나 그룹 해제**: 세션을 마우스 오른쪽 버튼으로 클릭하여 세션에서 그룹을 만들거나, 기존 그룹으로 이동하거나, 그룹에서 제거합니다. 각 세션은 한 번에 하나의 그룹에만 속하므로, 다른 그룹으로 이동하면 첫 번째 그룹에서 제거됩니다.434* **세션 그룹화 또는 그룹 해제**: 세션을 마우스 오른쪽 버튼으로 클릭하여 해당 세션으로 그룹을 만들거나, 기존 그룹으로 이동하거나, 그룹에서 제거합니다. 각 세션은 한 번에 하나의 그룹에만 속하므로 다른 그룹으로 이동하면 처음 그룹에서 제거됩니다.

373* **여러 세션을 한 번에 이동**: `Cmd`-클릭(Mac) / `Ctrl`-클릭(Windows/Linux) 각 세션을 하거나, `Shift`-클릭으로 범위를 선택한 후 선택 항목을 마우스 오른쪽 버튼으로 클릭합니다.435* **여러 세션을 한 번에 이동**: 각 세션을 `Cmd`-클릭(Mac) / `Ctrl`-클릭(Windows/Linux)하거나 `Shift`-클릭하여 범위를 선택한 다음, 선택 항목을 마우스 오른쪽 버튼으로 클릭합니다.

374* **탭에서 세션을 그룹화**: Command Palette에서 **Claude Code: Add Session Tab to Group**을 실행한 후 그룹을 선택하거나 만듭니다. Claude Code v2.1.257 이상이 필요합니다.436* **탭에서 세션 그룹화**: 명령 팔레트에서 **Claude Code: Add Session Tab to Group**을 실행한 다음 그룹을 선택하거나 만듭니다. Claude Code v2.1.257 이상이 필요합니다.

375* **그룹 이름 바꾸기 또는 삭제**: 그룹 헤더를 마우스 오른쪽 버튼으로 클릭합니다. 그룹을 삭제하면 그룹만 제거되고 해당 세션은 그룹화되지 않은 목록으로 돌아갑니다.437* **그룹 이름 변경 또는 삭제**: 그룹 헤더를 마우스 오른쪽 버튼으로 클릭합니다. 그룹을 삭제하면 그룹만 제거되며, 해당 세션은 그룹화되지 않은 목록으로 돌아갑니다.

376 438 

377확장 프로그램은 워크스페이스 폴더별로 그룹을 저장하므로, 창 다시 로드 후에도 유지되며 같은 폴더를 열 때마다 모든 창에 표시됩니다. 목록을 검색할 때, 확장 프로그램은 모든 그룹에서 일치하는 항목을 하나의 평면 목록으로 표시합니다.439확장 프로그램은 워크스페이스 폴더별로 그룹을 저장하므로, 그룹은 창을 다시 로드해도 유지되며 같은 폴더를 여는 모든 창에 표시됩니다. 목록을 검색하면 확장 프로그램은 모든 그룹에 걸친 일치 항목을 하나의 평면 목록으로 표시합니다.

378 440 

379<h3 id="filter-the-sessions-list">441<h3 id="filter-the-sessions-list">

380 세션 목록 필터링442 세션 목록 필터링

381</h3>443</h3>

382 444 

383Activity Bar의 긴 세션 목록을 좁히려면, 목록 맨 위의 두 필터 컨트롤을 사용합니다. Claude Code v2.1.271 이상이 필요합니다. 보관된 세션은 필터가 켜져 있는 동안 표시되지 않습니다.445활동 표시줄의 긴 세션 목록을 좁히려면 목록 상단의 두 필터 컨트롤을 사용합니다. Claude Code v2.1.271 이상이 필요합니다. 두 필터 중 하나라도 켜져 있으면 보관된 세션은 표시되지 않습니다.

384 446 

385* **활성**: 이 토글을 켜서 입력이 필요하거나 작업 중이거나 읽지 않은 세션과 마지막으로 포커스한 Claude 탭의 세션만 표시합니다.447* **Active**: 이 토글을 켜면 입력이 필요하거나, 작업 중이거나, 읽지 않은 세션과 함께 마지막으로 포커스한 Claude 탭의 세션만 표시됩니다.

386* **상태별 필터**: 깔때기 아이콘을 클릭한 후 **입력 필요**, **작업 중** 또는 **완료됨**을 확인하여 해당 상태의 세션을 표시합니다. **열기** 또는 **닫기**를 확인하여 세션이 열려 있는지 여부로 좁힙니다. 세션은 이 창에 탭이 있거나 이 머신의 다른 Claude Code 프로세스(예: 터미널)에서 실행 중일 때 열려 있는 것으로 간주됩니다.448* **상태별 필터링**: 깔때기 아이콘을 클릭한 다음 **Needs input**, **Working** 또는 **Completed**를 선택하여 해당 상태 중 하나에 있는 세션을 표시합니다. **Open** 또는 **Closed**를 선택하면 세션이 열려 있는지 여부로 목록을 좁힐 수 있습니다. 세션이 이 창에 탭을 가지고 있거나, 터미널과 같이 이 컴퓨터의 다른 Claude Code 프로세스에서 실행 중이면 열린 것으로 간주됩니다.

387 449 

388**활성**이 켜져 있고 상태, **열기** 또는 **닫기**를 확인하면, 목록은 확인 항목과 일치하는 모든 세션도 표시합니다. 설정한 필터는 창 다시 로드 후에도 유지됩니다.450**Active**가 켜져 있는 상태에서 상태, **Open** 또는 **Closed**를 선택하면 선택한 항목과 일치하는 모든 세션도 목록에 표시됩니다. 설정한 필터는 창을 다시 로드해도 유지됩니다.

389 451 

390<h3 id="switch-to-terminal-mode">452<h3 id="switch-to-terminal-mode">

391 터미널 모드로 전환453 터미널 모드로 전환

392</h3>454</h3>

393 455 

394기본적으로 확장 프로그램은 그래픽 채팅 패널을 엽니다. CLI 스타일 인터페이스를 선호하면, [Use Terminal 설정](vscode://settings/claudeCode.useTerminal)을 열고 확인란을 선택합니다.456기본적으로 확장 프로그램은 그래픽 채팅 패널을 엽니다. CLI 스타일 인터페이스를 선호한다면 [Use Terminal 설정](vscode://settings/claudeCode.useTerminal)을 열고 확인란을 선택합니다.

395 457 

396VS Code 설정(`Cmd+,` Mac 또는 `Ctrl+,` Windows/Linux)을 열고, Extensions → Claude Code로 이동한 후 **Use Terminal**을 확인할 수도 있습니다.458Mac에서는 `Cmd+,`, Windows/Linux에서는 `Ctrl+,`를 눌러 VS Code 설정을 열고 **Extensions > Claude Code**로 이동하여 **Use Terminal**을 선택할 수도 있습니다.

397 459 

398<h2 id="manage-plugins">460<h2 id="manage-plugins">

399 플러그인 관리461 플러그인 관리

400</h2>462</h2>

401 463 

402VS Code 확장 프로그램에는 [플러그인](/docs/ko/plugins/overview)을 설치하고 관리하기 위한 그래픽 인터페이스가 포함되어 있습니다. 프롬프트 상자에 `/plugins`를 입력하여 **플러그인 관리** 인터페이스를 엽니다.464VS Code 확장 프로그램에는 [플러그인](/docs/ko/plugins/overview)을 설치하고 관리하기 위한 그래픽 인터페이스가 포함되어 있습니다. 프롬프트 상자에 `/plugins`를 입력하면 **Manage plugins** 인터페이스가 열립니다.

403 465 

404<h3 id="install-plugins">466<h3 id="install-plugins">

405 플러그인 설치467 플러그인 설치

406</h3>468</h3>

407 469 

408플러그인 대화 상자에는 **플러그인** 및 **마켓플레이스** 두 개의 탭이 표시됩니다.470플러그인 대화 상자에는 **Plugins**와 **Marketplaces** 두 개의 탭이 있습니다.

409 

410플러그인 탭에서:

411 471 

412* **설치된 플러그인**은 상단에 표시되며 토글 스위치로 활성화 또는 비활성화할 수 있습니다.472Plugins 탭에서는 다음과 같습니다.

413 * 프로젝트의 공유 `.claude/settings.json`이 켜는 플러그인을 끄면 확장 프로그램이 먼저 묻습니다. **내 것만 비활성화**는 사용자만을 위해 끄고, **모두를 위해 비활성화**는 공유 파일을 변경합니다.

414 * 로드에 실패한 플러그인은 해당 행에 간단한 이유를 표시합니다. 이유를 클릭하면 취할 수 있는 조치를 확인할 수 있으며, 여기에는 [플러그인 문제 해결](/docs/ko/plugins/troubleshooting)에서 찾아볼 수 있도록 전체 오류 메시지를 복사하는 기능이 포함됩니다.

415* **사용 가능한 플러그인**은 구성된 마켓플레이스에서 아래에 표시됩니다

416* 이름 또는 설명으로 플러그인을 필터링하려면 검색을 사용합니다

417* 사용 가능한 플러그인에서 **설치**를 클릭합니다

418 473 

419플러그인을 설치할 때 설치 범위를 선택합니다:474* **설치된 플러그인**이 상단에 표시되며, 토글 스위치로 활성화하거나 비활성화할 수 있습니다.

475 * 프로젝트의 공유 `.claude/settings.json`에서 켜 둔 플러그인을 끄려고 하면 확장 프로그램이 먼저 확인을 요청합니다. **Disable for me**는 본인에게만 플러그인을 끄고, **Disable for everyone**은 공유 파일을 변경합니다.

476 * 로드에 실패한 플러그인은 해당 행에 간단한 이유를 표시합니다. 이유를 클릭하면 취할 수 있는 조치를 확인할 수 있으며, 여기에는 [플러그인 문제 해결](/docs/ko/plugins/troubleshooting)에서 찾아볼 수 있도록 전체 오류 메시지를 복사하는 기능도 포함됩니다.

477* 구성된 마켓플레이스의 **사용 가능한 플러그인**이 아래에 표시됩니다

478* 검색을 통해 이름이나 설명으로 플러그인을 필터링할 수 있습니다

479* 사용 가능한 플러그인에서 **Install**을 클릭합니다

420 480 

421* **사용자용으로 설치**: 모든 프로젝트에서 사용 가능(사용자 범위)481플러그인을 설치할 때 설치 범위를 선택합니다.

422* **이 프로젝트용으로 설치**: 프로젝트 협력자와 공유(프로젝트 범위)

423* **로컬로 설치**: 이 저장소에서만 사용자용(로컬 범위)

424 482 

425설치가 완료되면 아직 설정되지 않은 플러그인의 [구성 옵션](/docs/ko/plugins/components#user-configuration)을 요청하는 양식이 나타납니다. 나중에 옵션을 검토하거나 변경하려면 플러그인 행의 기어 아이콘을 클릭합니다.483* **Install for you**: 모든 프로젝트에서 사용 가능(사용자 범위)

484* **Install for this project**: 프로젝트 협업자와 공유(프로젝트 범위)

485* **Install locally**: 본인만, 이 저장소에서만 사용 가능(로컬 범위)

426 486 

427민감한 텍스트 필드는 마스킹되며, 이전에 저장한 비밀은 \*\*(변경되지 않음)\*\*으로 표시됩니다. 저장된 값을 유지하려면 필드를 비워 둡니다.487설치가 완료되면 아직 설정되지 않은 플러그인의 [구성 옵션](/docs/ko/plugins/components#user-configuration)을 입력하는 양식이 표시됩니다. 나중에 옵션을 검토하거나 변경하려면 플러그인 행의 톱니바퀴 아이콘을 클릭합니다.

428 488 

429변경 사항을 저장한 후 열려 있는 세션은 플러그인을 다시 로드하고 대화 상자에 **플러그인 변경 사항을 적용하려면 Claude를 다시 시작하세요**가 표시됩니다.489민감한 텍스트 필드는 마스킹 처리되며, 이전에 저장한 비밀 값에는 \*\*(unchanged)\*\*가 표시됩니다. 저장된 값을 유지하려면 필드를 비워 둡니다. 변경 사항을 저장하면 열려 있는 세션이 플러그인을 다시 로드하고, 대화 상자에 **Restart Claude to apply plugin changes**가 표시됩니다.

430 490 

431<h3 id="uninstall-plugins">491<h3 id="uninstall-plugins">

432 플러그인 제거492 플러그인 제거

433</h3>493</h3>

434 494 

435각 설치된 행은 설치된 [범위](/docs/ko/plugins/install#choose-an-install-scope)를 나타냅니다. 해당 설치를 제거하려면 행의 휴지통 아이콘을 클릭합니다. 흐린 휴지통 아이콘은 이 작업 공간에서 제거할 수 없는 행(예: 조직에서 관리하는 플러그인 또는 다른 프로젝트용으로 설치된 플러그인)을 표시합니다.495설치된 각 행에는 설치된 [범위](/docs/ko/plugins/install#choose-an-install-scope)가 표시됩니다. 해당 설치를 제거하려면 행의 휴지통 아이콘을 클릭합니다. 흐리게 표시된 휴지통 아이콘은 조직에서 관리하는 플러그인이나 다른 프로젝트에 설치된 플러그인처럼 이 워크스페이스에서 제거할 수 없는 행을 나타냅니다.

436 496 

437확장 프로그램은 두 가지 경우에 먼저 묻습니다:497확장 프로그램은 다음 두 가지 경우에 먼저 확인을 요청합니다.

438 498 

439* **프로젝트의 공유 `.claude/settings.json`이 켜는 플러그인**: **내 것만 비활성화**를 선택하면 협력자를 위해 플러그인이 설치된 상태로 유지되거나, **모두를 위해 제거**를 선택하면 [`--keep-data`](/docs/ko/plugins/cli-reference#what-an-uninstall-deletes-and-keeps)를 사용하여 프로젝트의 설치를 제거하므로 플러그인의 저장된 데이터 디렉토리가 유지됩니다. 이미 자신을 위해 플러그인을 끈 경우 휴지통 아이콘은 질문 없이 자신의 설치를 제거합니다.499* **프로젝트의 공유 `.claude/settings.json`에서 켜 둔 플러그인**: 협업자에게는 플러그인이 설치된 상태로 유지되는 **Disable for me**를 선택하거나, [`--keep-data`](/docs/ko/plugins/cli-reference#what-an-uninstall-deletes-and-keeps)와 함께 프로젝트의 설치를 제거하여 플러그인의 저장된 데이터 디렉터리는 남겨 두는 **Uninstall for everyone**을 선택합니다. 이미 본인에 대해 플러그인을 꺼 둔 경우에는 휴지통 아이콘을 클릭하면 확인 없이 본인의 설치가 제거됩니다.

440* **그 외의 경우, 저장된 데이터가 있는 플러그인의 마지막 설치**: 데이터를 유지할지 삭제할지 선택합니다. **유지**가 기본값입니다.500* **그 외의 경우, 저장된 데이터가 있는 플러그인의 마지막 설치**: 데이터를 유지할지 삭제할지 선택합니다. 기본값은 **Keep**입니다

441 501 

442<h3 id="share-a-plugin-install-link">502<h3 id="share-a-plugin-install-link">

443 플러그인 설치 링크 공유503 플러그인 설치 링크 공유

444</h3>504</h3>

445 505 

446특정 플러그인을 설치하도록 누군가를 직접 보내려면 확장 프로그램의 `install-plugin` URL을 제공합니다. 이를 열면 VS Code를 시작하거나 포커스하고, Claude Code 패널을 열고, **플러그인 관리** 대화 상자를 해당 플러그인의 범위 선택에서 엽니다. 사용자가 범위를 선택할 때까지 아무것도 설치되지 않습니다. 플러그인의 마켓플레이스가 Claude Code에서 아직 구성되지 않은 경우 대화 상자는 먼저 이를 추가하도록 요청합니다.506특정 플러그인을 바로 설치할 수 있도록 안내하려면 확장 프로그램의 `install-plugin` URL을 전달합니다. 이 URL을 열면 VS Code가 실행되거나 포커스되고, Claude Code 패널이 열리며, 해당 플러그인의 범위 선택 화면에서 **Manage plugins** 대화 상자가 열립니다. 받는 사람이 범위를 선택하기 전까지는 아무것도 설치되지 않습니다. 플러그인의 마켓플레이스가 받는 사람의 Claude Code에 아직 구성되어 있지 않으면, 대화 상자가 먼저 마켓플레이스를 추가하도록 요청합니다.

447 507 

448```text theme={null}508```text theme={null}

449vscode://anthropic.claude-code/install-plugin?plugin=code-review&marketplace=anthropics/claude-plugins-official509vscode://anthropic.claude-code/install-plugin?plugin=code-review&marketplace=anthropics/claude-plugins-official

450```510```

451 511 

452URL은 두 개의 쿼리 매개변수를 사용합니다:512이 URL은 두 개의 쿼리 매개변수를 사용합니다.

453 513 

454| 매개변수 | 설명 |514| 매개변수 | 설명 |

455| - | - |515| - | - |

456| `plugin` | 마켓플레이스에 나열된 플러그인의 이름입니다. 필수입니다. |516| `plugin` | 마켓플레이스에 등록된 플러그인의 이름입니다. 필수입니다. |

457| `marketplace` | 마켓플레이스의 [소스](/docs/ko/plugins/install#add-a-marketplace)이며, GitHub `owner/repo`, `https://` URL 또는 `git@github.com:owner/repo.git`과 같은 git SSH 주소입니다. 생략하면 `anthropics/claude-plugins-official`로 기본값이 설정됩니다. |517| `marketplace` | 마켓플레이스의 [소스](/docs/ko/plugins/install#add-a-marketplace)로, GitHub `owner/repo`, `https://` URL 또는 `git@github.com:owner/repo.git`과 같은 git SSH 주소입니다. 생략하면 기본값은 `anthropics/claude-plugins-official`입니다. |

458 518 

459확장 프로그램은 아무것도 열기 전에 두 값을 모두 확인합니다:519확장 프로그램은 무언가를 열기 전에 두 값을 모두 확인합니다.

460 520 

461* **플러그인 이름**: 최대 100자이며, ASCII 문자 또는 숫자로 시작하고 그 외에는 ASCII 문자, 숫자, `.`, `_`, `-`만 사용해야 합니다.521* **플러그인 이름**: 최대 100자이며, ASCII 문자 또는 숫자로 시작하고 나머지는 ASCII 문자, 숫자, `.`, `_`, `-`만 사용해야 합니다.

462* **마켓플레이스 소스**: `marketplace` 매개변수에 나열된 형식만 허용되므로 로컬 경로, `http://` 주소 또는 `claude-plugins-official`과 같은 마켓플레이스 이름은 사용할 수 없습니다. `https://` URL에는 사용자 이름, 비밀번호 또는 쿼리 문자열을 포함할 수 없습니다.522* **마켓플레이스 소스**: `marketplace` 매개변수에 나열된 형식만 허용되므로, 로컬 경로, `http://` 주소 또는 `claude-plugins-official`과 같은 마켓플레이스 이름은 사용할 수 없습니다. `https://` URL에는 사용자 이름, 비밀번호 또는 쿼리 문자열을 포함할 수 없습니다.

463* **Git ref**: 마켓플레이스를 브랜치나 태그에 고정하려면 `marketplace=owner/repo%23v1.0`처럼 `#`의 인코딩된 형식인 `%23` 뒤에 ref를 소스에 추가합니다. 인코딩되지 않은 `#`이 포함된 링크는 실패합니다. `anthropics` GitHub 조직의 마켓플레이스는 링크에서 고정할 수 없습니다.523* **Git ref**: 마켓플레이스를 브랜치나 태그에 고정하려면 `marketplace=owner/repo%23v1.0`처럼 `#`의 인코딩 형식인 `%23` 뒤에 ref를 소스에 덧붙입니다. 인코딩되지 않은 `#`이 포함된 링크는 실패합니다. `anthropics` GitHub 조직의 마켓플레이스는 링크에서 고정할 수 없습니다.

464 524 

465이러한 규칙을 위반하는 링크를 열면 `Invalid plugin installation URL`로 시작하는 오류가 표시됩니다. Claude Code 패널과 대화 상자가 열리지 않으며 아무것도 설치되지 않습니다. 플러그인의 이름이나 마켓플레이스를 링크에 넣을 수 없는 경우 **마켓플레이스** 탭에서 마켓플레이스를 추가한 다음 **플러그인** 탭에서 플러그인을 설치하도록 안내합니다.525이러한 규칙을 위반하는 링크를 열면 `Invalid plugin installation URL`로 시작하는 오류가 표시됩니다. Claude Code 패널과 대화 상자는 열리지 않으며 아무것도 설치되지 않습니다. 플러그인의 이름이나 마켓플레이스를 링크에 넣을 수 없는 경우, **Marketplaces** 탭에서 마켓플레이스를 추가한 다음 **Plugins** 탭에서 플러그인을 설치하도록 안내합니다.

466 526 

467다음 경우는 범위 선택 대신 대화 상자의 메시지에서 끝납니다:527다음 경우에는 범위 선택 대신 대화 상자의 메시지로 끝납니다.

468 528 

469* **마켓플레이스에 해당 이름의 플러그인이 없음**: 대화 상자에서 플러그인을 찾을 수 없다고 보고합니다. 마켓플레이스 목록에 대해 `plugin` 값을 확인합니다.529* **마켓플레이스에 해당 이름의 플러그인이 없는 경우**: 대화 상자에 플러그인을 찾을 수 없다고 표시됩니다. `plugin` 값을 마켓플레이스의 목록과 대조하여 확인합니다.

470* **플러그인이 이미 설치됨**: 대화 상자에서 이를 표시하며 아무것도 변경되지 않습니다.530* **플러그인이 이미 설치된 경우**: 대화 상자에 그 사실이 표시되며, 아무것도 변경되지 않습니다.

471* **같은 이름의 다른 마켓플레이스가 이미 추가됨**: 대화 상자에서 링크의 마켓플레이스가 추가되지 않았다고 표시하며 아무것도 설치되지 않습니다.531* **같은 이름의 다른 마켓플레이스가 이미 추가된 경우**: 대화 상자에 링크의 마켓플레이스가 추가되지 않았다고 표시되며, 아무것도 설치되지 않습니다.

472 532 

473GitHub README, 이슈 및 일부 다른 Markdown 호스트는 스키마가 `http` 또는 `https`가 아닌 링크를 제거하므로 `vscode://` 링크는 일반 텍스트로 렌더링됩니다. [링크가 클릭 가능한 대신 일반 텍스트로 렌더링됨](/docs/ko/deep-links#the-link-renders-as-plain-text-instead-of-being-clickable)에서 `claude-cli://` 링크에 대해 설명하는 대로 이러한 호스트에서 URL을 코드 블록에 넣습니다.533GitHub README, 이슈 및 일부 다른 Markdown 호스트는 스킴이 `http` 또는 `https`가 아닌 링크를 제거하므로, 이러한 곳에서는 `vscode://` 링크가 일반 텍스트로 렌더링됩니다. 해당 호스트에서는 `claude-cli://` 링크에 대해 [The link renders as plain text instead of being clickable](/docs/ko/deep-links#the-link-renders-as-plain-text-instead-of-being-clickable)에서 설명하는 것처럼 URL을 코드 블록에 넣습니다.

474 534 

475<h3 id="manage-marketplaces">535<h3 id="manage-marketplaces">

476 마켓플레이스 관리536 마켓플레이스 관리

477</h3>537</h3>

478 538 

479**마켓플레이스** 탭으로 전환하여 플러그인 소스를 추가하거나 제거합니다:539**Marketplaces** 탭으로 전환하여 플러그인 소스를 추가하거나 제거합니다.

480 540 

481* GitHub 저장소, URL 또는 로컬 경로를 입력하여 새 마켓플레이스를 추가합니다541* GitHub 저장소, URL 또는 로컬 경로를 입력하여 새 마켓플레이스를 추가합니다

482* 새로고침 아이콘을 클릭하여 마켓플레이스의 플러그인 목록을 업데이트합니다542* 새로고침 아이콘을 클릭하여 마켓플레이스의 플러그인 목록을 업데이트합니다

483* 휴지통 아이콘을 클릭하여 마켓플레이스를 제거합니다. 이를 제거하면 [이 마켓플레이스에서 설치한 모든 플러그인이 제거되므로](/docs/ko/plugins/install#manage-marketplaces) 확인 메시지에 해당 플러그인이 먼저 나열됩니다.543* 휴지통 아이콘을 클릭하여 마켓플레이스를 제거합니다. 마켓플레이스를 제거하면 [해당 마켓플레이스에서 설치한 모든 플러그인이 제거](/docs/ko/plugins/install#manage-marketplaces)되므로, 먼저 해당 플러그인 이름을 표시하는 확인 창이 나타납니다

484 544 

485대화 상자에서 변경한 플러그인 변경 사항은 해당 VS Code 창에서 열려 있는 Claude Code 세션에 즉시 적용됩니다.545대화 상자에서 변경한 플러그인 설정은 해당 VS Code 창에 열려 있는 Claude Code 세션에 즉시 적용됩니다.

486 546 

487대화 상자를 연 세션이 플러그인을 다시 로드할 수 없는 경우 대화 상자에서 다시 시도하거나 해당 세션에서 Claude를 다시 시작하도록 제안합니다.547대화 상자를 연 세션이 플러그인을 다시 로드할 수 없는 경우, 대화 상자에서 다시 시도하거나 해당 세션에서 Claude를 다시 시작하는 옵션을 제공합니다.

488 548 

489<Note>549<Note>

490 VS Code의 플러그인 관리는 내부적으로 동일한 CLI 명령을 사용합니다. 확장 프로그램에서 구성한 플러그인 및 마켓플레이스는 CLI에서도 사용 가능하며, 그 반대도 마찬가지입니다.550 확장 프로그램은 CLI와 동일한 명령을 실행하여 플러그인을 관리합니다. 확장 프로그램에서 구성한 플러그인과 마켓플레이스는 CLI에서도 사용할 수 있으며, 그 반대도 마찬가지입니다.

491</Note>551</Note>

492 552 

493플러그인 시스템에 대한 자세한 내용은 [플러그인](/docs/ko/plugins/overview) 및 [플러그인 마켓플레이스](/docs/ko/plugins/overview)를 참조하십시오.553플러그인 시스템에 대한 자세한 내용은 [플러그인](/docs/ko/plugins/overview) 및 [플러그인 마켓플레이스](/docs/ko/plugins/overview)를 참조하십시오.


496 패널에 그리는 플러그인556 패널에 그리는 플러그인

497</h3>557</h3>

498 558 

499[mod](/docs/ko/plugins/mods/overview)를 포함하는 플러그인은 채팅 패널에 그릴 수 있습니다. 그리기에는 확장 프로그램 버전 2.1.299 이상과 [기능 플래그를 가져오는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션이 필요합니다. 이러한 플러그인에서 다음을 볼 수 있습니다:559[mod](/docs/ko/plugins/mods/overview)를 포함하는 플러그인은 채팅 패널에 그릴 수 있습니다. 그리기 기능을 사용하려면 확장 프로그램 버전 2.1.299 이상과 [기능 플래그를 가져오는](/docs/ko/env-vars#features-that-need-feature-flag-fetching) 세션이 필요합니다. 이러한 플러그인에서는 다음을 볼 수 있습니다.

500 560 

501* 대화 옆 또는 프롬프트 상자 위의 창561* 대화 옆 또는 프롬프트 상자 위의 창

502* 프롬프트 상자 위의 토스트 또는 상태줄562* 프롬프트 상자 위의 토스트 또는 상태줄

503* 플러그인 고유의 방식으로 그려진 메시지 또는 도구 호출563* 플러그인 고유의 방식으로 그려진 메시지나 도구 호출

504 564 

505설치한 플러그인이 패널에 무언가를 추가하거나 변경하면 다음과 같은 문구의 레이블이 해당 플러그인을 표시합니다:565설치한 플러그인이 패널에 무언가를 추가하거나 변경하면, 다음과 같은 문구로 해당 플러그인을 표시하는 레이블이 나타납니다.

506 566 

507* **token-chart 플러그인에서**: 플러그인이 이것을 그리거나 출력했거나, 이 카드는 플러그인이 사용자에게 무언가를 묻는 것입니다567* **From the token-chart plugin**: 플러그인이 이것을 그리거나 출력했거나, 이 카드가 플러그인이 사용자에게 무언가를 묻는 것입니다

508* **token-chart 플러그인이 편집함**: 플러그인이 도구 호출과 같이 Claude Code가 그리는 항목을 변경했습니다568* **Edited by the token-chart plugin**: 플러그인이 도구 호출처럼 Claude Code가 그리는 항목을 변경했습니다

509* **token-chart 플러그인의 프롬프트**: 플러그인이 사용자를 대신하여 이 메시지를 보냈습니다569* **Prompt from the token-chart plugin**: 플러그인이 사용자를 대신하여 이 메시지를 보냈습니다

510 570 

511플러그인이 그리지 않도록 하려면 [플러그인 대화 상자](#install-plugins)에서 해당 플러그인을 끕니다.571플러그인이 그리지 못하도록 하려면 [플러그인 대화 상자](#install-plugins)에서 플러그인을 끕니다.

512 572 

513<h2 id="automate-browser-tasks-with-chrome">573<h2 id="automate-browser-tasks-with-chrome">

514 Chrome으로 브라우저 작업 자동화574 Chrome으로 브라우저 작업 자동화하기

515</h2>575</h2>

516 576 

517Claude를 Chrome 브라우저에 연결하여 웹 앱을 테스트하고, 콘솔 로그로 디버깅하며, VS Code를 떠나지 않고 브라우저 워크플로를 자동화합니다. 이를 위해서는 [Claude in Chrome 확장 프로그램](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) 버전 1.0.36 이상이 필요합니다.577Claude를 Chrome 브라우저에 연결하면 VS Code를 벗어나지 않고도 웹 앱을 테스트하고, 콘솔 로그로 디버깅하고, 브라우저 워크플로를 자동화할 수 있습니다. 이 기능을 사용하려면 [Claude in Chrome 확장 프로그램](https://chromewebstore.google.com/detail/claude/fcoeoabgfenejglbffodgkkbkcdhcgfn) 버전 1.0.36 이상이 필요합니다.

518 578 

519프롬프트 상자에 `@browser`를 입력한 후 Claude가 수행할 작업을 입력합니다:579프롬프트 상자에 `@browser`를 입력한 다음 Claude가 수행할 작업을 입력합니다:

520 580 

521```text wrap theme={null}581```text wrap theme={null}

522@browser go to localhost:3000 and check the console for errors582@browser go to localhost:3000 and check the console for errors

523```583```

524 584 

525첨부 메뉴를 열어 새 탭 열기 또는 페이지 콘텐츠 읽기와 같은 특정 브라우저 도구를 선택할 수도 있습니다.585첨부 메뉴를 열어 새 탭 열기나 페이지 콘텐츠 읽기와 같은 특정 브라우저 도구를 선택할 수도 있습니다.

586 

587Claude는 브라우저 작업을 위해 새 탭을 열고 브라우저의 로그인 상태를 공유하므로, 이미 로그인되어 있는 모든 사이트에 접근할 수 있습니다.

588 

589브라우저 사용에 대한 자세한 내용은 다음을 참조하세요:

590 

591* [기본적으로 Chrome 활성화하기](/docs/ko/chrome#enable-chrome-by-default): `@browser`를 입력하지 않아도 각 세션이 시작될 때 브라우저에 연결되도록 설정합니다

592* [VS Code 세션의 권한 프롬프트](/docs/ko/chrome#permission-prompts-in-vs-code-sessions): Claude Code가 브라우저 작업 전에 확인을 요청하는 경우를 설명합니다

593* [Chrome과 함께 Claude Code 사용하기](/docs/ko/chrome): 설정 방법, 전체 기능 목록, 문제 해결을 다룹니다

594 

595<h2 id="work-with-git">

596 git으로 작업하기

597</h2>

598 

599Claude Code는 git과 통합되어 VS Code에서 직접 버전 제어 워크플로우를 지원합니다. Claude에게 변경 사항을 커밋하거나, 풀 리퀘스트를 생성하거나, 브랜치 간에 작업하도록 요청할 수 있습니다. 자체 파일과 브랜치가 있는 격리된 worktree에서 Claude를 시작하려면 [worktree를 사용하여 병렬 세션 실행](/docs/ko/worktrees)을 참조하십시오.

600 

601<h3 id="create-commits-and-pull-requests">

602 커밋 및 풀 리퀘스트 생성

603</h3>

604 

605Claude는 변경 사항을 스테이징하고, 커밋 메시지를 작성하며, 작업을 기반으로 풀 리퀘스트를 생성할 수 있습니다:

606 

607```text wrap theme={null}

608commit my changes with a descriptive message

609create a pr for this feature

610summarize the changes I've made to the auth module

611```

612 

613풀 리퀘스트를 생성할 때, Claude는 실제 코드 변경 사항을 기반으로 설명을 생성하며 테스트 또는 구현 결정에 대한 컨텍스트를 추가할 수 있습니다.

614 

615<h2 id="run-work-in-the-background">

616 백그라운드에서 작업 실행하기

617</h2>

618 

619오래 실행되는 명령이나 서브에이전트를 백그라운드로 보낸 다음, 프롬프트 상자에서 상태를 확인할 수 있습니다.

620 

621<h3 id="move-a-running-command-or-subagent-to-the-background">

622 실행 중인 명령 또는 서브에이전트를 백그라운드로 이동하기

623</h3>

526 624 

527Claude는 브라우저 작업을 위해 새 탭을 열고 브라우저의 로그인 상태를 공유하므로, 이미 로그인한 모든 사이트에 액세스할 수 있습니다.625명령이나 [서브에이전트](/docs/ko/sub-agents) 때문에 Claude가 원하는 것보다 오래 기다리고 있다면, 대화에서 해당 도구 호출 아래에 있는 **Run in background**를 클릭합니다. Claude Code v2.1.287 이상이 필요합니다.

626 

627* **표시 시점**: 이 동작은 명령이 약 2초 동안 실행된 후, 또는 서브에이전트가 시작되는 즉시 나타납니다.

628* **클릭한 후**: Claude는 기다리는 것을 멈추고 턴을 계속 진행합니다. 명령 또는 서브에이전트는 완료 시 Claude에게 알리는 [백그라운드 작업](/docs/ko/tools-reference#background-commands)으로 계속 실행됩니다.

629 

630그동안 작업 상태를 확인하거나 작업을 중지하려면 프롬프트 상자에 `/tasks`를 입력하여 [에이전트 맵](#use-the-prompt-box)을 엽니다. 서브에이전트는 그곳의 에이전트 트리에서 자신의 위치를 유지하며, 명령은 에이전트 아래에 나열되고 [카드에 최신 출력](#monitor-background-processes)이 표시됩니다.

631 

632<h3 id="monitor-background-processes">

633 백그라운드 프로세스 모니터링하기

634</h3>

528 635 

529`@browser`를 입력하지 않고도 각 세션이 시작될 때 브라우저에 연결되도록 하려면 [기본적으로 Chrome 활성화](/docs/ko/chrome#enable-chrome-by-default)를 참조합니다. Claude Code가 브라우저 작업 전에 확인을 요청하는 경우에 대해서는 [VS Code 세션의 권한 프롬프트](/docs/ko/chrome#permission-prompts-in-vs-code-sessions)를 참조합니다.636프롬프트 상자에 `/tasks`를 입력하면 [에이전트 맵](#use-the-prompt-box)이 열리며, 여기에는 Claude가 백그라운드 셸 명령으로 실행 상태로 둔 개발 서버와 같은 세션의 백그라운드 작업이 나열됩니다. 작업을 클릭하면 해당 카드가 열리고, 카드에서 작업을 중지할 수 있습니다. Claude Code v2.1.277 이상이 필요합니다.

530 637 

531설정 지침, 전체 기능 목록 및 문제 해결에 대해서는 [Claude Code를 Chrome과 함께 사용](/docs/ko/chrome)을 참조합니다.638백그라운드 셸 명령 또는 명령을 실행하는 [모니터](/docs/ko/tools-reference#monitor-tool)의 경우, 카드에는 명령의 최신 출력도 표시되며 명령이 실행되는 동안 출력이 새로 고쳐집니다.

532 639 

533<h2 id="vs-code-commands-and-shortcuts">640<h2 id="vs-code-commands-and-shortcuts">

534 VS Code 명령어 및 단축키641 VS Code 명령 및 단축키

535</h2>642</h2>

536 643 

537명령 팔레트를 열고(`Mac에서 Cmd+Shift+P` 또는 `Windows/Linux에서 Ctrl+Shift+P`) "Claude Code"를 입력하면 Claude Code 확장 프로그램의 모든 사용 가능한 VS Code 명령어를 볼 수 있습니다.644Command Palette를 열려면 Mac에서는 `Cmd+Shift+P`, Windows/Linux에서는 `Ctrl+Shift+P`를 누릅니다. 여기에 "Claude Code"를 입력하면 Claude Code 확장 프로그램에서 사용할 수 있는 모든 VS Code 명령을 확인할 수 있습니다.

538 645 

539일부 단축키는 어느 패널이 "포커스"되어 있는지(키보드 입력을 받고 있는지)에 따라 달라집니다. 커서가 코드 파일에 있으면 편집기가 포커스됩니다. 커서가 Claude의 프롬프트 상자에 있으면 Claude가 포커스됩니다. `Cmd+Esc` / `Ctrl+Esc`를 사용하여 둘 사이를 전환합니다.646일부 단축키는 어떤 패널이 "포커스"되어 있는지(키보드 입력을 받고 있는지)에 따라 달라집니다. 커서가 코드 파일에 있으면 편집기가 포커스된 상태입니다. 커서가 Claude의 프롬프트 상자에 있으면 Claude가 포커스된 상태입니다. `Cmd+Esc` / `Ctrl+Esc`를 사용하여 둘 사이를 전환합니다.

540 647 

541<Note>648<Note>

542 이는 확장 프로그램을 제어하기 위한 VS Code 명령어입니다. 모든 기본 제공 Claude Code 명령어가 확장 프로그램에서 사용 가능한 것은 아닙니다. 자세한 내용은 [VS Code 확장 프로그램 vs. Claude Code CLI](#vs-code-extension-vs-claude-code-cli)를 참조하십시오.649 이 명령들은 확장 프로그램을 제어하기 위한 VS Code 명령입니다. 모든 기본 제공 Claude Code 명령을 확장 프로그램에서 사용할 수 있는 것은 아닙니다. 자세한 내용은 [VS Code 확장 프로그램과 Claude Code CLI 비교](#vs-code-extension-vs-claude-code-cli)를 참조하세요.

543</Note>650</Note>

544 651 

545| 명령어 | 단축키 | 설명 |652| 명령 | 단축키 | 설명 |

546| - | - | - |653| - | - | - |

547| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | 편집기와 Claude 사이의 포커스 전환 |654| Focus Input | `Cmd+Esc` (Mac) / `Ctrl+Esc` (Windows/Linux) | 편집기와 Claude 사이에서 포커스를 전환합니다 |

548| Focus last message | - | 대화에서 가장 최신 메시지로 키보드 포커스를 이동하거나 대기 중인 권한 프롬프트로 이동하여 키보드 또는 화면 판독기로 읽을 수 있습니다. [터미널 모드](#switch-to-terminal-mode)에서는 사용할 수 없습니다. Claude Code v2.1.268 이상 필요 |655| Focus last message | - | 키보드 포커스를 대화의 최신 메시지 또는 대기 중인 권한 프롬프트로 이동하여 키보드나 스크린 리더로 그 위치부터 읽을 수 있게 합니다. [터미널 모드](#switch-to-terminal-mode)에서는 사용할 수 없습니다. Claude Code v2.1.268 이상이 필요합니다 |

549| Open in Side Bar | - | Claude를 사이드바에서 열기 |656| Open in Side Bar | - | 사이드바에서 Claude를 엽니다 |

550| Open in Terminal | - | Claude를 터미널 모드에서 열기 |657| Open in Terminal | - | 터미널 모드에서 Claude를 엽니다 |

551| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | 새 대화를 편집기 탭으로 열기 |658| Open in New Tab | `Cmd+Shift+Esc` (Mac) / `Ctrl+Shift+Esc` (Windows/Linux) | 새 대화를 편집기 탭으로 엽니다 |

552| Open in New Window | - | 새 대화를 별도 창에서 열기 |659| Open in New Window | - | 새 대화를 별도의 창에서 엽니다 |

553| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | 새 대화 시작. Claude가 포커스되어 있고 `enableNewConversationShortcut`이 `true`로 설정되어 있어야 함 |660| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | 새 대화를 시작합니다. Claude가 포커스되어 있고 `enableNewConversationShortcut`이 `true`로 설정되어 있어야 합니다 |

554| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | 가장 최근에 닫은 Claude 세션 탭을 다시 열기. 마지막으로 닫은 탭이 Claude 세션이 아닌 경우 VS Code의 일반 닫힌 편집기 다시 열기로 폴스루됨. `enableReopenClosedSessionShortcut`으로 비활성화 |661| Reopen Closed Session | `Cmd+Shift+T` (Mac) / `Ctrl+Shift+T` (Windows/Linux) | 가장 최근에 닫은 Claude 세션 탭을 다시 엽니다. 마지막으로 닫은 탭이 Claude 세션이 아니면 VS Code의 일반적인 닫은 편집기 다시 열기 동작으로 넘어갑니다. `enableReopenClosedSessionShortcut`으로 비활성화할 수 있습니다 |

555| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | 현재 파일 및 선택 항목에 대한 참조 삽입(편집기가 포커스되어 있어야 함) |662| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | 현재 파일과 선택 영역에 대한 참조를 삽입합니다(편집기가 포커스되어 있어야 함) |

556| Accept Change at Cursor | - | [제안된 편집 검토](#get-started) 중 한 번에 하나씩 변경 사항을 수락합니다. Claude Code v2.1.275 이상 필요 |663| Accept Change at Cursor | - | [제안된 편집을 한 번에 하나의 변경 사항씩 검토](#get-started)하는 동안 커서 위치의 변경 사항을 수락합니다. Claude Code v2.1.275 이상이 필요합니다 |

557| Reject Change at Cursor | - | 제안된 편집을 검토하는 동안 한 번에 하나씩 변경 사항을 되돌립니다. Claude Code v2.1.275 이상 필요 |664| Reject Change at Cursor | - | 제안된 편집을 한 번에 하나의 변경 사항씩 검토하는 동안 커서 위치의 변경 사항을 되돌립니다. Claude Code v2.1.275 이상이 필요합니다 |

558| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | 대화에서 도구 활동 숨기기 또는 표시. Claude 패널 또는 사이드바가 표시되는 동안 작동. Claude Code v2.1.221 이상 필요 |665| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | 대화에서 도구 활동을 숨기거나 표시합니다. Claude 패널이나 사이드바가 표시되어 있는 동안 작동합니다. Claude Code v2.1.221 이상이 필요합니다 |

559| Rename Session Tab | - | 활성 Claude 탭의 세션 이름 바꾸기. Claude Code v2.1.257 이상 필요 |666| Rename Session Tab | - | 활성 Claude 탭의 세션 이름을 변경합니다. Claude Code v2.1.257 이상이 필요합니다 |

560| Add Session Tab to Group | - | 활성 Claude 탭의 세션을 선택하거나 만드는 [세션 그룹](#organize-sessions-into-groups)에 추가. Claude Code v2.1.257 이상 필요 |667| Add Session Tab to Group | - | 활성 Claude 탭의 세션을 선택하거나 새로 만든 [세션 그룹](#organize-sessions-into-groups)에 추가합니다. Claude Code v2.1.257 이상이 필요합니다 |

561| Mark Session as Unread | - | 활성 Claude 탭의 세션을 세션 목록에서 읽지 않음으로 표시. Claude Code v2.1.257 이상 필요 |668| Mark Session as Unread | - | 활성 Claude 탭의 세션을 세션 목록에서 읽지 않음으로 표시합니다. Claude Code v2.1.257 이상이 필요합니다 |

562| Show Logs | - | 확장 프로그램 디버그 로그 보기 |669| Show Logs | - | 확장 프로그램 디버그 로그를 확인합니다 |

563| Logout | - | Anthropic 계정에서 로그아웃 |670| Logout | - | Anthropic 계정에서 로그아웃합니다 |

564 671 

565<h3 id="launch-a-vs-code-tab-from-other-tools">672<h3 id="launch-a-vs-code-tab-from-other-tools">

566 다른 도구에서 VS Code 탭 시작673 다른 도구에서 VS Code 탭 실행하기

567</h3>674</h3>

568 675 

569확장 프로그램은 `vscode://anthropic.claude-code/open`에서 URI 핸들러를 등록합니다. 이를 사용하여 자신의 도구(셸 별칭, 브라우저 북마클릿 또는 URL을 열 수 있는 모든 스크립트)에서 새 Claude Code 탭을 열 수 있습니다. VS Code가 아직 실행 중이 아니면 URL을 열면 먼저 실행됩니다. VS Code가 이미 실행 중이면 URL은 현재 포커스된 창에서 열립니다.676확장 프로그램은 `vscode://anthropic.claude-code/open`에 URI 핸들러를 등록합니다. 이를 사용하면 셸 별칭, 브라우저 북마클릿 또는 URL을 열 수 있는 모든 스크립트 등 자체 도구에서 새 Claude Code 탭을 열 수 있습니다. VS Code가 아직 실행 중이 아니면 URL을 열 때 먼저 VS Code가 실행됩니다. VS Code가 이미 실행 중이면 현재 포커스된 창에서 URL이 열립니다.

570 677 

571운영 체제의 URL 오프너로 핸들러를 호출합니다.678운영 체제의 URL 열기 도구로 핸들러를 호출합니다.

572 679 

573<Tabs>680<Tabs>

574 <Tab title="macOS">681 <Tab title="macOS">


582 xdg-open "vscode://anthropic.claude-code/open"689 xdg-open "vscode://anthropic.claude-code/open"

583 ```690 ```

584 691 

585 `xdg-open` 명령어는 `xdg-utils` 패키지에서 제공됩니다. 셸에서 찾을 수 없다고 보고하면 [xdg-open is not found on Linux](/docs/ko/deep-links#xdg-open-is-not-found-on-linux)를 참조하십시오.692 `xdg-open` 명령은 `xdg-utils` 패키지에서 제공됩니다. 셸에서 이 명령을 찾을 수 없다고 표시되면 [Linux에서 xdg-open을 찾을 수 없음](/docs/ko/deep-links#xdg-open-is-not-found-on-linux)을 참조하세요.

586 </Tab>693 </Tab>

587 694 

588 <Tab title="Windows">695 <Tab title="Windows">


592 Start-Process "vscode://anthropic.claude-code/open"699 Start-Process "vscode://anthropic.claude-code/open"

593 ```700 ```

594 701 

595 `cmd.exe`에서 `start`는 첫 번째 따옴표로 묶인 인수를 창 제목으로 취급하므로 URL 앞에 빈 제목을 전달합니다:702 `cmd.exe`에서 `start`는 따옴표로 묶인 첫 번째 인수를 창 제목으로 처리하므로 URL 앞에 빈 제목을 전달합니다:

596 703 

597 ```cmd theme={null}704 ```cmd theme={null}

598 start "" "vscode://anthropic.claude-code/open"705 start "" "vscode://anthropic.claude-code/open"


600 </Tab>707 </Tab>

601</Tabs>708</Tabs>

602 709 

603핸들러는 두 개의 선택적 쿼리 매개변수를 허용합니다:710핸들러는 두 가지 선택적 쿼리 매개변수를 받습니다:

604 711 

605| 매개변수 | 설명 |712| 매개변수 | 설명 |

606| - | - |713| - | - |

607| `prompt` | 프롬프트 상자에 미리 채울 텍스트. URL 인코딩되어야 합니다. 프롬프트는 미리 채워지지만 자동으로 제출되지 않습니다. |714| `prompt` | 프롬프트 상자에 미리 채울 텍스트입니다. URL 인코딩되어 있어야 합니다. 프롬프트는 미리 채워지지만 자동으로 제출되지는 않습니다. |

608| `session` | 새 대화를 시작하는 대신 재개할 세션 ID. 세션은 VS Code에서 현재 열려 있는 작업 영역에 속해야 합니다. 세션을 찾을 수 없으면 새 대화가 시작됩니다. 세션이 이미 탭에서 열려 있으면 해당 탭이 포커스됩니다. 프로그래밍 방식으로 세션 ID를 캡처하려면 [대화 계속하기](/docs/ko/headless#continue-conversations)를 참조하십시오. |715| `session` | 새 대화를 시작하는 대신 재개할 세션 ID입니다. 세션은 현재 VS Code에 열려 있는 워크스페이스에 속해야 합니다. 세션을 찾을 수 없으면 대신 새 대화가 시작됩니다. 세션이 이미 탭에서 열려 있으면 해당 탭이 포커스됩니다. 프로그래밍 방식으로 세션 ID를 얻으려면 [대화 계속하기](/docs/ko/headless#continue-conversations)를 참조하세요. |

609 716 

610예를 들어 "review my changes"로 미리 채워진 탭을 열려면:717예를 들어 "review my changes"가 미리 채워진 탭을 열려면 다음과 같이 합니다:

611 718 

612```text theme={null}719```text theme={null}

613vscode://anthropic.claude-code/open?prompt=review%20my%20changes720vscode://anthropic.claude-code/open?prompt=review%20my%20changes

614```721```

615 722 

616확장 프로그램은 또한 `vscode://anthropic.claude-code/install-plugin`을 처리하며, 이는 [한 플러그인에서 플러그인 대화를 엽니다](#share-a-plugin-install-link). VS Code 탭 대신 터미널 세션을 시작하려면 CLI의 `claude-cli://` 핸들러를 사용합니다. [링크에서 세션 시작하기](/docs/ko/deep-links)를 참조하십시오.723확장 프로그램은 `vscode://anthropic.claude-code/install-plugin`도 처리하며, 이는 [특정 플러그인에 대한 플러그인 대화 상자를 엽니다](#share-a-plugin-install-link). VS Code 탭 대신 터미널 세션을 실행하려면 CLI의 `claude-cli://` 핸들러를 사용합니다. [링크에서 세션 실행하기](/docs/ko/deep-links)를 참조하세요.

617 724 

618<h2 id="configure-settings">725<h2 id="configure-settings">

619 설정 구성726 설정 구성

620</h2>727</h2>

621 728 

622확장 프로그램에는 두 가지 유형의 설정이 있습니다:729확장 프로그램은 VS Code의 확장 프로그램 설정과 Claude Code 설정 파일, 두 곳에서 구성합니다:

623 730 

624* **VS Code의 확장 프로그램 설정**: VS Code 내에서 확장 프로그램의 동작을 제어합니다. `Cmd+,`(Mac) 또는 `Ctrl+,`(Windows/Linux)로 열고, Extensions → Claude Code로 이동합니다. `/`를 입력하고 \*\*General config…\*\*를 선택하여 설정을 열 수도 있습니다.731* VS Code의 **확장 프로그램 설정**: VS Code 내에서 확장 프로그램의 동작을 제어합니다. `Cmd+,`(Mac) 또는 `Ctrl+,`(Windows/Linux)로 연 다음 **Extensions > Claude Code**로 이동합니다. `/`를 입력하고 \*\*General config…\*\*를 선택하여 설정을 열 수도 있습니다.

625* **`~/.claude/settings.json`의 Claude Code 설정**: 확장 프로그램과 CLI 간에 공유됩니다. 허용된 명령, 환경 변수, hooks 및 MCP 서버에 사용합니다. Claude Code v2.1.283 이상에서는 권한 모드 대화가 시작되는 입력 중 하나이기도 하며, 이전 버전에서는 Pro, Max 및 Team 플랜에서만 해당됩니다. [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에서 순서를 나열합니다. 자세한 내용은 [설정](/docs/ko/settings)을 참조하세요.732* `~/.claude/settings.json`의 **Claude Code 설정**: 확장 프로그램과 CLI 간에 공유됩니다. 허용된 명령, 환경 변수, 훅, MCP 서버에 사용합니다. Claude Code v2.1.283 이상에서는 대화가 시작되는 권한 모드를 결정하는 입력 중 하나이기도 하며, 이전 버전에서는 Pro, Max, Team 플랜에서만 해당됩니다. [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에 그 순서가 나와 있습니다. 자세한 내용은 [설정](/docs/ko/settings)을 참조하세요.

626 733 

627<Tip>734<Tip>

628 `settings.json`에 `"$schema": "https://json.schemastore.org/claude-code-settings.json"`을 추가하여 VS Code에서 직접 사용 가능한 모든 설정에 대한 자동 완성 및 인라인 유효성 검사를 받습니다.735 `settings.json`에 `"$schema": "https://json.schemastore.org/claude-code-settings.json"`을 추가하면 VS Code에서 바로 사용 가능한 모든 설정에 대한 자동 완성과 인라인 유효성 검사를 사용할 수 있습니다.

629</Tip>736</Tip>

630 737 

631<h3 id="extension-settings">738<h3 id="extension-settings">

632 확장 프로그램 설정739 확장 프로그램 설정

633</h3>740</h3>

634 741 

635VS Code는 사용자 설정에서 `initialPermissionMode`를 읽고 작업 영역 값을 무시합니다. v2.1.225 이전에는 VS Code가 설정을 기본값 `default`로 설정하고 작업 영역 값을 적용했습니다.742VS Code는 사용자 설정에서 `initialPermissionMode`를 읽고 워크스페이스 값은 무시합니다. v2.1.225 이전에는 VS Code가 이 설정의 기본값을 `default`로 지정하고 워크스페이스 값을 적용했습니다.

636 743 

637| 설정 | 기본값 | 설명 |744| 설정 | 기본값 | 설명 |

638| - | - | - |745| - | - | - |

639| `useTerminal` | `false` | 그래픽 패널 대신 터미널 모드에서 Claude를 실행합니다 |746| `useTerminal` | `false` | 그래픽 패널 대신 터미널 모드에서 Claude를 실행합니다 |

640| `initialPermissionMode` | - | 새 대화에 대한 승인 프롬프트를 제어합니다: `default`, `plan`, `acceptEdits` 또는 `bypassPermissions`. `manual`은 `default`의 별칭이며 모드 표시기에서 **Manual**로 표시된 모드를 선택합니다. 설정을 해제하면 확장 프로그램이 [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에 설명된 대로 시작 권한 모드를 선택합니다. |747| `initialPermissionMode` | - | 새 대화의 승인 프롬프트를 제어합니다: `default`, `plan`, `acceptEdits` 또는 `bypassPermissions`. `manual`은 `default`의 별칭이며 모드 표시기에서 **Manual**로 표시된 모드를 선택합니다. 설정하지 않으면 확장 프로그램은 [권한 모드 전환](/docs/ko/permission-modes#switch-permission-modes)에 설명된 대로 시작 권한 모드를 선택합니다. |

641| `preferredLocation` | `panel` | Claude가 열리는 위치: `sidebar`(오른쪽) 또는 `panel`(새 탭) |748| `preferredLocation` | `panel` | Claude가 열리는 위치: `sidebar`(오른쪽) 또는 `panel`(새 탭) |

642| `lockEditorGroups` | `true` | [Claude가 탭을 위해 시작하는 편집기 그룹을 잠금](#choose-where-claude-lives)하여 Claude 탭이 포커스되어 있는 동안 열려 있는 파일이 다른 그룹으로 이동합니다. 꺼져 있으면 확장 프로그램이 편집기 그룹을 잠금하지 않습니다. Claude Code v2.1.274 이상 필요 |749| `lockEditorGroups` | `true` | [Claude가 탭용으로 시작하는 편집기 그룹을 잠가](#choose-where-claude-lives) Claude 탭에 포커스가 있는 동안 여는 파일이 다른 그룹으로 이동하도록 합니다. 끄면 확장 프로그램은 편집기 그룹을 잠그지 않습니다. Claude Code v2.1.274 이상이 필요합니다 |

643| `autosave` | `true` | Claude가 파일을 읽거나 쓰기 전에 파일을 자동 저장합니다 |750| `autosave` | `true` | Claude가 파일을 읽거나 쓰기 전에 파일을 자동 저장합니다 |

644| `attachOpenFile` | `true` | 편집기에서 열려 있는 파일을 메시지에 추가하고 프롬프트 상자에 표시합니다. 꺼져 있으면 선택한 텍스트만 추가됩니다. Claude Code v2.1.271 이상 필요 |751| `attachOpenFile` | `true` | 편집기에 열려 있는 파일을 메시지에 추가하고 프롬프트 상자에 표시합니다. 끄면 선택한 텍스트만 추가됩니다. Claude Code v2.1.271 이상이 필요합니다 |

645| `useCtrlEnterToSend` | `false` | Enter 대신 Ctrl/Cmd+Enter를 사용하여 프롬프트를 보냅니다 |752| `useCtrlEnterToSend` | `false` | 프롬프트를 보낼 때 Enter 대신 Ctrl/Cmd+Enter를 사용합니다 |

646| `scrollToBottomOnSend` | `true` | 메시지를 보낼 때 대화를 맨 아래로 스크롤합니다. 꺼져 있으면 대화가 남겨진 위치에 머물러 있습니다. Claude Code v2.1.275 이상 필요 |753| `scrollToBottomOnSend` | `true` | 메시지를 보낼 때 대화를 맨 아래로 스크롤합니다. 끄면 대화가 마지막 위치에 그대로 유지됩니다. Claude Code v2.1.275 이상이 필요합니다 |

647| `showMessageTimestamps` | `true` | 각 메시지를 보낸 시간을 표시합니다. 날짜가 바뀌는 위치에는 날짜 줄이 표시됩니다. Claude Code v2.1.284 이상 필요. v2.1.290 이전에는 기본값이 `false`였습니다 |754| `showMessageTimestamps` | `true` | 각 메시지를 보낸 시간을 표시합니다. 날짜가 바뀌는 지점에 날짜 줄이 표시됩니다. Claude Code v2.1.284 이상이 필요합니다. v2.1.290 이전에는 기본값이 `false`였습니다 |

648| `spinnerVerbs` | `{"mode": "append", "verbs": []}` | 턴이 실행되는 동안 대화 스피너가 순환하며 표시하는 동사를 설정합니다. CLI의 [`spinnerVerbs`](/docs/ko/settings-reference#spinnerverbs)와 동일한 `mode` 및 `verbs` 필드를 사용합니다. |755| `spinnerVerbs` | `{"mode": "append", "verbs": []}` | 턴이 실행되는 동안 대화 스피너에 순환 표시되는 동사를 설정하며, CLI의 [`spinnerVerbs`](/docs/ko/settings-reference#spinnerverbs)와 동일한 `mode` 및 `verbs` 필드를 사용합니다. |

649| `enableNewConversationShortcut` | `false` | Cmd/Ctrl+N을 활성화하여 새 대화를 시작합니다 |756| `enableNewConversationShortcut` | `false` | Cmd/Ctrl+N으로 새 대화를 시작할 수 있도록 합니다 |

650| `enableReopenClosedSessionShortcut` | `true` | Cmd/Ctrl+Shift+T를 사용하여 가장 최근에 닫은 Claude 세션 탭을 다시 엽니다. 마지막으로 닫은 탭이 Claude 세션이 아닌 경우 바로 가기는 VS Code의 일반 reopen-closed-editor 명령을 대신 실행합니다. |757| `enableReopenClosedSessionShortcut` | `true` | Cmd/Ctrl+Shift+T를 사용하여 가장 최근에 닫은 Claude 세션 탭을 다시 엽니다. 마지막으로 닫은 탭이 Claude 세션이 아닌 경우, 이 단축키는 대신 VS Code의 일반적인 닫은 편집기 다시 열기 명령을 실행합니다. |

651| `archiveInactiveSessions` | `14` | [세션을 자동으로 보관](#resume-past-conversations)합니다. 이 많은 일 동안 활동이 없으면: `1`, `2`, `7` 또는 `14`. `0`으로 설정하여 끕니다. Claude Code v2.1.265 이상 필요 |758| `archiveInactiveSessions` | `14` | 활동이 없는 상태로 이 일수가 지나면 [세션을 자동으로 보관](#resume-past-conversations)합니다: `1`, `2`, `7` 또는 `14`. 끄려면 `0`으로 설정합니다. Claude Code v2.1.265 이상이 필요합니다 |

652| `continueAfterReload` | `true` | 창 다시 로드 후 Claude는 [복원된 세션에서 중단된 단계를 계속](#continue-conversations-after-a-reload)합니다. Claude Code v2.1.274 이상 필요 |759| `continueAfterReload` | `true` | 창을 다시 로드한 후 Claude가 복원된 세션에서 [중단된 단계를 계속 진행](#continue-conversations-after-a-reload)합니다. Claude Code v2.1.274 이상이 필요합니다 |

653| `hideOnboarding` | `false` | 온보딩 체크리스트(졸업 모자 아이콘) 숨기기 |760| `hideOnboarding` | `false` | 온보딩 체크리스트(학사모 아이콘)를 숨깁니다 |

654| `focusView` | `false` | 도구 호출, 도구 결과 및 생각을 확장 가능한 행 뒤에 숨기고 프롬프트와 Claude의 응답을 남깁니다. Claude의 최신 할 일 목록은 계속 표시됩니다. 이는 Claude Code v2.1.225 이상이 필요합니다. 명령 메뉴에서 포커스 보기를 전환할 수도 있습니다. Claude Code v2.1.221 이상 필요 |761| `focusView` | `false` | 도구 호출, 도구 결과, 사고를 펼칠 수 있는 행 뒤로 숨기고 프롬프트와 Claude의 응답만 남깁니다. Claude의 최신 할 일 목록은 계속 표시되며, 이를 위해서는 Claude Code v2.1.225 이상이 필요합니다. 명령 메뉴에서 Focus view를 전환할 수도 있습니다. Claude Code v2.1.221 이상이 필요합니다 |

655| `respectGitIgnore` | `true` | 파일 검색 및 [선택 컨텍스트](#reference-files-and-folders)에서 .gitignore 패턴 제외 |762| `respectGitIgnore` | `true` | 파일 검색 및 [선택 컨텍스트](#reference-files-and-folders)에서 .gitignore 패턴을 제외합니다 |

656| `usePythonEnvironment` | `true` | Claude를 실행할 때 작업 영역의 Python 환경을 활성화합니다. Python 확장 프로그램이 필요합니다. |763| `usePythonEnvironment` | `true` | Claude를 실행할 때 워크스페이스의 Python 환경을 활성화합니다. Python 확장 프로그램이 필요합니다. |

657| `environmentVariables` | `[]` | Claude 프로세스에 대한 환경 변수를 설정합니다. 공유 구성의 경우 Claude Code 설정을 대신 사용합니다. [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars) 항목은 값이 절대 경로인 경우에만 적용됩니다. 확장 프로그램은 `~`를 확장하지 않으며 상대 경로 값은 무시합니다. |764| `environmentVariables` | `[]` | Claude 프로세스의 환경 변수를 설정합니다. 공유 구성에는 대신 Claude Code 설정을 사용하세요. [`CLAUDE_CONFIG_DIR`](/docs/ko/env-vars) 항목은 값이 절대 경로인 경우에만 적용되며, 확장 프로그램은 `~`를 확장하지 않고 상대 값은 무시합니다. |

658| `disableLoginPrompt` | `false` | 인증 프롬프트 건너뛰기(타사 공급자 설정의 경우) |765| `disableLoginPrompt` | `false` | 인증 프롬프트를 건너뜁니다(서드파티 제공업체 설정용) |

659| `allowDangerouslySkipPermissions` | `false` | 모드 선택기에 권한 무시를 추가합니다. 인터넷 접근이 없는 샌드박스에서만 사용합니다. |766| `allowDangerouslySkipPermissions` | `false` | 모드 선택기에 Bypass permissions를 추가합니다. 인터넷 접근이 없는 샌드박스에서만 사용하세요. |

660| `claudeProcessWrapper` | - | Claude 프로세스를 실행하는 데 사용되는 실행 파일입니다. 번들된 바이너리 경로는 존재할 때 인수로 전달됩니다. 확장 프로그램 빌드에 해당 플랫폼용 바이너리가 포함되어 있지 않은 경우 별도로 설치된 `claude` 바이너리로 설정합니다. |767| `claudeProcessWrapper` | - | Claude 프로세스를 실행하는 데 사용되는 실행 파일입니다. 번들 바이너리가 있는 경우 해당 경로가 인수로 전달됩니다. 확장 프로그램 빌드에 사용 중인 플랫폼용 바이너리가 포함되어 있지 않다면 별도로 설치한 `claude` 바이너리로 설정하세요. |

768 

769<h2 id="use-third-party-providers">

770 서드파티 공급자 사용

771</h2>

772 

773기본적으로 Claude Code는 Anthropic의 API에 직접 연결됩니다. 조직에서 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry를 사용하여 Claude에 액세스하는 경우, 대신 해당 공급자를 사용하도록 확장 프로그램을 구성합니다.

774 

775<Steps>

776 <Step title="로그인 프롬프트 비활성화">

777 [Disable Login Prompt 설정](vscode://settings/claudeCode.disableLoginPrompt)을 열고 확인란을 선택합니다.

778 

779 Mac에서는 `Cmd+,`, Windows/Linux에서는 `Ctrl+,`를 눌러 VS Code 설정을 열고 "Claude Code login"을 검색한 다음 **Disable Login Prompt**를 선택할 수도 있습니다.

780 </Step>

781 

782 <Step title="공급자 구성">

783 사용하는 공급자의 설정 가이드를 따릅니다.

784 

785 * [Amazon Bedrock에서 Claude Code 사용](/docs/ko/amazon-bedrock)

786 * [Google Cloud의 Agent Platform에서 Claude Code 사용](/docs/ko/google-vertex-ai)

787 * [Microsoft Foundry에서 Claude Code 사용](/docs/ko/microsoft-foundry)

788 

789 이 가이드에서는 `~/.claude/settings.json`에서 공급자를 구성하는 방법을 다루며, 이를 통해 VS Code 확장 프로그램과 CLI 간에 설정이 공유됩니다.

790 </Step>

791</Steps>

792 

793서드파티 공급자를 사용하는 경우, 확장 프로그램은 플랜 사용량 표시줄, [음성 받아쓰기](/docs/ko/voice-dictation), [클라우드 세션](#resume-cloud-sessions-from-claude-ai)용 Web 탭 등 claude.ai 계정이 필요한 기능을 제공하지 않습니다. 이러한 로그인 방식에서 Account & usage 대화 상자에 표시되는 내용은 [계정 및 사용량 확인](#check-account-and-usage)을 참조하십시오.

794 

795이전 `/login`에서 남아 있는 claude.ai 로그인은 사용되지 않습니다. 확장 프로그램은 어떤 요청에도 이를 함께 보내지 않습니다.

661 796 

662<h2 id="use-a-screen-reader">797<h2 id="use-a-screen-reader">

663 화면 읽기 프로그램 사용798 스크린 리더 사용

664</h2>799</h2>

665 800 

666확장 프로그램의 채팅 패널은 화면 읽기 프로그램과 호환됩니다. 아무것도 켤 필요가 없습니다. 확장 프로그램은 시각적 변화 없이 모든 사용자에 대해 대화 활동을 알립니다. 이는 터미널 인터페이스를 조정하는 CLI의 선택적 [화면 읽기 모드](/docs/ko/accessibility)와는 별개입니다.801확장 프로그램의 채팅 패널은 스크린 리더와 함께 작동합니다. 별도로 켜야 할 설정은 없습니다. 확장 프로그램은 시각적인 변화 없이 모든 사용자에게 대화 활동을 안내합니다. 이는 터미널 인터페이스를 조정하는 CLI의 옵트인 [스크린 리더 모드](/docs/ko/accessibility)와는 별개입니다.

667 802 

668채팅 패널의 화면 읽기 프로그램 지원은 Claude Code v2.1.236 이상이 필요합니다.803채팅 패널의 스크린 리더 지원에는 Claude Code v2.1.236 이상이 필요합니다.

669 804 

670대화 중에 확장 프로그램은 다음을 알립니다:805대화 중에 확장 프로그램은 다음을 안내합니다.

671 806 

672* **Claude의 응답**: 확장 프로그램은 각 응답을 완료되었을 때 한 번 알리고, 텍스트가 스트리밍되는 동안 침묵을 유지합니다. 화면 읽기 프로그램은 코드 블록을 줄 수 요약으로 읽고, 링크를 레이블로 읽으며, 표를 셀 단위로 읽습니다. 전체 응답은 기록에서 읽을 수 있는 상태로 유지됩니다.807* **Claude의 응답**: 확장 프로그램은 각 응답이 완료되었을 때 한 번 안내하며, 텍스트가 스트리밍되는 동안에는 안내하지 않습니다. 스크린 리더는 코드 블록을 줄 수 요약으로 읽고, 링크는 레이블로 읽으며, 표는 셀 단위로 읽습니다. 전체 응답은 트랜스크립트에서 계속 읽을 수 있습니다.

673* **권한 요청 및 질문**: 확장 프로그램은 권한 프롬프트가 나타날 때 요청을 알리고, Claude가 사용하려는 도구의 이름을 지정합니다. Claude가 질문을 할 때와 Claude가 계획을 완료하고 검토를 기다릴 때도 같은 방식으로 알립니다.808* **권한 요청 및 질문**: 확장 프로그램은 권한 프롬프트가 나타날 때 Claude가 사용하려는 도구의 이름과 함께 요청을 안내합니다. Claude가 사용자에게 질문할 때와 Claude가 계획을 마치고 사용자의 검토를 기다릴 때도 같은 방식으로 안내합니다.

674* **상태 변경**: 확장 프로그램은 Claude가 작업을 시작할 때, Claude가 입력을 기다릴 준비가 되었을 때, Claude Code가 대화를 압축하기 시작할 때를 알립니다.809* **상태 변경**: 확장 프로그램은 Claude가 작업을 시작할 때, Claude가 사용자의 입력을 받을 준비가 되었을 때, Claude Code가 대화 압축을 시작할 때 안내합니다.

675* **대기 중인 메시지**: Claude가 작업하는 동안 메시지를 보내면, 확장 프로그램은 해당 메시지에 대해 "Message queued."라고 알립니다.810* **대기 중인 메시지**: Claude가 작업하는 동안 메시지를 보내면 확장 프로그램은 해당 메시지에 대해 "Message queued."라고 안내합니다.

676* **오류 및 모델 프롬프트**: 확장 프로그램은 대화의 오류를 알리고, [사용량-크레딧 동의 프롬프트](/docs/ko/model-config#fable-and-usage-credits) 또는 [플래그된 요청 프롬프트](/docs/ko/model-config#ask-before-switching)가 나타날 때를 알립니다.811* **오류 및 모델 프롬프트**: 확장 프로그램은 대화 중 발생한 오류를 안내하며, [사용량 크레딧 동의 프롬프트](/docs/ko/model-config#fable-and-usage-credits) 또는 [플래그된 요청 프롬프트](/docs/ko/model-config#ask-before-switching)가 나타날 때도 안내합니다.

677 812 

678Claude가 작업하는 동안, 화면 읽기 프로그램은 진행률 스피너의 애니메이션 대신 텍스트 레이블을 읽습니다.813Claude가 작업하는 동안 스크린 리더는 진행 스피너 애니메이션 대신 텍스트 레이블을 읽습니다.

679 814 

680세션을 다시 열거나 다른 세션으로 전환할 때, 확장 프로그램은 아무것도 알리지 않습니다. 복원된 기록, 보류 중인 권한 프롬프트, 진행 중인 상태는 새로운 일이 발생할 때까지 침묵을 유지합니다.815세션을 다시 열거나 다른 세션으로 전환하면 확장 프로그램은 아무것도 안내하지 않습니다. 복원된 기록, 대기 중인 권한 프롬프트, 진행 중인 상태는 새로운 일이 발생할 때까지 안내되지 않습니다.

681 816 

682<h3 id="use-the-chat-panel-from-the-keyboard">817<h3 id="use-the-chat-panel-from-the-keyboard">

683 키보드에서 채팅 패널 사용818 키보드로 채팅 패널 사용

684</h3>819</h3>

685 820 

686기록의 각 턴은 턴을 시작한 프롬프트로 레이블이 지정된 시각적으로 숨겨진 제목으로 시작되므로, 화면 읽기 프로그램의 제목 탐색을 사용하여 턴 사이를 이동할 수 있습니다.821트랜스크립트의 각 턴은 해당 턴을 시작한 프롬프트로 레이블이 지정된, 시각적으로 숨겨진 제목으로 시작합니다. 스크린 리더의 제목 탐색 기능을 사용하여 턴 사이를 이동할 수 있습니다.

687 822 

688턴 내에서, 화면 읽기 프로그램은 메시지를 통해 이동할 때 어느 메시지에 있는지 알립니다:823턴 안에서 이동할 때 스크린 리더는 현재 위치한 메시지가 누구의 것인지 안내합니다.

689 824 

690* **사용자 메시지**: "You"825* **사용자의 메시지**: "You"

691* **Claude의 메시지**: "Claude"826* **Claude의 메시지**: "Claude"

692* **도구 단계**: "Claude" 및 도구 이름(예: "Claude, Bash")827* **도구 단계**: "Claude"와 도구 이름(예: "Claude, Bash")

693* **생각 블록**: "Claude, thinking"828* **사고 블록**: "Claude, thinking"

829 

830확장 프로그램은 트랜스크립트를 레이블이 지정된 영역으로 노출하므로, `Tab`으로 트랜스크립트 자체에 포커스를 옮겨 원하는 속도로 읽을 수도 있습니다. 대신 최신 메시지나 대기 중인 권한 프롬프트로 포커스를 옮기려면 [명령 팔레트](#vs-code-commands-and-shortcuts)에서 **Claude Code: Focus last message**를 실행합니다.

694 831 

695확장 프로그램이 기록을 레이블이 지정된 영역으로 노출하기 때문에, `Tab`을 사용하여 기록 자체에 포커스를 이동하고 자신의 속도로 읽을 수도 있습니다. 최신 메시지 또는 대기 중인 권한 프롬프트로 포커스를 이동하려면, [명령 팔레트](#vs-code-commands-and-shortcuts)에서 **Claude Code: Focus last message**를 실행합니다.832권한 프롬프트 옵션이 권한 규칙이나 디렉터리 접근을 저장하는 경우, 해당 레이블의 끝에는 "all projects" 또는 "this session"처럼 승인이 저장되는 위치가 표시됩니다. 저장 위치를 변경하려면 다음과 같이 합니다.

696 833 

697권한 프롬프트의 옵션이 권한 규칙 또는 디렉터리 액세스를 저장할 때, 해당 레이블은 "모든 프로젝트" 또는 "이 세션"과 같이 승인이 저장되는 위치의 이름을 지정하여 끝납니다. 이 옵션에 포커스가 있을 때, `Left` 또는 `Right` 화살표 키를 눌러 대상을 변경할 수 있으며, 확장 프로그램은 각 대상에 도달할 때마다 알립니다. 레이블에서 대상을 클릭할 수도 있습니다. 화살표 키는 Claude Code v2.1.268 이상이 필요합니다.834* 해당 옵션에 포커스를 둔 상태에서 `Left` 또는 `Right` 화살표 키를 누릅니다. 각 저장 위치로 이동할 때마다 확장 프로그램이 해당 위치를 안내합니다. 화살표 키를 사용하려면 Claude Code v2.1.268 이상이 필요합니다.

835* 레이블에서 저장 위치를 클릭합니다.

698 836 

699<h2 id="vs-code-extension-vs-claude-code-cli">837<h2 id="vs-code-extension-vs-claude-code-cli">

700 VS Code 확장 프로그램 vs. Claude Code CLI838 VS Code 확장 프로그램과 Claude Code CLI 비교

701</h2>839</h2>

702 840 

703Claude Code는 VS Code 확장 프로그램(그래픽 패널)과 CLI(터미널의 명령줄 인터페이스) 모두로 사용할 수 있습니다. 일부 기능은 CLI에서만 사용할 수 있습니다. CLI 전용 기능이 필요한 경우 VS Code의 통합 터미널에서 `claude`를 실행하십시오. 이를 위해서는 [독립 실행형 CLI 설치](/docs/ko/setup)가 필요합니다. 확장 프로그램은 `claude`를 PATH에 추가하지 않습니다. [VS Code에서 CLI 실행](#run-cli-in-vs-code)을 참조하십시오.841Claude Code는 VS Code 확장 프로그램(그래픽 패널)과 CLI(터미널의 명령줄 인터페이스) 두 가지 형태로 제공됩니다. 일부 기능은 CLI에서만 사용할 수 있습니다. CLI 전용 기능이 필요하다면 VS Code의 통합 터미널에서 `claude`를 실행하면 됩니다. 이를 위해서는 [독립 실행형 CLI 설치](/docs/ko/setup)가 필요합니다. 확장 프로그램은 `claude`를 PATH에 추가하지 않습니다. [VS Code에서 CLI 실행](#run-cli-in-vs-code)을 참조하세요.

704 842 

705| 기능 | CLI | VS Code 확장 프로그램 |843| 기능 | CLI | VS Code 확장 프로그램 |

706| - | - | - |844| - | - | - |

707| 명령 및 기술 | [모두](/docs/ko/commands) | 부분 집합 (채팅 패널에서 `/`를 입력하여 사용 가능한 항목 확인) |845| 명령 및 스킬 | [전체](/docs/ko/commands) | 일부(`/`를 입력하여 사용 가능한 항목 확인) |

708| MCP 서버 구성 | 예 | 예 (채팅 패널에서 `/mcp`를 사용하여 [서버 추가 및 관리](#connect-to-external-tools-with-mcp)) |846| MCP 서버 구성 | 예 | 예: 채팅 패널에서 `/mcp`로 [서버 추가 및 관리](#connect-to-external-tools-with-mcp) |

709| Checkpoints | 예 | 예 |847| 체크포인트 | 예 | 예 |

710| `!` Bash 바로 가기 | 예 | 아니요 |848| `!` Bash 단축키 | 예 | 아니요 |

711| Tab 완성 | 예 | 아니요 |849| 탭 자동 완성 | 예 | 아니요 |

712 

713<h3 id="rewind-with-checkpoints">

714 Checkpoints를 사용한 되감기

715</h3>

716 

717VS Code 확장 프로그램은 Claude의 파일 편집을 추적하고 이전 상태로 되돌릴 수 있는 checkpoints를 지원합니다. 메시지 위에 마우스를 올려 되감기 버튼을 표시한 다음 세 가지 옵션 중에서 선택합니다.

718 

719* **여기서 대화 분기**: 모든 코드 변경 사항을 유지하면서 이 메시지에서 새 대화 분기를 시작합니다.

720* **여기까지 코드 되감기**: 전체 대화 기록을 유지하면서 파일 변경 사항을 이 지점으로 되돌립니다.

721* **대화 분기 및 코드 되감기**: 새 대화 분기를 시작하고 파일 변경 사항을 이 지점으로 되돌립니다.

722 

723Checkpoints의 작동 방식 및 제한 사항에 대한 자세한 내용은 [Checkpointing](/docs/ko/checkpointing)을 참조하십시오.

724 850 

725<h3 id="run-cli-in-vs-code">851<h3 id="run-cli-in-vs-code">

726 VS Code에서 CLI 실행852 VS Code에서 CLI 실행

727</h3>853</h3>

728 854 

729VS Code에 머물면서 CLI를 사용하려면 통합 터미널을 열고 (Windows/Linux에서는 `` Ctrl+` ``, Mac에서는 `` Cmd+` ``) `claude`를 실행합니다. CLI는 diff 보기 및 진단 공유와 같은 기능을 위해 IDE와 자동으로 통합됩니다.855VS Code를 벗어나지 않고 CLI를 사용하려면 Windows/Linux에서는 `` Ctrl+` ``, Mac에서는 `` Cmd+` ``를 눌러 통합 터미널을 연 다음 `claude`를 실행합니다. CLI는 diff 보기 및 진단 정보 공유와 같은 기능을 위해 IDE와 자동으로 통합됩니다. 외부 터미널을 사용하는 경우 Claude Code 내에서 `/ide`를 실행하여 VS Code에 연결합니다.

730 

731확장 프로그램을 설치해도 `claude`가 셸 PATH에 추가되지 않습니다. 확장 프로그램은 채팅 패널을 위해 CLI의 개인 복사본을 번들로 제공하지만, 터미널에서 `claude`를 입력하려면 [독립 실행형 CLI 설치](/docs/ko/setup)가 필요합니다. 설치를 한 번 실행하면 이 페이지의 명령(예: `claude mcp add` 및 `claude --resume`)이 모든 터미널에서 작동합니다. 설치 후에도 `claude`를 찾을 수 없으면 [PATH 확인](/docs/ko/troubleshoot-install#verify-your-path)을 참조하십시오.

732 856 

733외부 터미널을 사용하는 경우 Claude Code 내에서 `/ide`를 실행하여 VS Code에 연결합니다.857확장 프로그램을 설치해도 `claude`가 셸 PATH에 추가되지는 않습니다. 확장 프로그램은 채팅 패널용으로 CLI의 비공개 사본을 번들로 포함하지만, 터미널에서 `claude`를 입력하려면 [독립 실행형 CLI 설치](/docs/ko/setup)가 필요합니다. 설치를 한 번 실행하면 `claude mcp add` 및 `claude --resume`을 포함하여 이 페이지의 명령을 모든 터미널에서 사용할 수 있습니다. 설치 후에도 `claude`를 찾을 수 없다면 [PATH를 확인](/docs/ko/troubleshoot-install#verify-your-path)하세요.

734 858 

735<h3 id="switch-between-extension-and-cli">859<h3 id="switch-between-extension-and-cli">

736 확장 프로그램과 CLI 간 전환860 확장 프로그램과 CLI 간 전환

737</h3>861</h3>

738 862 

739확장 프로그램과 CLI는 동일한 대화 기록을 공유합니다. 확장 프로그램 대화를 CLI에서 계속하려면 터미널에서 `claude --resume`을 실행합니다. 이렇게 하면 대화를 검색하고 선택할 수 있는 대화형 선택기가 열립니다.863확장 프로그램과 CLI는 동일한 대화 기록을 공유합니다. 확장 프로그램에서 진행하던 대화를 CLI에서 이어가려면 터미널에서 `claude --resume`을 실행합니다. 그러면 대화를 검색하고 선택할 수 있는 대화형 선택 화면이 열립니다.

740 

741<h3 id="include-terminal-output-in-prompts">

742 프롬프트에 터미널 출력 포함

743</h3>

744 

745`@terminal:name`을 사용하여 프롬프트에서 터미널 출력을 참조합니다. 여기서 `name`은 터미널의 제목입니다. 이를 통해 Claude는 복사하여 붙여넣기 없이 명령 출력, 오류 메시지 또는 로그를 볼 수 있습니다.

746 

747<h3 id="move-a-running-command-or-subagent-to-the-background">

748 실행 중인 명령 또는 서브에이전트를 백그라운드로 이동

749</h3>

750 

751Claude가 예상보다 오래 걸리는 명령이나 [서브에이전트](/docs/ko/sub-agents)를 기다리고 있을 때, 대화에서 해당 도구 호출 아래의 **Run in background**를 클릭합니다. 이 동작은 명령이 약 2초 동안 실행된 후, 또는 서브에이전트가 시작되는 즉시 나타납니다. Claude는 기다리기를 멈추고 턴을 계속하며, 명령 또는 서브에이전트는 완료 시 Claude에게 알리는 [백그라운드 작업](/docs/ko/tools-reference#background-commands)으로 계속 실행됩니다. Claude Code v2.1.287 이상이 필요합니다.

752 

753그 사이에 작업을 확인하거나 중지하려면 프롬프트 상자에 `/tasks`를 입력하여 [에이전트 맵](#use-the-prompt-box)을 엽니다. 서브에이전트는 그곳의 에이전트 트리에서 자리를 유지하며, 명령은 에이전트 아래에 나열되고 [카드에 최신 출력](#monitor-background-processes)이 표시됩니다.

754 

755<h3 id="monitor-background-processes">

756 백그라운드 프로세스 모니터링

757</h3>

758 864 

759프롬프트 상자에서 `/tasks`를 입력하여 [에이전트 맵](#use-the-prompt-box)을 열면, 세션의 백그라운드 작업(예: Claude가 백그라운드 셸 명령으로 실행 중인 개발 서버)이 나열됩니다. 작업을 클릭하여 카드를 열고 거기서 중지할 수 있습니다. Claude Code v2.1.277 이상이 필요합니다.865<h2 id="connect-to-external-tools-with-mcp">

866 MCP로 외부 도구에 연결하기

867</h2>

760 868 

761백그라운드 셸 명령 또는 명령을 실행하는 [모니터](/docs/ko/tools-reference#monitor-tool)의 경우, 카드에는 명령의 최신 출력도 표시되며 명령이 실행되는 동안 새로 고쳐집니다.869MCP (Model Context Protocol) 서버를 사용하면 Claude가 외부 도구, 데이터베이스, API에 액세스할 수 있습니다.

762 870 

763<h3 id="connect-to-external-tools-with-mcp">871VS Code를 벗어나지 않고 MCP 서버를 관리하려면 채팅 패널에 `/mcp`를 입력합니다. 열리는 대화 상자에서 다음 작업을 수행할 수 있습니다.

764 MCP를 사용하여 외부 도구에 연결

765</h3>

766 872 

767MCP(Model Context Protocol) 서버는 Claude에게 외부 도구, 데이터베이스 및 API에 대한 액세스를 제공합니다.873* 서버 추가

874* 로컬, 사용자 또는 프로젝트 [범위](/docs/ko/mcp#mcp-installation-scopes)에 저장된 서버 제거

875* 서버 활성화 또는 비활성화

876* 서버에 다시 연결

877* OAuth 인증 관리

768 878 

769VS Code를 떠나지 않고 MCP 서버를 관리하려면 채팅 패널에서 `/mcp`를 입력합니다. 열리는 대화 상자에서 서버를 추가하고, 로컬, 사용자 또는 프로젝트 [범위](/docs/ko/mcp#mcp-installation-scopes)에 저장된 서버를 제거하고, 서버를 활성화 또는 비활성화하고, 서버에 다시 연결하고, OAuth 인증을 관리할 수 있습니다. 대화 상자에서 서버를 추가하고 제거하려면 Claude Code v2.1.261 이상이 필요합니다.879대화 상자에서 서버를 추가하고 제거하려면 Claude Code v2.1.261 이상이 필요합니다.

770 880 

771VS Code의 통합 터미널에서 `claude mcp add`를 실행할 수도 있습니다 (`` Ctrl+` `` 또는 `` Cmd+` ``). 대화 상자와 터미널 명령은 동일한 MCP 구성에 저장되며, 둘 중 하나의 변경 사항은 이후에 시작하는 대화에 적용됩니다. 아래 예제는 [개인 액세스 토큰](https://github.com/settings/personal-access-tokens)으로 인증하는 GitHub의 원격 MCP 서버를 추가합니다. 이 토큰은 헤더로 전달됩니다.881VS Code의 통합 터미널(`` Ctrl+` `` 또는 `` Cmd+` ``)에서 `claude mcp add`를 실행할 수도 있습니다. 대화 상자와 터미널 명령은 동일한 MCP 구성에 저장되며, 어느 쪽에서 변경하든 이후에 시작하는 대화에 적용됩니다. 아래 예시는 헤더로 전달되는 [개인 액세스 토큰](https://github.com/settings/personal-access-tokens)으로 인증하는 GitHub의 원격 MCP 서버를 추가합니다.

772 882 

773```bash theme={null}883```bash theme={null}

774claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \884claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \

775 --header "Authorization: Bearer YOUR_GITHUB_PAT"885 --header "Authorization: Bearer YOUR_GITHUB_PAT"

776```886```

777 887 

778`YOUR_GITHUB_PAT`을 개인 액세스 토큰으로 바꿉니다. `claude mcp add` 명령은 자격 증명을 검증하지 않고 구성을 저장하므로 여기에 자리 표시자 값이 허용되지만 서버가 나중에 연결하지 못합니다. 연결을 확인하려면 새 대화를 시작하고 `/mcp`를 입력한 다음 서버가 **Connected**를 표시하는지 확인합니다. 잘못된 자격 증명이 있는 서버는 **Failed**를 표시합니다.888`YOUR_GITHUB_PAT`를 개인 액세스 토큰으로 바꿉니다. `claude mcp add` 명령은 자격 증명을 검증하지 않고 구성을 저장하므로, 여기서는 자리 표시자 값도 허용되지만 나중에 서버 연결에 실패합니다. 연결을 확인하려면 새 대화를 시작하고 `/mcp`를 입력한 다음 서버가 **Connected**로 표시되는지 확인합니다. 자격 증명이 잘못된 서버는 **Failed**로 표시됩니다.

779 

780구성되면 Claude에게 도구를 사용하도록 요청합니다 (예: "Review PR #456").

781 

782연결할 서버를 찾으려면 [MCP 서버 찾기 및 빌드](/docs/ko/mcp#find-and-build-mcp-servers)를 참조하십시오.

783 

784<h2 id="work-with-git">

785 git으로 작업하기

786</h2>

787 

788Claude Code는 git과 통합되어 VS Code에서 직접 버전 제어 워크플로우를 지원합니다. Claude에게 변경 사항을 커밋하거나, 풀 리퀘스트를 생성하거나, 브랜치 간에 작업하도록 요청할 수 있습니다. 자체 파일과 브랜치가 있는 격리된 worktree에서 Claude를 시작하려면 [worktree를 사용하여 병렬 세션 실행](/docs/ko/worktrees)을 참조하십시오.

789 

790<h3 id="create-commits-and-pull-requests">

791 커밋 및 풀 리퀘스트 생성

792</h3>

793 

794Claude는 변경 사항을 스테이징하고, 커밋 메시지를 작성하며, 작업을 기반으로 풀 리퀘스트를 생성할 수 있습니다:

795 

796```text wrap theme={null}

797commit my changes with a descriptive message

798create a pr for this feature

799summarize the changes I've made to the auth module

800```

801 

802풀 리퀘스트를 생성할 때, Claude는 실제 코드 변경 사항을 기반으로 설명을 생성하며 테스트 또는 구현 결정에 대한 컨텍스트를 추가할 수 있습니다.

803 

804<h2 id="use-third-party-providers">

805 타사 제공자 사용

806</h2>

807 

808기본적으로 Claude Code는 Anthropic의 API에 직접 연결됩니다. 조직에서 Amazon Bedrock, Google Cloud의 Agent Platform 또는 Microsoft Foundry를 사용하여 Claude에 액세스하는 경우, 대신 제공자를 사용하도록 확장 프로그램을 구성하세요:

809 

810<Steps>

811 <Step title="로그인 프롬프트 비활성화">

812 [로그인 프롬프트 비활성화 설정](vscode://settings/claudeCode.disableLoginPrompt)을 열고 확인란을 선택하세요.

813 

814 VS Code 설정(`Mac에서 Cmd+,` 또는 `Windows/Linux에서 Ctrl+,`)을 열고 "Claude Code login"을 검색한 후 **로그인 프롬프트 비활성화**를 선택할 수도 있습니다.

815 </Step>

816 

817 <Step title="제공자 구성">

818 제공자에 대한 설정 가이드를 따르세요:

819 

820 * [Amazon Bedrock의 Claude Code](/docs/ko/amazon-bedrock)

821 * [Google Cloud의 Agent Platform의 Claude Code](/docs/ko/google-vertex-ai)

822 * [Microsoft Foundry의 Claude Code](/docs/ko/microsoft-foundry)

823 889 

824 이 가이드는 `~/.claude/settings.json`에서 제공자를 구성하는 방법을 다루며, 이를 통해 VS Code 확장 프로그램과 CLI 간에 설정이 공유됩니다.890구성이 완료되면 Claude에게 도구를 사용하도록 요청합니다(예: "Review PR #456").

825 </Step>

826</Steps>

827 891 

828타사 제공자에서 확장 프로그램은 사용 추적, [음성 받아쓰기](/docs/ko/voice-dictation) 및 [클라우드 세션](#resume-cloud-sessions-from-claude-ai)을 위한 웹 탭과 같이 claude.ai 계정이 필요한 기능을 제공하지 않습니다. 이러한 로그인에서 계정 및 사용 현황 대화 상자가 표시하는 내용은 [계정 및 사용 현황 확인](#check-account-and-usage)을 참조하세요. 이전 `/login`에서 남겨진 claude.ai 로그인은 사용되지 않습니다: 확장 프로그램은 이를 어떤 요청과도 함께 보내지 않습니다.892<Note>연결할 서버를 찾으려면 [MCP 서버 찾기 및 빌드하기](/docs/ko/mcp#find-and-build-mcp-servers)를 참조하세요.</Note>

829 893 

830<h2 id="security-and-privacy">894<h2 id="the-built-in-ide-mcp-server">

831 보안 및 개인정보 보호895 내장 IDE MCP 서버

832</h2>896</h2>

833 897 

834사용자의 코드는 비공개로 유지됩니다. Claude Code는 코드를 처리하여 지원을 제공하지만 모델 학습에 사용하지 않습니다. 데이터 처리 및 로깅 거부 방법에 대한 자세한 내용은 [데이터 및 개인정보 보호](/docs/ko/data-usage)를 참조하십시오.898확장 프로그램이 활성화되면 CLI가 자동으로 연결하는 로컬 MCP 서버가 실행됩니다. 이 서버를 통해 CLI는 다음을 수행합니다.

835 

836자동 편집 권한이 활성화되면 Claude Code는 VS Code가 자동으로 실행할 수 있는 VS Code 설정 파일(예: `settings.json` 또는 `tasks.json`)을 수정할 수 있습니다. 신뢰할 수 없는 코드로 작업할 때 위험을 줄이려면:

837 899 

838* 신뢰할 수 없는 워크스페이스에 대해 [VS Code 제한 모드](https://code.visualstudio.com/docs/editor/workspace-trust#_restricted-mode)를 활성화하십시오900* VS Code의 기본 diff 뷰어에서 diff를 엽니다

839* 편집에는 Edit automatically 또는 Auto 대신 Manual 모드를 사용하십시오901* `@` 멘션을 위해 현재 선택 영역을 읽습니다

840* 변경 사항을 수락하기 전에 신중하게 검토하십시오902* Jupyter 노트북에서 작업할 때 VS Code에 셀 실행을 요청합니다

841 

842<h3 id="the-built-in-ide-mcp-server">

843 기본 제공 IDE MCP 서버

844</h3>

845 903 

846확장 프로그램이 활성화되면 CLI가 자동으로 연결하는 로컬 MCP 서버를 실행합니다. 이것이 CLI가 VS Code의 기본 diff 뷰어에서 diff를 열고, `@`-mentions에 대한 현재 선택 항목을 읽으며, Jupyter 노트북에서 작업할 때 VS Code에 셀 실행을 요청하는 방식입니다.904이 서버의 이름은 `ide`이며, 구성할 항목이 없으므로 `/mcp`에 표시되지 않습니다. 다만 조직에서 `PreToolUse` 훅을 사용해 MCP 도구를 허용 목록으로 관리한다면 이 서버의 존재를 알고 있어야 합니다.

847 905 

848서버의 이름은 `ide`이며 구성할 항목이 없으므로 `/mcp`에서 숨겨집니다. 그러나 조직에서 `PreToolUse` 훅을 사용하여 MCP 도구를 허용 목록에 추가하는 경우 이 서버가 존재한다는 것을 알아야 합니다.906**선택 영역 및 열린 파일 컨텍스트.** 연결되어 있는 동안 CLI는 전송하는 각 프롬프트에 현재 편집기 선택 영역과 활성 파일의 경로를 컨텍스트로 포함합니다. 이 경우 트랜스크립트에 `⧉ Selected N lines from <file>` 줄이 표시됩니다. 다음 경우에는 이 컨텍스트가 달라집니다.

849 907 

850**선택 및 열린 파일 컨텍스트.** 연결되어 있는 동안 CLI는 현재 편집기 선택 항목과 활성 파일의 경로를 각 프롬프트에 컨텍스트로 포함합니다. 이 경우 트랜스크립트에 `⧉ Selected N lines from <file>` 줄이 표시됩니다.908* **대기열에 추가된 메시지**: [Claude가 작업하는 동안 메시지를 대기열에 추가](/docs/ko/interactive-mode#queue-messages-while-claude-works)하면, 이후에 무엇을 선택하든 `Enter`를 눌렀을 때의 선택 영역이 유지됩니다.

909* **민감한 파일**: `.env`와 같은 민감한 파일을 제외하려면 해당 경로에 대한 [`Read` 거부 규칙](/docs/ko/permissions#read-and-edit)을 추가합니다. 일치하는 거부 규칙이 있으면 해당 파일의 선택된 텍스트와 열린 파일 알림이 모두 Claude에 전달되지 않습니다.

910* **Attach Open File 꺼짐**: [Attach Open File 설정](#extension-settings)을 끄면 CLI는 활성 파일에서 텍스트를 선택한 동안에만 해당 파일의 경로를 받습니다.

851 911 

852[Claude가 작업하는 동안 메시지를 대기열에 추가](/docs/ko/interactive-mode#queue-messages-while-claude-works)하면 `Enter`를 누를 때 있던 선택 항목을 유지하며, 그 이후에 선택하는 항목은 무시됩니다.912**전송 방식 및 인증.** 서버는 10000–65535 범위의 임의 포트로 `127.0.0.1`에 바인딩되며, 포트는 구성할 수 없습니다. 전송 방식과 인증 토큰은 다음과 같이 작동합니다.

853 913 

854`.env`와 같은 민감한 파일을 제외하려면 해당 경로에 대한 [`Read` 거부 규칙](/docs/ko/permissions#read-and-edit)을 추가하십시오. 일치하는 거부 규칙은 선택된 텍스트와 해당 파일에 대한 열린 파일 공지가 Claude에 도달하는 것을 모두 방지합니다.914* **전송 방식**: 암호화되지 않은 `ws://`입니다. 소켓은 루프백 전용이므로 트래픽을 가로챌 수 있는 프로세스라면 잠금 파일에서 토큰도 읽을 수 있어, TLS를 사용해도 보호 수준이 높아지지 않습니다.

915* **인증 토큰**: 확장 프로그램이 활성화될 때마다 새로운 임의 인증 토큰이 생성되어 `~/.claude/ide/<port>.lock`의 잠금 파일에 기록됩니다. CLI가 연결하려면 이 토큰을 `X-Claude-Code-Ide-Authorization` 헤더로 제시해야 합니다.

916* **잠금 파일 권한**: 잠금 파일은 `0700` 디렉터리 안에 `0600` 권한으로 저장되므로 VS Code를 실행하는 사용자만 읽을 수 있습니다. `CLAUDE_CONFIG_DIR`이 설정되어 있으면 잠금 파일은 대신 `$CLAUDE_CONFIG_DIR/ide/`에 기록됩니다.

855 917 

856[Attach Open File 설정](#extension-settings)을 끄면 CLI는 해당 파일에서 텍스트를 선택한 경우에만 활성 파일의 경로를 받습니다.918**모델에 노출되는 도구.** 서버는 십여 개의 도구를 호스팅하지만 모델에 표시되는 도구는 두 개뿐입니다. 나머지는 diff 열기, 선택 영역 읽기, 파일 저장 등 CLI가 자체 UI에 사용하는 내부 RPC입니다. 이러한 도구는 도구 목록이 Claude에 전달되기 전에 필터링됩니다.

857 919 

858**전송 및 인증.** 서버는 10000–65535 범위의 임의 포트에서 `127.0.0.1`에 바인딩되며 포트는 구성할 수 없습니다. 전송은 암호화되지 않은 `ws://`입니다. 소켓이 루프백 전용이므로 트래픽을 캡처할 수 있는 모든 프로세스는 잠금 파일에서 토큰을 읽을 수도 있으므로 TLS는 보호를 추가하지 않습니다. 각 확장 프로그램 활성화는 새로운 임의 인증 토큰을 생성하고 `~/.claude/ide/<port>.lock`의 잠금 파일에 기록하며 CLI는 이를 `X-Claude-Code-Ide-Authorization` 헤더로 제시하여 연결해야 합니다. 잠금 파일은 `0700` 디렉터리에서 `0600` 권한을 가지므로 VS Code를 실행하는 사용자만 읽을 수 있습니다. `CLAUDE_CONFIG_DIR`이 설정되면 잠금 파일은 대신 `$CLAUDE_CONFIG_DIR/ide/`에 기록됩니다.920| 도구 이름(훅에 표시되는 이름) | 기능 | 읽기 전용 |

859 

860**모델에 노출된 도구.** 서버는 약 12개의 도구를 호스팅하지만 모델에는 2개만 표시됩니다. 나머지는 CLI가 자체 UI(diff 열기, 선택 항목 읽기, 파일 저장 등)에 사용하는 내부 RPC입니다. 이들은 도구 목록이 Claude에 도달하기 전에 필터링됩니다.

861 

862| 도구 이름(훅에서 보이는 대로) | 기능 | 읽기 전용 |

863| - | - | - |921| - | - | - |

864| `mcp__ide__getDiagnostics` | 언어 서버 진단(VS Code의 문제 패널의 오류 및 경고)을 반환합니다. 선택적으로 한 파일로 범위를 지정할 수 있습니다. | 예 |922| `mcp__ide__getDiagnostics` | 언어 서버 진단 정보, 즉 VS Code의 Problems 패널에 있는 오류와 경고를 반환합니다. 선택적으로 하나의 파일로 범위를 제한할 수 있습니다. | 예 |

865| `mcp__ide__executeCode` | 활성 Jupyter 노트북의 커널에서 Python 코드를 실행합니다. 아래의 확인 흐름을 참조하십시오. | 아니요 |923| `mcp__ide__executeCode` | 활성 Jupyter 노트북의 커널에서 Python 코드를 실행합니다. 아래의 확인 절차를 참조하세요. | 아니요 |

866 924 

867**채팅 패널의 진단.** Claude Code v2.1.285 이상을 사용하는 채팅 패널에서 Claude는 `claude-vscode`라는 별도의 기본 제공 서버를 통해 VS Code의 문제 패널을 읽습니다. Claude는 이 서버에 한 파일 또는 VS Code에 진단이 있는 모든 파일의 현재 오류 및 경고를 요청할 수 있습니다.925**채팅 패널의 진단 정보.** Claude Code v2.1.285 이상의 채팅 패널에서는 Claude가 `claude-vscode`라는 별도의 내장 서버를 통해 VS Code의 Problems 패널을 읽습니다. Claude는 이 서버에 하나의 파일 또는 VS Code에 진단 정보가 있는 모든 파일의 현재 오류와 경고를 요청할 수 있습니다.

868 926 

869훅과 권한 규칙에서는 채팅 패널의 진단 도구가 `mcp__claude-vscode__getDiagnostics`로 표시됩니다. CLI와 채팅 패널 모두의 진단을 다루려면 훅 또는 규칙에 `mcp__ide__getDiagnostics`와 `mcp__claude-vscode__getDiagnostics`를 모두 지정하십시오.927훅과 권한 규칙에서는 채팅 패널의 진단 도구가 `mcp__claude-vscode__getDiagnostics`로 표시됩니다. CLI와 채팅 패널 양쪽의 진단 정보를 모두 다루려면 훅이나 규칙에 `mcp__ide__getDiagnostics`와 `mcp__claude-vscode__getDiagnostics`를 모두 지정합니다.

870 928 

871다음 `settings.json` 예시는 두 도구를 모두 거부합니다:929다음 `settings.json` 예시는 두 도구를 모두 거부합니다.

872 930 

873```json theme={null}931```json theme={null}

874{932{


881}939}

882```940```

883 941 

884`Read` 거부 규칙은 두 도구 중 어느 것에도 적용되지 않으므로, 예시처럼 [거부 규칙](/docs/ko/permissions#mcp)을 사용하여 이름으로 차단하십시오.942`Read` 거부 규칙은 두 도구 어느 쪽에도 적용되지 않으므로, 예시처럼 [거부 규칙](/docs/ko/permissions#mcp)을 사용해 이름으로 차단합니다.

943 

944**Jupyter 실행은 항상 먼저 확인을 요청합니다.** `mcp__ide__executeCode`는 아무것도 조용히 실행할 수 없습니다. 각 호출은 다음 단계를 거칩니다.

945 

9461. 코드가 활성 노트북 끝에 새 셀로 삽입됩니다.

9472. VS Code가 해당 셀이 보이도록 스크롤합니다.

9483. 기본 Quick Pick이 **Execute** 또는 **Cancel**을 선택하도록 묻습니다.

885 949 

886**Jupyter 실행은 항상 먼저 묻습니다.** `mcp__ide__executeCode`는 아무것도 자동으로 실행할 수 없습니다. 각 호출 시 코드는 활성 노트북의 끝에 새 셀로 삽입되고 VS Code는 이를 보기로 스크롤하며 기본 Quick Pick에서 **Execute** 또는 **Cancel**을 선택하도록 묻습니다. 취소하거나 `Esc`로 선택기를 닫으면 Claude에 오류가 반환되고 아무것도 실행되지 않습니다. 이 도구는 활성 노트북이 없을 때, Jupyter 확장 프로그램(`ms-toolsai.jupyter`)이 설치되지 않았을 때 또는 커널이 Python이 아닐 때 완전히 거부합니다.950취소하거나 `Esc`로 선택기를 닫으면 Claude에 오류가 반환되고 아무것도 실행되지 않습니다. 또한 활성 노트북이 없거나, Jupyter 확장 프로그램(`ms-toolsai.jupyter`)이 설치되어 있지 않거나, 커널이 Python이 아닌 경우에는 도구가 즉시 실행을 거부합니다.

887 951 

888<Note>952<Note>

889 Quick Pick 확인은 `PreToolUse` 훅과 별개입니다. `mcp__ide__executeCode`에 대한 허용 목록 항목을 사용하면 Claude가 셀 실행을 *제안*할 수 있습니다. VS Code 내의 Quick Pick은 실제로 *실행*할 수 있게 해주는 것입니다.953 Quick Pick 확인은 `PreToolUse` 훅과는 별개입니다. `mcp__ide__executeCode`에 대한 허용 목록 항목은 Claude가 셀 실행을 *제안*할 수 있게 할 뿐이며, 셀을 *실제로* 실행하게 하는 것은 VS Code 내부의 Quick Pick입니다.

890</Note>954</Note>

891 955 

892<a id="troubleshooting" />956<a id="troubleshooting" />


895 일반적인 문제 해결959 일반적인 문제 해결

896</h2>960</h2>

897 961 

898로그인, 네트워크, 실행 오류는 설치 문제 해결 페이지와 오류 참조 페이지에 각각 별도의 항목으로 정리되어 있습니다. 표에서 표시된 내용을 찾은 다음 링크를 따라가세요.962로그인, 네트워크, 실행 오류는 설치 문제 해결 페이지와 오류 참조 페이지에 각각 별도 항목이 있습니다. 표에서 표시된 내용을 찾은 다음 링크를 따라가십시오.

899 963 

900| 표시되는 내용 | 참고할 곳 |964| 표시되는 내용 | 참조할 위치 |

901| - | - |965| - | - |

902| 로그인 후 `API Error: 403 Request not allowed` 표시 | [로그인 후 403 Forbidden](/docs/ko/troubleshoot-install#403-forbidden-after-login) |966| 로그인한 후 `API Error: 403 Request not allowed` 발생 | [로그인 후 403 Forbidden](/docs/ko/troubleshoot-install#403-forbidden-after-login) |

903| 이미 로그인했는데 다시 로그인하라는 요청을 받음 | [로그인되지 않았거나 토큰이 만료됨](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired) |967| 이미 로그인했는데 다시 로그인하라는 요청을 받음 | [로그인되지 않았거나 토큰이 만료됨](/docs/ko/troubleshoot-install#not-logged-in-or-token-expired) |

904| 클라우드 공급자 자격 증명이 터미널에서는 작동하지만 확장 프로그램에서는 작동하지 않음 | [Bedrock, Agent Platform 또는 Foundry 자격 증명이 로드되지 않음](/docs/ko/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) |968| 클라우드 제공업체 자격 증명이 터미널에서는 작동하지만 확장 프로그램에서는 작동하지 않음 | [Bedrock, Agent Platform 또는 Foundry 자격 증명이 로드되지 않음](/docs/ko/troubleshoot-install#bedrock-agent-platform-or-foundry-credentials-not-loading) |

905| `SSL certificate verification failed` 또는 `Self-signed certificate detected` | [SSL 인증서 오류](/docs/ko/errors#ssl-certificate-errors) |969| `SSL certificate verification failed` 또는 `Self-signed certificate detected` | [SSL 인증서 오류](/docs/ko/errors#ssl-certificate-errors) |

906| `Claude Code process exited with code 1` 또는 다른 코드 | [Claude Code process exited with code N](/docs/ko/errors#claude-code-process-exited-with-code-n) |970| `Claude Code process exited with code 1` 또는 다른 코드 | [Claude Code process exited with code N](/docs/ko/errors#claude-code-process-exited-with-code-n) |

907| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](/docs/ko/errors#could-not-locate-the-claude-cli-on-path) |971| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](/docs/ko/errors#could-not-locate-the-claude-cli-on-path) |


909| VS Code의 통합 터미널에서 `claude`를 찾을 수 없음 | [VS Code에서 CLI 실행](#run-cli-in-vs-code) |973| VS Code의 통합 터미널에서 `claude`를 찾을 수 없음 | [VS Code에서 CLI 실행](#run-cli-in-vs-code) |

910 974 

911<h3 id="extension-won’t-install">975<h3 id="extension-won’t-install">

912 확장 프로그램이 설치되지 않음976 확장 프로그램이 설치되지 않는 경우

913</h3>977</h3>

914 978 

915* VS Code의 호환 버전(1.94.0 이상)이 있는지 확인하세요979* 호환되는 VS Code 버전(1.94.0 이상)인지 확인합니다

916* VS Code에 확장 프로그램을 설치할 권한이 있는지 확인하세요980* VS Code에 확장 프로그램을 설치할 권한이 있는지 확인합니다

917* [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)에서 직접 설치를 시도하세요981* [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code)에서 직접 설치해 봅니다

918 982 

919<h3 id="spark-icon-not-visible">983<h3 id="spark-icon-not-visible">

920 Spark 아이콘이 보이지 않음984 Spark 아이콘이 보이지 않는 경우

921</h3>985</h3>

922 986 

923Spark 아이콘은 파일이 열려 있을 때 **편집기 도구 모음**(편집기 우측 상단)에 나타납니다. 아이콘이 보이지 않으면:987Spark 아이콘은 파일이 열려 있을 때 **Editor Toolbar**(편집기 오른쪽 상단)에 표시됩니다. 아이콘이 보이지 않는 경우:

924 988 

9251. **파일 열기**: 아이콘이 작동하려면 파일이 열려 있어야 합니다. 폴더만 열려 있으면 충분하지 않습니다.9891. **파일 열기**: 아이콘을 표시하려면 파일이 열려 있어야 합니다. 폴더만 열려 있는 것으로는 충분하지 않습니다.

9262. **VS Code 버전 확인**: 1.94.0 이상 필요(도움말 → 정보)9902. **VS Code 버전 확인**: 1.94.0 이상이 필요합니다. **Help > About**에서 확인합니다

9273. **VS Code 다시 시작**: 명령 팔레트에서 "Developer: Reload Window" 실행9913. **VS Code 재시작**: Command Palette에서 "Developer: Reload Window"를 실행합니다

9284. **충돌하는 확장 프로그램 비활성화**: 다른 AI 확장 프로그램(Cline, Continue 등) 임시 비활성화9924. **충돌하는 확장 프로그램 비활성화**: 다른 AI 확장 프로그램(Cline, Continue 등)을 일시적으로 비활성화합니다

9295. **작업 영역 신뢰 확인**: 확장 프로그램은 제한된 모드에서 작동하지 않습니다9935. **워크스페이스 신뢰 확인**: 확장 프로그램은 Restricted Mode에서 작동하지 않습니다

930 994 

931또는 **상태 표시줄**(우측 하단 모서리)의 **✻ Claude Code**를 클릭하세요. 이는 파일이 열려 있지 않아도 작동합니다. **명령 팔레트**(`Cmd+Shift+P` / `Ctrl+Shift+P`)를 사용하고 "Claude Code"를 입력할 수도 있습니다.995또는 창 오른쪽 하단 모서리의 **Status Bar**에서 **✻ Claude Code**를 클릭합니다. 이 방법은 파일이 열려 있지 않아도 작동합니다. **Command Palette**(`Cmd+Shift+P` / `Ctrl+Shift+P`)를 열고 "Claude Code"를 입력할 수도 있습니다.

932 996 

933<h3 id="cmd-esc-does-nothing-on-macos">997<h3 id="cmd-esc-does-nothing-on-macos">

934 macOS에서 Cmd+Esc가 작동하지 않음998 macOS에서 Cmd+Esc가 작동하지 않는 경우

935</h3>999</h3>

936 1000 

937macOS Tahoe 이상에서는 시스템 Game Overlay 단축키가 기본적으로 `Cmd+Esc`에 바인딩되어 있으며 VS Code에 도달하기 전에 키 입력을 가로챕니다. 단축키를 해제하려면:1001macOS Tahoe 이상에서는 시스템 Game Overlay 단축키가 기본적으로 `Cmd+Esc`에 지정되어 있어 키 입력이 VS Code에 도달하기 전에 가로챕니다. 단축키를 해제하려면:

938 1002 

9391. 시스템 설정 열기10031. System Settings를 엽니다

9402. 키보드로 이동한 후 키보드 단축키, 그 다음 게임 컨트롤러로 이동10042. Keyboard, Keyboard Shortcuts, Game Controllers 순으로 이동합니다

9413. Game Overlay 체크박스 선택 해제10053. Game Overlay 체크박스를 해제합니다

942 1006 

943또는 확장 프로그램을 다른 키로 다시 바인딩하세요: VS Code [키보드 단축키 편집기](https://code.visualstudio.com/docs/configure/keybindings)(`Cmd+K Cmd+S`)를 열고 `Claude Code: Focus input`을 검색한 후 새 바인딩을 할당하세요.1007또는 확장 프로그램을 다른 키에 다시 지정합니다. VS Code [Keyboard Shortcuts 편집기](https://code.visualstudio.com/docs/configure/keybindings)(`Cmd+K Cmd+S`)를 열고 `Claude Code: Focus input`을 검색한 다음 새 키보드 단축키를 지정합니다.

944 1008 

945<h3 id="a-resumed-conversation-is-blank-at-first">1009<h3 id="a-resumed-conversation-is-blank-at-first">

946 재개한 대화가 처음에 비어 있음1010 재개한 대화가 처음에 비어 있는 경우

947</h3>1011</h3>

948 1012 

949[이전 대화를 재개](#resume-past-conversations)하거나 대화가 [다시 로드 후 복원](#continue-conversations-after-a-reload)되면, 해당 대화의 Claude Code 프로세스가 시작되는 동안 메시지가 비어 있을 수 있습니다. 약 1초 후 빈 공간에 `Waiting for your plugins…`가 나타납니다.1013[이전 대화를 재개](#resume-past-conversations)하거나 대화가 [다시 로드 후 돌아올](#continue-conversations-after-a-reload) 때, 해당 대화의 Claude Code 프로세스가 시작되는 동안 메시지가 비어 있을 수 있습니다. 약 1초 후 빈 공간에 `Waiting for your plugins…`가 표시됩니다.

950 1014 

951별도로 조치할 필요는 없습니다. 프로세스가 시작되어 먼저 메시지를 확인해야 하는 플러그인이 없음을 확인하면 메시지가 나타나며, 시작하는 데 더 오래 걸리는 경우에는 20초 후에 나타납니다.1015별도로 조치할 필요는 없습니다. 프로세스가 시작되고 먼저 메시지를 확인해야 하는 플러그인이 없음이 확인되면 메시지가 표시되며, 시작이 더 오래 걸리는 경우에는 20초 후에 표시됩니다.

952 1016 

953<h3 id="the-panel-stops-responding-each-time-a-reload-reopens-a-conversation">1017<h3 id="the-panel-stops-responding-each-time-a-reload-reopens-a-conversation">

954 다시 로드로 대화가 다시 열릴 때마다 패널이 응답하지 않음1018 다시 로드로 대화가 다시 열릴 때마다 패널이 응답하지 않는 경우

955</h3>1019</h3>

956 1020 

957다시 로드하여 대화가 복원될 때마다 패널 전체가 충돌하거나, 멈추거나, `Something went wrong`만 표시된다면 확장 프로그램을 v2.1.301 이상으로 업데이트하세요. 그런 다음 창을 다시 로드하거나 VS Code를 다시 시작하세요. 대화가 두 번 연속으로 끝까지 열리지 못하면 그 자리에 새 채팅이 열리며, [대화가 다시 열리지 않았다](#a-conversation-was-not-reopened)는 알림이 함께 표시됩니다.1021다시 로드하여 대화가 돌아올 때마다 패널 전체가 충돌하거나, 멈추거나, `Something went wrong`만 표시된다면 확장 프로그램을 v2.1.301 이상으로 업데이트하십시오. 그런 다음 창을 다시 로드하거나 VS Code를 다시 시작합니다. 대화가 두 번 연속으로 열기를 완료하지 못하면 그 자리에 새 채팅이 열리고, [대화가 다시 열리지 않았다](#a-conversation-was-not-reopened)는 알림이 표시됩니다.

958 1022 

959<h3 id="a-formula-shows-as-raw-latex">1023<h3 id="a-formula-shows-as-raw-latex">

960 수식이 원시 LaTeX로 표시됨1024 수식이 원시 LaTeX로 표시되는 경우

961</h3>1025</h3>

962 1026 

963Claude의 응답에 있는 수식이 전혀 조판되지 않는다면 확장 프로그램 보기에서 확장 프로그램의 버전을 확인하세요. [수식 렌더링](#latex-math-in-responses)에는 버전 2.1.301 이상이 필요하기 때문입니다. 버전과 관계없이 수식을 조판하지 않는 [터미널 모드](#switch-to-terminal-mode)를 사용 중이라면, Claude Code가 대신 채팅 패널에서 열리도록 [Use Terminal 설정](vscode://settings/claudeCode.useTerminal)의 선택을 해제하세요.1027Claude의 응답에 있는 수식이 하나도 조판되지 않는다면 Extensions 보기에서 확장 프로그램의 버전을 확인하십시오. [수식 렌더링](#latex-math-in-responses)에는 버전 2.1.301 이상이 필요합니다. 버전과 관계없이 수식을 조판하지 않는 [터미널 모드](#switch-to-terminal-mode)를 사용하는 경우, [Use Terminal 설정](vscode://settings/claudeCode.useTerminal)을 해제하여 Claude Code가 채팅 패널에서 열리도록 합니다.

964 1028 

965주변의 다른 수식은 조판되는데 특정 수식 하나만 작성된 그대로 표시된다면 다음 원인을 확인하세요.1029주변의 다른 수식은 조판되는데 특정 수식 하나만 작성된 그대로 표시된다면 다음 원인을 확인하십시오.

966 1030 

967* **수식이 아닌 다른 것으로 인식됨**: `$O(n log n)$`처럼 단어로 읽히는 `$…$` 텍스트는 작성된 그대로 유지됩니다. `$30$`이나 `$1/N$`처럼 숫자로 시작하는 `$…$` 텍스트도 `=`, `+`, `^` 같은 문자로 수식임이 표시되지 않는 한 작성된 그대로 유지됩니다. 대신 별도의 줄에 `$$` 블록으로 작성해 달라고 Claude에게 요청하세요. 패널은 이 검사 없이 `$$` 블록을 조판합니다.1031* **수식이 아닌 다른 것으로 읽히는 경우**: `$O(n log n)$`처럼 단어로 읽히는 `$…$` 텍스트는 작성된 그대로 유지됩니다. `$30$`이나 `$1/N$`처럼 숫자로 시작하는 `$…$` 텍스트도 `=`, `+`, `^` 같은 문자가 수식임을 표시하지 않는 한 작성된 그대로 유지됩니다. 대신 별도의 줄에 `$$` 블록으로 작성해 달라고 Claude에게 요청하십시오. 패널은 이 검사 없이 해당 블록을 조판합니다.

968* **공백이 들어 있거나, 길거나, 여러 줄로 나뉨**: 달러 기호 안쪽에 공백이 있는 `$ x^2 $`, 60자를 넘는 `$…$` 내용, 두 줄로 나뉜 `$…$` 또는 `\(…\)`는 조판되지 않습니다. 대신 별도의 줄에 `$$` 블록으로 작성해 달라고 Claude에게 요청하세요. `$$` 블록에는 이러한 제한이 없습니다.1032* **공백이 있거나, 길거나, 여러 줄로 나뉜 경우**: 달러 기호 안쪽에 공백이 있는 `$ x^2 $`, 60자를 넘는 `$…$` 내용, 두 줄로 나뉜 `$…$` 또는 `\(…\)`는 조판되지 않습니다. 대신 별도의 줄에 `$$` 블록으로 작성해 달라고 Claude에게 요청하십시오. 해당 블록에는 이러한 제한이 없습니다.

969* **TeX를 조판할 수 없음**: 구문 오류가 있는 수식, `\newcommand`나 `\def` 같은 매크로 정의, 이스케이프되지 않은 `%`는 작성된 그대로 표시됩니다. 오류를 수정하거나, 매크로 없이 작성하거나, 퍼센트 기호에 `\%`를 사용하여 다시 작성해 달라고 Claude에게 요청하세요.1033* **TeX를 조판할 수 없는 경우**: 구문 오류가 있는 수식, `\newcommand`나 `\def` 같은 매크로 정의, 이스케이프되지 않은 `%`는 작성된 그대로 표시됩니다. 오류를 수정하거나, 매크로 없이 작성하거나, 퍼센트 기호에 `\%`를 사용하여 다시 작성해 달라고 Claude에게 요청하십시오.

970* **너무 큼**: 8,192자보다 긴 수식이나 원본보다 훨씬 크게 그려지는 수식은 작성된 그대로 표시됩니다. 수식을 더 작은 수식으로 나누거나 더 간결하게 작성해 달라고 Claude에게 요청하세요.1034* **너무 큰 경우**: 8,192자보다 긴 수식이나 소스보다 훨씬 크게 그려지는 수식은 작성된 그대로 표시됩니다. 더 작은 수식으로 나누거나 더 간결하게 작성해 달라고 Claude에게 요청하십시오.

971* **많은 양의 수식 뒤에 위치함**: 응답 내 하나의 텍스트 블록 안에서 패널은 한도까지 수식을 순서대로 조판합니다. 한도를 넘게 되는 이후의 수식은 작성된 그대로 표시됩니다. 필요한 수식만 따로 다시 보내 달라고 Claude에게 요청하세요.1035* **많은 양의 수식 뒤에 오는 경우**: 응답의 한 텍스트 블록 안에서 패널은 한도까지 수식을 순서대로 조판합니다. 한도를 넘어서는 이후 수식은 작성된 그대로 표시됩니다. 필요한 수식만 따로 다시 보내 달라고 Claude에게 요청하십시오.

972 1036 

973<h3 id="claude-code-never-responds">1037<h3 id="claude-code-never-responds">

974 Claude Code가 응답하지 않음1038 Claude Code가 응답하지 않는 경우

975</h3>1039</h3>

976 1040 

977Claude Code가 프롬프트에 응답하지 않으면:1041Claude Code가 프롬프트에 응답하지 않는 경우:

978 1042 

9791. **인터넷 연결 확인**: 안정적인 인터넷 연결이 있는지 확인하세요10431. **인터넷 연결 확인**: 인터넷 연결이 안정적인지 확인합니다

9802. **새 대화 시작**: 새로운 대화를 시작하여 문제가 지속되는지 확인하세요10442. **새 대화 시작**: 새 대화를 시작하여 문제가 계속되는지 확인합니다

9813. **CLI 시도**: 터미널에서 `claude`를 실행하여 더 자세한 오류 메시지를 확인하세요10453. **CLI 사용해 보기**: 터미널에서 `claude`를 실행하여 더 자세한 오류 메시지가 표시되는지 확인합니다

982 1046 

983문제가 지속되면 오류에 대한 세부 정보와 함께 [GitHub에 이슈를 제출하세요](https://github.com/anthropics/claude-code/issues).1047문제가 계속되면 오류에 대한 세부 정보와 함께 [GitHub에 이슈를 제출](https://github.com/anthropics/claude-code/issues)하십시오.

984 1048 

985<h2 id="uninstall-the-extension">1049<h2 id="uninstall-the-extension">

986 확장 프로그램 제거1050 확장 프로그램 제거

987</h2>1051</h2>

988 1052 

989Claude Code 확장 프로그램을 제거하려면:1053Claude Code 확장 프로그램을 제거하려면 다음을 수행합니다.

990 1054 

9911. 확장 프로그램 보기를 엽니다 (Mac에서는 `Cmd+Shift+X`, Windows/Linux에서는 `Ctrl+Shift+X`)10551. Mac에서는 `Cmd+Shift+X`, Windows/Linux에서는 `Ctrl+Shift+X`를 눌러 확장 프로그램 보기를 엽니다

9922. "Claude Code"를 검색합니다10562. "Claude Code"를 검색합니다

9933. **제거**를 클릭합니다10573. **Uninstall**을 클릭합니다

994 1058 

995VS Code 통합 터미널에서 `claude`를 실행하면 Claude Code가 확장 프로그램을 자동으로 다시 설치합니다. 제거된 상태로 유지하려면 `/config`에서 **Auto-install IDE extension**을 끄거나, [`autoInstallIdeExtension`](/docs/ko/settings-reference#autoinstallideextension)을 `false`로 설정합니다. [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/docs/ko/env-vars) 환경 변수를 `1`로 설정할 수도 있습니다.1059VS Code 통합 터미널에서 `claude`를 실행하면 Claude Code가 확장 프로그램을 자동으로 다시 설치합니다. 제거된 상태를 유지하려면 `/config`에서 **Auto-install IDE extension**을 끄거나 [`autoInstallIdeExtension`](/docs/ko/settings-reference#autoinstallideextension)을 `false`로 설정합니다. [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/docs/ko/env-vars) 환경 변수를 `1`로 설정할 수도 있습니다.

996 1060 

997확장 프로그램 데이터를 제거하고 모든 설정을 초기화하려면 플랫폼에 해당하는 확장 프로그램의 저장소 디렉터리를 삭제합니다.1061확장 프로그램 데이터도 제거하고 모든 설정을 초기화하려면 플랫폼에 해당하는 확장 프로그램 저장소 디렉터리를 삭제합니다.

998 1062 

999macOS에서:1063macOS의 경우:

1000 1064 

1001```bash theme={null}1065```bash theme={null}

1002rm -rf ~/Library/"Application Support"/Code/User/globalStorage/anthropic.claude-code1066rm -rf ~/Library/"Application Support"/Code/User/globalStorage/anthropic.claude-code

1003```1067```

1004 1068 

1005Linux에서:1069Linux의 경우:

1006 1070 

1007```bash theme={null}1071```bash theme={null}

1008rm -rf ~/.config/Code/User/globalStorage/anthropic.claude-code1072rm -rf ~/.config/Code/User/globalStorage/anthropic.claude-code

1009```1073```

1010 1074 

1011Windows에서 PowerShell에서:1075Windows의 경우 PowerShell에서:

1012 1076 

1013```powershell theme={null}1077```powershell theme={null}

1014Remove-Item -Recurse -Force "$env:APPDATA\Code\User\globalStorage\anthropic.claude-code"1078Remove-Item -Recurse -Force "$env:APPDATA\Code\User\globalStorage\anthropic.claude-code"

1015```1079```

1016 1080 

1017추가 도움말은 [문제 해결 가이드](/docs/ko/troubleshooting)를 참조하십시오.1081추가 도움이 필요하면 [문제 해결 가이드](/docs/ko/troubleshooting)를 참조하세요.

1018 1082 

1019<h2 id="next-steps">1083<h2 id="next-steps">

1020 다음 단계1084 다음 단계

1021</h2>1085</h2>

1022 1086 

1023이제 VS Code에서 Claude Code를 설정했습니다:1087이제 VS Code에서 Claude Code 설정을 마쳤으니 다음 단계를 진행해 보세요.

1024 1088 

1025* [일반적인 워크플로우 살펴보기](/docs/ko/common-workflows)를 통해 Claude Code를 최대한 활용하세요1089* [일반적인 워크플로 살펴보기](/docs/ko/common-workflows)를 통해 Claude Code를 최대한 활용할 수 있습니다

1026* [MCP 서버 설정](/docs/ko/mcp)을 통해 외부 도구로 Claude의 기능을 확장하세요. 채팅 패널에서 `/mcp`를 사용하여 추가하고 관리할 수 있습니다.1090* [MCP 서버 설정](/docs/ko/mcp)으로 외부 도구를 사용하여 Claude의 기능을 확장할 수 있습니다. 채팅 패널에서 `/mcp`를 사용하여 MCP 서버를 추가하고 관리합니다.

1027* [Claude Code 설정 구성](/docs/ko/settings)을 통해 허용된 명령어, 훅 등을 사용자 정의하세요. 이러한 설정은 확장 프로그램과 CLI 간에 공유됩니다.1091* [Claude Code 설정 구성](/docs/ko/settings)으로 허용된 명령, 훅 등을 사용자 지정할 수 있습니다. 이 설정은 확장 프로그램과 CLI 간에 공유됩니다.

1092* Claude Code의 [보안 안전 장치](/docs/ko/security) 및 [데이터 사용](/docs/ko/data-usage)을 검토합니다

Details

68| 기능 | 이유 |68| 기능 | 이유 |

69| - | - |69| - | - |

70| [웹의 Claude Code](/docs/ko/claude-code-on-the-web)(Desktop 앱에서 시작된 [클라우드 세션](/docs/ko/desktop#cloud-sessions) 포함) | 프롬프트 및 완성을 포함한 대화 기록이 있는 세션 데이터의 서버 측 저장이 필요합니다. |70| [웹의 Claude Code](/docs/ko/claude-code-on-the-web)(Desktop 앱에서 시작된 [클라우드 세션](/docs/ko/desktop#cloud-sessions) 포함) | 프롬프트 및 완성을 포함한 대화 기록이 있는 세션 데이터의 서버 측 저장이 필요합니다. |

71| [Chat 및 Cowork 통합](https://support.claude.com/en/articles/17444462-set-up-and-manage-the-new-unified-claude-experience-for-your-enterprise-organization) | 클라우드 세션이 필요합니다. |

71| [Claude Tag](https://claude.com/docs/claude-tag) | 채널 메모리 및 세션 기록을 유지합니다. |72| [Claude Tag](https://claude.com/docs/claude-tag) | 채널 메모리 및 세션 기록을 유지합니다. |

72| [Artifacts](/docs/ko/artifacts) | Anthropic 운영 인프라에 게시된 페이지 콘텐츠를 저장해야 합니다. |73| [Artifacts](/docs/ko/artifacts) | Anthropic 운영 인프라에 게시된 페이지 콘텐츠를 저장해야 합니다. |

73| 피드백 제출(`/feedback`, `/bug`, `/share`) | 피드백을 제출하면 대화 데이터가 Anthropic으로 전송됩니다. |74| 피드백 제출(`/feedback`, `/bug`, `/share`) | 피드백을 제출하면 대화 데이터가 Anthropic으로 전송됩니다. |