CLI 레퍼런스(CLI Reference)

[!tldr] 한줄 요약 Claude Code CLI는 Interactive/One-shot/Pipe/Headless 4가지 실행 모드와 다양한 플래그, 내장 슬래시 커맨드, 환경변수로 제어한다.

핵심 내용

4가지 실행 모드

모드명령어설명
Interactiveclaude기본 REPL. 대화형으로 작업
One-shot (Print)claude -p "query"한 번 실행 후 종료
Pipe`cat file \claude -p "query"`stdin을 입력으로 처리
Headlessclaude -p --output-format json프로그래밍 연동용

주요 CLI 플래그

세션 관리

플래그설명
-c / --continue가장 최근 대화 이어하기
-r / --resume <session>특정 세션 재개 (ID 또는 이름)
--fork-session세션 복제 후 새 ID로 시작
--from-pr 123GitHub PR에 연결된 세션 재개

모델 설정

플래그설명
`--model opus\sonnet\haiku`모델 선택
--fallback-model과부하 시 대체 모델 (print 모드)

시스템 프롬프트

플래그설명
--system-prompt "..."기본 프롬프트 교체
--append-system-prompt "..."기본 프롬프트에 추가 (안전한 방식)
--system-prompt-file파일에서 프롬프트 로드 (교체)
--append-system-prompt-file파일에서 프롬프트 로드 (추가)

[!tip] 시스템 프롬프트 팁 --system-prompt은 Claude Code의 기본 동작을 모두 제거한다. 대부분의 경우 --append-system-prompt가 안전하다.

권한 & 도구

플래그설명
--permission-modePermission 모드 지정
--allowedTools "Bash(git *)" "Read"자동 승인할 도구
--disallowedTools "Edit"차단할 도구
--tools "Bash,Edit,Read"사용 가능한 도구 제한
--dangerously-skip-permissions모든 승인 생략 (격리 환경 전용)

출력 & 입력 형식

플래그설명
`--output-format text\json\stream-json`출력 형식
`--input-format text\stream-json`입력 형식
--json-schema '{...}'스키마에 맞춘 구조화 JSON 출력

제한

플래그설명
--max-turns 3에이전트 턴 수 제한 (print 모드)
--max-budget-usd 5.00API 비용 상한 (print 모드)

기타

플래그설명
--add-dir ../lib추가 작업 디렉토리
--mcp-config ./mcp.jsonMCP 서버 설정 로드
--debug "api,mcp"디버그 모드
--verbose상세 로깅
-v / --version버전 출력

내장 슬래시 커맨드

세션 관리

커맨드기능
/clear대화 초기화
/compact [지시]대화 압축 (선택적 초점 지정 가능)
/resume [session]세션 선택/재개
/rename <name>세션 이름 지정
/export [filename]대화 내보내기
/rewind대화/코드 되돌리기
/exitREPL 종료

설정 & 진단

커맨드기능
/config설정 UI
/model모델 변경
/permissions권한 규칙 관리
/initCLAUDE.md 초기화
/memoryCLAUDE.md 메모리 편집
/doctor설치 상태 진단

모니터링

커맨드기능
/cost토큰 사용량 통계
/context현재 컨텍스트 사용량 시각화
/usage플랜 사용량/속도 제한
/stats사용 통계 시각화
/tasks백그라운드 작업 관리

모드

커맨드기능
/planPlan 모드 진입
/help도움말

키보드 단축키

기능
Shift+TabPermission 모드 전환
Alt+P모델 전환
Ctrl+C현재 생성 취소
Ctrl+B작업 백그라운드로 전환
Ctrl+T작업 목록 토글
Esc + Esc되돌리기/요약
\ + Enter멀티라인 입력
@파일 경로 자동완성
!Bash 모드 (명령어 직접 실행)

주요 환경변수

인증 & 모델

변수용도
ANTHROPIC_API_KEYAPI 키
ANTHROPIC_MODEL기본 모델
CLAUDE_CODE_EFFORT_LEVEL노력 수준 (low/medium/high)

토큰 & 컨텍스트

변수용도
MAX_THINKING_TOKENSExtended thinking 토큰 예산 (0이면 비활성화)
CLAUDE_CODE_MAX_OUTPUT_TOKENS최대 출력 토큰 (기본 32K, 최대 64K)
CLAUDE_CODE_AUTOCOMPACT_PCT_OVERRIDE자동 압축 트리거 비율 (1-100)

기능 토글

변수용도
DISABLE_TELEMETRY=1텔레메트리 비활성화
DISABLE_AUTOUPDATER=1자동 업데이트 비활성화
DISABLE_PROMPT_CACHING=1프롬프트 캐싱 비활성화

Bash & 네트워크

변수용도
BASH_DEFAULT_TIMEOUT_MSBash 타임아웃
CLAUDE_CODE_SHELL셸 감지 오버라이드
HTTP_PROXY / HTTPS_PROXY프록시 설정

예시

# PR diff를 보안 리뷰
gh pr diff 123 | claude -p "보안 이슈 확인" --output-format json

# 자동화 파이프라인: 도구 허용 + 턴 제한
claude -p "테스트 실행 후 실패 수정" \
  --allowedTools "Bash,Read,Edit" \
  --max-turns 10

# 대화 이어하기
claude -p "코드 리뷰"
claude -c -p "DB 쿼리 부분 집중 리뷰"

# 구조화 JSON 출력
claude -p "함수 목록 추출" \
  --output-format json \
  --json-schema '{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"}}}}'

# 스트리밍 출력
claude -p "설명" --output-format stream-json --verbose

[!example] One-shot vs Interactive 차이 -p (print) 모드는 세션 저장, 자동 컴팩션, 키보드 단축키가 없다. 자동화/스크립팅용이며, Interactive 모드는 사람이 대화하며 작업하는 용도다.

참고 자료

관련 노트