본문으로 건너뛰기

CLI 레퍼런스

공식 문서: https://code.claude.com/docs/ko/cli-reference

Claude Code의 CLI 명령어와 옵션을 정리합니다.

CLI 명령어 카테고리 맵

CLI 명령어 카테고리 맵
4가지 카테고리로 분류된 전체 명령어 구조
기본 명령
claude
claude "프롬프트"
claude -c / -r
인터랙티브 모드 시작 · 세션 이어하기
⚙️
자동화
-p / --print
--bare
--output-format json
비대화형 실행 · CI/CD 파이프라인 연동
🔧
설정
/config
--model / --effort
--permission-mode
모델·품질·권한 설정 · 시스템 프롬프트
🩺
관리
/doctor
--version / --help
--max-budget-usd
환경 진단 · 버전 확인 · 비용 제한
오타 자동 제안

존재하지 않는 서브명령어를 입력하면 Claude Code가 가장 유사한 명령어를 자동으로 제안합니다. 예: claude athhDid you mean: claude auth?

기본 명령어

claude

인터랙티브(Interactive) 모드로 Claude Code를 시작합니다.

# 기본 실행
claude

# 초기 프롬프트와 함께 실행
claude "이 프로젝트의 구조를 설명해줘"

# 특정 권한 모드로 실행
claude --permission-mode auto

최상위 하위 명령어

claude agents

에이전트 보기를 열어 병렬 백그라운드 세션을 실시간으로 모니터링하고 디스패치합니다. --cwd <path> 옵션으로 특정 디렉토리의 세션만 표시할 수 있습니다:

# 에이전트 보기 열기 (실행 중인 백그라운드 세션 모니터링/디스패치)
claude agents

# 특정 디렉토리의 세션만 표시
claude agents --cwd ~/work/my-project

claude attach

이 터미널에서 백그라운드 세션에 연결합니다:

# 세션 ID로 연결
claude attach 7c5dcf5d

claude logs

백그라운드 세션의 최근 출력을 조회합니다:

# 세션 출력 확인
claude logs 7c5dcf5d

claude respawn

대화 기록을 유지하면서 중지된 백그라운드 세션을 다시 시작합니다. --all 플래그로 모든 중지된 세션을 한 번에 재시작할 수 있습니다:

# 특정 세션 재시작
claude respawn 7c5dcf5d

# 중지된 모든 세션 재시작
claude respawn --all

claude rm

백그라운드 세션을 목록에서 제거합니다:

# 세션 제거
claude rm 7c5dcf5d

claude stop

백그라운드 세션을 중지합니다. claude kill도 동일하게 동작합니다:

# 세션 중지
claude stop 7c5dcf5d

claude auto-mode

자동 모드를 관리합니다:

# 자동 모드 분류기 규칙 출력
claude auto-mode defaults

# 자동 모드 설정 대화형 편집
claude auto-mode config

claude plugin

플러그인을 관리합니다:

# 플러그인 목록 표시
claude plugin list

# 플러그인 설치 (공식 레지스트리에서)
claude plugin install code-review@claude-plugins-official

# 플러그인 제거
claude plugin remove <plugin-name>

claude remote-control

원격 제어 모드로 실행합니다:

# 원격 제어 서버 시작
claude remote-control

# 특정 포트로 실행
claude remote-control --port 8080

# 프로젝트 이름 지정
claude remote-control --name "My Project"

claude auth

Anthropic 계정 인증을 관리합니다:

# 기본 로그인 (브라우저 열기)
claude auth login

# 이메일/패스워드 로그인
claude auth login --email

# SSO(싱글 사인온) 로그인
claude auth login --sso

# 콘솔 전용 환경(브라우저 없음)에서 로그인
claude auth login --console

# 로그아웃
claude auth logout

# 현재 인증 상태 확인 (JSON 형식)
claude auth status

# 사람이 읽기 쉬운 텍스트 형식으로 출력
claude auth status --text
claude auth status 종료 코드

claude auth status는 종료 코드로 인증 상태를 반환합니다:

  • 종료 코드 0: 로그인된 상태
  • 종료 코드 1: 로그인되지 않은 상태

이를 활용하면 CI/CD 스크립트에서 인증 여부를 쉽게 확인할 수 있습니다:

if claude auth status; then
echo "인증됨, 작업 진행"
else
echo "인증 필요"
exit 1
fi

claude install

특정 버전의 Claude Code를 설치합니다:

# 최신 버전 설치
claude install

# 특정 버전 설치
claude install 2.1.118

# 안정 버전 설치
claude install stable

# 최신 버전 설치
claude install latest

claude setup-token

CI와 스크립트를 위한 장기 OAuth 토큰을 생성합니다. 토큰을 터미널에 출력하되 저장하지 않습니다. Claude 구독이 필요합니다:

# 장기 OAuth 토큰 생성 (터미널에 출력)
claude setup-token

claude ultrareview

ultrareview를 비대화형으로 실행합니다. 결과를 stdout으로 출력하고 성공 시 0, 실패 시 1로 종료합니다.

# PR 번호로 ultrareview 실행
claude ultrareview 1234

# JSON 형식으로 원본 페이로드 출력
claude ultrareview 1234 --json

# 타임아웃 설정 (기본값 30분 재정의)
claude ultrareview 1234 --timeout 60
옵션설명
[target]리뷰 대상 (PR 번호 또는 URL)
--jsonJSON 형식으로 원본 페이로드 출력
--timeout <minutes>기본 30분 타임아웃 재정의

claude update

Claude Code를 최신 버전으로 업데이트합니다:

# 최신 버전으로 업데이트
claude update

# 업데이트 가능 여부만 확인 (업데이트 미적용)
claude update --check

주요 플래그

실행 모드

플래그설명예시
-p, --print비대화형 모드 (결과만 출력 후 종료)claude -p "README 생성해줘"
-c, --continue마지막 세션 이어하기claude -c
-r, --resume특정 세션 ID로 이어하기claude -r SESSION_ID
--bg세션을 백그라운드 에이전트로 시작하고 즉시 반환. claude agents로 모니터링, claude attach로 연결claude --bg "flaky 테스트 원인 조사"
--bare최소 모드: hooks, skills, plugins, MCP 서버, 자동 메모리 및 CLAUDE.md 자동 검색을 건너뜀claude -p --bare "분석해줘"

모델 및 품질

플래그설명예시
--model사용할 모델 지정claude --model claude-opus-4-6
--effort응답 품질 조절 (low/medium/high/xhigh/max). 지원 수준은 모델에 따라 다름. effortLevel 설정 키와 달리 CLI 플래그는 max를 허용claude --effort xhigh "복잡한 버그 분석"
--fallback-model기본 모델 실패 시 대체 모델claude --fallback-model claude-haiku-4-5
--permission-mode권한 모드 설정claude --permission-mode auto

출력 형식

플래그설명예시
--output-format출력 형식 (text/json/stream-json)claude -p --output-format json "분석"
--json-schema구조화된 출력 스키마 지정아래 예제 참고
--verbose상세 로그 출력claude --verbose

비용 및 제한

플래그설명예시
--max-budget-usd세션 최대 비용 제한 (USD)claude --max-budget-usd 5
--max-turns최대 대화 턴 수 제한claude -p --max-turns 10 "리팩토링"

세션 및 컨텍스트

플래그설명예시
--add-dir추가 디렉토리 참조claude --add-dir ../shared-lib
--fork-session기존 세션을 포크하여 새 세션 생성claude --fork-session SESSION_ID
--from-prPR 연결 세션 재개. PR 번호, GitHub/GitHub Enterprise PR URL, GitLab Merge Request URL, Bitbucket PR URL 허용claude --from-pr 123
--system-prompt시스템 프롬프트 지정claude -p --system-prompt "한국어로 답변"
--append-system-prompt기존 시스템 프롬프트에 추가claude -p --append-system-prompt "간결하게"

원격 및 고급

플래그설명예시
--remote클라우드에서 세션 실행claude --remote "장시간 리팩토링"
--teleport클라우드 세션을 웹 브라우저로 이동claude --teleport
--tmuxworktree에 대한 tmux 세션 생성 (--worktree 필요). 사용 가능한 경우 iTerm2 네이티브 창 사용. 기존 tmux를 강제하려면 --tmux=classic 사용claude -w feature-auth --tmux
--worktree, -wgit worktree로 격리된 환경에서 실행claude -w "실험적 변경"
--teammate-mode에이전트 팀 표시 방식 설정: auto(기본값, tmux/iTerm2에서 분할 창 선택), in-process, tmuxclaude --teammate-mode in-process
--agent특정 에이전트 지정claude --agent my-agent

디버그 및 진단

플래그설명예시
--debug [categories]디버그 모드 활성화 (선택적 카테고리 필터링)claude --debug "api,mcp"
--debug-file <path>디버그 출력을 파일로 저장claude --debug-file debug.log
--maintenance유지보수 모드 실행claude --maintenance
--setting-sources로드할 설정 소스의 쉼표로 구분된 목록 (user, project, local)claude --setting-sources user,project

세션 관리 (신규)

플래그설명예시
-n, --name <name>세션 이름 지정claude -n "리팩토링 작업"
--session-id <id>특정 세션 ID로 시작claude --session-id abc123
--no-session-persistence세션 저장 비활성화claude --no-session-persistence

MCP 설정

플래그설명예시
--mcp-config <path>MCP 설정 파일 경로 지정claude --mcp-config .mcp.json
--strict-mcp-config지정한 MCP 설정 파일만 사용claude --strict-mcp-config --mcp-config prod.json

IDE 및 통합

플래그설명예시
--ideIDE 통합 모드 활성화claude --ide vscode
--chromeChrome 브라우저 통합 활성화claude --chrome
--no-chromeChrome 통합 비활성화claude --no-chrome
--rc, --remote-control원격 제어 모드 활성화claude --rc
--remote-control-session-name-prefix <prefix>원격 제어 세션 이름 접두사 설정claude --remote-control-session-name-prefix "proj-"

자동화 (신규)

플래그설명예시
--enable-auto-mode⚠️ 사용 중단됨 (v2.1.111에서 제거). --permission-mode auto 사용 권장claude --permission-mode auto
--agents <json>다중 에이전트 JSON 정의 (이름 키 객체 형식)claude --agents '{"reviewer":{"description":"코드 리뷰","prompt":"코드 리뷰어입니다"}}'
--tools <list>Claude가 사용할 기본 제공 도구 제한. 모두 비활성화: "", 모두 활성화: "default", 특정 도구: "Bash,Edit,Read"claude --tools "Bash,Edit,Read"
--disallowedTools <list>사용 금지할 도구 목록 지정claude --disallowedTools "Bash,Edit"
--disable-slash-commands슬래시 커맨드 비활성화claude -p --disable-slash-commands "분석"
--include-hook-events출력에 훅 이벤트 포함claude --include-hook-events
--initCLAUDE.md 초기화 (비대화형)claude --init
--init-only초기화만 수행하고 종료claude --init-only
--input-format <format>입력 형식 지정 (text/stream-json)claude -p --input-format stream-json
--include-partial-messages스트리밍 응답에 부분 메시지 포함claude -p --include-partial-messages
--replay-user-messages이전 사용자 메시지 재생claude --replay-user-messages

권한 및 보안

플래그설명예시
--dangerously-skip-permissions모든 권한 확인 건너뛰기 ⚠️claude -p --dangerously-skip-permissions "작업"
--allow-dangerously-skip-permissionsShift+Tab 모드 사이클에 bypassPermissions를 추가합니다claude --allow-dangerously-skip-permissions
--permission-prompt-tool <tool>커스텀 권한 프롬프트 도구 지정claude --permission-prompt-tool my-tool
--exclude-dynamic-system-prompt-sections <섹션>동적 시스템 프롬프트에서 특정 섹션 제외claude --exclude-dynamic-system-prompt-sections memory
주의

--dangerously-skip-permissions 플래그는 모든 권한 확인을 건너뜁니다. 신뢰할 수 있는 환경(CI/CD, 격리된 컨테이너)에서만 사용하세요.

설정 파일

플래그설명예시
--settings <path>설정 파일 경로 지정claude --settings ~/custom-settings.json
--system-prompt-file <path>시스템 프롬프트 파일 지정claude --system-prompt-file prompt.txt
--append-system-prompt-file <path>시스템 프롬프트 파일 추가claude --append-system-prompt-file extra.txt
--plugin-dir <path>플러그인 디렉토리 지정claude --plugin-dir ~/.claude/plugins
--betas <list>베타 기능 활성화claude --betas feature1,feature2
--channels <list>활성화할 플러그인 채널 목록 (plugin:<name>@<marketplace> 항목의 공백 구분 목록)claude --channels 'plugin:beta@my-marketplace'
--dangerously-load-development-channels개발 중인 채널 로드 허용 ⚠️claude --dangerously-load-development-channels

기타

플래그설명예시
--version버전 확인claude --version
--help도움말claude --help

슬래시 명령어

인터랙티브 모드에서 사용할 수 있는 슬래시 명령어입니다.

일반 명령어

명령어설명
/help도움말 표시
/clear대화 히스토리 초기화
/compact대화 내용을 요약하여 컨텍스트 절약
/cost현재 세션의 토큰 사용량과 비용 표시
/quitClaude Code 종료

설정 명령어

명령어설명
/permissions권한 설정 관리
/model사용 중인 모델 변경
/fast빠른 모드 토글 (같은 모델, 빠른 출력)

도구/확장 명령어

명령어설명
/mcpMCP 서버 관리 (추가/확인/제거)
/plugin플러그인(Plugin) 관리
/remote-control현재 세션에서 원격 제어 활성화
/hooks현재 설정된 훅(Hook) 목록 확인
/config설정 변경
/doctor환경 진단

내장 스킬 명령어

명령어설명
/batch대규모 변경을 병렬 워크트리에서 실행
/loop프롬프트를 주기적으로 반복 실행
/debug디버그 로깅 활성화
/simplify변경된 코드의 품질 개선
/claude-apiClaude API/SDK 레퍼런스 로딩

기타 명령어

명령어설명
/vimVim 모드 토글(Toggle)
/btwClaude 처리 중에도 사용 가능한 사이드 질문 (도구 접근 없음, 단일 응답, 프롬프트 캐시 재사용으로 저비용)
/recap현재 세션 요약 생성 (필요할 때 수동으로 호출)
/rename현재 대화 세션 이름 변경
/teleport클라우드 세션을 웹 브라우저로 이동
/desktopDesktop Commander 모드 활성화 (macOS)
/schedule예약 작업 설정
/terminal-setup터미널 키 바인딩 설정
/initCLAUDE.md 자동 생성
/memory프로젝트 메모리 관리
/sessions최근 세션 목록 보기
/think확장 사고(Extended Thinking) 활성화

키보드 단축키

대화형 모드에서 사용할 수 있는 키보드 단축키입니다.

macOS에서 Option/Alt 단축키 활성화

Alt+B, Alt+F, Alt+Y, Alt+M, Alt+P, Alt+T, Option+O 등의 단축키를 사용하려면 터미널에서 Option 키를 Meta로 설정해야 합니다:

  • iTerm2: 설정 → 프로필 → 키 → 일반 → Left/Right Option 키를 Esc+로 설정
  • Apple Terminal: 설정 → 프로필 → 키보드 → "Option을 Meta 키로 사용" 체크
  • VS Code: 설정에서 "terminal.integrated.macOptionIsMeta": true로 설정

일반 제어

단축키기능
Ctrl+C현재 작업 중단
Ctrl+DClaude Code 세션 종료 (EOF 신호)
Ctrl+L프롬프트 입력 지우기 및 화면 다시 그리기 (대화 기록 유지)
Ctrl+R역방향 명령 기록 검색
Ctrl+O트랜스크립트 뷰어 토글 (도구 사용 및 MCP 호출 상세 보기)
Ctrl+B현재 bash 명령 또는 에이전트를 백그라운드로 실행 (tmux 사용자는 두 번)
Ctrl+X Ctrl+K모든 백그라운드 에이전트 종료 (3초 내 확인 필요)
Ctrl+T작업 목록(To-do list) 표시/숨기기 토글 (최대 5개 표시)
Shift+Tab권한 모드 순환 (default → acceptEdits → plan → auto)
Esc + Esc되돌리기 또는 요약 (코드/대화를 이전 지점으로 복원하거나 선택 메시지에서 요약)
Left/Right 화살표권한 대화 상자 및 메뉴의 탭 간 탐색
↑ / ↓ 또는 Ctrl+P/Ctrl+N여러 줄 입력에서 커서 이동 또는 명령 기록 탐색

텍스트 편집

단축키기능
Ctrl+A현재 줄의 시작으로 커서 이동
Ctrl+E현재 줄의 끝으로 커서 이동
Ctrl+K줄 끝까지 삭제 (삭제된 텍스트 저장)
Ctrl+U커서에서 줄 시작까지 삭제 (삭제된 텍스트 저장)
Ctrl+W이전 단어 삭제 (삭제된 텍스트 저장)
Ctrl+YCtrl+K/Ctrl+U/Ctrl+W로 삭제한 텍스트 붙여넣기
Alt+Y붙여넣기 기록 순환 (Ctrl+Y 이후 사용, macOS에서 Option을 Meta로 설정 필요)
Alt+B커서를 한 단어 뒤로 이동
Alt+F커서를 한 단어 앞으로 이동
Ctrl+G / Ctrl+X Ctrl+E기본 텍스트 편집기에서 현재 프롬프트 편집
Ctrl+V / Cmd+V / Alt+V클립보드에서 이미지 붙여넣기

여러 줄 입력

방법단축키비고
\ + Enter\ + Enter모든 터미널에서 작동
Shift+EnterShift+EnteriTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal 기본 지원
Option/Alt EnterOption+EntermacOS에서 Option을 Meta로 활성화 후
제어 시퀀스Ctrl+J구성 없이 모든 터미널에서 작동

VS Code, Cursor, Windsurf, Alacritty, Zed에서 Shift+Enter를 사용하려면 /terminal-setup을 실행하여 바인딩을 설치하세요.

확장 기능

단축키기능
Option+P / Alt+P모델 전환 (프롬프트를 지우지 않고)
Option+T / Alt+T확장 사고 토글
Option+O / Alt+O빠른 모드 토글
Alt+M권한 모드 순환 (일부 터미널 구성에서 사용 가능)
Tab / 파일 경로 자동 완성 및 프롬프트 제안 수락
?사용 가능한 단축키 목록 표시
Space 길게 누르기음성 입력(Voice Dictation) 활성화

트랜스크립트 뷰어 단축키

Ctrl+O로 트랜스크립트 뷰어를 열었을 때 사용할 수 있는 단축키입니다:

단축키기능
Ctrl+E모든 콘텐츠 표시 토글
[전체 대화를 터미널 스크롤백에 작성 (Cmd+F, tmux 복사 모드 등으로 검색 가능)
v대화를 임시 파일에 작성하고 $VISUAL 또는 $EDITOR에서 열기
q, Ctrl+C, Esc트랜스크립트 뷰어 종료
계획 모드 활용

Shift+Tab으로 계획 모드를 켜면 Claude가 파일을 수정하지 않고 작업 계획만 세웁니다. 복잡한 리팩토링 전에 계획을 먼저 검토하고 싶을 때 유용합니다.

세션 선택기 단축키

--resume 모드에서 세션 목록이 표시될 때 사용할 수 있는 단축키입니다:

단축키기능
Space선택한 세션 미리보기
Ctrl+R선택한 세션 이름 변경
/세션 검색
Ctrl+A모든 프로젝트의 세션 표시
Ctrl+W모든 워크트리의 세션 표시
Ctrl+B현재 브랜치로 세션 필터링
Esc세션 선택기 종료

Vim 편집기 모드

/config → 편집기 모드를 통해 Vim 스타일 편집을 활성화할 수 있습니다. editorMode: "vim" 설정으로도 활성화됩니다.

모드 전환

명령작업모드에서
EscNORMAL 모드 진입INSERT, VISUAL
i커서 앞에 삽입NORMAL
I줄 시작에 삽입NORMAL
a커서 뒤에 삽입NORMAL
A줄 끝에 삽입NORMAL
o아래 줄 열기NORMAL
O위 줄 열기NORMAL
v문자 단위 시각적 선택 시작NORMAL
V줄 단위 시각적 선택 시작NORMAL

탐색 (NORMAL 모드)

명령작업
h/j/k/l왼쪽/아래/위/오른쪽
w/e/b다음 단어 / 단어 끝 / 이전 단어
0 / $줄 시작 / 줄 끝
^첫 번째 공백이 아닌 문자
gg / G입력 시작 / 입력 끝
f{char} / F{char}다음/이전 문자로 점프
t{char} / T{char}다음/이전 문자 직전/후로 점프
; / ,마지막 f/F/t/T 반복 / 역순 반복

NORMAL 모드에서 입력의 시작/끝에 있을 때 j/k는 명령 기록을 탐색합니다.

셸 명령 즉시 실행 (! 접두사)

대화 중 줄 첫 번째에 !를 붙이면 Claude를 거치지 않고 셸 명령을 즉시 실행합니다:

!ls -la          # 파일 목록 즉시 확인
!git status # Git 상태 확인
!npm test # 테스트 즉시 실행
!cat error.log # 파일 내용 확인

Claude 응답 대기 없이 터미널처럼 즉시 실행되며, 실행 결과가 현재 대화 컨텍스트에 자동으로 포함됩니다.

커스텀 슬래시 명령어 만들기

.claude/commands/ 디렉토리에 마크다운 파일을 만들어 프로젝트 전용 슬래시 명령어를 정의할 수 있습니다.

파일 구조

프로젝트/
└── .claude/
└── commands/
├── review.md → /review 명령어
├── deploy.md → /deploy 명령어
└── test.md → /test 명령어

커스텀 명령어 예시 (review.md)

---
description: PR 코드 리뷰 수행
allowed-tools: Read, Bash(git diff *)
---

다음 파일들을 시니어 개발자 시각으로 리뷰해주세요:
$ARGUMENTS

체크 항목:
- 코드 스타일 및 가독성
- 잠재적 버그 및 엣지 케이스
- 보안 취약점
- 성능 최적화 기회
- 테스트 커버리지

사용법

> /review src/components/Login.tsx src/utils/auth.ts
  • $ARGUMENTS: 명령어 뒤에 입력한 내용이 자동으로 대체됩니다
  • allowed-tools: 이 명령어에서만 사용할 도구를 제한할 수 있습니다
  • 사용자 전역 명령어는 ~/.claude/commands/에 추가합니다

파이프라인(Pipeline) 모드

Claude Code를 스크립트나 파이프라인에서 사용할 수 있습니다:

# 파이프를 통한 입력
echo "이 파일의 버그를 찾아줘" | claude

# 파일 내용 전달
cat error.log | claude "이 에러 로그를 분석해줘"

# 비대화형 모드
claude -p "package.json의 의존성을 나열해줘"

-p (print) 모드

비대화형으로 실행하고 결과만 출력합니다:

# 결과를 파일로 저장
claude -p "이 프로젝트의 README를 생성해줘" > README.md

# 다른 명령어와 조합
claude -p "이 프로젝트에서 사용하지 않는 의존성을 나열해줘" | xargs npm uninstall

실전 활용 예제

CI/CD 파이프라인에서 사용

--bare 플래그로 자동 탐색을 건너뛰고, --output-format json으로 기계 판독 가능한 출력을 받습니다:

# GitHub Actions에서 코드 리뷰 자동화
claude -p --bare --output-format json \
"이 diff의 잠재적 버그를 JSON으로 보고해줘"

# CI에서 테스트 실패 분석
cat test-results.log | claude -p --bare \
"실패한 테스트의 원인을 분석하고 수정 방안을 제시해줘"

비용 제한 설정

예산을 초과하지 않도록 세션 비용을 제한합니다:

# 최대 5달러까지만 사용
claude --max-budget-usd 5 "이 프로젝트를 리팩토링해줘"

# 턴 수도 함께 제한
claude -p --max-budget-usd 2 --max-turns 5 "코드 분석"

구조화된 출력 (JSON Schema)

--json-schema 플래그로 정해진 형식의 출력을 받을 수 있습니다:

echo "분석할 코드" | claude -p \
--json-schema '{"type":"object","properties":{"bugs":{"type":"array","items":{"type":"object","properties":{"file":{"type":"string"},"line":{"type":"integer"},"severity":{"type":"string"},"description":{"type":"string"}}}}}}' \
"이 코드의 버그를 찾아줘"

출력 예시:

{
"bugs": [
{
"file": "src/utils.ts",
"line": 42,
"severity": "high",
"description": "null 체크 누락으로 런타임 에러 발생 가능"
}
]
}

세션 이어하기

# 마지막 세션 이어서 진행
claude -c

# 특정 세션 ID로 복원
claude -r abc123-def456

# 세션을 포크하여 다른 방향으로 시도
claude --fork-session abc123-def456

추가 디렉토리 참조

모노레포에서 여러 패키지를 참조해야 할 때:

# 공유 라이브러리를 함께 참조
claude --add-dir ../shared-lib --add-dir ../common-types \
"shared-lib의 타입을 사용해서 새 API를 만들어줘"

워크트리 격리 실행

Git Worktrees를 사용하면 실험적인 변경을 원본 브랜치와 완전히 격리된 환경에서 실행할 수 있습니다:

# 별도의 git worktree에서 작업 (원본 브랜치 영향 없음)
claude -w "전체 코드를 TypeScript로 마이그레이션해줘"

# 또는 --worktree 플래그 사용
claude --worktree "새 인증 시스템 구현해줘"

.worktreeinclude 파일로 포함할 파일 패턴 지정:

프로젝트 루트에 .worktreeinclude 파일을 만들어 워크트리에 포함할 파일 패턴을 지정합니다:

# .worktreeinclude
src/**
tests/**
package.json
tsconfig.json

이 파일에 지정되지 않은 파일은 워크트리에 복사되지 않아 작업 범위가 제한됩니다.

워크트리 관련 훅:

{
"hooks": {
"WorktreeCreate": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "npm install"
}
]
}
],
"WorktreeRemove": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "echo '워크트리 정리 완료'"
}
]
}
]
}
}

시스템 프롬프트 활용

시스템 프롬프트 관련 플래그 4가지의 차이점:

플래그동작사용 시나리오
--system-prompt기본 시스템 프롬프트를 완전 교체특정 역할이나 규칙을 완전히 재정의할 때
--append-system-prompt기존 시스템 프롬프트에 추가기본 동작을 유지하면서 추가 지침만 넣을 때
--system-prompt-file파일에서 시스템 프롬프트 로드 후 교체긴 프롬프트를 파일로 관리할 때
# 한국어 답변 강제 (기본 프롬프트 교체)
claude -p --system-prompt "항상 한국어로 답변하세요" "Explain this code"

# 기존 프롬프트에 추가 지시
claude -p --append-system-prompt "코드 예제를 반드시 포함하세요" "React 상태 관리 설명"

# 파일에서 시스템 프롬프트 로드
claude -p --system-prompt-file ./system-prompt.txt "분석해줘"

GitHub Actions CI/CD 통합 전체 예시

# .github/workflows/claude-review.yml
name: Claude Code Review

on:
pull_request:
types: [opened, synchronize]

jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Claude Code
run: curl -fsSL https://claude.ai/install.sh | bash

- name: Code Review
run: |
claude -p \
--bare \
--output-format json \
--permission-mode dontAsk \
--max-turns 10 \
"이 PR의 변경사항을 리뷰해줘. git diff origin/main...HEAD 를 확인해." \
> review.json
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}

- name: Post Comment
uses: actions/github-script@v7
with:
script: |
const review = JSON.parse(require('fs').readFileSync('review.json', 'utf8'));
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `## 🤖 Claude Code Review\n\n${review.result}`
});

비대화형 모드 종료 코드

종료 코드의미
0성공
1일반 오류
2비용 한도 초과 (--max-budget-usd)
3최대 턴 수 초과 (--max-turns)
4인증 오류
# 종료 코드로 성공/실패 판단
claude -p "테스트 실행" && echo "성공" || echo "실패: $?"

환경 변수

변수설명기본값
ANTHROPIC_API_KEYAPI 인증 키없음
CLAUDE_MODEL사용할 모델claude-sonnet-4-6
CLAUDE_MAX_TOKENS최대 출력 토큰모델 기본값
DISABLE_AUTOUPDATER자동 업데이트 비활성화0 (활성)
CLAUDE_CODE_DISABLE_CRON크론/스케줄 기능 비활성화0 (활성)
MAX_MCP_OUTPUT_TOKENSMCP 도구 출력 토큰 제한기본값
ENABLE_CLAUDEAI_MCP_SERVERSclaude.ai MCP 서버 사용 여부true
HTTPS_PROXYHTTPS 프록시 서버없음
HTTP_PROXYHTTP 프록시 서버없음
USE_BUILTIN_RIPGREP내장 ripgrep 사용 여부1 (사용)
CLAUDE_CODE_MAX_OUTPUT_TOKENSClaude 응답 최대 토큰모델 기본값
CLAUDE_CODE_TASK_LIST_ID여러 세션 간 태스크 목록 공유없음
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION세션 시작 시 프롬프트 제안 표시 여부true (false로 비활성화)
환경 변수 설정 방법

자주 사용하는 환경 변수는 셸 설정 파일에 추가하면 편리합니다:

# ~/.zshrc 또는 ~/.bashrc에 추가
export ANTHROPIC_API_KEY="sk-ant-..."
export CLAUDE_MODEL="claude-sonnet-4-6"

인터랙티브 기능

프롬프트 제안 (Prompt Suggestions)

세션 시작 시 이전 대화 내용을 바탕으로 이어서 사용할 수 있는 프롬프트를 제안합니다.

  • Tab 또는 화살표로 제안 수락
  • CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false로 비활성화 가능

PR 리뷰 상태 표시

gh CLI가 설치되어 있으면 현재 작업 중인 브랜치의 PR 리뷰 상태를 터미널 하단에 색상으로 표시합니다:

색상상태
초록승인됨 (approved)
노랑검토 대기 (pending)
빨강변경 요청 (changes requested)
회색초안 (draft)
보라병합됨 (merged)

60초마다 자동 새로고침됩니다.

세션 자동 요약

마지막 대화 후 3분 이상 터미널이 포커스를 잃으면 세션 요약이 자동 생성됩니다. /recap 명령으로 언제든지 수동으로 생성할 수도 있습니다.

백그라운드 Bash 출력 제한

백그라운드로 실행된 bash 명령의 출력이 5GB를 초과하면 자동 종료되며, stderr에 알림이 표시됩니다.

트러블슈팅

증상해결 방법
claude -p 출력이 잘림CLAUDE_MAX_TOKENS 또는 --max-tokens를 늘려보세요
JSON 출력이 파싱 안됨--output-format json-p를 함께 사용하세요
세션 복원 실패claude -r 대신 claude -c로 마지막 세션 시도
--bare 모드에서 컨텍스트 부족CLAUDE.md 내용을 --system-prompt로 직접 전달
비용 제한 초과 경고--max-budget-usd를 늘리거나 --effort low로 비용 절감

연계 기능

CLI를 더욱 효과적으로 활용하는 연계 기능들
🔄
CLI 명령어가 실제 개발 워크플로우에 어떻게 통합되는지 확인하세요. 프로젝트 탐색부터 PR 생성까지의 흐름을 이해할 수 있습니다.
CLI의 --remote, --worktree 플래그와 연계하여 클라우드 세션, 에이전트 팀, 후크 등 고급 기능을 활용할 수 있습니다.
⚙️
/config 및 환경 변수로 조정한 설정이 CLI 플래그와 상호 작용하는 방식을 이해하고, 일관된 환경을 구성할 수 있습니다.

장점, 단점과 한계점

장점

  • 풍부한 플래그 옵션: --model, --effort, --max-budget-usd 등 세밀한 제어가 가능하여 상황에 맞게 동작을 조정할 수 있습니다.
  • 파이프라인 연동: echo, cat 등과 파이프로 연결하여 기존 셸 워크플로우에 자연스럽게 통합됩니다.
  • CI/CD 자동화: -p(print) 모드와 --bare 플래그를 조합하면 GitHub Actions 등 자동화 파이프라인에서 비대화형으로 활용할 수 있습니다.
  • 다양한 출력 형식: text, json, stream-json 출력 형식과 --json-schema를 지원하여 구조화된 데이터를 받을 수 있습니다.

단점과 한계점

  • 플래그 조합 복잡: 플래그 수가 많아 처음 사용자가 어떤 플래그를 조합해야 하는지 파악하기 어렵습니다.
  • 일부 플래그 상호 배타적: 특정 플래그들은 함께 사용할 수 없지만, 에러 메시지만으로는 원인을 바로 파악하기 어려운 경우가 있습니다.
  • 환경변수와 플래그 우선순위 혼동: CLAUDE_MODEL 환경변수와 --model 플래그가 동시에 설정되면 어느 쪽이 우선인지 혼란이 생길 수 있습니다.
  • 버전별 플래그 차이: 빠른 업데이트 주기로 인해 버전에 따라 지원 플래그가 달라질 수 있으며, 이전 버전 문서와 현재 동작이 다를 수 있습니다.
활용 팁

claude --help로 현재 설치된 버전의 전체 플래그 목록을 확인하세요. CI/CD에서는 claude -p --bare --output-format json 조합을 기본 템플릿으로 사용하면 대부분의 자동화 시나리오에 대응할 수 있습니다.

다음 단계

슬래시 명령어 완전 가이드

Claude Code 세션 내에서 사용할 수 있는 슬래시 명령어입니다.

/ask (대화형 권한 확인)

각 작업마다 사용자에게 확인을 요청합니다.

/ask

언제 사용하나요?

  • 처음 Claude Code를 사용할 때 (기본값)
  • 불명확한 상황에서 안전한 실행을 원할 때
  • 파일 수정이 많거나 중요한 명령을 실행하기 전

/auto (자동 실행 모드)

Claude가 필요한 작업을 자동으로 실행합니다. 확인 없이 진행합니다.

/auto

주의: 이 모드는 전환 후 모든 작업이 자동 승인되므로, 신뢰할 수 있는 코드에서만 사용하세요.

/config (설정 변경)

Claude Code 설정을 대화형으로 변경합니다.

/config

설정 항목:

  • 모델 (claude-opus, claude-sonnet 등)
  • 노력도 (빠름/균형/철저함)
  • 권한 모드 (ask/auto)
  • 예산 제한 설정

/mcp (MCP 서버 관리)

외부 도구와 서비스를 연결합니다.

/mcp

할 수 있는 것:

  • GitHub, Sentry, PostgreSQL 등 MCP 서버 추가
  • 연결된 서버 목록 확인
  • OAuth 인증 설정/초기화
  • 기존 서버 제거

/cost (토큰 비용 확인)

현재 세션의 예상 비용을 확인합니다.

/cost

표시 내용:

  • 지금까지 사용한 입력/출력 토큰
  • 예상 비용 (USD 기준)
  • 남은 예산 (설정한 경우)

/doctor (환경 진단)

시스템 설정과 환경이 올바른지 확인합니다.

/doctor

검사 항목:

  • Node.js 버전 확인
  • Git 설정 확인
  • 필수 도구 설치 여부
  • 권한 설정 확인
  • MCP 서버 연결 상태

/help (도움말)

사용 가능한 명령어와 플래그를 표시합니다.

/help

공식 문서 링크 검증

최종 업데이트: 2026-04-18

이 문서의 공식 Anthropic 문서 링크는:

링크 정확성 확인:

  • ✅ 이 가이드는 Claude Code v1.0+ 기준
  • ✅ 모든 명령어 및 플래그는 최신 버전 확인 완료
  • ⚠️ 주기적으로 공식 문서와 비교하여 업데이트하고 있습니다