Code Mode는 실험적 기능이며 기본적으로 꺼져 있습니다. 어떤 릴리스에서든 변경되거나 제거될 수 있습니다. 피드백을 공유하려면
/feedback을 실행하십시오.Code Mode의 작동 방식
Code Mode 세션에서도 작업은 프롬프트로 설명하며, Claude는 이를 수행할 JavaScript를 작성합니다. 하나의 코드로 명령을 병렬로 실행하고, 한 결과를 다음 호출에 사용하고, 출력 중 Claude가 읽어야 하는 부분을 반환할 수 있습니다. 예를 들어 재시도 한도를 높여 달라고 요청하면, Claude는 파일을 찾고, 편집하고, 테스트를 실행하기 위해 다음과 같은 코드를 작성할 수 있습니다. 마지막 줄은 파일 경로와 테스트 출력을 Claude에게 반환합니다.Ctrl+O를 눌러 트랜스크립트 뷰어를 엽니다. 각 코드는 그곳에 접힌 Code 행으로 표시되며, 펼치는 방법에 대한 안내가 함께 나타납니다.
Code Mode를 사용할 때
서로 관련된 도구 호출이 많이 필요한 작업에서 Code Mode를 사용해 보십시오. 예를 들면 다음과 같습니다.- 여러 파일에 걸쳐 반복되는 변경
- Claude가 읽기 전에 결과를 필터링해야 하는 검색
- 동시에 실행할 수 있는 여러 독립적인 명령
Code Mode의 제한 사항
Code Mode를 켜기 전에 다음 제한 사항을 수용할 수 있는지 확인하십시오.- 재개: Code Mode 세션은 터미널에서 Code Mode를 켠 상태로만 재개할 수 있습니다
- 자동 모드: 자동 모드의 분류기는 각 도구 호출이 아니라 코드를 검토합니다
- 장시간 실행되는 코드: 코드를 백그라운드에서 실행할 수 있는 경우를 제외하고, 코드가 끝날 때까지 기다려야 하며 코드는 10분 후 중지됩니다
- 훅:
PreToolUse훅을 실행할 수 없거나 시간 초과되면 도구 호출이 거부될 수 있고,UserPromptSubmit훅에 의해 코드 출력이 차단될 수 있습니다 - 사용할 수 없는 기능: Remote Control, Claude in Chrome, 컴퓨터 사용을 사용할 수 없습니다
- 세션 이동: 세션을 Desktop 앱으로 옮기거나 백그라운드 세션으로 전환할 수 없으며,
/fork로 백그라운드 사본을 시작할 수 없습니다
요구 사항
- 버전: 어느 릴리스 채널이든 Claude Code v2.1.323 이상. 이전 버전은
it isn't open to your account yet사유 표시 여부와 관계없이 Code Mode 없이 시작됩니다 - 계정: Claude 구독 또는 Console 계정. 게이트웨이, Amazon Bedrock, Claude Platform on AWS, Google Cloud의 Agent Platform, Microsoft Foundry를 통해서는 Code Mode를 사용할 수 없습니다
- 조직: 조직이 HIPAA 구성과 zero data retention을 모두 사용하지 않아야 합니다
- 모델: Claude Opus 5.5, Sonnet 5.5, Haiku 5.5 또는 Fable 5.2
- 사용 환경: 터미널의 대화형
claude세션. Code Mode는-p, Agent SDK, VS Code 패널, Desktop 앱, 클라우드 세션에서는 작동하지 않습니다 - 설치: Claude Code의 네이티브 빌드
- Windows: Git for Windows가 설치되어 있어야 합니다
DISABLE_TELEMETRY 같은 일부 설정이 켜져 있으면 Code Mode를 시작할 수 없습니다. 각 항목의 해결 방법은 Code Mode가 시작되지 않음을 참조하십시오.
Code Mode 사용해 보기
Code Mode를 켜고 Claude에게 작업을 맡긴 다음, Claude가 작성한 코드를 살펴봅니다.1
버전 확인하기
claude --version을 실행합니다. 버전이 v2.1.323보다 이전이면 claude update를 실행합니다. stable 채널을 사용 중이고 업데이트 후에도 v2.1.323에 도달하지 않으면, stable이 따라잡을 때까지 기다리거나 latest로 전환하십시오.2
Code Mode를 켜고 Claude Code 시작하기
CLAUDE_CODE_EXPERIMENTAL_CODE_MODE 환경 변수를 1로 설정합니다. Code Mode를 시험해 보려면 셸에서 설정합니다. 모든 새 세션에서 Code Mode를 켜려면 사용자 설정에서 설정합니다.- macOS, Linux, WSL
- Windows PowerShell
- settings.json
3
Code Mode 사용 확인하기
Claude Code는 첫 Code Mode 세션 전에 확인을 요청합니다. Yes, turn on Code Mode를 선택합니다. Claude Code가 다시 시작되고 세션 상단 근처에 다음 줄이 표시됩니다.다른 줄이 표시되거나 아무것도 표시되지 않으면 Code Mode가 시작되지 않음을 참조하십시오.
4
도구 호출이 많은 작업을 Claude에게 맡기기
잘 알고 있는 프로젝트에서 다음과 같은 프롬프트를 보냅니다.
5
Claude가 작성한 코드 읽기
Ctrl+O를 누르고 Code 행을 펼쳐 도구 호출 뒤에 있는 JavaScript를 확인합니다. 대화로 돌아가려면 Ctrl+O를 다시 누릅니다.Code Mode 끄기
셸과~/.claude/settings.json에서 CLAUDE_CODE_EXPERIMENTAL_CODE_MODE를 제거한 다음 새 세션을 시작합니다. 변수를 유지하고 두 위치 중 어느 곳에서든 값을 0으로 변경할 수도 있습니다. 한 곳에 0이 있으면 다른 곳에 1을 설정하더라도 Code Mode는 꺼진 상태로 유지됩니다.
조직에서 Code Mode 차단하기
조직의 누구도 Code Mode를 사용할 수 없도록 관리형 설정에 값이0인 CLAUDE_CODE_EXPERIMENTAL_CODE_MODE를 추가합니다.
0이 적용되어 있는 동안에는 Code Mode 세션을 재개할 수 없습니다. 관리형 설정에서 사용자에게 Code Mode를 켜 줄 수는 없습니다.
권한과 장시간 실행되는 코드
권한 모드에 따라 Claude의 코드가 검사되는 방식과, 코드가 실행되는 동안 Claude와 대화할 수 있는지가 결정됩니다.권한 검사
Claude의 코드가 수행하는 각 도구 호출은deny 및 ask 권한 규칙과 PreToolUse 훅을 거칩니다. Bash 같은 도구에 대한 규칙이나 matcher를 변경할 필요는 없습니다. 규칙과 훅 외에도, 자동 모드에서는 분류기가 코드를 검토하고, 확인을 요청하는 모드에서는 사용자가 프롬프트에 응답합니다.
- 자동 모드: 분류기는 각 도구 호출이 아니라 각 코드를 실행 전에 검토합니다. 검색 출력에서 가져온 경로처럼 실행 시점에 계산되는 값은 보지 못하므로, 반드시 제어해야 하는 호출에 대해서는 규칙이나 훅을 유지하십시오. 이전 코드가 실행되는 동안 새 코드가 시작되면 확인 요청을 받을 수도 있습니다
- 기타 권한 모드: 코드는 검토 없이 시작되며, 해당 모드에서 확인을 요청했을 각 도구 호출에 대해 확인 요청을 받습니다
REPL과 일치하는 PreToolUse 훅을 작성하고 tool_input.code에서 JavaScript를 읽으십시오.
장시간 실행되는 코드
코드가 긴 빌드나 테스트를 실행하는 동안 Claude는 이를 기다리거나 백그라운드에서 계속 실행되도록 합니다.- 대기: Claude는 코드가 끝난 후 응답하며, 코드는 권한 프롬프트에서 보낸 시간을 포함해 10분 후 중지됩니다
- 백그라운드: Claude와 계속 대화할 수 있으며, 코드는 최대 2시간 동안 실행될 수 있습니다
bypassPermissions 모드로 세션을 시작하십시오. 그래도 Claude가 기다린다면 현재 모드와 세션을 시작한 방법을 확인하십시오.
- 다른 모드로 전환한 경우: 시작했던 모드로 돌아올 때까지
Shift+Tab을 누릅니다 - 다른 모드로 시작했거나
claude --resume목록에서 세션을 선택한 경우: 자동 모드를 사용할 수 있다면 종료한 다음, Code Mode를 켠 상태로claude --continue --permission-mode auto를 실행합니다 --tools에 도구 이름을 전달한 경우: 해당 플래그 없이 자동 모드로 다시 시작합니다
문제 해결
Code Mode가 시작되지 않음
세션 상단 근처에Code Mode (experimental) isn't available이 표시되면 Claude Code가 Code Mode 없이 시작되었다는 의미입니다. 사유는 같은 줄에 이어서 표시되며, /status에도 표시됩니다. 다음 표에서 사유를 찾아 변경한 다음 새 세션을 시작하십시오. 표에 없는 사유라면 요구 사항을 확인하십시오.
Code Mode에 관한 줄이 전혀 표시되지 않으면
claude --version을 실행하십시오. 버전이 v2.1.323보다 이전이면 업데이트합니다. 그런 다음 셸 또는 사용자 설정에서 CLAUDE_CODE_EXPERIMENTAL_CODE_MODE가 1인지 확인하고, 해당 위치와 모든 --settings 파일에서 0을 제거하십시오.
카운트다운이 있는 권한 프롬프트
자동 모드에서 이전 코드가 아직 실행 중일 때 Claude가 코드를 추가로 시작하면, 이전 코드는 분류기 검토를 받지 못하게 됩니다. 그러면 Claude Code는 이전 코드의 남은 호출 중 검토가 필요했을 호출에 대해 사용자에게 묻습니다. IDE가 연결되어 있지 않으면 프롬프트에 카운트다운이 표시됩니다.훅에 의해 거부된 도구 호출
Claude가 거부된 도구 호출을 보고하면 오류 텍스트를 요청하십시오. 다음 오류는PreToolUse 훅이 결정을 내리지 않았다는 의미이며, 이 경우 onFailure가 설정되지 않았더라도 호출이 거부됩니다.
the hook failed: Claude의 코드에서 온 호출에 대해 훅을 시작할 수 없었거나, 훅이 종료(kill)되었거나, 126, 127 또는 128보다 큰 코드로 종료되었거나, HTTP 오류 또는 잘못된 출력을 반환했습니다. 훅을 수정하십시오the hook did not finish: Claude의 코드에서 온 호출, 또는 Claude가 세션에서 코드를 실행한 이후의 다른 모든 도구 호출에서 훅이 시간 초과되었습니다. 훅의timeout을 늘리십시오
command 또는 http 훅이 실패하거나 시간 초과될 때 호출이 진행되도록 하려면 해당 훅에 "onFailure": "continue"를 설정하십시오. command 훅이 1과 같은 일반 코드로 종료되면, "onFailure": "block"을 설정한 경우를 제외하고 호출이 진행됩니다.
훅에 의해 보류된 코드 출력
Claude의 코드 출력이 나와야 할 곳에서 Claude가 훅의 차단 사유를 보고하면UserPromptSubmit 훅을 확인하십시오. 코드를 백그라운드에서 실행할 수 있는 경우, 해당 이벤트의 command, http, mcp_tool 훅은 코드 출력에 대해서도 실행됩니다. 출력을 통과시키려면 입력의 source가 poll_event일 때 차단하지 않도록 훅을 변경하십시오.